Estruturas de Repetição

Propaganda
Algoritmos e Estrutura de Dados I
Estruturas de Repetição
Prof. Elyssandro Piffer
1
ESTRUTURAS DE REPETIÇÃO
• Repetição com Teste no Início –comando Enquanto
• Repetição com Teste no Final
–comando Faça-enquanto
• Repetição de Controle (Contada)
–comando para
2
Estruturas de Repetição

Em algumas ocasiões é preciso repetir
um trecho do programa um determinado
número de vezes.

Suponha que se queira ler um valor X e
multiplicá-lo por 3 armazenando o
resultado em R e repetir essa seqüência
de passos 3 vezes.
3
Exemplo 1
Algoritmo pede_numero;
Declare X, R : inteiro;
Leia (X);
R := X * 3;
Escreva (R);
Leia (X);
R := X * 3;
Escreva (R);
Leia (X);
R := X * 3;
Escreva (R);
Fim_Algoritmo.
4
Exemplo para descascar batatas
ENQUANTO
( condição verdadeira )
Inicio
comandos;
comandos;
comandos;
Fim;
5
Exemplo para descascar batatas

Estrutura de Repetição
Algoritmo Pede_Numero;
Declare Cont, X, R : inteiro;
Cont := 0;
enquanto ( cont < 3 )
inicio
Leia (X);
R := X * 3;
Escreva (R);
Cont := Cont + 1;
fim;
Fim_Algoritmo.
6
Fluxograma do enquanto ... faça
Zera o contador
F
condição
comando x;
V
comando1;
comando 2;
...
Comando n;
...
7
Fluxograma do Exemplo 1
Z:=0;
F
Z<3
V
leia (X);
R := X * 3;
escreva (R);
Z := Z + 1;
Fim
8
Funcionamento do Enquanto
...
Condição falsa
enquanto ( condição )
Condição
verdadeira
início
comando1;
comando2;
...
cont:= cont+1;
fim;
comando x;
...
9
Exemplo 1 – Algoritmo Estático
Algoritmo pede_número;
Declare X, R, cont: inteiro;
Variável contador
cont := 0;
enquanto ( cont < 3 )
início
leia (X);
R := X * 3;
escreva (R);
cont := cont + 1;
fim;
Fim_Algoritmo.
estático
10
Exemplo 2 – Algoritmo Estático
Algoritmo pede_número;
Declare X, R, cont, termino : inteiro;
Variável contador
cont := 0;
termino := 3;
enquanto ( cont < termino )
início
leia (X);
R := X * 3;
estático
escreva (R);
cont := cont + 1;
fim;
Fim_Algoritmo.
11
Exemplo 3 – Algoritmo Dinâmico
Algoritmo pede_número;
Declare X, R, cont, termino : inteiro;
Variável contador
cont := 0;
Leia (termino);
enquanto ( cont < termino )
início
leia (X);
Dinâmico
R := X * 3;
escreva (R);
Dinâmico
cont := cont + 1;
fim;
Fim_Algoritmo.
12
Exemplo 3.1 – Algoritmo Dinâmico
Algoritmo pede_número;
Declare X, R, cont : inteiro; Termino : char;
Termino := ‘S’;
enquanto ( Termino = ‘S’ )
início
leia (X);
R := X * 3;
escreva (R);
Escreva (‘Deseja nova execução: ’);
Leia (Termino);
fim;
Fim_Algoritmo.
13
Exemplo 4: Somar os primeiros 5
números naturais
Algoritmo somatório_de_5;
Declare soma, cont : inteiro;
soma := 0;
cont := 1;
enquanto ( cont <= 5 )
início
soma := soma + cont;
cont := cont + 1;
fim;
escreva (soma);
Fim_Algorimo.
14
Exemplo 5: Somar os primeiros n
números naturais
Algoritmo somatorio;
Declare soma, cont : inteiro;
soma := 0;
cont := 0;
Leia (n);
enquanto ( cont < n )
início
soma := soma + cont;
cont := cont + 1;
fim;
escreva (soma);
Fim_Algoritmo.
15
Exemplo 6: Calcular o fatorial de 5.
Algoritmo fatorial;
Declare fat, cont : inteiro;
fat := 1;
cont := 2;
enquanto ( cont < = 5 )
início
fat := fat * cont;
cont := cont + 1;
fim;
escreva (fat);
Fim_Algoritmo.
16
Exemplo 7: Calcular o fatorial de n.
Algoritmo fatorial_n;
Declare fat, cont, n : inteiro;
fat := 1;
cont := 2;
leia (n);
enquanto ( cont < = n )
início
fat := fat * cont;
cont := cont + 1;
fim;
escreva (fat);
Fim_Algoritmo.
17
EXERCICIO (em sala)
Faça um algoritmo para ler
e escrever o Nome, idade e
sexo de um número de
alunos determinado pelo
usuário. Ao final escreva o
total de alunos lidos pelo
contador.
18
Faça um algoritmo para ler e escrever o
Nome, idade e sexo de um número de
alunos, determinado pelo usuário. Ao final
escreva o total de alunos lidos.
Algoritmo alunos;
Declare nome, sexo : caractere;
num, idade, cont : inteiro;
cont := 0;
escreva(‘ Entre com o número de alunos ’);
Leia(num);
enquanto ( cont < num )
início
Leia(nome, idade, sexo);
Escreva(nome, idade, sexo);
cont := cont +1;
fim;
escreva (‘O total de alunos lidos é: ‘, cont);
Fim_Algoritmo.
19
EXERCICIO (em sala)
Faça um algoritmo para
ler e escrever o Nome
de 20 pessoas.
20
Faça um algoritmo para ler e escrever o
Nome de 20 pessoas.
Algoritmo nomes;
Declare i : inteiro;
nome : caractere;
i := 0;
termino:=20
enquanto ( i < termino )
início leia (nome);
escreva(nome);
i := i +1;
fim;
FimAlgoritmo.
21
Download