Estruturas de Repetição

Propaganda
Lógica de programação
Estruturas de repetição
1
Estruturas de Repetição
 São aquelas que permitem executar mais de uma vez
(repetir) um determinado trecho do algoritmo;
 O trecho do algoritmo em repetição é também chamado de
laço (ou “loop”);
 As repetições devem ser sempre finitas;
2
Estruturas de Repetição
 Quanto a quantidade de repetições, os laços podem ser
 Pré-determinados: Sabe-se antes a quantidade de
execuções;
 Indeterminados: Não se conhece a quantidade de
execuções;
 Quanto ao critério de parada, os laços podem utilizar
 Teste no início
 Teste no final
 Variável de controle
3
Estruturas de Repetição
 Repetição com teste no início
Laço que verifica antes de cada execução, se é “permitido”
executar o trecho do algoritmo;
Trata-se de um laço que se mantém repetindo enquanto uma
dada condição permanecer verdadeira;
enquanto <condição> faça
comando 1;
comando 2;
...
comando n;
fim enquanto;
4
Estruturas de Repetição
 Repetição com teste no início
Contador: Variável que reproduz o processo de contagem;
início
inteiro: CON;
CON := 0;
enquanto CON < 3 faça
CON := CON + 1;
fim enquanto;
fim.
5
Estruturas de Repetição
 Repetição com teste no início: Média Aritmética para 50 alunos
início
real: N1, N2, N3, N4,
MA;
inteiro: CON; // contador
CON := 0; // inicialização do contador
enquanto (CON < 50) faça // teste da condição de parada
leia (N1, N2, N3, N4);
MA := (N1 + N2 + N3 + N4) / 4;
escreva (MA);
se (MA >= 7) então
escreva (“Aluno Aprovado. Parabéns !”);
senão
escreva (“Aluno Reprovado. Estude mais !”);
fim se;
CON := CON + 1; // incremento do contador
fim enquanto;
fim.
6
Estruturas de Repetição
 Repetição com teste no final
Laço que verifica depois de cada execução, se é “permitido”
continuar executando o trecho do algoritmo;
Trata-se de um laço que se mantém repetindo até que uma dada
condição se torne verdadeira;
repita
comando 1;
comando 2;
...
comando n;
até <condição>;
7
Estruturas de Repetição
 Repetição com teste no final: Média Aritmética da turma com
Repita
início
real: MA, //Média anual de dado aluno
ACM, // Acumulador
MAT; // Média Anual da Turma
inteiro: CON; // contador
CON := 0; // inicialização do contador
ACM := 0; // inicialização do acumulador
repita
leia (MA);
ACM := ACM + MA; // soma em ACM os valores lidos em MA
CON := CON + 1; // incremento do contador
até (CON = 50); // teste da condição de parada
MAT := ACM / 50; // calculo da média anual da turma
escreva (“média anual da turma = “, MAT);
fim.
8
Estruturas de Repetição
 Repetição com variável de controle
Laço simplificado para utilização em repetições de quantidade
pré-determinada;
Incorpora internamente o funcionamento de um contador de
repetições;
para V de vi até vf passo p faça
comando 1;
comando 2;
...
comando n;
fim para;
9
Estruturas de Repetição
 Repetição com variável de controle
início
real: MA, // média anual de dado aluno
ACM, // Acumulador
MAT; // Média Anual da Turma
inteiro: V; // contador
ACM := 0; // inicialização do acumulador
para V de 1 até 50 passo 1 faça
leia (MA);
ACM := ACM + MA; // soma em ACM os valores lidos em MA
fim para;
MAT := ACM / 50; // calculo da média anual da turma
escreva (“média anual da turma = “, MAT);
fim.
10
Estruturas de Repetição
Comparação entre estruturas de repetição
 Aprendemos 3 maneiras de construir laços de repetição;
 É importante perceber que existem laços mais adequados ou
convenientes para cada situação;
11
Exercícios
1) Desenvolva um algoritmo que receba 5 números e mostra a soma desses
números.
2)Desenvolva um algoritmo que receba um dia da semana e mostra suas
tarefas nesses dias.
3) Desenvolva um algoritmo que recebe um mês e verifica se ele corresponde
ao primeiro, segundo, terceiro ou quarto trimestre.
4) Desenvolva um algoritmo que recebe uma opção inteira e sai da repetição
somente quando o usuário digitar 0 (zero).
5) Desenvolva um algoritmo que mostra o produto dos vinte números de 1 a
20.
12
Exercícios
1) Algoritmo Soma
Inicio
Var
i, s, n: inteiro;
s := 0;
Para i de 1 até 5 faça
informe um número;
leia esse número (n);
s := s + n;
Fim para;
Escreva (“A soma é: “,s);
Fim.
13
Exercícios
2) Algoritmo dias da semana
Inicio
Var
dia : string;
Informe um dia da semana (dia);
Leia (dia);
Caso dia (“segunda-feira”, “sexta-feira”) : escrever (“Estudar
Algoritmos”);
Caso dia (“terça-feira”) : escrever (“Estudar Matemática”);
Caso dia (“quarta-feira”) : escrever (“Estudar Lógica”);
Caso dia (“quinta-feira”) : escrever (“Estudar Inglês”);
Caso dia (“sábado”) : escrever (“Limpar a casa”);
Caso dia (“domingo”) : escrever (“Descansar”);
Caso contrário : escrever (“dia inválido”);
Fim case;
Fim.
14
Exercícios
3) Algoritmo trimestre
Inicio
Var
m : inteiro;
Informe um mês (m);
Leia (m);
Caso 1, 2, 3 : escrever (“Primeiro trimestre”);
Caso 4, 5, 6 : escrever (“Segundo trimestre”);
Caso 7, 8, 9 : escrever (“Terceiro trimestre”);
Caso 10, 11, 12 : escrever (“Quarto trimestre”);
Caso contrário : escrever (“Mês inválido”);
Fim case;
Fim.
15
Exercícios
4) Algoritmo Opção
Inicio
Var
op : inteiro;
Informe uma opção (op);
Leia (op);
Enquanto (op <> 0) faça;
Informe uma opção (op);
Leia (op);
Fim enquanto;
Fim.
16
Exercícios
5) Algoritmo Produto
Inicio
var
p, i, n : inteiro;
p, i := 1;
enquanto (i ≤ 20) faça;
p := p * i;
i := i + 1;
fim enquanto;
escreva (“O produto é: “,p);
Fim.
17
Exercícios
18
Download