1 for to (de…até)
Comandos de repetição – for … to … do (de … até … faz) |
||
|
O comando for, diferentemente dos comandos
de repetição repeat e while,
permite que uma sequência de comandos seja executada um número definido de
vezes A variável usada para contador já recebe um valor inicial e é
incrementada pelo comando Sintaxe: for contador:=ValorInicial to ValorFinal do begin comandos end; |
for variável := valor-inicial to valor-final do begin seqüência A de comandos; end ; for - to - do - são
palavras-chaves valor-inicial - é o primeiro valor que a variável assume valor-final - é o valor máximo que a variável pode
assumir Nesta estrutura,
a variável recebe
o valor-inicial; verifica se ele ultrapassa o
valor-final; se não ultrapassa, a sequência
de comandos é executada; a seguir, a variável recebe o
valor sucessor (o loop é crescente); verifica se ele ultrapassa o valor-final;
se não ultrapassa, a sequência
de comandos é executada; e assim sucessivamente. |
|
Program lesson4_Program2b; Uses Crt; Var Counter : Integer; {loop counter declared as integer} Begin For Counter :=
1 to 7 do {it's easy and
fast!} writeln('for loop'); Readln; End. |
|
|
program forLoop; var a: integer; begin for a := 10 to 20 do begin
writeln('value of a: ', a); end; end. |
|
|
|
program ex3; // 19 linhas uses crt; var numero, maior : real; n, i : integer; begin repeat write('Quantos numeros vai introduzir? (5-50) ');
readln(n); until (n>=5) and
(n<=50); maior := 0; for i:=1 to n do begin
write(i,'o numero: '); readln(numero); if (numero > maior) then
maior := numero; end; writeln; writeln('O maior numero foi: ',maior:0:10); readln; end. |
|
Exemplo: Programa para calcular a média de
3 notas de 10 alunos: program media_notas; var NOME:string; N1,N2,N3,MEDIA:real; CONT:integer; begin
FOR CONT:=1 to 10 do {para cont de 1 a 10 faça} begin
write('Digite o
nome e as 3 notas do ',cont,'o aluno ');
read(NOME,N1,N2,N3);
if (N1>=0) and (N2>=0) and (N3>=0) and (N1<=10 00) and
(N2<=10 00) and (N3<=10 00) then begin MEDIA:=(N1+N2+N3)/3; writeln('O
aluno de nome ',NOME,' tem a média ',MEDIA,' em suas notas '); end
else begin writeln('Notas
invalidas!'); end; end; end. |
Usamos uma crítica para conferir se foi
digitado um valor correto, usando para isso um teste lógico, dentro de uma
repetição (laço), de onde só sairá quando for digitado um valor desejado, ou
seja, obrigando que seja digitado um valor válido Exemplo: Programa para calcular a média de
3 notas de 10 alunos, criticando a nota digitada: program media_notas; var NOME:string; N1,N2,N3,MEDIA:real; CONT:integer; begin clrscr;
FOR CONT:=1 to 10 do begin
write('Digite o
nome e as 3 notas do ',cont,'o aluno ');
readln(NOME,N1,N2,N3);
while (N1<0) or (n1>10) or (N2<0) or (N2>10) or (N3<0) or (N3>10) do begin {repete enquanto as notas
forem menores que 0 ou maiores que 10!} writeln('Notas
inválidas! Digite notas de 0 a 10!'); readln(N1,N2,N3); end;
MEDIA:=(N1+N2+N3)/3;
writeln('A média do
aluno ',NOME,' é: ',MEDIA:2:2); end; readkey; end. |
|
program ex4; // 24 linhas uses crt; var s : string;
i, j : integer; begin writeln('Este programa tira os espacos a mais de
uma STRING'); writeln; write('Escreva uma STRING: '); readln(s); j := 0; for i:=1 to length(s) do begin j :=
j+1; if (s[i] = ' ') then
begin s[j] :=
' '; while (s[i] = ' ') do i :=
i+1; j := j+1
end; s[j] := s[i]; end; writeln('Nova STRING: ',s); readln; end. |
program ex2; //
18 linhas uses crt; var i, alunos, avaliacao,
positivas : integer; begin writeln('CONTADOR
DE AVALIACOES POSITIVAS'); write('Numero de alunos? '); readln(alunos);
for i:=1 to alunos do begin repeat write('Nota do aluno ',i,': '); readln(avaliacao); until ((avaliacao>=0)
and (avaliacao<=20)); if (avaliacao>=10)
then positivas := positivas + 1; end; writeln; writeln('Existem ',positivas,' positivas (',(positivas/alunos)*100:0:1,'%)');
readln; end. |
|
VAR i:byte; a,suma,media:single; BEGIN suma:=0; Writeln('Ingrese 5 numeros para
calcular su media :'); for i:= 1 to 5 do Begin
Write('[',i,'] ');readln(a);
suma:=suma+a; End; media:=suma/5; Writeln('La
media de los numeros ingresado
es : ',media:10:3) END. |
USES math; VAR rpta : char; n,i : integer; BEGIN rpta:='S'; Repeat Write('Ingrese n : ');readln(n); for i:=1 to n do Begin
Writeln(i:3,i**2:10,i**3:10);
i+=1 End; Write('Desea continuar [S] Si, [N] No : '); Readln(rpta) Until (rpta<>'s') and (rpta<>'S') END. |
ENVIAR AO
PROFESSOR (PROFCARLOS2006@gmail.com) |