Sunteți pe pagina 1din 7

Instrucţiuni

repetitive
Repeat…Until
Sintaxa instrucţiunii
Repeat:
Repeat
<instr1>;
<instr2>;…
Until <expresie logica>;
Modul de execuţie:
Pentru executarea repetată a
instrucțiunii ampalasate între
Repeat și Until atâta timp cât
expresia logică are valoarea
false.
Rețineți:
1. Dacă expresia logică va fi
totdeauna falsă, ciclul se va
executa la infinit.
2. Dacă expresia logică este de la
început adevărată, instrucțiunile
amplasate între Repeat și Until
se vor executa o singură dată.
Exemple
Exemplul 1.
Calculați suma cifrelor unui număr natural N.

Program Ex; Uses CRT;


Type Natural=0..MaxInt; Cifre=0..9;
Var N,S:Natural; C:Cifre;
Begin
ClrScr; Write(‘Introdu N:’); Read(N); S:=0;
Repeat
C:=N Mod 10; S:=S+C; N:=N Div 10
Until N=0;
WriteLn(‘Suma cifrelor=‘,S);
ReadKey
End.
Exemplul 1.
Calculați produsul cifrelor impare ale unui număr natural N.

Program Ex; Uses CRT;


Type Natural=0..MaxInt; Cifre=0..9;
Var N,P:Natural; C:Cifre;
Begin
ClrScr; Write(‘Introdu N:’); Read(N); P:=1;
Repeat
C:=N Mod 10;
If C in [1,3,5,7,9] Then P:=P*C;
N:=N Div 10
Until N=0;
WriteLn(‘Produsul cifrelor impare=‘,P);
ReadKey
End.

S-ar putea să vă placă și