User Tools

Site Tools


repeticao_condicional_com_teste_no_inicio_while-do

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
repeticao_condicional_com_teste_no_inicio_while-do [2019/04/25 10:50]
castilho
repeticao_condicional_com_teste_no_inicio_while-do [2019/04/25 10:51] (current)
castilho
Line 1: Line 1:
 +Em //Pascal//, o **while-do** é o comando de repetição ​
 +condicional com teste no início. Usa-se o **while-do** para
 +repetir um comando enquanto a avaliação de sua expressão booleana
 +resulte em verdade (//true//). Tal expressão é avaliada antes
 +do comando ser executado.
 +
 +Sintaxe:
 +
 +<code pascal>
 +while <​expressao booleana>​ do
 +   ​comando>;​
 +</​code>​
 +
 +As palavras //while// e //do// são reservadas. O comando a
 +ser executado é único. Caso o programador deseje executar uma 
 +sequência de comandos, o delimitador de blocos deve ser utilizado
 +(ver seção [[Delimitadores de bloco]]).
 +
 +Como em //Pascal// todo comando termina por ponto-e-vírgula ​
 +e, neste caso, o comando **while-do** termina somente após o 
 +//<​comando>//,​ então o ponto-e-vírgula somente aparece no final,
 +e não no meio da construção.
 +
 +Exemplo:
 +
 +<code pascal>
 +program exemplo_while_do_1;​
 + var
 +    n : integer;
 + begin
 +    writeln('​Informe um numero inteiro positivo: ');
 +    read(n);
 +
 +    while n > 0 do
 +       begin
 +          writeln(n);
 +          n := n - 1;
 +       end;
 +    writeln ('​Fim.'​);​
 + end.
 +</​code>​
 +
 +O programa imprime, de maneira decrescente,​ todos os números entre
 +//n// e 1. Se o número lido for negativo ou nulo, 
 +então a mensagem "​Fim."​ é impressa imediatamente,​ isto é, nenhum
 +número aparece na tela. Isto ocorre porque a avaliação da expressão
 +condicional ocorre antes do bloco de instruções ser executado.
 +
 +Como o **while-do** repete um bloco de instruções enquanto
 +determinada condição for verdadeira, é possível definir um laço de
 +execução infinita caso a expressão avaliada nunca se altere para
 +falsa. ​
 +
 +No código a seguir, se um número negativo ou nulo for digitado como
 +entrada, o programa termina sem nunca ter impresso número algum na
 +saída. Contudo, se o número entrado for positivo e não nulo, será
 +impresso infinitamente.
 +
 +Exemplo:
 +
 +<​code>​
 +program exemplo_while_do_2;​
 + var
 +    n : integer;
 + begin
 +    writeln('​Informe um numero inteiro positivo: ');
 +    read(n);
 +    ​
 +    while n > 0 do
 +       ​writeln(n);​
 +    writeln ('​Fim.'​);​
 + end.
 +</​code>​
 +
  
repeticao_condicional_com_teste_no_inicio_while-do.txt · Last modified: 2019/04/25 10:51 by castilho