Pascal/Estrutura de repetição: diferenças entre revisões

[edição não verificada][edição não verificada]
 
 
''[[Texto em itálico]]''
= Estrutura de repetição =
Toda vez que precisamos repetir determinado número de vezes uma determinada seqüência de comandos, usamos um laço de repetição, que corresponderia repetir o mesmo trecho um número X de vezes sem ter de escrever o mesmo trecho X vezes.
 
Exemplo:
Calcular a média de 50 alunos (sem repetição).
 
program media_notas;
var
NOME: string;
N1, N2, N3, MEDIA: real;
begin
{1º ALUNO}
. read(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
begin
. . . MEDIA :=(N1+N2+N3)/3;
. . . writeln( “O aluno de nome “,NOME,” tem a média “,MEDIA,” em suas notas.”);
. . end
. else
. . begin
. . . writeln(“Não são aceitas notas negativas.”);
. . end;
{2º ALUNO}
. read(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
begin
. . . MEDIA :=(N1+N2+N3)/3;
. . . writeln( “O aluno de nome “,NOME,” tem a média “,MEDIA,” em suas notas.”);
. . end
. else
. . begin
. . . writeln(“Não são aceitas notas negativas.”);
. . end;
{3º ALUNO}
.
.
{50º ALUNO}
. read(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
begin
. . . MEDIA :=(N1+N2+N3)/3;
. . . writeln( “O aluno de nome “,NOME,” tem a média “,MEDIA,” em suas notas.”);
. . end
. else
. . begin
. . . writeln(“Não são aceitas notas negativas.”);
. . end;
end.
 
== Contador ==
Utilizamos uma variável que será incrementada a cada repetição, isto é, a cada repetição contamos +1 na variável, até um valor de acordo com o número de vezes que queremos repetir.
 
No exemplo acima, como queremos 50 alunos, contaríamos 50 repetições.
 
<math>FILHO DA PUTA</math>
Sintaxe:
CONT:integer; ( Variável inteira que irá contar o número de repetições )
CONT:=1; ( Iniciação do contador, ele deve começar com algum valor )
CONT: CONT+1; ( Incrementar o contador em +1, repare que em cada repetição ele irá aumentar +1)
 
== Testes lógicos ==
Usamos testes lógicos para saber quando parar a repetição, ou seja, estabelecemos uma condição para a repetição continuar, caso contrário o programa ficaria preso na repetição eternamente.
Por exemplo, usando o contador, a cada repetição testamos o número do contador até que ele alcance quantidade desejada, caso o contador atinja a quantidade de vezes que queremos repetir, o loop (repetição) pára.
 
Exemplo: programa para fazer a tabuada de multiplicação do número 7:
program tabuada;
uses CRT;
var
contad:integer;
begin
clrscr;
contad:=0; {iniciamos o contador declarando seu primeiro valor}
while cont<10 do {Enquanto cont<10, condição é testada a cada repetição}
begin
writeln('7 x ',contad,' = ',7*contad);
contad:=contad+1; {incrementamos o contador a cada repetição}
end;
readkey;
end.
 
= Comandos de repetição =
Utilizador anónimo