TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

EQUIPE AUXILIAR

Tese: EQUIPE AUXILIAR. Pesquise 860.000+ trabalhos acadêmicos

Por:   •  22/10/2014  •  Tese  •  1.331 Palavras (6 Páginas)  •  209 Visualizações

Página 1 de 6

3.10 COMANDO DE REPETIÇÃO WHILE

O comando WHILE faz com que um comando seja executado enquanto a expressão de controle permanecer verdadeira ( TRUE ).

Sintaxe :

while expressao do

comando;

ou

while <condição> do

begin

<comando-1>;

<comando-2>;

...

<comando-n>

end

Se o comando while controlar um comando composto (seqüência de comandos delimitados por um begin e um end.)

A expressão que controla a repetição deverá ser do tipo boolean, sendo a mesma avaliada antes que o comando do laço seja executado. Isto quer dizer que, se logo no início o resultado da expressão for FALSE, o laço não será executado nenhuma vez.

Conforme esboçado acima, inicialmente é testado o valor de <condição>. Se ela for verdadeira, então são executados os comandos <comando-1>; <comando-2>; ... <comando-n> contidos no comando composto controlado pelo comando while (ou apenas o <comando>, se o comando while controlar apenas a execução de um comando simples). Depois testa-se novamente o valor de <condição>. Se esta continuar ainda verdadeira, então a seqüência de comandos acima é novamente executada e assim sucessivamente, até que <condição> seja falsa.

Observe que a <condição> é sempre testada antes dos comandos controlados serem executados. Se na primeira vez ela já for falsa, então os comandos controlados não chegam a ser executados nenhuma vez. Observe também que para terminar a execução do comando while, em algum momento, através de algum dos efeitos causados pela execução dos n comandos, a <condição> deve-se tornar falsa. Caso contrário, o processo de repetição ocorrerá indefinidamente e a execução do programa, no qual encontra-se inserido o comando while, não termina. Se seu programa estiver correto, você pode assumir que a <condição> negada é válida após a execução do comando while.

Por exemplo, o programa abaixo não vai terminar nunca:

program Loop;

var i: integer;

begin

i := 1;

while i <> 10 do

begin

writeln (i);

i := i + 2

end;

end.

O que há de errado com o trecho de programa acima?

EXEMPLO

program TesteWhile;

var I, J : integer;

BEGIN

I := 0;

while I < 5 do

I := I + 1;

writeln( I );

J := 0;

while J < 5 do

begin

J := J + 1;

writeln( J );

end;

END.

EXEMPLO

Suponha que precisássemos calcular o produto de dois números inteiros x e y sem utilizarmos o operador de multiplicação. Poderíamos fazer isto somando y vezes o valor de x. Desta forma utilizaríamos repetidamente a função de soma para implementar uma função mais complexa multiplicação:

program multiplicacao;

var x, y, produto, auxiliar: integer;

begin

readln(x, y);

produto:= 0;

auxiliar:= y;

while auxiliar > 0 do

begin

produto:= produto + x;

auxiliar:= auxiliar - 1

end;

writeln(produto)

end.

Após o término da execução do comando while (auxiliar = 0), teremos produto = x*y, como desejávamos.

3.11 COMANDO DE REPETIÇÃO REPEAT – UNTIL

O comando repeat possui a seguinte sintaxe:

repeat

<comando-1>;

<comando-2>;

...

<comando-n>

until <condição>

O comando repeat age de forma muito parecida com a do comando while. A principal diferença é que aqui os comandos são executados antes de se testar o valor de <condição>. Assim, a seqüência de comandos <comando-1>; <comando-2>; ...; <comando-n> é executada pelo menos uma vez, independentemente do valor inicial da condição.

Outro fato a ser mencionado é que o comando repeat, ao contrário do comando while, admite uma seqüência de comandos entre as palavras chaves repeat e until, não havendo, portanto, necessidade de delimitar a seqüência a ser controlada pelo comando repeat por um begin e um end.

A seqüência de comandos controlada, portanto, é executada pelo menos uma vez sendo o processo repetitivo interrompido quando a avaliação da <condição>, ao final de uma execução da seqüência de comandos controlada, for verdadeira. Quando termina a execução do comando repeat, você pode assumir que a <condição> é verdadeira.

A figura abaixo ilustra o fluxo de controle do comando repeat:

EXEMPLO

Considere o seguinte trecho de programa:

i = 1;

while i <= 5 do

...

Baixar como (para membros premium)  txt (7.1 Kb)  
Continuar por mais 5 páginas »
Disponível apenas no TrabalhosGratuitos.com