Índice

Estrutura de repetição       

De todas as vezes que precisamos repetir uma determinada sequência de comandos, usamos um comando de repetição, o que corresponde a repetir a mesma operação um número X de vezes sem ter de escrever o X vezes

Contador (Pré-requisito)

Utilizamos uma variável que será incrementada a cada repetição, isto é, a cada repetição adicionamos +1 à variável, até um valor de acordo com o número de vezes que queremos repetir

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 um qualquer valor )

 CONT:= CONT+1; ( Incrementar o contador em +1, repare que em cada repetição ele irá aumentar +1)

Resumo dos Comandos de repetição

(Voltar ao Índice)   

While(fazer enquanto) 

Repeat until (repetir…até)

for … to … do (de … até … faz)

program whileLoop;

var

   a: integer;

begin

   a := 10;

   while  a < 20  do

   begin

      writeln('O valor de a é: ', a);

      a := a + 1;

   end;

end.

program whileLoop;

var

   a: integer;

begin

   a := 10;

   while  a < 20  do

   begin

      writeln('O valor de a é: ', a);

      a := a + 1;

   end;

end.

program forLoop;

var

   a: integer;

begin

   for a := 10  to 20 do

   begin

      writeln('value of a: ', a);

   end;

end.

 

 

Comandos de repetiçãoWhile(fazer enquanto) 

(Voltar ao Índice)   

 

 

 

 

Comandos de repetição

Em Pascal os principais comandos de repetição são

While(fazer enquanto)

Repeat(repetir)

for  (para repetir de um número até outro número}

 

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;

 

A-1) Desenvolve um algoritmo que imprima no ecrã os números pares de 2 A 20

 

 

 

A) Altera o funcionamento do programa para que comece no nº 5;

 

program whileLoop;

var

   a: integer;

begin

   a := 10;

   while  a < 20  do

   begin

      writeln('O valor de a é: ', a);

      a := a + 1;

   end;

end.

B) Explica o funcionamento do programa; B1) Explica porque razão do código (Resp = 'S') or (Resp = 's')

 

program Historia;

uses crt;

var Resp : char;

begin

clrscr;

write ('Queres ler uma história? [S]im ou [N]ão ');

readln (Resp);

while   (Resp = 'S') or (Resp = 's')    do

begin

writeln ('Era uma vez um gato inglês...');

writeln ('Queres que eu conte outra vez? [S]im ou [N]ão ');

readln (Resp);

end;

writeln ('Adeus...');

end.

 

C) Altera o programa de forma a que o nº 7 possa ser qualquer nº digitado pelo utilizador.

program tabuada;

 uses CRT;

 var

 contad:integer;

 begin

  clrscr;

  contad:=0;  {iniciamos o contador a 0}

  while contad<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.

 

D) Compila o seguinte programa e descreve, por palavras tuas o seu funcionamento

 

program  media_notas;

 uses crt;

 var

 NOME: string;

 N1, N2, N3, MEDIA: real;

 CONT: integer;

 begin

  clrscr;

       CONT:=0; 

       while CONT<=50 do

         begin

             CONT:=CONT+1;

             write ('Digite o nome: ');

             read (NOME);

             write ('nota 1: ');

             read (N1);

             write ('nota 2: ');

             read (N2);

             write ('Nota 3: ');

             read (N3);

             MEDIA:=(N1+N2+N3)/3;

             if (MEDIA >= 6) then

                begin

                        writeln('O aluno de nome ',NOME,' tem a média ',MEDIA);

                end

             else

                writeln('REPROVADO');

         end;

 end.

 

 

 

E) Completa e compila o seguinte programa.

 

Program Exibe_Numeros_Inteiros_1a10;
Var
.....N,_______: Integer;
Begin
.....Writeln('Este programa mostra os números naturais a partir de 1 ate um limite a ser digitado pelo utilizador');
... .Writeln('Entre com o valor limite');
... .Readln(______________);
... .N := 1;
... .
While N <= LIMITE Do
..........Begin
..............Writeln(___);
..............N := _____+1;
..........End;
.....Readln;
End.

 

F) Compila o seguinte programa (resolvendo os erros) e descreve, por palavras tuas o seu funcionamento

 

VAR rpta : char;

    a,b,area : double;

 

BEGIN

  rpta:='S';

  While (rpta='s') or (rpta='S') do

    Begin

      Write('Introduz lado a : ');readln(a);

      Write(' Introduz lado b : ');

      area=a*b;

      Writeln('area = ',area:10:3);

      Write('Desea continuar [S] Sim, [N] Nao : ');

      Readln(rpta)

    End;

END.

 

 ENVIAR AO PROFESSOR (PROFCARLOS2006@gmail.com)

A) Altera o funcionamento do programa para que comece no nº 5;

B) Explica o funcionamento do programa; B1) Explica porque razão do código (Resp = 'S') or (Resp = 's')

C) Altera o programa de forma a que o nº 7 possa ser qualquer nº digitado pelo utilizador.

D) Compila o seguinte programa e descreve, por palavras tuas o seu funcionamento

 

 

(Voltar ao Índice)