Sunteți pe pagina 1din 3

Instruciunea repeat

Instruciunea iterativ repeat indic execuia repetat a unei


instruciuni n funcie de valoarea unei variabile de control.
Sintaxa instruciunii este:
repeat <instructiune 1>...<instructiune n> until <conditie>
Execuia instruciunii repeat ncepe prin executarea instructiunilor,
dupa aceea se verifica condotia. Dac conditia este adevrat, true, atunci nu
se mai execut nici o instruciune dintre cuvintele cheie repeat si until si se
trece la urmtorul pas din program. Daca conditia este falsa atunci
instructiunile dintre repeat si until se vor repeta pina cind conditia va deveni
adevarata, true.
S lum un exemplu, s se alctuiasc un program ce calculeaz i
afieaz la ecran suma primelor n numere impare.
Rezolvare :
Program suma ;
Var s,i,n :integer ;
Begin
Writeln(`introdu n`) ; afisam mesajul
Readln(n);
i:=0; s:=0;
introducem n
repeat
s:=s+(2*i+1);
calculam suma primelor n numere impare
i:=i+1;
until i>=n;
verificam conditia
writeln(`suma este `,s); afisam rezultatul
End.

Schema bloc REPEAT este:


REPEAT

Instructiuni
UNTIL

nu

condiia

da

Exemplu:
Creai un program care s calculeze i s afieze suma s:=
, i p:= , unde numrul n este intrudus de la tastier.
Program suma-factorial; dm un nume programului
Var i,n, p: integer;
s: real; declarm variabilile
Begin
Writeln(`intrudu numarul n`); afism mesajul
Readln(n); introducem numerele de la tastiera
p:=1; i:=1;
while i<=n do begin
s:=s+1/i; calculam suma
p:=p*i;
calculam factorialul
i:=i+1;
end;
Writeln(s);
Writeln(p)
End.

Sarcini de lucru:
1. Elaborai un program care calculeaz pentru primii n termeni:
1+3+5+7+...
1357...
2+4+6+8+...
2468...
3+6+9+12+...
36912...
4+8+12+16+...
481216...
2. Elaborai un program care calculeaz valoarea lui x la puterea n
folosind instructiunea repeat.