top of page

Instructiunea repeat

 

Instrucţiunea REPEAT este un ciclu cu test final care indică repetarea unei secvenţe de instrucţiuni în funcţie de valoarea unei expresii booleene.

 

InstrucÅ£iunea case are două forme: 

REPEAT
      secvenţă
  UNTIL condiÅ£ie;

unde secvenţă reprezintă instrucţiunile din corpul instrucţiunii REPEAT, trebuie să fie de tip boolean şi se evaluează după fiecare iteraţie.
Atenţie: spre deosebire de While, ieşirea din această instrucţiune se face atunci cînd valoarea condiţiei este True.

 

  Principiul de executie:
 
  • se execută secvenÅ£a de instrucÅ£iuni;
  • se evaluează expresia logică;
  • dacă rezultatul evaluării este FALSE atunci se execută din nou secvenÅ£a de instrucÅ£iuni, în caz contrar se trece mai departe;
  • secvenÅ£a de instrucÅ£iuni se execută cel putin o dată, după care se pune problema reluării sau nu a execuÅ£iei, după evaluarea expresiei logice.
     
     
     
     
     
     
     
     
     

Diagrama de sintaxa:

Exemplu Program:

Program ce calculeaza cate numere pare si cate numere impare sunt in intervalul de la 1 la 1000.

 

Program IP; {IP - numele programului}

uses crt; {Directiva ce permite utilizarea bibliotecii CRT, adica pot fi executate astfel de functii, precum: curatarea ecranului dupa executare, adaugarea culorilor, sunetelor in program etc.}

var par, impar, i: integer; {Declaram variabilele par, impar si de tip integer - numere intregi}

begin {Inceputul programului}

clrscr; {Comanda ce va curata automat ecranul dupa executie}

textcolor(4); {Coloreaza textul programului in culoarea cu nr. 4 - red}

textbackground(7); {Coloreaza fundalul programului in culoarea cu nr. 7 - lightgray}

i:=1; {Ii atribuim variabilei i, cu care vom parcurge numerele de 1 la n , valoarea initiala 1}

par:=0; {Ii atribuim variabilei par, care va calcula numarul numerelor pare , valoarea initiala 0}

impar:=0; {Ii atribuim variabilei impar, care va calcula numarul numerelor impare , valoarea initiala 0}

repeat {Inceputul ciclului repeat}

if (i mod 2<>0) then {Daca i este impar }

inc(impar); {Adaugam la valoarea lui impar 1}

if  (i mod 2=0) then {Daca i este par}

inc(par); {Adaugam la valoarea lui par 1}

i:=i+1; {Crestem valoarea lui i cu 1}

until i=1000; {Reincepe ciclul pana cand i=1000}

writeln('Sunt ', impar, ' numere impare in intervalul de la 1 la 1000'); {Afiseaza pe ecran  "Sunt ", afiseaza valoarea lui impar, afiseaza " numere impare in intervalul de la 1 la 1000", trece in rand nou}

writeln('Sunt ', par, ' numere pare in intervalul de la 1 la 1000'); {Afiseaza pe ecran  "Sunt ", afiseaza valoarea lui par, afiseaza " numere pare in intervalul de la 1 la 1000", trece in rand nou}

writeln('Autor: Mirela Burduja'); {Se afiseaza pe ecran fraza: " Autor: Mirela Burduja", trece in rand nou}

readkey; {la apasarea unei taste, trece din ecranul negru in ecranul albastru}

end. {Sfarsitul programului}

 

 

Screenshot-uri:

© Creat in 2015 de Mirela. Toate drepturile rezervate!!

bottom of page