Academos
  1. Subiecte
  2. Bacalaureat
  3. Informatică mate-info, Pascal
  4. Subiectul I, 2.

Subiectul I, 2., toate variantele

Bacalaureat, Informatică mate-info, Pascal, 2021-2026. Rezolvă-le pe rând, cu baremul la îndemână.

Sesiuni de examen

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ă.

Subprogramul alăturat, f, este incomplet definit. Indicați expresia cu care pot fi înlocuite punctele de suspensie, astfel încât, în urma apelului de mai jos, să se afișeze 7.

f(35,17);

procedure f(n,d:integer); begin if n mod d=0 then write(d,’ ’) else f(........) end;

a. n+1,d+1 b. n-1,d-1 c. n,d+1 d. n,d-1

Arată baremul

Răspuns: d

SUBIECTUL I 2d 5x4p.

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.

Subprogramul f este definit alăturat. Indicați ce se afișează în urma apelului de mai jos. f(3);

procedure f(n:integer); var i:integer; begin for i:=1 to n do if i mod 2=0 then begin write(i); f(i-1) end else begin f(i-1); write(i) end end;

a. 1211213 b. 123121 c. 123 d. 01201012013

Pagina din subiect cu figura sau tabelul itemului
Pagina din subiectul oficial.
Arată baremul

Răspuns: a

SUBIECTUL I 2a 5x4p.

Variabila k este de tip întreg, iar variabila s permite memorarea unui șir de maximum 20 de caractere. Indicați valoarea variabilei k în urma executării secvenței alăturate.

s:='calculator'; k:=pos(s[2],s)-pos(s[4],s);

a. 9 b. 3 c. 2 d. 1

Arată baremul

Răspuns: d

SUBIECTUL I (20 de puncte) 2d 5x4p.

Subprogramul f este definit alăturat. Indicați ce se afișează în urma apelului de mai jos. f(2020,0);

procedure f(x,y:longint); begin if x<10 then write(x) else begin f(x div 10,y+1); write(x mod 10) end; write(y) end;

a. 23020 b. 2022100 c. 02023210 d. 23022100

Pagina din subiect cu figura sau tabelul itemului
Pagina din subiectul oficial.
Arată baremul

Răspuns: d

SUBIECTUL I (20 de puncte) 2d 5x4p.

Subprogramul f este definit alăturat. Indicați un apel în urma căruia se afișează pe ecran secvența: 13579

procedure f(x,y,z:longint); begin if z<x then begin write(y); f(x,y+2,z+1) end end;

a. f(5,0,0); b. f(5,1,1); c. f(6,1,6); d. f(6,1,1);

Pagina din subiect cu figura sau tabelul itemului
Pagina din subiectul oficial.
Arată baremul

Răspuns: d

SUBIECTUL I 2d 5x4p.

Subprogramul f este definit alăturat. Indicați ce se afișează în urma apelului de mai jos.

f(23);

procedure f(n:integer); begin if n<>0 then f(n div 2); write(n mod 2) end;

a. 100111 b. 111010 c. 010111 d. 01251123

Pagina din subiect cu figura sau tabelul itemului
Pagina din subiectul oficial.
Arată baremul

Răspuns: c

SUBIECTUL I 2c 5x4p.

Subprogramul f este definit alăturat. Indicați valoarea f(3,2).

function f(x,y:integer):integer; var z:integer; begin if y=0 then f:=1 else begin z:=f(x,y div 2); if y mod 2<>0 then f:=z*z*x else f:=z*z end end;

a. 1 b. 2 c. 9 d. 18

Pagina din subiect cu figura sau tabelul itemului
Pagina din subiectul oficial.
Arată baremul

Răspuns: c

SUBIECTUL I (20 de puncte) 2c 5x4p.

Variabilele x și valoare sunt declarate alăturat. Indicați o instrucțiune de atribuire corectă din punctul de vedere sintactic.

type produs=record denumire:string[50]; cantitate, pret:real end; var x:produs; valoare:real;

a. x:=(’apa minerala’,10,2.5); b. x.produs.pret:=2.5; c. x.denumire[5]:=’Borsec’; d. valoare:=2*x.cantitate*x.pret;

Arată baremul

Răspuns: d

SUBIECTUL I (20 de puncte) 2d 5x4p.

Subprogramul f este definit incomplet, alăturat. Indicați o expresie cu care pot fi înlocuite punctele de suspensie pentru ca f(n,3) să aibă valoarea 1 pentru orice număr prim n (n∈[2,10⁴]) și valoarea 0 în caz contrar.

