Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas

Algoritmo e Lógica de Programação, Esquemas de Computação Aplicada

GRADUAÇÃO ANÁLISE E DESENVOLVIMENTO DE SISTEMAS SISTEMAS PARA INTERNET

Tipologia: Esquemas

2019

Compartilhado em 05/09/2019

guilherme-rodrigo-de-faria
guilherme-rodrigo-de-faria 🇧🇷

4

(1)

4 documentos

1 / 225

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
ALGORITMOS E LÓGICA DE
PROGRAMAÇÃO I
Professora Me. Gislaine Camila Lapasini Leal
GRADUAÇÃO
ANÁLISE E DESENVOLVIMENTO DE SISTEMAS
SISTEMAS PARA INTERNET
MARINGÁ-PR
2012
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34
pf35
pf36
pf37
pf38
pf39
pf3a
pf3b
pf3c
pf3d
pf3e
pf3f
pf40
pf41
pf42
pf43
pf44
pf45
pf46
pf47
pf48
pf49
pf4a
pf4b
pf4c
pf4d
pf4e
pf4f
pf50
pf51
pf52
pf53
pf54
pf55
pf56
pf57
pf58
pf59
pf5a
pf5b
pf5c
pf5d
pf5e
pf5f
pf60
pf61
pf62
pf63
pf64

Pré-visualização parcial do texto

Baixe Algoritmo e Lógica de Programação e outras Esquemas em PDF para Computação Aplicada, somente na Docsity!

ALGORITMOS E LÓGICA DE

PROGRAMAÇÃO I

Professora Me. Gislaine Camila Lapasini Leal

GRADUAÇÃO

ANÁLISE E DESENVOLVIMENTO DE SISTEMAS

SISTEMAS PARA INTERNET

MARINGÁ-PR

Reitor: Wilson de Matos Silva Vice-Reitor: Wilson de Matos Silva Filho Pró-Reitor de Administração: Wilson de Matos Silva Filho Presidente da Mantenedora: Cláudio Ferdinandi NEAD - Núcleo de Educação a Distância Diretoria do NEAD: Willian Victor Kendrick de Matos Silva Coordenação Pedagógica: Gislene Miotto Catolino Raymundo Coordenação de Marketing: Bruno Jorge Coordenação Comercial : Helder Machado Coordenação de Tecnologia: Fabrício Ricardo Lazilha Coordenação de Curso: Danillo Xavier Saes Supervisora do Núcleo de Produção de Materiais: Nalva Aparecida da Rosa Moura Capa e Editoração: Daniel Fuverki Hey, Fernando Henrique Mendes, Luiz Fernando Rokubuiti, Renata Sguissardi e Thayla Daiany Guimarães Cripaldi Supervisão de Materiais: Nádila de Almeida Toledo Revisão Textual e Normas: Cristiane de Oliveira Alves, Gabriela Fonseca Tofanelo, Janaína Bicudo Kikuchi, Jaquelina Kutsunugi e Maria Fernanda Canova Vasconcelos. CENTRO UNIVERSITÁRIO DE MARINGÁ. Núcleo de Educação a distância: C397 Algoritmos e lógica de programação I / Gislaine Camila Lapa sini Leal. Maringá - PR, 2012. 225 p. “Graduação em Análise e Desenvolvimento de Sistemas - EaD”.

  1. Algoritmos. 2. Programação. 3.EaD. I. Título. CDD - 22 ed. 005. CIP - NBR 12899 - AACR/ Ficha catalográfica elaborada pela Biblioteca Central - CESUMAR “As imagens utilizadas neste livro foram obtidas a partir dos sites PHOTOS.COM e SHUTTERSTOCK.COM ”. Av. Guedner, 1610 - Jd. Aclimação - (44) 3027-6360 - CEP 87050-390 - Maringá - Paraná - www.cesumar.br NEAD - Núcleo de Educação a Distância - bl. 4 sl. 1 e 2 - (44) 3027-6363 - ead@cesumar.br - www.ead.cesumar.br

ALGORITMOS E LÓGICA DE PROGRAMAÇÃO I | Educação a Distância^5

APRESENTAÇÃO DO REITOR

