Pentru fiecare dintre itemii de la 1 la 5, scrieți pe foaia de examen litera corespunzătoare răspunsului corect. Fiecare răspuns corect se notează cu 4 puncte.
În secvența alăturată, toate variabilele sunt întregi. Indicați expresia care poate înlocui punctele de suspensie astfel încât, în urma executării secvenței obținute, variabila p să memoreze valoarea produsului 3!·5! (unde s-a notat cu x!, pentru x∈{3,5}, factorialul lui x, calculat ca produs al tuturor numerelor naturale nenule, distincte, mai mici sau egale cu x).
p:=1; f:=1;
for i:=3 to 6 do
if i mod 2=1 then
begin f:=........;
p:=p*f
end;
Pentru fiecare dintre itemii de la 1 la 5, scrieți pe foaia de examen litera corespunzătoare răspunsului corect. Fiecare răspuns corect se notează cu 4 puncte.
Identificatorii utilizați în rezolvări trebuie să respecte precizările din enunț (bold), iar în lipsa unor precizări explicite, notațiile trebuie să corespundă cu semnificațiile asociate acestora (eventual în formă prescurtată). Datele de intrare se consideră corecte, validarea lor nefiind necesară.
În secvența de instrucțiuni de mai jos toate variabilele sunt de tip întreg.
for i:=0 to 8 do
begin for j:=0 to 8 do
if ........... then
write('4 ')
else
write('2 ');
writeln
end;
Indicați o expresie care poate înlocui punctele de suspensie astfel încât, în urma executării secvenței obținute, să se afișeze pe ecran valorile din figura de mai sus, în această ordine.
a. (i-j>4) or (i+j<12)
b. (i-j>4) and (i+j<12)
c. (i+j<4) or (i+j>12)
d. (i+j>4) and (i+j<12)
Pentru fiecare dintre itemii de la 1 la 5, scrieți pe foaia de examen litera corespunzătoare răspunsului corect. Fiecare răspuns corect se notează cu 4 puncte.
Indicați un număr care poate fi memorat în variabila reală x, astfel încât expresia Pascal alăturată să aibă valoarea true.
round(x)-x>0
În secvența de instrucțiuni alăturată, toate variabilele sunt întregi și memorează numere naturale. Indicați o instrucțiune care atribuie lui s aceeași valoare ca cea obținută în urma executării secvenței alăturate, pentru orice valori nenule ale variabilelor x și y (x<y).
s:=0;
for i:=x to y do
s:=s+i;
a. s:=y*(y-1) div 2-x*(x-1) div 2;
b. s:=y*(y-1) div 2-x*(x+1) div 2;
c. s:=y*(y+1) div 2-x*(x+1) div 2;
d. s:=y*(y+1) div 2-x*(x-1) div 2;
În secvența Pascal alăturată toate variabilele sunt întregi. Indicați expresia care poate înlocui punctele de suspensie astfel încât, în urma executării secvenței obținute, variabila r să memoreze valoarea 20, reprezentând câtul împărțirii întregi a lui 2022 la 100.
r:=0; x:=100; y:=2022;
repeat
y:=y-x;
r:=......
until x>y;
Variabila x este de tip întreg și poate memora un număr natural nenul. Indicați valoarea maximă pe care o poate avea x, astfel încât expresia Pascal alăturată să aibă valoarea true.
Șirul lui Fibonacci are termenii 1, 1, 2, 3, 5, 8 ….
În secvența Pascal alăturată toate variabilele sunt de tip întreg. Indicați expresia care poate înlocui punctele de suspensie, astfel încât, în urma executării secvenței obținute, variabila z să aibă valoarea 1 dacă numerele nenule memorate inițial în variabilele x și y (x<y) sunt termeni consecutivi ai șirului lui Fibonacci, sau valoarea 0 altfel.
while x>0 do
begin z:=y-x;
y:=x;
x:=z
end;
if ......... then z:=1
else z:=0;
a. (x=0) or (y=1)
b. (x=1) or (y=0)
c. (x=0) and (y=1)
d. (x=1) and (y=1)
În secvența alăturată toate variabilele sunt întregi, iar variabila n memorează un număr natural nenul. Indicați o expresie care poate înlocui punctele de suspensie astfel încât, în urma executării secvenței obținute, variabila s să memoreze suma tuturor divizorilor naturali ai numărului memorat în variabila n.
s:=0; i:=1;
while i*i<n do
begin if n mod i=0 then
s:=s+.....;
i:=i+1
end;
if i*i=n then s:=s+i;
Pentru fiecare dintre itemii de la 1 la 5, scrieți pe foaia de examen litera corespunzătoare răspunsului corect. Fiecare răspuns corect se notează cu 4 puncte.
În secvența Pascal alăturată toate variabilele sunt întregi, iar m>n. Indicați expresia care poate înlocui punctele de suspensie, astfel încât, în urma executării secvenței obținute, variabila dif să memoreze diferența m−n.
dif:=0; x:=n; y:=m;
while x<y do
begin
x:=x+1;
y:=y-1;
dif:=dif+2
end;
if x>y then dif:=...;
La balul absolvenților se acordă trei premii pe baza unei tombole cu 10 bilete, numerotate de la 1 la 10. Variabilele i, j și k sunt de tip întreg, iar secvența de instrucțiuni Pascal de mai jos generează toate variantele de a alege biletele celor trei câștigători, care sunt anunțați în ordine descrescătoare a numerelor de pe bilete. Două soluții diferă prin cel puțin un bilet. Indicați penultima soluție generată.
for i:=10 downto 3 do
for j:=i-1 downto 2 do
for k:=j-1 downto 1 do
writeln(i,' ',j,' ',k);
În secvența alăturată, toate variabilele sunt întregi. Indicați ce reprezintă numărul obținut ca valoare a variabilei x în urma executării secvenței.
x:=2025; y:=280;
while x<>y do
if x>y then x:=x-y
else y:=y-x;
a. câtul împărțirii lui 2025 la 280
b. restul împărțirii lui 2025 la 280
c. cel mai mic multiplu comun lui 2025 și 280
d. cel mai mare divizor comun lui 2025 și 280
Variabilele x și y sunt întregi. Indicați o secvență de instrucțiuni Pascal în urma executării căreia în variabila x se memorează valoarea 2025, ca rezultat al calculului 5·(5·(5·5+55)+5).
a.
x:=1; y:=11;
while y>0 do
begin x:=5*x+y;
y:=y div 2
end;
b.
x:=1; y:=55;
while y>0 do
begin x:=5*x+y;
y:=y div 10
end;
c.
x:=5; y:=11;
while y>0 do
begin y:=y div 2;
x:=5*x+y
end;
d.
x:=5; y:=555;
while y>0 do
begin y:=y div 10;
x:=5*x+y
end;
În secvența de mai jos toate variabilele sunt de tip întreg și memorează numere naturale.
Indicați expresia care poate înlocui punctele de suspensie astfel încât, în urma executării secvenței obținute, variabila y să memoreze valoarea 2ⁿ (n∈[0,15]).
y:=1; x:=2;
while n>0 do if ....... then
begin x:=x*x; n:=n div 2 end
else begin y:=y*x; n:=n-1 end;
a. n mod 2=0
b. n div 2>=1
c. n mod 4>2
d. n div 4<2
Pentru fiecare dintre itemii de la 1 la 5, scrieți pe foaia de examen litera corespunzătoare răspunsului corect. Fiecare răspuns corect se notează cu 4 puncte.
Identificatorii utilizați în rezolvări trebuie să respecte precizările din enunț (bold), iar în lipsa unor precizări explicite, notațiile trebuie să corespundă cu semnificațiile asociate acestora (eventual în formă prescurtată). Datele de intrare se consideră corecte, validarea lor nefiind necesară.
În secvența alăturată toate variabilele sunt de tip întreg (n>1). Indicați cu ce pot fi înlocuite expresiile A și B astfel încât, în urma executării secvenței obținute, să se afișeze pe ecran toți divizorii primi ai lui n.
d:=2;
while d*d<=n do
begin p:=0;
while n mod d=0 do
begin n:=n div d; p:=p+1 end;
if p<>0 then write(d, ' ');
d:=d+1
end;
if A then write(B);
a. A: p>0
B: d
b. A: p>1
B: n
c. A: n>0
B: d
d. A: n>1
B: n
Pentru fiecare dintre itemii de la 1 la 5, scrieți pe foaia de examen litera corespunzătoare răspunsului corect. Fiecare răspuns corect se notează cu 4 puncte.
În secvența alăturată variabila ok este de tip boolean, iar toate celelalte variabile sunt de tip întreg. Indicați o expresie care poate înlocui punctele de suspensie astfel încât, în urma executării secvenței, variabila ok să aibă valoarea true dacă și numai dacă variabilele x și y (1<x<y) memorează inițial doi termeni aflați pe poziții consecutive în șirul lui Fibonacci.
while (x<>y) and (x>0) do
begin
f:=y-x;
y:=x; x:=f
end;
ok:=(.......);
Variabilele E, x, y și z sunt de tip real și inițial au valori nenule. Indicați o expresie prin a cărei evaluare se obține rezultatul atribuit variabilei E în urma executării instrucțiunii alăturate.
E:=(x+1/y*z)/2022;
a. E = ((x+1)/(y·z))/2022
b. E = (x+1/y)·(z/2022)
c. E = (x+1/(y·z))/2022
d. E = (x+(1/y)·z)/2022
În secvența Pascal alăturată toate variabilele sunt întregi, iar m>n. Indicați expresia care poate înlocui punctele de suspensie, astfel încât, în urma executării secvenței obținute, variabila dif să memoreze diferența m-n.
dif:=0; x:=n; y:=m;
repeat
x:=x+1;
y:=y-1;
dif:=dif+2
until x>=y;
if x>y then dif:=...;
În secvența de instrucțiuni alăturată, toate variabilele sunt întregi. Indicați o expresie care poate înlocui punctele de suspensie astfel încât, în urma executării secvenței obținute, variabila x să aibă o valoare egală cu cel mai mare divizor comun al numerelor 50 și 2020.
x:=2020; y:=50;
while x<>y do
begin if .... then x:=x-y
else y:=y-x
end;