Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Utilizamos 3 Comandos para repetição (Loop) em programas. Dependendo do que desejamos fazer, existe
N soluções. Basta utilizarmos o comando que mais se adapta a solução do problema.
1) Comando FOR (PARA – ATÉ – FAÇA); usamos quando queremos definir uma quantidade de vezes.
2) Comando WHILE (ENQUANTO - FAÇA); usamos quando queremos repetir até atingir uma situação.
3) Comando REPEAT (REPITA - ATÉ); usamos quando queremos repetir até atingir uma situação.
Assim que o programa é executado, a variável contador é inicializada com valor igual a 1.
Em seguida a instrução Repeat indica que todo trecho de instruções situado até a instrução Until
será executado repetidas vezes até que sua condição se torne verdadeira, ou seja, até que I seja
maior que 5.
Vejamos o mesmo exemplo, agora considerando que o usuário encerrará a execução
segundo sua vontade.
Program EXEMPLO_REPEAT2;
Var A, B, R : integer;
RESP : string;
Begin
RESP := ‘SIM’;
Repeat
Write(‘Entre um valor para A: ’); Readln(A);
Write(‘Entre um valor para B: ’); Readln(B);
R := A + B;
Writeln(‘O resultado corresponde a: ’,R);
Writeln;
Write(‘Deseja continuar Sim/Não ??’);
Readln(RESP); RESP := UpCase (RESP);
Until (RESP <> ‘SIM’) Or (RESP <> ‘S’);
end.
Assim que o programa é executado, a variável RESP é inicializada com o valor SIM. Em
seguia, a instrução Repeat indica que todas as instruções situadas até a instrução Until deverão
ser executadas até que sua condição se torne verdadeira, ou seja, que o usuário responda algo
diferente de SIM, e também diferente de sim.
Instrução WHILE...DO
Esta estrutura de repetição se caracteriza por efetuar um teste lógico no início de um loop,
verificando se é permitido executar o trecho de instruções abaixo dela. A estrutura While... Do
tem o seu funcionamento controlado por condição. Desta forma, poderá executar um determinado
conjunto de instruções enquanto a condição verificada permanecer verdadeira. No momento em
que a condição se torna falsa, o processamento da rotina é desviado para fora do loop. Sendo a
condição falsa logo no início do loop, as instruções contidas nele são ignoradas.
Sintaxe:
While {Condição} Do
Begin
Instrução1;
Instrução2;
//Incrementa-se a condição
...
End;
Exemplo: Ler 5 Valores para A e B, somandos-os.
While (I<=5) Do
Begin
write(‘Entre um valor para A: ’); readln(A);
write(‘Entre um valor para B: ’); readln(B);
R := A + B;
writeln(‘O resultado corresponde a: ’,R);
I := I + 1;
End;
Além da utilização das variáveis A, B e R, foi necessário criar uma terceira variável, no caso
I, para controlar a contagem do número de vezes que o trecho de programa deverá ser
executado. Imagine ainda outra situação, onde o usuário deseja executar a rotina do programa
várias vezes, mas este não sabe quantas vezes ao certo deverá executar o trecho de programa.
Neste caso não seria conveniente manter um contador para controlar o looping, e sim, seria
melhor que o programa fizesse ao usuário uma pergunta, solicitando se o mesmo deseja ou não
continuar executando o programa. Vejamos o mesmo exemplo, agora sob esta nova situação:
Program EXEMPLO_WHILE_DO2;
Var A, B, R : integer;
RESP : string;
Begin
RESP := ‘SIM’;
While (RESP = ‘SIM’) or (RESP = ‘S’) Do //Enquanto For SIM ou S
Begin
Write(‘Entre um valor para A: ’); Readln(A);
Write(‘Entre um valor para B: ’); Readln(B);
R := A + B;
Writeln(‘O resultado corresponde a: ’,R);
Writeln;
Write(‘Deseja continuar ??’); Readln(RESP);
RESP := UpCase (RESP); // Transforma em Maiúsculo
End;
End.
No programa acima, o contador foi substituído pela variável RESP, que enquanto tiver o seu
valor igual a SIM ou igual a S, executará as instruções contidas entre as instruções Begin e End
do comando While... Do.