Documente Academic
Documente Profesional
Documente Cultură
Programa Bac Informatica 0
Programa Bac Informatica 0
INFORMATICA
Chişinău, 2021
1
Aprobată la şedinţa Comisiei Naţionale de Examene,
Proces verbal nr.______ din ____________________,
Structura programei
Programa conţine:
1. Preliminarii.
2. Competenţele specifice ale disciplinei, evaluate în cadrul examenului național de
bacalaureat.
3. Unitățile de competență, unitățile de conținut, rezultatele învățării, evaluate în cadrul
examenului național de bacalaureat.
4. Exemple de itemi.
5. Exemplu de test și de barem de corectare .
1. Preliminarii
2
3. Unitățile de competență, unitățile de conținut și rezultatele învățării, evaluate în
cadrul examenului de bacalaureat
Notă. Cu * sunt marcate unitățile de competență, unitățile de conținut și, rezultatele învățării care
se referă doar la profilul real.
3
diferite domenii de activitate
umană;
• analiza rezultatelor execuției
programelor.
Tipuri de date structurate
• Argumentarea necesității Tipuri de date structurate • definirea și identificarea tipurilor
structurării datelor. (tablou, șir de caractere, de date structurate;
• Prelucrarea datelor structu- articol, mulțime, fișier): • aplicarea operațiilor de prelucrare
rate. - declarații de tipuri de date a variabilelor de tipuri de date
• Alegerea structurii de date structurate; structurate;
adecvate rezolvării unei - mulțimi de valori ale • utilizarea fișierelor în funcție de
probleme. tipurilor de date tipul operațiilor permise și de
structurate; modul de acces;
- operațiile destinate • elaborarea programelor care
prelucrării tipurilor de conțin tipuri de date structurate
date structurate; pentru rezolvarea problemelor din
- clasificarea fișierelor în diverse domenii ale activității
funcție de tipul operațiilor umane;
permise și de modul de • analiza programelor (secvențelor
acces. de program) în care se utilizează
tipuri de date structurate și
determinarea rezultatelor
furnizare la executarea acestor
programe.
Informația
• Identificarea conceptelor Informația: • specificarea formulelor de calcul
de bază pentru - cantitatea de informație; a cantității de informație în
reprezentarea și - stocarea informației; mesajele sursei;
transmiterea informației. - transmiterea informației; • recunoașterea unităților de
• Estimarea cantității de - prelucrarea informației. măsură a cantității informației și
informație transmisă, Semne și alfabete. multiplii acestora;
recepționată și prelucrată Codificarea și decodificarea • calcularea cantității de informație
în activitățile cotidiene. mesajelor. emisă de sursă;
• Aplicarea principiilor de Cuantizarea imaginilor. • codificarea şi decodificarea
bază de codificare și Reprezentarea și informației furnizată de diferite
decodificare a informației transmiterea informației. surse.
pentru transmiterea,
recepționarea și
prelucrarea ei.
Bazele aritmetice ale tehnicii de calcul*
• Aplicarea aritmeticii de Sisteme de numerație. • identificarea tipului sistemului de
calculator pentru Sisteme poziționale și numerație;
soluționarea problemelor sisteme nepoziționale de • reprezentarea numerelor în
de prelucrare a informației. numerație. diferite sisteme de numerație;
• Aplicarea operațiilor de Sistemele poziționale de • conversia numerelor dintr-un
bază ale aritmeticii de numerație: sistem de numerație în altul:
calculator la soluționarea - binar; - din sistemul binar, octal,
problemelor informatice. - octal; hexazecimal în sistemul zecimal
- hexazecimal. şi invers;
Conversia numerelor dintr- - din binar în octal, hexazecimal și
un sistem în altul: invers.
4
- din baza 2, 8, 16 în
sistemul zecimal și invers;
- din binar în octal,
hexazecimal și invers.
Algebra booleană*
• Utilizarea algebrei Variabile și expresii logice: • identificarea operatorilor logici,
booleene pentru - constante și variabile contantelor și variabilelor logice;
prelucrarea digitală a logice; • reprezentarea expresiilor logice
informației. - operatorii logici NU, ȘI, și a funcțiilor logice prin tabele
SAU; de adevăr;
- expresii logice; • calcularea valorilor funcțiilor
- tabelele de adevăr ale logice în corespundere cu valorile
expresiilor logice. argumentelor acestora.
Funcții logice:
- metode de definire a
funcțiilor logice;
- funcțiile logice frecvent
utilizate;
- setul complet de funcții
logice.
Circuite logice*
• Materializarea funcțiilor Circuite logice elementare. • identificarea porților logice
logice • Clasificarea circuitelor frecvent utilizate;
logice. • precizarea valorilor de ieșire ale
• Porți logice frecvent porților logice frecvent utilizare;
utilizate. • distingerea circuitelor
• Circuite combinaționale combinaționale frecvent utilizate
frecvent utilizate: și a circuitelor secvențiale
- sumatorul; frecvent utilizate.
- comparatorul; • explicarea modului de
- decodificatorul; funcționare a circuitelor
- multiplexorul; combinaționale frecvent utilizate
- demultiplexorul. și a circuitelor secvențiale
• Circuite secvențiale frecvent frecvent utilizate;
utilizate: • materializarea funcțiilor logice
- bistabilul; prin reuniunea porților logice.
- registrul;
- numărătorul;
- generatoare de impulsuri.
Subprograme
• Prelucrarea datelor cu Subprograme: • utilizarea termenilor: program
ajutorul subprogramelor – programul principal și principal, subprogram, funcție,
predefinite şi a programul apelat; procedură;
subprogramelor elaborate – subprograme și apeluri de • interpretarea modului de
de către utilizator. subprograme; execuție a apelului de funcții și
• Organizarea comunicării – tipuri de subprograme. proceduri;
între programul / Comunicarea dintre progra- • clasificarea variabilelor (globale
subprogramul apelant şi mul/subprogramul apelant și și locale) și a parametrilor
subprogramul apelat. subprogramul apelat: • identificarea legăturilor
informaționale (date) și de
control (apeluri) dintre
5
• Proiectarea structurală a - modul de transfer al programul principal și
algoritmului şi a controlului în cazul subprogramele apelate;
programului. apelului de subprograme; • identificarea funcțiilor
• Utilizarea recursiei - modul de transmitere a predefinite;
pentru rezolvarea argumentelor și de • recunoașterea subprogramelor
problemelor. returnare a rezultatelor. (funcțiilor și procedurilor)
Domenii de vizibilitate: recursive*;
- structura de bloc a • calcularea rezultatului execuiei
programelor; unui program (subprogram);
- variabile globale și • elaborarea programelor care
variabile locale. utilizează funcții predefinite;
Recursia*: • elaborarea programelor care
- modul de transmitere a utilizează subprograme (funcții
controlului la execuția și proceduri) definite de
algoritmilor recursivi; utilizator;
- modul de alocare a • transcrierea subprogramelor
memoriei la execuția recursive în subprograme
algoritmilor recursivi; iterative și invers*;
- elaborarea subprogramelor
recursive.
Sintaxa declarațiilor și
apelurilor de subprogram.
Modelare și calcul numeric*
• Elaborarea modelelor Modelare matematică. • elaborarea modelelor
matematice. matematice pentru fenomenele și
situațiile de natură fizică,
biologică, chimică, socială;
• transpunerea modelelor
elaborate într-un limbaj de
programare de nivel înalt;
• interpretarea rezultatelor
modelării în funcție de valorile
datelor inițiale;
• Determinarea erorii Erori în calcule numerice: • identificarea soluțiilor exacte și
absolute și a erorii - eroare absolută; a soluțiilor calculate;
relative. - eroare relativă. • calcularea erorii absolute și a
erorii relative;
• Identificarea condițiilor Rezolvarea pe calculator a • formularea algoritmilor de
de aplicare a metodei ecuațiilor algebrice și realizare a metodei bisecției (a
bisecției (a coardelor). transcendente: coardelor);
• Elaborarea într-un limbaj – soluția ecuației; • determinarea extremității fixe în
de programare de nivel – separarea soluțiilor; metoda coardelor;
înalt a programelor de – metoda bisecției; • verificarea condițiilor de
calcul iterativ al soluției – metoda coardelor; aplicare a metodelor bisecției, a
ecuației algebrice și – formule recurente; coardelor pentru ecuațiile
transcendente prin – extremități fixe; propuse;
metoda bisecției (a – aproximare inițială. • elaborarea programelor care
coardelor). realizează calculul iterativ al
soluțiilor ecuațiilor algebrice și
transcendente prin metodele
bisecției, a coardelor;
6
• Elaborarea programelor Calculul numeric al • formularea metodei
(subprogramelor) pentru integralelor. dreptunghiurilor (și a variațiilor
calculul numeric al Metoda dreptunghiurilor: ei) pentru calculul integralei
integralelor prin metoda - dreptunghiuri de mijloc; definite;
dreptunghiurilor în - dreptunghiuri de stânga; • programarea algoritmilor pentru
funcție de un număr de - dreptunghiuri de dreapta. calculul numeric al integralelor
divizări, stabilit apriori. prin metoda dreptunghiurilor și a
variațiilor ei;
• calculul numeric al ariilor
figurilor curbilinii plane prin
metoda dreptunghiurilor și a
variațiilor ei;
Baze de date
• Proiectarea structurii Tabele: • diferențierea tipurilor de date din
tabelelor bazelor de date. – destinația și structura câmpurile unui tabel;
• Crearea și editarea tabelelor; • definirea proprietăților
tabelelor pentru – crearea tabelelor; câmpurilor;
problemele frecvent – sortarea înregistrărilor; • alegerea cheii primare;
întâlnite în matematică, – căutarea și înlocuirea • identificarea corelației între
fizică, biologie, chimie, valorilor; tabele;
geografie etc. – crearea și folosirea unui • crearea tabelelor;
• Stabilirea corelațiilor filtru; • stabilirea corelațiilor dintre
între tabele. – stabilirea corelațiilor între tabele;
• Utilizarea operațiilor tabele.
destinate sortării
înregistrărilor, căutării și
înlocuirii valorilor.
• Elaborarea filtrelor
pentru selectarea
înregistrărilor.
• Alegerea tipurilor de Interogări: • recunoașterea componentelor
interogări adecvate – destinația și structura unei interogări;
pentru prelucrarea interogărilor; • crearea interogărilor predefinite
datelor. – crearea interogărilor cu cu ajutorul sistemului de
• Elaborarea interogărilor ajutorul asistenților; asistență;
cu ajutorul sistemului de – proiectarea interogărilor*; • crearea interogărilor simple și
asistență sau prin – sortarea și gruparea complexe (în baza unui tabel sau
proiectare independentă. înregistrărilor*. a mai multor tabele);
• Elaborarea interogărilor
pentru selectarea datelor.
• Identificarea Expresii*: • scrierea și evaluarea expresiilor;
componentelor unei – construirea expresiilor; • crearea interogărilor de acțiune;
expresii și aplicarea – interogări pentru adăugare, • crearea interogărilor de grupare
regulilor de formare a actualizare și eliminare; și totalizare a datelor;
expresiilor. – gruparea și totalizarea
• Elaborarea interogărilor datelor într-o interogare.
de acțiune.
• Utilizarea tehnicilor de
grupare și totalizare a
datelor.
7
• Identificarea elementelor Formulare: • recunoașterea componentelor
care alcătuiesc – destinația și structura unui formular;
formularele. formularelor; • explicarea modului de
• Elaborarea formularelor – crearea formularelor cu funcționare a formularelor pe
cu ajutorul sistemului de ajutorul asistenților; baza tabelelor corelate;
asistență sau prin – crearea formularelor pe • crearea formularelor predefinite
proiectare independentă. baza tabelelor corelate*. cu ajutorul sistemului de
• Elaborarea formularelor asistență și prin proiectare
pe baza tabelelor independentă*;
corelate. • crearea formularelor;
• Identificarea Rapoarte: • recunoașterea componentelor
componentelor care – destinația și structura unui raport;
alcătuiesc rapoartele. rapoartelor; • elaborarea rapoartelor
• Elaborarea rapoartelor și – crearea rapoartelor cu predefinite cu ajutorul sistemului
subrapoartelor cu ajutorul asistenților; de asistență și prin proiectare
ajutorul sistemului de – crearea rapoartelor pe baza independentă*;
asistență și prin tabelelor corelate*; • analiza structurală și de
proiectare – gruparea și totalizarea particularizare a raportului;
independentă*. datelor într-un raport. • crearea rapoartelor;
• Utilizarea tehnicilor de • gruparea și totalizarea datelor în
modificare a rapoartelor. rapoarte.
• Utilizarea tehnicilor de
grupare a datelor într-un
raport.
4. Exemple de itemi.
Exemplele de itemi sunt destinate pentru a familiariza candidații la examenul național de
bacalaureat, profesorii, autorii de teste cu structura și tipologia itemilor. Aceste exemple nu acoperă
întreaga varietate de formulări posibile de itemi/sarcini, ce pot fi utilizate la elaborarea testelor ce
vor fi propuse candidaților.
1. a) Pe un panou publicitar digital sunt reprezentate imagini cu dimensiunea 2048x1024 pixeli și cu 256
niveluri de luminanță pentru fiecare dintre cele 3 culori primare. Calculaţi şi scrieţi în spaţiul rezervat
răspunsului cantitatea de informație în MegaOcteți (MB), care se conține într-o imagine cu caracteristicile
date. Răspuns: ________ MB
Scrieți formulele utilizate și calculele efectuate:
b) Calculați și scrieți în spațiul rezervat pentru răspuns cea mai mică lungime a cuvintelor binare de
lungime egală, suficientă pentru codificarea și decodificarea univocă a elementelor mulțimii cifrelor
zecimale: {0, 1, 2,…, 9}.
Răspuns: ________ biți
Scrieți formulele utilizate și calculele efectuate:
2. Fie date declarațiile în limbajul C++/Pascal:
int z, s, q, r; var z, s, q, r: integer;
Bifați valoarea care se va afișa urmare execuției schemei din Imaginea 1:
8
❑ 15
❑ 20
❑ 46
❑ 10
❑ 28
Imaginea 1
3. Analizați fiecare program dintre cele ce urmează în unul din limbajele propuse C++/Pascal. Bifați
valoarea corectă a valorii variabilei m obținută după execuția programului.
C++
#include <stdio.h> ❑ 12 ❑4 ❑ 16 ❑ 8
int m, a = 8, b = 16, c = 12;
int main()
{
if (a >= b && a >= c ) m = a;
if (b >= a && b >= c ) m = b;
if (c >= a && c >= b ) m = c;
return 0;
}
#include <stdio.h> ❑2 ❑ 3 ❑9 ❑4
int m a, b, c;
int main()
{
a = 3; b = 2; c = 9;
if (a * a == b || a * a == c) m = a;
if (b * b == c || b * b == a) m = b;
if (c * c == a || c * c == b) m = c;
return 0;
}
Pascal
Program p1; ❑ 12 ❑4 ❑ 16 ❑ 8
Var a,b,c, m: integer;
Begin
a:= 8, b:= 16, c:= 12;
if (a >= b) and (a >= c ) then m = a;
if (b >= a) and (b >= c ) then m = b;
if (c >= a) and (c >= b ) then m = c;
End.
Program p2; ❑2 ❑ 3 ❑9 ❑4
Var a,b,c, m: integer;
Begin
a:= 3; b:= 2; c:= 9;
if (a * a = b) or (a * a = c) then m = a;
if (b * b = c) or (b * b = a) then m = b;
if (c * c = a) or (c * c = b) then m = c;
End.
4. Analizați programul în unul din limbajele propuse C++/Pascal din tabelul de mai jos. Bifați răspunsul
care corespunde valorii variabilei z obținute la sfârșitul îndeplinirii programului.
C++ Pascal
#include <stdio.h> Program p6;
int a = -2, b = -4, c; Var a, b, c: integer;
char z; Z: char;
9
int main() Begin
{ a := -2, b := -4;
if (a * b > 0 ) if (a * b > 0 ) then
{ begin
c = (a + b) / 2; c := (a + b) div 2;
if (c > 0) z = 'R'; else z = 'L'; if (c > 0) then z := 'R' else
} z := 'L';
else end
{ else
c = -(a * b); begin
if (c < 10) z = 'S'; else z = 'B'; c := -(a * b);
} if (c < 10) then z := 'S'
return 0; else z := 'B';
} end;
End.
❑R ❑L❑S ❑B
5. Analizați programul în unul din limbajele propuse C++/Pascal prezentat în următorul tabel. Bifați
varianta corectă a informației care se va afișa în rezultatul execuției programului.
C++ Pascal
#include <stdio.h> Program P1;
int i = 0; Var i, n : integer;
int main() Begin
{ i:= 0;
int n = 10; n:= 10;
while (i < n) while (i < n)
{ begin
printf("%d ", i + n); Writeln(i + n);
i++; i:= i+1;
n--; n:= n-1;
} end;
return 0; End.
}
❑ 10 10 10 10 10 10 10 10 10 10
❑ 123456
❑ 10 10 10 10 10
❑ 123456
❑ 10 11 12 13 14 15
10
7. La construirea unei clădiri au participat N investitori. Fiecare investitor a contribuit cu o sumă, a cărei
valoare este cunoscută.
Sarcină: Scrieți un program, care afișează la ecran cea mai mică sumă investită și numărul de investitori care
au contribuit cu o astfel de sumă.
Intrare: Fișierul text Invest.txt conține în prima linie un număr întreg N (1<N≤50) – numărul de investitori.
Fiecare din următoarele N linii conțin câte un număr întreg - suma investită de un investitor distinct.
Ieșire: La ecran se vor afișa două numere întregi separate prin spațiu - cea mai mică sumă investită și numărul
de investitori care au contribuit cu o astfel de sumă.
Exemplu: Invest.txt Ecran: Explicație:
4 1200 2 Se determină cea mai mică suma
1200 1200.
4800 Numărul de investitoti cu suma
1200 cea mai mică 2.
3000
Rezolvarea va fi apreciată pentru: definirea tipurilor de date și
declararea variabilelor; operarea cu fișierul text; citirea și scrierea
datelor; implementarea algoritmului.
8. Următorul program scris în unul din limbajele propuse C++/Pascal calculează produsul a două numere
întregi. Modificaţi programul în aşa mod, încât aceste numere să fie citite din fişierul text NUMERE.IN.
C++ Pascal
//Program fisier; Program fisier;
#include <iostream> Var x, y, p : integer;
using namespace std;
int main() Begin
{ Read(x, y);
int x, y, p; p := x*y;
writeln (’produs=’,p);
cin>>x>>y;
p = x*y; End.
cout<<”produs=”<<p;
return 0;
}
10. Elaborați un subprogram cu numele Temperatura, care primește în calitate de parametru un număr real
- temperatura în grade Kelvin, și returnează un număr real - temperatura exprimată în grade Celsius.
Relația dintre temperatura Celsius și temperatura Kelvin este dată de formula:
t 0 Celsius = t 0 Kelvin − 273 ,15 .
11.Știind că a este aproximare a numărului exact A≠0, uniți prin segmente tipul erorilor din coloana din
stânga cu formula corespunzătoare de calculare a lor din coloana din dreapta:
δ = |A| / Δ
Eroare absolută Δ = |A + a|
Eroare relativă Δ = |A - a|
δ= Δ / |A|
12
3
12. Fie dată integrala definită (e )
+ 3 dx și programul care calculează această integrală pentru 30 de
x
1
divizări ale segmentului de integrare. În programul propus sunt omise unele fragmente. Completați spațiile
libere din textul programulului dat astfel, ca să se calculeze valoarea integralei prin metoda
dreptunghiurilor de dreapta.
Program Pascal Program C++
program PP; //program PP;
var a,b,h,s:_____________; #include <iostream>
i,n:integer; #include <cmath>
function f(x:real):real; using namespace std;
begin float f(float x);
f:= exp(x)+3; {
end; f= exp(x)+3;
begin }
a:=1; b:=3; n:=_______; int main()
s:=0; h:=______________/n; {
for i:=______ to n do __________ a=1,b=3,h,s=0;
s:=s+h*f(_______________); int i,n=________;
write(s:0:0); h=_____________/n;
end. for (i=______; i<=n; i++)
{
s=s+h*f(___________);
}
cout<<s;
}
14. În sistemul MS Access a fost creată baza de date. Conţinutul tabelelor acestei baze de date este prezentat
în imaginea următoare:
13
Reieșind din conținutul tabelelor bazei de date executați următoarele sarcini:
a) Scrieți numele tabelului în care câmpului Cod_elev este cheie primară:
____________________________
b) Scrieți numele câmpului care poate fi de tipul AutoNumber:
_____________________________________
c) Scrieți tipul câmpului Mentiune din tabelul Concursuri:
_________________________________________
d) Completaţi propoziţiile:
- Cu ajutorul unui formular pot fi adăugate înregistrări în tabelele bazelor de date, dar numai în cazul, în care
formularul conţine câmpul ___________________________________________________ .
- * Pentru crearea subtotalurilor în cadrul rapoartelor se utilizează butonul Summary Options, care apare
dacă raportul conţine câmpuri de tipul ______________________________________________ .
e) Completaţi în imaginea de mai jos toate elementele necesare, inclusiv relațiile dintre tabele pentru a obţine
o interogare de grupare şi totalizare, care afişează numele şi prenumele elevilor şi numărul de locuri
ocupate la concursurile şcolare. Interogarea va afişa trei câmpuri: Nume, Prenume şi Locul.
Înregistrările vor fi afişate în ordine crescătoare a câmpului Nume.
Notă. Vor fi afișate datele elevilor care au ocupat locurile 1, 2, 3.
14
Exemple de test și de barem de corectare
Acest exemplu de test permite oricărui candidat la examenul național de bacalaureat și publicului
larg să-și formeze o idee despre structura testului de bacalaureat, numărul de sarcini/itemi, formatul
și nivelul de complexitate ale acestora. Baremul de corectare, care corespunde exemplului de test,
oferă o idee despre cerințele pentru completitudinea și corectitudinea prezentării unui răspuns
detaliat și asigură unificarea la nivel național a corectării şi notării lucrărilor candidaților.
------------------------------------------------
Toate subiectele sunt obligatorii. Timpul de lucru efectiv este de 180 de minute.
Identificatorii utilizați în rezolvări trebuie să respecte precizările din enunț, 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ă.
Pentru rezolvarea problemelor propuse în Subiectele 2 și 3 poate fi utilizat unul din limbajele de
programare, Pascal sau C/C, la alegerea candidatului.
Profilul real
Nr Item Punctaj
Subiectul I. (25 puncte)
1 a) Secția carte rară a Bibliotecii Naționale conține 91 de ediții. La digitalizarea acestora fiecărei L L
copii digitale i se atribuie un cod distinct care reprezintă un cuvânt binar. Codurile atribuite 0 0
copiilor digitale au lungimi egale. Calculați și scrieți în spațiul rezervat pentru răspuns 1 1
lungimea minimă a cuvintelor binare, suficientă pentru codificarea univocă a cărților rare. 2 2
3 3
Scrieți formula utilizată și calculele efectuate: Răspuns: ____________
4 4
5 5
b) O pagină a ediției digitale reprezintă o imagine color cu dimensiunile de 16x16 cm. 6 6
Imaginea este redată cu ajutorul unui rastru de 64 puncte/cm. Numărul nivelelor de 7 7
luminanță pentru fiecare din cele 3 culori de bază este 256. Calculați și scrieți în locul 8 8
rezervat pentru răspuns cantitatea de informație (în MB) a imaginii digitale. 9 9
Scrieți formula utilizată și calculele efectuate: Răspuns:____________ MB 10 10
___________________
3 Alcătuiți tabelul de adevăr pentru funcția: 𝑦 = 𝑥 ̅̅̅̅̅̅𝑣𝑥 L L
1 𝑥2 3 0 0
𝑥1 𝑥2 𝑥3 𝑥
̅̅̅̅̅̅
𝑥
1 2 𝑥3 𝑦 1 1
2 2
3 3
4 4
15
4 Bifati pentru fiecare din circuitele de mai jos o valoare - Adevărat, dacă circuitul este L L
secvențial sau Fals în caz contrar: 0 0
1 1
2 2
Semisumator ❑ Adevărat ❑ Fals 3 3
4 4
Registrul ❑ Adevărat ❑ Fals 5 5
Comparator ❑ Adevărat ❑ Fals
Numărător ❑ Adevărat ❑ Fals
Multiplexor ❑ Adevărat ❑ Fals
Subiectul II. (42 de puncte)
1. Fie dată secvența de program în limbajul Pascal: L L
0 0
Var a, b: integer; 1 1
c: real; 2 2
q, z: char; 3 3
Begin 4 4
a := 2; b := 4; 5 5
c := 2.0; 6 6
q := ‘a‘; z := ‘q‘; 7 7
... 8 8
End.
Determinați și scrieți tipul și valoarea fiecărei expresii:
L L
Fie date declarațiile de variabile în limbajul C++: 0 0
int a = 2, b = 4; 1 1
float c = 2.0; 2 2
char q = ‘a‘, z = ‘q‘; 3 3
Determinați și scrieți tipul și valoarea fiecărei expresii: 4 4
5 5
Expresie Tip rezultat Valoarea 6 6
a + b
7 7
a + 2 * b + 2.0 8 8
b / a + 6
q != z
16
Limbajul C++:
//Program p1;
#include <iostream>
int main()
{ int ___, ___;
x = 0;
for (i = 5; ______________ ; i--} x = x + 3;
...
}
b) Analizați următorul program. Bifați răspunsul care corespunde valorilor variabilelor afișate
la ecran.
Limbajul Pascal:
Program p3; ❑ 3 12 true
Var x, y :integer; ❑ 6 15 false
Begin ❑ 6 15 true
x:=3; ❑ 3 12 false
y:=15;
if y mod x = 1 then y := y-x
else x := x*2;
writeln( x, ’ ’, y, ’ ’‚ x > y );
end.
Limbajul C++:
//Program p3; ❑ 3 12 1
#include <iostream> ❑ 6 15 0
int main() ❑ 3 15 1
{ ❑ 6 12 0
int x = 3, y = 15;
if (y % x == 1)y = y-x;
else x = x*2;
cout<<x<<’ ’<<y<<’ ’<<x > y<< endl;
}
17
3 Un robot se află în punctul cu coordonatele x, y, numere întregi. La primirea instrucțiunii N L L
robotul se mișcă în sus cu o unitate de distanță (un pas), la primirea instrucțiunii S – în jos cu 0 0
1 1
un pas, la primirea instrucțiunii W – spre dreapta, la primirea instrucțiunii E – spre stânga, de
2 2
asemenea cu un pas. 3 3
Formați din instrucțiunile și fragmentele de instrucțiuni prezentate în coloana din stânga un 4 4
5 5
program care va controla deplasarea robotului la primirea uneia din instrucțiunile N, S, W, E,
6 6
calculând noile lui coordonate. 7 7
Scrieți programul în spațiul rezervat din coloana din dreapta a tabelului. 8 8
9 9
Instrucțiunile și fragmentele de instrucțiuni Programul 10 10
Pascal:
readln(dir);
dir: char;
'N':
'S':
'W':
'E':
writeln(x, ‘ ‘, y);
y := y + 1;
x := x - 1;
y := y - 1;
x := x + 1;
case dir of
var x, y: integer;
x := 5; y := 6;
Program p7;
Begin
End.
end;
L L
Instrucțiunile și fragmentele de instrucțiuni Programul 0 0
C++ 1 1
scanf("%c", &dir); 2 2
char dir; 3 3
case 'N': 4 4
case 'S': 5 5
case 'W': 6 6
case 'E': 7 7
printf("%d %d", x, y); 8 8
return 0; 9 9
y = y + 1; break; 10 10
x = x - 1; break;
y = y - 1; break;
x = x + 1; break;
switch(dir)
#include <stdio.h>
int x = 5, y = 6;
int main()
{
{
}
}
18
4 Un număr perfect este numărul pentru care suma divizorilor proprii coincide cu valoarea L L
numărului. Scrieți un program care va determina dacă un număr dat N este perfect sau nu. 0 0
1 1
Exemplu: numărul 6 este perfect: 6=1+2+3 2 2
Intrare. Numărul întreg N se citește de la tastatură. 3 3
Ieșire. La ecran se va afișa cuvântul PERFECT, dacă N este un număr perfect, in caz contrar 4 4
se va afișa cuvântul NU. 5 5
6 6
7 7
8 8
5 L L
O agenție de turism gestionează N trasee turistice, numerotate de la 1 la N. Pentru a determina 0 0
cel mai popular traseu au fost analizate ultimele K excursii de pe fiecare traseu. Cel mai popular 1 1
este considerat traseul, pentru care numărul total de turiști în aceste K excursii este maximal. 2 2
Datele despre turiști sunt stocate în tabloul T cu N linii și K coloane. Elementul T[i,j] 3 3
reprezintă numărul de turiști de pe traseul i și excursia j. 4 4
5 5
Sarcină: Elaborați un program care determină cel mai popular traseu turistic. 6 6
7 7
Intrare: Fișierul text turist.in conține în prima linie două numere întregi - numărul de 8 8
trasee turistice N(1≤N≤8) și numărul de excursii K(1≤K≤10). Fiecare din 9 9
următoarele N linii conțin câte K numere întregi separate prin spațiu – elementele 10 10
tabloului T. Numărul cu indicile j din linia i+1 este valoare elementului T[i,j].
Ieșire: Fișierul text turist.out conține un număr întreg – indicele celui mai popular traseu
turistic.
Notă. Nu sunt două trasee turistice cu același număr total de turiști în ultimele K excursii.
Exemplu: turist.in turist.out Rezolvarea va fi apreciată pentru:
3 4 2 descrierea tipurilor de date și declararea
25 21 15 30 variabilelor; operarea cu fișierele text;
18 35 22 28 citirea și scrierea datelor; organizarea
14 19 24 20 algoritmilor.
19
end.
Fie dat programul C++: Pentru programul P15 îndepliniți L L
// Programul P15 0 0
următoarele sarcini:
#include <iostream.h> 1 1
#include <string.h> 2 2
using namespace std; a) Scrieți numele parametrilor formali 3 3
struct t utilizați în programul P15: 4 4
{ ____________________________ 5 5
char s[100]; 6 6
int n; 7 7
}; b) Scrieți numele unei funcții predefinite
struct t A, B; utilizate în programul P15:
char z[100];
___________________________
int max(int Q, int W)
{
int M; c) Subliniați în textul programului P15
if (Q < W) M = W; apelul subprogramului sir.
else M = Q;
return M;
d) Scrieți numele tipului de date definit în
} textul programului P15:
int sir() ____________________________
{
if (strlen(A.s)> strlen(B.s))
strcpy(z, A.s); e) Bifați valoarea de adevăr a afirmației
else strcpy(z, B.s); “În programul P15 are loc
return 0; comunicarea prin variabile globale ”:
} ❑ Adevărat ❑ Fals
int main()
f) Scrieți ce se va afișa în rezultatul
{
strcpy(A.s, "SPORT"); A.n = 10;
execuției programului P15:
strcpy(B.s, "INFORMATICA");
B.n = 4; _____________________________
sir();
cout << z << "\n"; ______________________________
cout << max(A.n, B.n)<< "\n";
return 0;
}
2 Scrieți un subprogram, care primește de la blocul apelant în calitate de parametru un șir de L L
caractere și returnează valoarea celei mai mari cifre din șirul dat. Lungimea șirului nu va depăși 0 0
200 simboluri. 1 1
2 2
Notă. Se garantează existența în șir a cel puţin a unei cifre.
3 3
4 4
Exemplu. Pentru șirul de caractere ’X655N07R47OP2’transmis ca parametru actual va fi
5 5
returnată valoarea ’7’.
6 6
3 Pentru însămânțarea cu grâu a unui hectar de pământ L L
sunt necesare 250 kg de semințe. Conturul terenului 0 0
care urmează a fi însămânțat cu grâu este determinat 1 1
de: 2 2
• dreptele x = 0 și 𝑥 = 3; 3 3
• graficul funcției 𝑓(𝑥) = 𝑒 − 𝑥 + 100;
𝑥 4 4
• axa OX. 5 5
6 6
Elaborați un program care calculează cantitatea de 7 7
grâu necesară pentru însămânțarea terenului dat.
b
Aria terenului se determină calculând (în hectare) integrala f ( x)dx
a
prin metoda
20
Intrare: Valorile extremităților segmentului de Pentru rezolvare poate fi folosit
integrare și numărul de divizări ale acestuia se următorul algoritm:
atribuie nemijlocit în textul programului. Pasul_1: Se introduc valorile
extremităților segmentului de
Ieșire: La ecran se afișează un număr real –
integrare a, b și numărul de divizări
cantitatea de grâu necesară pentru însămânțarea
n.
terenului dat. Pasul_2: Se calculează lungimea
segmentului elementar
b−a
h= ; S 0;
n
Pasul 3: Pentru toți i de la 0 la n-1:
a) Se calculează valorile:
xi a + ih;
b) Se calculează aria
dreptunghiului elementar:
Si = h f ( xi )
c) Aria calculată se sumează cu ariile
precedente: S S + Si
Pasul_4: Se afișează aria totală
calculată.
Imaginea 2
2 În aplicaţia MS Access a fost creată o bază de date. Conţinutul curent al tabelelor bazei de date L L
este prezentat în Imaginea 3: 0 0
1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 8
9 9
10 10
21
Imaginea 3
Rezultatul execuţiei unei interogări, create în baza de date (Imaginea 3), este prezentat în
Imaginea 4.
Înscrieţi în fereastra interogării în modul
Design View (Imaginea 5) toate
elementele, inclusiv relațiile dintre tabele,
necesare pentru crearea interogării cu
ajutorul căreia se vor afişa datele
prezentate.
Imaginea 4
Notă:
- Înregistrările sunt sortate crescător după câmpul Nume.
- Câmpul Salariul tarifar reprezintă un câmp rezultant (calculat), obținut în rezultatul calculării
produsului câmpurilor Ore_lucrate şi Plata_pe_ora.
Imaginea 5
Barem de corectare
Nr. Pun Tota
Motivarea punctelor
item cte l
Subiectul I. (25 de puncte)
a) Scrierea corectă a răspunsului: m = 7 1
Formula corectă: m>=log2n 1
Inlocuire corectă : m>=log291 1
Calcule corecte m = 7 1
1 b) Răspuns corect: 3 MB 1 10
Formula corectă: 1
I = 3 x mx x my x log2n;
Rasrtu corect: 16 x 64 x 16 x 64 1
Inlocuire corectă: 1
I = 3 x 16 x 64 x16 x 64 x log2 256 (biţi);
22
Transformarea corectă în B și MB 2
I=3x210x210x 23 biţi =3x220 byte=3 MB
a) Răspuns corect: 1
- Poziţional
b) Răspuns corect: (167,5)8 1
Conversiunile corecte:
(76,C)16 =(1110110,11)2 1
2 (118,75)10=(1110110,11)2 1x2 6
(167,5)8 =(1110111,101)2 1
Notă.
1. Se admit oricare alte conversiuni corecte.
2. Pentru cel puțin o conversie corectă din / în sistemul zecimal se acordă două puncte:
pentru partea întreagă – un punct, pentru partea fracționară – un punct
Câte un punct pentru fiecare coloană completată corect.
Răspuns corect:
𝑥1 𝑥2 𝑥3 ̅̅̅̅̅̅̅̅ 𝑥1 𝑥2 𝑥3 𝑦
0 0 0 1 1 1
0 0 1 1 0 1
3 0 1 0 1 1 1 1x4 4
0 1 1 1 0 1
1 0 0 1 1 1
1 0 1 1 0 1
1 1 0 0 1 1
1 1 1 0 0 0
Câte un punct pentru fiecare selectare realizată corect:
Semisumator Fals
Registrul Adevărat
4 Comparator Fals 1x5 5
Numărător Adevărat
Multiplexor Fals
Subiectul II. (42 de puncte)
Pentru fiecare tip de date corect câte un punct 1x4
Pentru fiecare valoare corectă câte un punct 1x4
Răspuns corect:
Tipul Valoarea
1 integer / int 6 8
real / float 12.0 (12)
integer / int 8
boolean / bool (int) true / 1
a) Pentru fiecare completare corectă câte un punct 1x3
b) Pentru bifarea corectă a valorii fiecărei variabile câte un punct
2 6
Răspuns corect:
6 15 false / 6 15 0 1x3
23
Exemplu corect:
Limbajul Pascal Limbajul C++
Program p7; #include <stdio.h>
var x, y: integer; int main()
dir: char; {
Begin int x = 5, y = 6;
x := 5; y := 6; char dir;
readln(dir); scanf("%c", &dir);
case dir of switch(dir)
'N': y := y + 1; {
'S': y := y - 1; case 'N': y = y + 1;
'W': x := x + 1; break;
'E': x := x - 1; case 'S': y = y - 1;
end; break;
writeln(x, ' ', y); case 'W': x = x + 1;
End. break;
case 'E': x = x - 1;
break;
}
printf("%d %d", x, y);
3 return 0; 10
}
Notă. Se acceptă orice variantă corectă.
Câte un punct se va acorda pentru amplasarea corectă a elementelor:
Nr. Limbajul Pascal Limbajul C++ 1
1 Program p7; #include <stdio.h>
int main()
Begin { ... 1
2
... }
End. 1
3 var x, y: integer; int x = 5, y = 6;
1
dir: char; char dir;
return 0; 1
4 x := 5; y := 6;
1
5 readln(dir); scanf("%c", &dir);
6 case dir of switch(dir) 1
7 'N': (orice caz; cel puțin un caz case 'N': (cel puțin un caz
amplasat corect) amplasat corect) 1
8 y := y + 1; (cel puțin o y = y + 1; break; (cel puțin o
instrucțiune amplasată corect în instrucțiune amplasată corect (break; în
corespundere cu cazul) C++) în corespundere cu cazul) 1
9 Structura corectă a instrucțiunii case Structura corectă a instrucțiunii switch 1
10 writeln(x, ' ', y); printf("%d %d", x, y);
Declararea corectă a variabilelor 1
Citirea corectă a numărului N de la tastatură 1
Instrucțiunea repetitivă organizată corectă 1
Determinarea corectă a unui divizor 1
4 8
Sumarea corectă a divizorilor 1
Determinarea corectă a mulțimii divizorilor proprii 1
Verificarea îndeplinirii criteriului de ”număr perfect” 1
Afișarea corectă a rezultatului 1
Definirea corectă a tipurilor de date 1
5 1 10
Declararea corectă a variabilelor
24
Operații corecte cu fișierele pentru citire 1
Citirea corectă din fișier a variabilelor N și K 1
Citirea corectă din fișier a elementelor tabloului T 1
Scrierea corectă a instrucțiunii repetitive pentru determinarea rutei cu cel mai mare număr total 1
de turiști
Calcularea corectă a numărului total de turiști de pe o rută 1
Scrierea corectă a instrucțiunii condiționale pentru determinarea rutei cu cel mai mare număr 1
total de turiști
Operații corecte cu fișierele pentru scriere 1
Scrierea corectă în fișier a rezultatului 1
Subiect III. (20 de puncte)
a) Răspuns corect: Q , W 1
b) Răspuns corect: 1
Limbajul Pascal: length
Limbajul C++: strlen() sau strcpy()
c) Răspuns corect: 1
Limbajul Pascal: sir;
1 Limbajul C++: sir(); 7
d) Răspuns corect: t 1
e) Răspuns corect: Adevărat 1
(În subprogramul sir se utilizează variabile globale )
f) Răspuns corect: INFORMATICA 1x2
10
Definirea corectă a antetului subprogramului:
- denumire, parametri formali – un punct 1
- tipul rezultatului – un punct 1
Declararea corectă a variabilelor locale 1
2 6
Instrucţiunea corectă de determinare a celei mai mari cifrei dintre două cifre 1
Organizarea corectă a repetării pentru determinarea celei mai mari cifre din şirul de caractere 1
dat
Returnarea corectă a valorii 1
Se va aprecia:
Definirea corectă a variabilelor 1
Atribuirile corecte ale datelor de intrare 1
Scrierea corectă a funcției în program 1
3 7
Descrierea corectă a formulelor de calcul 1
Organizarea corectă a repetării 1
Calcularea corectă a cantității de grâu necesară pentru însămânțarea terenului dat. 1
Afișarea corectă a rezultatului. 1
Subiectul IV. (13 puncte)
Pentru completarea corectă a fiecărei proprietăţi câte un punct: 1x3
1 3
25
Exemplu:
2 10
Notă. Se admit oricare alte variante corecte.
Interogarea va fi apreciată pentru:
- scrierea corectă a relațiilor între tabele (cel puțin o relație corectă) 1
- scrierea corectă a câmpurilor Nume, Prenume, Luna (Field, Table) (câte un punct
1x3
pentru fiecare câmp corect)
- afișarea corectă a câmpurilor Nume, Prenume, Salariu tarifar, Luna (Show) 1
- scrierea corectă a expresiei din câmpul Salariu_tarifar:
1
• denumirea câmpului: Salariu_tarifar
• produsul: [Plata_pe_ora]*[Ore_lucrate] (formula corectă - un punct, ambele 1x2
câmpuri scrise în paranteze patrate - un punct)
- scrierea corectă a condiţiei de selecţie Mai în rândul Criteria al câmpul Luna 1
- sortarea corectă a înregistrărilor după câmpul Nume 1
Total
100
Profilul umanist
Nr Item Punctaj
Subiectul I. (13 puncte)
1 Uniți prin segmente noțiunile din coloana stângă și definițiile corespunzătoare din coloana L L
dreaptă: 0 0
1 1
Codificare transformarea din cuvinte binare în mesaje 2 2
3 3
Cuantizare descompunerea imaginii în puncte 4 4
Decodificare reprezentarea unui obiect pe o suprafață
26
2 Pachetul standard google apps conține 9 aplicații, pictogramele cărora sunt prezentate în L L
Imaginea 1. Imaginile sunt codificate cu cuvinte binare de lungime 0 0
1 1
egală. Pachetul de aplicații este considerat sursă de mesaje, iar 2 2
pictogramele aplicațiilor – mulțimea de mesaje distincte. 3 3
4 4
a) Calculaţi şi scrieţi în spaţiul rezervat pentru răspuns lungimea 5 5
minimă, în biți, a cuvintelor binare care permit codificarea și 6 6
decodificarea univocă a mesajelor sursei. 7 7
8 8
Scrieți formula utilizată și calculele efectuate: 9 9
Imaginea 1
Răspuns: ________
b) O pictogramă de aplicație din Imaginea 1 este o imagine color cu dimensiunile de 32x32
pixeli și cu 256 nivele de luminanță pentru fiecare dintre cele 3 culori primare. Calculaţi şi
scrieţi în spaţiul rezervat pentru răspuns cantitatea de informație în KiloBaiți (KB), care se
conține într-o imagine cu caracteristicile date.
Răspuns: ________ KB
Scrieți formulele utilizate și calculele efectuate:
var a: T1; T1 a;
b: T4; T4 b;
c: (X1, X2, X3, X4); enum (X1, X2, X3, X4) c;
• Scrieți numele a două perechi de tipuri identice:
________________________________________________
_______________________________________________
• Scrieți numele unei variabile de tip anonim: ______________________________
27
3 Fie dată o secvență de program: L L
Limbajul Pascal 0 0
1 1
writeln(3.14:8); 2 2
write(’abc’:6); 3 3
writeln(’x’:3, ’y’:5); 4 4
5 5
Limbajul C++ 6 6
7 7
cout<<setw(8)<<3.14<<"\n";
cout<<setw(6)<<"abc";
cout<<setw(3)<<'x'<<setw(5)<<'y'<<"\n";
În imaginea de mai jos sunt numerotate pozițiile de afișare pe ecran. Scrieți în locurile rezervate
din imagine ce se va afișa după execuția secvenței de program date:
4 Fie date valorile variabilelor a=15, b=5, q=true. Scrieți în coloana din dreapta ce se va afișa după L L
execuția fiecărei din următoarele instrucțiuni: 0 0
1 1
Limbajul Pascal Răspuns 2 2
a) if a<b then write(2*a) else write(2*b); 3 3
b) if q and (a=b)then write(20) else 4 4
write(100); 5 5
c) if(not q) or (a>0) write(45) else 6 6
write(70);
d) for i:= 3 to 3 do write(i,’ ’);
e) for i:= 5 downto 4 do write(i,’ ’);
28
5 De la tastatură se citesc K litere mici ale alfabetului latin. Scrieți un program care calculează L L
numărul de vocale introduse. 0 0
1 1
Intrare. De la tastatură se citește numărul întreg K, apoi se citesc K litere. 2 2
Ieșire. La ecran se afișează un singur număr întreg - numărul de vocale citite. 3 3
Notă. Alfabetul latin conține următoarele vocale: ’a’, ’e’ , ’i’, ’o’, ’u’. 4 4
5 5
6 6
7 7
8 8
________________________________
7 Pompele digitale din stația PECO înregistrează cantitatea de combustibil, în litri, solicitată pentru L L
alimentarea automobilului. In decurs de o zi au fost efectuate N alimentări, iar datele au fost 0 0
1 1
stocate în fișierul PETROL.TXT. 2 2
3 3
Sarcină: Scrieți un program care determină dacă volumul total al combustibilului solicitat pentru 4 4
alimentare în stația PECO depășește cantitatea de 3000 litri. 5 5
6 6
Intrare: Fișierul text PETROL.TXT conține în prima linie un număr întreg N(0<N≤100) – 7 7
numărul de alimentări efectuate. Următoarea linie conține N numere întregi, separate
prin spațiu – cantitățile solicitate de combustibil.
Ieșire: La ecran se va afișa mesajul DA, dacă cantitatea totală de combustibil solicitată
depășește 3000 sau mesajul NU, în caz contrar.
30
2 Fie dat următorul program Pascal: Analizaţi programul P16 şi îndepliniţi L L
Program P16; 0 0
următoarele sarcini:
Var x,s:integer; 1 1
a) Scrieţi numele variabilei locale utilizate în 2 2
Function 3 3
Q(a:integer):integer; funcţia Q a programului P16:
Var b: integer; ___________________________
Begin
b:=0; b) Subliniaţi în textul programului P16 apelul
while a<>0 do funcţiei Q.
begin
c) Scrieţi ce se va afişa în rezultatul executării
k:=a mod 10;
programului P16:
if(k mod 2<>0)
then b:= b+k;
____________________________
a: a div 10;
end;
Q:=b;
End;
Begin
x:=27458;
s:=Q(x);
Writeln(s);
End.
Fie dat programul C++: Analizaţi programul P16 şi îndepliniţi
următoarele sarcini:
// Program P16
d) Scrieţi identificatorul variabilei locale
#include <iostream.h> utilizate în funcția Q a programului P16:
using namespace std;
int x, s; _______________
int Q (int a)
{ e) Subliniaţi în textul programului P16 apelul
int b; funcţiei Q.
b=0;
while (a<>0) f) Scrieţi ce se va afişa în rezultatul executării
{ programului P16:
k=a%10;
if (k/2) b=b+k; ____________________________
a=a/10;
end;
return b;
}
void main()
{
x=27458;
s=Q(x);
cout<<s<<endl;
}
3 Scrieți o funcție, care primește de la blocul apelant în calitate de parametri trei numere reale – L L
lungimile laturilor unui triunghi. 0 0
1 1
Funcția returnează valoarea perimetrului triunghiului specificat prin lungimile de laturi. 2 2
Notă. Perimetrul unui triunghi reprezintă suma lungimilor laturilor sale. 3 3
4 4
Subiectul IV. (31 de puncte)
31
1 a) Fie date instrumentele de navigare într-un tabel Acces: L L
0 0
Uniți prin segmente instrumentele de mai jos (coloana din stânga) cu funcțiile corespunzătoare 1 1
(coloana din dreapta): 2 2
3 3
selectarea ultimei înregistrări 4 4
5 5
selectarea înregistrării succesoare celei curente 6 6
7 7
selectarea primei înregistrări 8 8
Imaginea 2
Reieșind din conținutul tabelelor bazei de date din Imaginea 2, realizați următoarele sarcini:
a) Bifați regimul în care sunt prezentate tabelele din Imaginea 2:
32
b) Scrieți tipul relației dintre tabelul Librărie și tabelul Cartea: _______________________
e) Uniţi prin segmente denumirile de câmpuri (coloana din stânga) cu tipul de date care ar
corespunde acestora (coloana din dreapta), astfel ca tipurile să nu se repete:
Id_carte Autonumber
Numarul pag Number
Pret Currency
Text (Short Text)
f) În Imaginea 3 este prezentat un formular, care a fost creat utilizând baza de date din
Imaginea 2.
Imaginea 3
Scrieţi în pătrăţele de pe formular numerele care corespund la patru elemente din lista de mai
jos:
1. Subformular
2. Bara de defilare
3. Element de control legat
4. Element de control independent
33
3 În baza conținutului tabelelor bazei de date din Imaginea 2, realizați următoarele sarcini: L L
0 0
Completați în Imaginea 4 toate elementele necesare, inclusiv tipurile relațiilor dintre tabelele,
1 1
pentru a defini în regimul Design View o interogare.
2 2
Interogarea:
3 3
• Va afișa datele a 3 câmpuri: autor, Titlul și localitate. 4 4
• Va afișa cărţile numele autorilor cărora începe cu litera M (câmpul autor), prețul 5 5
6 6
este mai mare decât 100 (câmpul Pret) și se pot găsi în librăriile din localitățile
7 7
Iași sau Chișinău (câmpul localitatea). 8 8
9 9
10 10
11 11
Imaginea 4
Barem de corectare
Nr. Punc
Motivarea punctelor Total
item te
Subiectul I. (13 puncte)
Pentru fiecare unire corectă cte un punct 1x4
Răspuns corect:
1 4
34
Calcule corecte: I=3 x 32 x 32 x log2256 =3 x 32 x 32 x 8= = 3 1
x 2 5 x 2 5 x 8=3 x 210 x 8 biți
Transformarea corectă în B și KB: 3 x 210 x 8 biți= 3 KB 2
Subiectul II. (46 puncte)
Pentru fiecare bifare corectă câte un punct: 1x5
Limbajul Pascal Corect Incorect
const S = ’ABCDE’; ❑
const X = 10 : integer; ❑
var a, b: integer; ❑
var 5ab: char; ❑
var a?b: real; ❑
1 5
Limbajul C++ Corect Incorect
const string S= ”ABCDE”; ❑
const X=10 : int; ❑
int a, b; ❑
char 5ab; ❑
float a?b; ❑
1x4
1x3
3 7
Pentru amplasarea corectă a fiecărei din cei patru paramentri câte un punct
Pentru interpretarea corectă a fiecărui subprogram write/writeln/cout câte un punct
a) Limbajul Pascal
6 s: String; 1 8
f: text; 1
35
i: integer; 1
k: integer; 1
b) s, f 1x2
c) Close(f); 1
d) 6 1
a) Limbajul C++
string s; 1
int i 1
int k; 1
ofstream f("Text.txt"); 1
b) s, f 1x2
c) f.close(); 1
d) 6 1
Definirea corectă a tipurilor și declararea corectă a variabilelor 1
Operații corecte de lucru cu fișierele pentru citire 1
Citirea corectă din fișier a variabilei N 1
Citirea corectă din fișier a N numere – cantitățile solicitate de combustibil 1
7 7
Instrucțiunea ciclică corectă pentru determinarea volumului total al combustibilului 1
Instrucțiunea condițională corectă care determină dacă volumul total al combustibilului 1
depășește cantitatea de 3000
Afișarea corectă la ecran a rezultatului 1
Subiectul III. (10 puncte)
Pentru fiecare răspuns corect câte un punct. 1x3
Răspunsuri corecte:
1 a) Adevărat 3
b) Fals
c) Fals
Se va aprecia: 1
a) Răspuns corect: b
2 b) Subliniere corectă: Q(x) 1 3
c) Răspuns corect: 12 1
Scrierea corectă a antetului subprogramului 1
Scrierea corectă a parametrilor formali 1
3 4
Instrucțiunea corectă de determinare a perimetrului triunghiului 1
Returnarea corectă a rezultatului 1
Subiectul IV. (31 de puncte)
a) Pentru fiecare unire corectă câte un punct. 1x5
Unire corectă:
1 8
36
b) Pentru fiecare bifare corectă câte un punct 1x3
Bifări corecte:
- Fals
- Adevărat
- Design View
a) Răspuns corect: Datasheet View 1
b) Răspuns corect: 1 → ∞ 1
c) Răspuns corect: ∞ → ∞ 1
2 12
f) Pentru fiecare element corect câte un punct 1x4
Completare corectă:
a) Exemplu:
3 11
37
Notă: Se admit oricare alte variante corecte.
Total 100
38