Viver e trabalhar em uma sociedade global é um grande desafio para todos os cidadãos. A busca por tecnologia, informação, conhecimento de qualidade, novas habilidades para liderança e solução de problemas com eficiência tornou-se uma questão de sobrevivência no mundo do trabalho. Cada um de nós tem uma grande responsabilidade: as escolhas que fizermos por nós e pelos nossos fará grande diferença no futuro. Com essa visão, o Cesumar – Centro Universitário de Maringá – assume o compromisso de democratizar o conhecimento por meio de alta tecnologia e contribuir para o futuro dos brasileiros. No cumprimento de sua missão – “promover a educação de qualidade nas diferentes áreas do conhecimento, formando profissionais cidadãos que contribuam para o desenvolvimento de uma sociedade justa e solidária” –, o Cesumar busca a integração do ensino-pesquisa- extensão com as demandas institucionais e sociais; a realização de uma prática acadêmica que contribua para o desenvolvimento da consciência social e política e, por fim, a democratização do conhecimento acadêmico com a articulação e a integração com a sociedade. Diante disso, o Cesumar almeja ser reconhecido como uma instituição universitária de referência regional e nacional pela qualidade e compromisso do corpo docente; aquisição de competências institucionais para o desenvolvimento de linhas de pesquisa; consolidação da extensão universitária; qualidade da oferta dos ensinos presencial e a distância; bem- estar e satisfação da comunidade interna; qualidade da gestão acadêmica e administrativa; compromisso social de inclusão; processos de cooperação e parceria com o mundo do trabalho, como também pelo compromisso e relacionamento permanente com os egressos, incentivando a educação continuada. Professor Wilson de Matos Silva Reitor

ALGORITMOS E LÓGICA DE PROGRAMAÇÃO I | Educação a Distância^7

APRESENTAÇÃO

Livro: ALGORITMOS E LÓGICA DE PROGRAMAÇÃO I Professora Me. Gislaine Camila Lapasini Leal Caro aluno! Seja bem-vindo à disciplina de Algoritmos e Lógica de Programação I. Sou a professora Gislaine Camila e nesta disciplina estudaremos o conceito central da programação, os algoritmos e lógica de programação. A atividade de programar envolve a construção de algoritmos, sendo o ponto de partida para a construção de programas, isto é, é o componente básico de qualquer software. O aprendizado de algoritmos é crucial para o desenvolvimento de software de qualidade. Os algoritmos são utilizados para a solução de um problema, mas não constituem a única solução para um problema. Podemos ter vários algoritmos que resolvem o mesmo problema. De modo que não há uma receita a ser seguida na construção de algoritmos, o que devemos fazer é desenvolver o nosso raciocínio lógico a encadear pensamentos para atingir um objetivo. Para desenvolver a lógica de programação precisamos colocar em prática os conceitos adquiridos. Não basta apenas observar ou copiar, é necessário praticar, construir algoritmos. Lembre-se, a prática é fundamental para o sucesso no processo de aprendizagem de algoritmos. Apresento a você o livro que norteará seus estudos nesta disciplina, auxiliando no aprendizado de algoritmos e lógica de programação. Em cada unidade construiremos algoritmos passo a passo e você verá que à medida que avançamos aumentamos a gama de problemas que conseguimos resolver. Na Unidade I estudaremos os conceitos e princípios básicos de lógica de programação e veremos que empiricamente já conhecemos algoritmos e utilizamos vários deles em nosso dia a dia. Estudaremos os tipos de algoritmos, conceito de variáveis, tipos de variáveis, constantes, expressões, funções intrínsecas, comando para atribuição, entrada e saída de dados. A partir destes conteúdos iniciaremos a construção de nossos primeiros algoritmos que resolvem problemas. A Unidade II abordará o conceito de estrutura condicional, que nos possibilita impor condições para a execução de uma determinada instrução ou conjunto de instruções. Discutiremos sobre