function f(x,y:integer):integer; begin if (x<>2) and (x mod 2=0) then f:=0 else if y*y>x then f:=1 else if x mod y=0 then f:=0 else f:=f(x,.........) end;

a. y+2 b. y−2 c. y*2 d. y div 2

Pagina din subiect cu figura sau tabelul itemului
Pagina din subiectul oficial.
Arată baremul

Răspuns: a

SUBIECTUL I 2a 5x4p.

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ă.

Subprogramul f este definit alăturat. Indicați valorile pe care le pot avea parametrii n și c, astfel încât, în urma apelului, f(n,c) să aibă valoarea 2021.

function f(n,c:longint):longint; begin if n=0 then f:=0 else if n mod 10=c then f:=f(n div 10,c) else f:=n mod 10+10*f(n div 10,c) end;

a. n=2021 și c=0 b. n=200211 și c=2 c. n=312032 și c=3 d. n=720721 și c=7

Pagina din subiect cu figura sau tabelul itemului
Pagina din subiectul oficial.
Arată baremul

Răspuns: d

SUBIECTUL I (20 de puncte) 2d 5x4p.

Simulări și modele de subiect

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.

Subprogramul f este definit alăturat.

type tab=array[0..4] of integer; function f(s,d:integer; v:tab):integer; begin if s=d then if v[d]=2*d then f:=1 else f:=0 else f:=f(s,(s+d) div 2,v) + f(1+(s+d) div 2,d,v) end;

Știind că variabila x memorează un tablou unidimensional cu elementele (2,0,2,6,8), în această ordine, numerotate de la 0 la 4, indicați valoarea f(0,4,x).

a. 1 b. 2 c. 4 d. 5

Pagina din subiect cu figura sau tabelul itemului
Pagina din subiectul oficial.
Arată baremul

Răspuns: b

SUBIECTUL I (20 de puncte) 2b 5x4p.

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ă. Diagrama originală a mozaicului, inclusiv cele două zone evidențiate, se află la pagina 1.

Un mozaic este alcătuit din plăcuțe de formă pătrată, cu dimensiuni egale, de culoare albă sau roșie, așezate pe două rânduri și aliniate ca în exemplu. Mozaicul are un model în zig-zag dacă oricare două plăcuțe cu o latură comună au culoare diferită. Se știe că plăcuțele de pe latura din dreapta au culori diferite. Variabilele j și ok sunt întregi, iar variabila a este un tablou bidimensional cu două linii și 12 coloane, cu elemente de tip char, în care fiecare linie, în ordine, memorează succesiunea de plăcuțe aflate pe un rând al mozaicului, notându-se cu litera R cele roșii și cu litera A cele albe. Liniile și coloanele sunt numerotate începând de la 0. Indicați expresia care poate înlocui punctele de suspensie astfel încât, în urma executării secvenței Pascal obținute, variabila ok să aibă valoarea 1, dacă mozaicul are un model în zig-zag, sau valoarea 0 în caz contrar. Exemplu: în urma executării secvenței pentru tabloul de mai jos, unde sunt evidențiate două zone în care nu se respectă modelul, ok=0.

ok:=1; for j:=0 to 10 do if ........ then ok:=0;

R A A R A R A R A R A R A R R A R A R A R R R A

a. (a[0,j]=a[0,j-1]) or (a[0,j]=a[1,j-1]) b. (a[0,j]=a[0,j+1]) or (a[0,j]=a[1,j+1]) c. (a[0,j]=a[0,j-1]) or (a[0,j]=a[1,j+1]) d. (a[0,j]=a[0,j+1]) or (a[0,j]=a[1,j])

Pagina din subiect cu figura sau tabelul itemului
Pagina din subiectul oficial.
Arată baremul

Răspuns: d

SUBIECTUL I 2d 5x4p.

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.

Subprogramul f este definit alăturat. Indicați valoarea f(2,5).

function f(n,x:integer):integer; begin if n>0 then f:=f(f(n-2,x)-2,x-5) else f:=x end;

a. 3 b. 0 c. -2 d. -5

Pagina din subiect cu figura sau tabelul itemului
Pagina din subiectul oficial.
Arată baremul

Răspuns: d

SUBIECTUL I: 2d. 5×4p.

Subprogramul f este definit alăturat. Indicați apelul în urma căruia se obține valoarea 2025.

function f(x:integer):integer; begin if x>500 then f:=5 else f:=5*f(x*10+5)+x end;

a. f(5) b. f(2) c. f(1) d. f(0)

Pagina din subiect cu figura sau tabelul itemului
Pagina din subiectul oficial.
Arată baremul

Răspuns: d

SUBIECTUL I: 2d. 5x4p.

