Upload
internet
View
106
Download
0
Embed Size (px)
Citation preview
Curso Técnico em InformáticaLa Salle - Canoas
Programação e Algoritmo - Pascal
Comandos de Repetição
Prof. Valter N. [email protected](0XX) (51) 9991-5369
necessidade de repetir um determinado bloco de comandos; laço (looping);
Ao invés de repetir 150 vezeso 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 umnú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 0 12 2 12 3 3 15 5 4 20 3
... ... ...
150 672 2 151
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;
Begin
End.
write(‘Digite um valor: ‘);readln(num);
while num >= 0 do begin
end;
writeln(‘Raiz quadrada de ‘, num, ‘eh: ‘, sqrt(num):2:2);
write(‘Digite um valor: ‘);readln(num);
Var num : integer;
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 0 12 2 12 3 3 15 5 4 20 3
... ... ...
150 672 2 151
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;
Begin
End.
repeat
until num < 0;
write(‘Digite um valor: ‘);readln(num);if num > 0 then
writeln(‘Raiz quadrada de’, num, ‘eh: ‘, sqrt(num):2:2);
Var num : integer;
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;
end;
variável = variável contadora que controla o número de repetições. Esta variável deve ser do tipo inteiro.
vf = valor final
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;
Begin
End.
For X := 1 to 15 do begin
end;
write(‘Digite um valor: ‘);readln(num);
writeln(‘Raiz quadrada de’, num, ‘eh: ‘, sqrt(num):2:2);
Var X, num : integer;
EXERCÍCIOS
1. 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).
2. Escreva um programa que leia um valor inteiro qualquer e calcula o seu fatorial (5! = 5x4x3x2x1)