|
3.3 Estruturas de Repetição
Laços (Loops)
Enquanto (Condição)
Faça
(Comandos)
Fim Enquanto |
 |
Algoritmo para calcular o fatorial de N
Algoritmo Fatorial
Variáveis
N, Produto, Multiplicador: Inteiros
Início
Ler N
Produto <-
1
Multiplicador
<- N
Enquanto Multiplicador
<- 1 Faça
Produto <-
Produto * Multiplicador
Multiplicador
<- Multiplicador - 1
Fim Enquanto
Escrever 'Fatorial
de ',N,' = ', Produto
Fim Fatorial |
Laços controlados por entrada
a) Controlados por contador:
Uma variável é fornecida
com o n.º de vezes que será repetido o laço.
Ex.:
Algoritmo Abono_por_Contador
Início
Ler Numero_de_Funcionários
Contador
<- 0
Enquanto
Contador < Número_de_Funcionários
Faça
Ler Nome, ...
.
.
Contador <- Contador+1
Fim Enquanto
Fim de Abono_por_Contador. |
b) Controlados por sentinela
Ao final da entrada de dados é
entrado um dado especial que sinaliza o fim do processamento.
Ex.: Nome 'FIM' indicará o fim do
processamento
Algoritmo Abono_por_Sentinela;
Início
Ler Nome, Horas_Extras,
Horas_Faltas
Enquanto Nome
? 'Fim' Faça
Se Horas_Extras
...
.
.
.
Ler Nome, Horas_Extras,
Horas_Faltas
Fim Enquanto
Fim de Abono_por_Sentinela. |
c) Laços contados
O laço é executado um n.º
fixo de vezes, utilizando uma variável para contrôle do laço.
Para I = Valor_Inicial Até Valor_Final
Faça
Comandos
Fim Para |
Algoritmo Fatorial
Início
Fatorial = 1
Leia N
Para I = 1 Até
N Faça
Fatorial =
Fatorial * 1
Fim Para
Fim de Fatorial. |
d) Laços com condição no
final
Faz o teste no final da estrutura:
Repita
Comandos
Até que (Condição) |
 |
Numa estrutura Enquanto,
os comandos são executados 0 ou mais vezes.
Numa estrutura Repita,
os comandos são executados 1 ou mais vezes.
|