8 ALGORITMOS E LÓGICA DE PROGRAMAÇÃO I |Educação a Distância os tipos de estrutura condicional simples, composta, aninha e estrutura de decisão múltipla, destacando a sintaxe e como utilizar cada uma delas. Ao longo desta unidade construiremos algoritmos com cada um dos tipos de estrutura condicional. Com os conceitos desta unidade poderemos construir algoritmos com desvios de fluxo, aumentando o leque de problemas que conseguimos resolver. Na Unidade III aprenderemos a construir algoritmos utilizando a estrutura de repetição para repetir um trecho de código quantas vezes forem necessárias sem ter que reescrever trechos idênticos. Discutiremos o funcionamento, como utilizar e como encadear as estruturas de repetição controladas e condicionais. Colocaremos todos os conceitos desta unidade em prática construindo algoritmos. A Unidade IV trata sobre as estruturas de dados homogêneas e heterogêneas, as quais permitem agrupar diversas informações em uma única variável. Em relação às estruturas de dados homogêneas unidimensionais (vetores) e multidimensionais (matrizes) estudaremos como realizar a atribuição de valores, leitura, entrada e saída de dados neste tipo de estrutura. Conheceremos métodos que nos permitem classificar as informações de acordo com um critério e realizar pesquisa. Discutiremos, também, as estruturas de dados heterogêneas, abordando como realizar atribuição, entrada e saída de dados utilizando registros. Por fim, na Unidade V, estudaremos a modularização de algoritmos utilizando sub-rotinas e a manipulação de arquivos. Conheceremos as sub-rotinas do tipo procedimento e função, sua sintaxe, peculiaridades e como utilizá-las. Veremos os conceitos relacionados ao escopo de variáveis e a passagem de parâmetros por valor e por referência, recursividade, construção de funções recursivas e aplicações de recursão. Trataremos, também, o conceito de arquivos, modos de concepção e como manipulá-los utilizando operações de que possibilitem consultar, inserir, modificar e eliminar dados. Ao longo deste livro você encontrará indicações de leitura complementar as quais enriquecerão o seu conhecimento com mais exemplos de algoritmos. Há o momento de reflexão denominado REFLITA , que permite que você pense com calma sobre um determinado subtema. É importante que você desenvolva as atividades de autoestudo, pois é o momento que você tem para colocar em prática os conhecimentos adquiridos e identificar eventuais dificuldades. Desejo a você um bom estudo!

UNIDADE III

UNIDADE IV
UNIDADE V
  • ESTRUTURA CONDICIONAL ANINHADA
  • ESTRUTURA DE DECISÃO MÚLTIPLA
  • ESTRUTURA DE REPETIÇÃO ESTRUTURA DE REPETIÇÃO
  • ESTRUTURA PARA
  • ESTRUTURA ENQUANTO
  • ESTRUTURA REPITA
  • ESTRUTURAS DE REPETIÇÃO ENCADEADAS
  • ESTUTURAS DE DADOS HOMOGÊNEAS ESTRUTURAS DE DADOS HOMOGÊNEAS E HETEROGÊNEAS
  • VETORES
  • ORDENAÇÃO EM VETOR
  • BUSCA EM VETOR
  • MÉTODO SEQUENCIAL
  • MATRIZES
  • ESTRUTURAS DE DADOS HETEROGÊNEAS
  • REGISTROS
  • PROBLEMA
  • SUB-ROTINAS SUB-ROTINAS E PROGRAMAÇÃO COM ARQUIVOS
  • PROCEDIMENTOS
  • ESCOPO DE VARIÁVEIS
  • PASSAGEM DE PARÂMETROS
  • FUNÇÕES
  • RECURSIVIDADE
  • TRABALHANDO COM ARQUIVOS
  • CONCLUSÃO
  • REFERÊNCIAS

UNIDADE I CONCEITOS BÁSICOS

Professora Me. Gislaine Camila Lapasini Leal

Objetivos de Aprendizagem

  • Conhecer os princípios básicos de lógica de programação.
  • Entender os passos para a construção de algoritmos.
  • Aperfeiçoar o raciocínio lógico.
  • Conhecer os tipos de dados.
  • Conhecer os comandos de atribuição, entrada e saída de dados.

Plano de Estudo

A seguir, apresentam-se os tópicos que você estudará nesta unidade:

**- Conceituando algoritmos

  • Como construir algoritmos
  • Tipos de algoritmos
  • Estudando variáveis
  • Tipos de variáveis
  • Constantes
  • Expressões
  • Funções Intrínsecas
  • Atribuição
  • Entrada de dados
  • Saída de dados**

**- Construindo algoritmos

  • Problema 1
  • Problema 2
  • Problema 3**

16 ALGORITMOS E LÓGICA DE PROGRAMAÇÃO I |Educação a Distância são de saída? Que tipo de variável devo utilizar? Como exibo um resultado ao usuário? Qual o resultado da simulação do algoritmo? Além disto, você aprenderá os conceitos de variáveis, constantes, expressões, funções, atribuição, comando de entrada, comando de saída e técnicas de raciocínio lógico para a solução de problemas. Todo esse conhecimento você poderá utilizar para construir os primeiros algoritmos que resolvem problemas! Vamos lá?!

CONCEITUANDO ALGORITMOS

Para dar início a nossa disciplina de Algoritmos e Lógica de Programação I precisamos entender o conceito de algoritmos. O que vem a ser um algoritmo? Você já ouviu esse termo? Um algoritmo consiste em uma sequência finita de passos (instruções) para solucionar um problema. Podemos ter vários algoritmos que resolvem um mesmo problema, desta forma um algoritmo não é a única solução de um problema. Um algoritmo é um caminho para a solução de um problema, visto que podem existir diversos caminhos que conduzem à solução (LOPES; GARCIA, 2002). Ao resolver algoritmos vamos construindo a nossa própria lógica de programação. Não há

