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
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 |
||
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ção – While(fazer
enquanto) |
||
|
|
|
|
Em Pascal os principais comandos de repetição são 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; |
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 |