Documente Academic
Documente Profesional
Documente Cultură
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.
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.
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;
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)+…..