Sunteți pe pagina 1din 2

Structuri de control

Considerații teoretice

Clasificare:
 secvenţiale: atribuire, instrucţiunea compusă, apeluri de funcţii sau proceduri;
 alternative: if - then, if – then - else, şi case;
 repetitive: while, repeat, for.

2.Structura repetitivă – FOR

1. Instrucţiunea FOR (structura de ciclare cu număr cunoscut de paşi) are două


forme.

Prima forma a instrucţiunii este:

FOR v := vi TO vf DO instructiune;

Unde v este o variabilă ordinală, iar vi şi vf sunt constante, variabile sau expresii de
tipul variabilei v, iar instrucţiunea putând fi orice instrucţiune pascal iar dacă se
doresc mai multe, acestea vor fi încadrate într-o instrucţiune compusă. Există două
cazuri:
a. dacă vi > vf instrucţiunea nu se va executa niciodată;
b. dacă vi <= vf instrucţiunea se va executa de vf – vi + 1 ori cu variabila v luând
valori crescătoare între aceste limite.

A doua forma a instrucţiunii este:


FOR v := vf DOWNTO vi DO instructiune;

Semnificaţia obiectelor fiind aceeaşi ca la prima formă. Şi aici există două cazuri:
a. dacă vf < vi instrucţiunea nu se va executa niciodată;
b. dacă vf >= vi instrucţiunea se va executa de vf – vi + 1 ori cu variabila v luând
valori descrescătoare între aceste limite.

OBS:
a. valorile vi şi vf se evaluează o dată la începutul execuţiei instrucţiunii,
modificarea lor nu influenţează numărul de paşi care se vor executa;
b. pentru variabila v se recomandă să nu i se modifice valoarea în cadrul
instrucţiunilor care ţin de FOR;
c. la ieşirea din for variabila v va rămâne cu ultima valoare din ciclu;

EX: Să se scrie un program determina si afiseaza Produsul primelor n numere


naturale: P=1*2*3*……*n.

Program produs;
Var P,i,n:integer;
Begin
Write(‘n=’); readln(n);
P:=1;
for i:=1 to n do P:=P*i;
writeln(‘Valoarea produsului este: ‘, P);
readln;
end.

sau

Program suma;
Program produs;
Var P,i,n:integer;
Begin
Write(‘n=’); readln(n);
P:=1;
for i:=n downto 1 do P:=P*i;
writeln(‘Valoarea produsului este: ‘, P);
readln;
end.

Probleme:
Să se cate un program pascal pentru evaluarea si afisarea valorilor
următoarelor expresii, în cazul în care n este citit de la tastatură:
a). S=1+3+5+…..+n;
b). S=2+4+6+..…+n;
c). P=1*2*3*…….*n;
d). P=1*3*5*.....…*n;
e). P=2*4*6*…….*n;
f). E=1/2+1/3+…..+1/n;
g). E=13+23+33+………+n3;
h). E=1/2+2/3+3/4+4/5+……..+(n-1)/n;
i). E=1*2+2*3+3*4+……+(n-1)*n;
j). E=1/4+4/13+……+k/(3*k+1);
k). E=-1+2-3+………+(-1)n*n;
l). E=1*2*3+2*3*4+……..;
m). E=1/(1*3)+1/(3*)+1/(5*7)+…..

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