Curso Técnico em Informática
La Salle - Canoas
Programação e Algoritmo - Pascal
Comandos de Repetição
Prof. Valter N. Silva
[email protected]
(0XX) (51) 9991-5369
 necessidade de repetir um determinado bloco de
comandos;
 laço (looping);
Ao invés de repetir 150 vezes
o comando de leitura e soma,
utilizamos comandos de
repetição e criamos um laço no
bloco de comandos.
Comandos de repetição do PASCAL:
- Condicional: repetem o bloco de comandos
conforme a condição especificada.
while..do
repeat..until
- Contada:
repete o bloco de comandos um
número determinado de vezes.
for..do
WHILE..DO (enquanto..faça)
Sintaxe:
while < condição > do
begin
comandos;
end;
WHILE..DO
X
Soma Valor
1
2
3
4
0
12
15
20
12
3
5
3
...
...
...
150
151
672
2
WHILE..DO
Atenção !!!
- enquanto a condição for verdadeira, o bloco de comandos
é executado;
- é necessário incluir begin e end para especificar o
bloco de comandos pertencente ao comando While;
- se a condição for falsa, o bloco de comandos não
é executado;
- verificar se é necessário inicializar a variável que
está na condição.
WHILE..DO
Exercício 1 Escreva um programa que leia um número indeterminado
de valores inteiros e positivos e calcula a raiz quadrada de
cada um deles.
Program exemplo_while;
Var
num : integer;
Begin
write(‘Digite um valor: ‘);
readln(num);
while num >= 0 do
begin
writeln(‘Raiz quadrada de ‘, num, ‘eh: ‘, sqrt(num):2:2);
write(‘Digite um valor: ‘);
readln(num);
end;
End.
WHILE..DO
Exercício 2 Escreva um programa que leia um número indeterminado
de valores inteiros e positivos e calcula a soma daqueles
valores que são primos.
Obs.:
Valor primo é aquele que somente é divisível por 1 e por
ele mesmo.
REPEAT..UNTIL (repita..até que)
Sintaxe:
repeat
comandos;
until < condição >;
REPEAT..UNTIL
X
Soma Valor
1
2
3
4
0
12
15
20
12
3
5
3
...
...
...
150
151
672
2
REPEAT..UNTIL
Atenção !!!
- repete o bloco de comandos até que a condição seja
verdadeira;
- não é necessário incluir begin e end para especificar o
bloco de comandos pertencente ao comando repeat;
- como a condição é testada somente no final do
comando, o bloco de comandos do repeat é executado
pelo menos uma vez.
REPEAT..UNTIL
Exercício 1 Escreva um programa que leia um número indeterminado
de valores inteiros e positivos e calcula a raiz quadrada de
cada um deles.
Program exemplo_repeat;
Var
num : integer;
Begin
repeat
write(‘Digite um valor: ‘);
readln(num);
if num > 0 then
writeln(‘Raiz quadrada de’, num, ‘eh: ‘, sqrt(num):2:2);
until num < 0;
End.
FOR..DO (para..faça)
Sintaxe:
for variável := vi to vf
do begin
comandos;
end;
variável = variável contadora
que controla o número de
repetições. Esta variável
deve ser do tipo inteiro.
vi = valor inicial
to = até
vf = valor final
FOR..DO (para..faça)
Sintaxe:
for variável := vf downto vi
do begin
comandos;
variável = variável contadora
que controla o número de
repetições. Esta variável
deve ser do tipo inteiro.
vf = valor final
end;
downto = decrescente
vi = valor inicial
FOR..DO
Atenção !!!
- repete o bloco de comandos de valor inicial até
valor final;
- é necessário incluir begin e end para especificar o
bloco de comandos pertencente ao comando for;
- a variável contadora não deve ser inicializada. Isto
ocorre automaticamente, pois ela recebe o valor
definido em valor inicial;
FOR..DO
Atenção !!!
- a variável contadora é controlada automaticamente
pelo comando for. Não devemos alterar o valor desta
variável durante a execução do for;
- o próprio comando for testa a variável contadora e
encerra a sua execução quando esta variável tiver o
valor > que o valor final definido;
FOR..DO
FOR..DO
Exercício 1 Escreva um programa que leia 15 valores inteiros
e calcula a raiz quadrada de cada um deles.
Programa exemplo_for;
Var
X, num : integer;
Begin
For X := 1 to 15 do
begin
write(‘Digite um valor: ‘);
readln(num);
writeln(‘Raiz quadrada de’, num, ‘eh: ‘, sqrt(num):2:2);
end;
End.
EXERCÍCIOS
Escreva um programa que leia um número
indeterminado devalores inteiros e positivos e conta
quantos positivos e quantos negativos o usuário
informou. No final escreva os contadorescom
mensagens adequadas. (uma versão com while e outra
com repeat).
1.
2. Escreva um programa que leia um valor inteiro
qualquer e calcula o seu fatorial (5! = 5x4x3x2x1)
Download

end