algoritmos e programação - 2016.2 - aula 7
TRANSCRIPT
Algoritmos e Programação
Prof.º Thyago Maia
Estruturas de Repetição
Estruturas de Repetição
• Uma estrutura de repetição é utilizada quando...– Um trecho do algoritmo (lista de instruções) ou até mesmo
o algoritmo inteiro precisa ser repetido;
• O número de repetições poderá ser fixo ou estar relacionado a uma condição;– Fixo, quando sabemos quantas vezes um determinado
trecho de código será executado;– Relacionado a uma condição, quando a repetição de
instruções depende de uma ação, de um cálculo, etc.;
3
Enquanto
Enquanto
• Nesta estrutura, uma expressão lógica é avaliada. Enquanto a mesma for verdadeira, uma lista de comandos será executada;
• A execução da lista se repetirá até que a avaliação da condição resulte em FALSO;
5
Enquanto
• Forma geral:
6
ENQUANTO (condição) FACA
// Lista de instruções
FIMENQUANTO
Exemplo
• Faça um algoritmo que lê diversos números positivos e escreve o dobro de cada um. Quando um número negativo for digitado, o algoritmo deverá parar de ler números.
7
ExemploALGORITMO “exemplo”VAR numero, dobro: REALINICIO ESCREVAL (“Digite um número:”)
LEIA (numero)ENQUANTO (numero >= 0) FACA
dobro <- numero * 2 ESCREVAL (dobro)ESCREVAL (“Digite um número:”)LEIA (numero)
FIMENQUANTOFIMALGORITMO
8
Exemplo
• Faça um algoritmo que escreve os números entre 1 e 10 (incluindo-os).
9
Exemplo
ALGORITMO “teste”VAR numero: INTEIROINICIO
numero <- 1 ENQUANTO (numero <= 10) FACA
ESCREVAL (numero)numero <- numero + 1
FIMENQUANTOFIMALGORITMO
10
Estruturas de Repetição
• Enquanto...faca
– Atenção: Cuidado com laços infinitos! Devemos nos certificar que em algum momento a expressão lógica próxima a palavra reservada enquanto será FALSA!
11
Estruturas de Repetição
• Exemplo - Algoritmo com laço infinito:
12
ALGORITMO “infinito”VAR contador: INTEIROINICIO
ENQUANTO (contador < 10) FACAcontador <- 1 ESCREVA (contador)contador <- contador + 1
FIMENQUANTOFIMALGORITMO
Exercícios
Exercícios
• Faça um algoritmo que receba números inteiros e, enquanto números positivos forem digitados, verifica se cada número é menor que 5 (escrevendo uma mensagem afirmando o referido fato);
14
Exemplo
ALGORITMO “teste”VAR numero: INTEIROINICIO
ESCREVAL (“Digite um número:”)LEIA (numero)ENQUANTO (numero >= 0) FACA
SE (numero < 5) ENTAO ESCREVAL (“O número digitado é menor que 5!”)
FIMSEESCREVA (“Digite um número:”)LEIA (numero)
FIMENQUANTOFIMALGORITMO
15
Exercícios
• Faça um algoritmo que lê a idade de várias pessoas, até que uma idade negativa seja digitada. O algoritmo deverá calcular e exibir a quantidade de pessoas, de acordo com as faixas etárias apresentadas na tabela abaixo:
16
FAIXA ETÁRIA IDADE1ª <= 15 anos2ª De 16 a 30 anos3ª > 30 anos
Exercício
ALGORITMO “exercicio”VAR idade, faixa1, faixa2, faixa3: INTEIROINICIO ESCREVAL (“Digite sua idade:”)
LEIA (idade)ENQUANTO (idade >= 0) FACA
SE (idade <= 15) ENTAO faixa1 <- faixa1 + 1
FIMSE
17
Exercício SE (idade >= 16) E (idade <= 30) ENTAO
faixa2 <- faixa2 + 1FIMSESE (idade > 30) ENTAO
faixa3 <- faixa3 + 1FIMSEESCREVAL (“Digite sua idade:”)LEIA (idade)
FIMENQUANTOESCREVAL (“Quantidade de pessoas na faixa 1: ”, faixa1)ESCREVAL (“Quantidade de pessoas na faixa 2: ”, faixa2)ESCREVAL (“Quantidade de pessoas na faixa 3: ”, faixa3)
FIMALGORITMO
18
Exercícios
• Faça um algoritmo que receba vários números inteiros positivos (o algoritmo deverá encerrar quando um número negativo for digitado). O mesmo deverá exibir o maior número digitado;
19
ExercícioALGORITMO “exercicio”VAR numero, maior: INTEIROINICIO ESCREVAL (“Digite um número:”)
LEIA (numero)ENQUANTO (numero >= 0) FACA
SE (numero > maior) ENTAO maior <- numero
FIMSEESCREVAL (“Digite outro número:”)LEIA (numero)
FIMENQUANTO
20
Exercício ESCREVAL (“O maior número digitado: ”, maior)
FIMALGORITMO
21
Explore o assunto!
Explore o assunto!
• Referências– Introdução aos
algoritmos(TONET, B., KOLIVER, C.): Tópicos 12 e 13;
– Disponível em http://www.claudiorodolfo.com/ftc/ap/manual_visualg.pdf
23