Subprogramele f1, f2 și f3 sunt definite mai jos.

function f1(n:integer):integer; begin f1:=n*(n+1) div 2 end;

function f2(n:integer):integer; begin if n<>0 then f2:=n+f2(n-1) else f2:=0 end;

function f3(n:integer):integer; begin if n=0 then f3:=0 else if n mod 2=1 then f3:=n+f3(n-1) else f3:=n*n div 4+2*f3(n div 2) end;

Pentru n=24, se obține aceeași valoare la apelul subprogramelor: a. f1 și f2 b. f1 și f3 c. f2 și f3 d. f1, f2 și f3

Pagina din subiect cu figura sau tabelul itemului
Pagina din subiectul oficial.
Arată baremul

Răspuns: d

SUBIECTUL I: 2d. 5×4p.

Subprogramul f este definit alăturat. Indicați ce se afișează în urma apelului de mai jos.

f(2024);

procedure f(x:integer); begin if x>=24 then if x mod 2=0 then begin write(2); f(x div 2) end else begin f(x div 2); write(4) end else write(0) end;

a. 04424222 b. 22220444 c. 22242440 d. 44402222

Pagina din subiect cu figura sau tabelul itemului
Pagina din subiectul oficial.
Arată baremul

Răspuns: b

SUBIECTUL I 2b 5x4p.

Subprogramul f este definit alăturat. Indicați un apel în urma căruia în șirul afișat există două valori egale cu 23.

procedure f(m,n:integer); begin write((m+n) div 2,' '); if m<=n then f(m+1,n-2) end;

a. f(20,23); b. f(20,26); c. f(21,25); d. f(21,27);

Pagina din subiect cu figura sau tabelul itemului
Pagina din subiectul oficial.
Arată baremul

Răspuns: d

2d 5x4p.

Subprogramul f este definit alăturat. Indicați valoarea lui f(2023).

function f(n:longint):longint; begin if n=0 then f:=0 else if n mod 10=2 then f:= f(n div 10)*10+3 else f:=f(n div 10)*10+2 end;

a. 2303 b. 3232 c. 3332 d. 5355

Pagina din subiect cu figura sau tabelul itemului
Pagina din subiectul oficial.
Arată baremul

Răspuns: b

SUBIECTUL I 2b 5x4p.

Subprogramul f este definit alăturat, iar variabila întreagă r are valoarea 0 înainte de apel. Indicați apelul în urma căruia variabila r are valoarea 2.

procedure f(x,y:integer; var z:integer); begin if (x mod 2)*(y mod 2)<>0 then z:=1 else begin f(x div 2,y div 2,z); z:=z+1 end end;

a. f(21,22,r); b. f(20,21,r); c. f(19,20,r); d. f(18,19,r);

Arată baremul

Răspuns: d

SUBIECTUL I 2d 5x4p.

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ă.

Subprogramul f este definit alăturat.

type T=array[0..4] of integer; function f(st,dr:integer;v:T):integer; begin if st=dr then if v[st]=st then f:=1 else f:=0 else f:=f(st,(st+dr) div 2,v) + f(1+(st+dr) div 2,dr,v) end;

Știind că variabila x este de tip T și memorează un tablou unidimensional cu elementele (7,1,2,5,4), în această ordine, numerotate de la 0 la 4, indicați valoarea f(0,4,x).

a. 2 b. 3 c. 4 d. 5

Arată baremul

Răspuns: b

SUBIECTUL I 2b 5x4p.

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.

Declarația alăturată: type data=record zi,luna,an:integer end; var x:data;

Variabila x este declarată alăturat. Indicați secvența care, în urma executării, afișează pe ecran ziua, luna și anul corespunzătoare unei date calendaristice memorate în variabila x.

a. write(x.zi,' ',x.luna,' ',x.an); b. write(zi.x,' ',luna.x,' ',an.x); c. write(x(zi,luna,an),' '); d. write(data.x.zi,' ',data.x.luna,' ',data.x.an);

Arată baremul

Răspuns: a

SUBIECTUL I (20 de puncte) 2a 5x4p.

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.

Utilizând metoda backtracking se generează toate valorile naturale formate cu cifre ale numărului 289 și care sunt strict mai mici decât acesta. Primele șase numere generate sunt, în această ordine, 2, 22, 222, 228, 229, 28. Indicați al câtelea număr generat este 8. a. al 10-lea b. al 9-lea c. al 8-lea d. al 7-lea

Arată baremul

Răspuns: a

SUBIECTUL I: 2a. 5x4p.

Exersează zilnic cu Academos

Aplicația pentru Evaluarea Națională și Bac. În curând pe:

  • App Store
  • Google Play