Toda vez que precisamos repetir determinado número e uma determinada sequencia de comandos, usamos um laço de repetição, que seria repetir o mesmo bloco de comandos sem ter de escrever o mesmo bloco de comandos novamente.
Os principais comando de repetição são:
While ® Enquanto
Usando o while pedimos ao Pascal para repetir "enquanto" a expressão for verdadeira
Sintaxe:
while <condição> do
begin
<comandos>;
<comandos>;
end;
Exemplo:
var
nome: string;
n1, n2, n3, media: real;
cont: integer;
begin
cont:=0;
while (cont<=50) do
begin
cont:= cont+1;
read( nome, n1, n2, n3 );
if (n1>=0) and (n2>=0) and (n3>=0) then
begin
meida:= ( n1+n2+n3)/3;
writeln('O aluno de nome ', nome ,' tem a média ', media ,' em suas notas ');
end
else
writeln( ' Não são aceitas notas negativas ' );
end;
end.
Comando Repeat ® Repita :
O comando repeat executa repetidamente uma sequência de comandos "até" (until) que uma dada condição seja verdadeira.
Sintaxe:
repeat
<comando1>;
<comando2>;
<comando3>;
until <condição>;
Observação: este comando não precisa de begin (início) e end (fim).
Exemplo:
program tabuada;
var
num:real;
cont:integer;
begin
repeat
clrscr;
write('Digite um número para ver sua tabuada');
read(num);
cont:=0;
while (cont<10) do
begin
writeln(num:4:2,' x ',cont,' = ',(num*cont):6:2);
cont:=cont+1; {a cada repetição o cont aumenta +1}
end;
readkey;
until num=0;
clrscr;
write('Foi digitado o número 0! programa encerrado!');
readkey;
end.
For To -> Para faça:
O laço de repetição for é diferente dos outros laços de repetição pelo simples fato de que for já se conhece o número de vezes que irá repetir o comando e while e repeat são usados quando você desconhece o número de repetições necessárias.
Sintaxe:
for contador := valorinicial to valorfinal do
begin
<comandos>;
end;
Exemplo:
program media_notas;
var
nome:string
n1, n2 , n3, media: real;
cont: integer;
begin
cont:=1;
for cont:=1 to 10 do
writeln('digite o nome e as 3 notas do ',cont,'o aluno');
readln( nome, n1, n2, n3);
if (n1>=0) and (n2>=0) and (n3>=0) and ( n1 <= 10 00) and (n2<=10 00)
and (n3 <= 10 00) then
media:= (n1+n2+n3)/3;
writeln('o aluno de nome',nome,' tem a média', media ,' em suas notas');
end;
else
begin
writeln('notas invalidas');
end;
end;
end.
Bibliografia:
ALGORITMO em pascal. Disponivel em: < http://www.hardware.com.br/comunidade/algoritmo-pascal/319019/ > . Acesso em : 30 de junho de 2012.
PASCAL/ESTRUTURAS de repetição . Disponivel em : < http://pt.wikibooks.org/wiki/Pascal/Estrutura_de_repeti%C3%A7%C3%A3o >. Acesso em : 30 e junho de 2012.
Nenhum comentário:
Postar um comentário