ALGORITMOS E LÓGICA DE PROGRAMAÇÃO I | Educação a Distância^17 receita mágica e o aprendizado de algoritmos requer prática. Mas não se preocupe! No decorrer deste livro teremos contato com diversos exemplos e atividades de autoestudo. Se pararmos um pouco para pensar, em nosso cotidiano encontramos uma série de problemas os quais demandam por uma solução. E um algoritmo nada mais é do que um conjunto de passos que resolvem um determinado problema. Isto quer dizer que empiricamente já conhecemos diversos algoritmos. Tomemos como exemplo o problema de ir para o trabalho (Quadro 1) Quadro 1 : Algoritmo para ir ao trabalho

  1. Desligar o despertador
  2. Ir para o banheiro
  3. Lavar o rosto
  4. Escovar os dentes
  5. Tirar o pijama
  6. Colocar uma roupa
  7. Tomar café da manhã
  8. Pegar o carro
  9. Estacionar o carro
  10. Entrar no escritório Observando o algoritmo para ir ao trabalho verificamos que em cada linha temos uma instrução. Podemos dizer que o algoritmo para ir ao trabalho tem dez instruções. Portanto, um algoritmo é um conjunto de instruções. Mas, o que é uma instrução? Uma instrução é uma operação básica (sem ambiguidade) que indica a um computador a ação que deve ser executada (SALVETTI; BARBOSA, 2004).

ALGORITMOS E LÓGICA DE PROGRAMAÇÃO I | Educação a Distância^19 Uma solução para o problema de trocar uma lâmpada é representada por cinco instruções, como pode ser visto no Quadro 4. Quadro 4 : Algoritmo para trocar lâmpada

  1. Se (lâmpada estiver fora de alcance) Pegar uma escada
  2. Pegar a lâmpada
  3. Se (lâmpada estiver quente) Pegar um pano
  4. Tirar a lâmpada queimada
  5. Colocar a lâmpada boa Fonte: LOPES; GARCIA (2002) Como já sabemos o que é um algoritmo, outro conceito importante que precisamos compreender é o de programa de computador. Um programa nada mais é que uma sequência de instruções codificada em uma linguagem que pode ser seguida por um computador. É a representação de um algoritmo em uma linguagem de programação (C, Pascal, Java, Fortran etc.) (ZIVIANE, 2004; SALVETTI; BARBOSA, 2004).

COMO CONSTRUIR ALGORITMOS

Sabemos que a construção de algoritmos requer prática. Para facilitar nosso processo de aprendizagem ASCENCIO; CAMPOS (2010) descrevem alguns passos que devemos seguir, sendo eles:

  • Compreender o problema: definir qual o objetivo do algoritmo.
  • Definir as informações de entrada: que informações precisamos obter do usuário.

20 ALGORITMOS E LÓGICA DE PROGRAMAÇÃO I |Educação a Distância

  • Definir o processamento: que cálculos devemos efetuar. É neste momento que os dados obtidos pela entrada serão transformados em informação útil para o usuário.
  • Definir as informações de saída: que informações devemos fornecer ao usuário como resultado do processamento efetuado. A separação do problema em Entrada (Que dados devemos obter do usuário?), Processamento (Que cálculos devemos efetuar?) e Saída (Que informações devemos fornecer ao usuário?) nos auxilia no processo de construção do raciocínio lógico, facilitando assim o nosso aprendizado de Algoritmos e Lógica de Programação I.

TIPOS DE ALGORITMOS

ASCENCIO; CAMPOS (2010) destacam que os tipos de algoritmos mais utilizados são: descrição narrativa, fluxograma e pseudocódigo. A descrição narrativa consiste na representação do problema por meio da linguagem natural, descrevendo os passos que devem ser seguidos para a resolução de um problema, conforme foi visto no tópico “CONCEITUANDO ALGORITMOS”. Como vantagem dessa representação destaca-se a facilidade de aprendizado. No entanto, esse tipo de descrição pode ser ambígua, gerar diversas interpretações e dificultar a conversão do algoritmo em um programa de computador (ASCENCIO; CAMPOS, 2010). Vamos tomar como exemplo a soma de dois números. Seguindo os passos descritos na seção “Como Construir Algoritmos” temos que:

  • Objetivo: somar dois números.
  • Dados de entrada: obter do usuário quais são os dois números que devemos somar.
  • Processamento: efetuar a operação de soma com os dois números obtidos.