Documente Academic
Documente Profesional
Documente Cultură
3. Setul de variabile întregi an, luna, zi memorează valori specifice unei date calendaristice din cadrul
primului semestru al acestui an școlar (14.09.2020 – 29.01.2021). Scrieți o secvență de
instrucțiuni în urma executării căreia să se afișeze pe ecran, în funcție de perioada căreia îi aparține
data, mesajul vacanta, dacă este din perioada vacanței de iarnă (23.12.2020 – 10.01.2021), sau
mesajul scoala, în caz contrar.
Exemplu: dacă an=2020, luna=11, zi=16, se afișează pe ecran scoala (6p.)
2. ∈[2,102]) și construiește în
Scrieți un program C/C++ care citește de la tastatură un număr natural n (n∈
memorie un tablou unidimensional cu n elemente, cu proprietatea că parcurgându-l de la stânga la
dreapta se obține șirul primelor n pătrate perfecte pare, ordonat strict descrescător, ca în exemplu.
Elementele tabloului obținut se afișează pe ecran, separate prin câte un spațiu.
Exemplu: pentru n=6 se obține tabloul (100,64,36,16,4,0). (10p.)
3. Fișierul cheltuieli.in are cel mult 106 linii, fiecare linie conținând câte trei numere naturale din
intervalul [1,102], reprezentând, în această ordine, date despre câte o achiziție: tipul produsului
cumpărat, numărul de produse de acest tip cumpărate, respectiv prețul unui astfel de produs la acel
moment. Numerele aflate pe aceeași linie sunt separate prin câte un spațiu.
Se cere să se afișeze pe ecran cea mai mare sumă cheltuită pentru toate produsele de 4 1 10
același tip. Proiectați un algoritm eficient din punctul de vedere al timpului de executare. 1 16 1
Exemplu: dacă fișierul cheltuieli.in are conținutul alăturat, se afișează pe ecran: 26 4 2 8
(s-a cheltuit suma maximă 26 pentru produsele de tipul 1 și 4: 26=16·1+5·2=1·10+2·8). 2 1 5
1 5 2
a. Descrieți în limbaj natural algoritmul proiectat, justificând eficiența acestuia. (2p.)
b. Scrieți programul C/C++ corespunzător algoritmului proiectat. (8p.)
Exemplu: dacă se citesc, în această ordine, numerele 20, 19, 2020, 15, 2020, 6, 7, 21, 24, 36, în
urma executării secvenţei, p are valoarea 5. (6p.)
2. Două numere distincte se numesc în oglindă dacă fiecare dintre ele se obține prin citirea cifrelor
celuilalt de la dreapta la stânga.
Exemplu: 127 și 721 sunt în oglindă, iar pentru numerele 100 sau 121 nu există niciun număr cu
care să fie în oglindă.
Scrieți un program C/C++ care citește de la tastatură un număr natural n (n∈ ∈[2,50]), apoi cele n
elemente ale unui tablou unidimensional, numere naturale din intervalul [0,104). Programul
transformă tabloul în memorie înlocuind fiecare element de trei cifre cu numărul cu care el este în
oglindă, dacă acesta există, ca în exemplu. Elementele tabloului obținut sunt afișate pe ecran,
separate prin câte un spațiu, iar dacă nu s-a înlocuit niciun element se afișează pe ecran mesajul
nu exista.
Exemplu: pentru n=9 și tabloul (721,72,6,108,180,1221,121,537,1000),
se obține tabloul (127,72,6,801,180,1221,121,735,1000).
iar pentru n=4 și tabloul (525,72,6,120), se afișează pe ecran mesajul nu exista. (10p.)
3. Fișierul bac.txt conține un șir de cel mult 106 numere naturale din intervalul [1,109], separate prin
câte un spațiu.
Se cere să se afișeze pe ecran, separate printr-un spațiu, două numere naturale a și b (a<b), astfel
încât oricare termen al șirului să aparțină intervalului (a,b), iar valoarea expresiei b-a să fie minimă.
Proiectați un algoritm eficient din punctul de vedere al timpului de executare și al spațiului de memorie
utilizat.
Exemplu: dacă fișierul conține valorile 7 2 40 5 10 15 11 122 350 18
se afișează pe ecran numerele 1 351.
a. Descrieți în limbaj natural algoritmul proiectat, justificând eficiența acestuia. (2p.)
b. Scrieți programul C/C++ corespunzător algoritmului proiectat. (8p.)
2. Variabilele pre și pim memorează partea reală, respectiv partea imaginară ale unui număr complex
(numere reale). Declarați variabilele precizate și scrieți o secvență de instrucțiuni C/C++ care
afișează pe ecran mesajul multimea R, dacă numărul complex corespunzător aparține mulțimii
numerelor reale, sau mesajul multimea C, în caz contrar. (6p.)
3. Aplicând metoda căutării binare pentru a verifica dacă într-un tablou unidimensional există
elementul cu o valoare oarecare x, aceasta se compară cu maximum 3 elemente ale tabloului. Dați
exemplu de un astfel de tablou. (6p.)
c. (8,9,10,16,18,45,50) d. (16,20,18,49,50,57,58)
MODEL
Filiera teoretică, profilul real, specializarea ştiinţe ale naturii
4. a) Pentru rezolvare corectă 10p. (*) Se acordă câte 2p. pentru fiecare
-citire a datelor 1p. proprietate a numerelor x, y și z (divizori,
-determinare a tripletelor cu 0<x<y<z, x+y+z=n) conform cerinței.
proprietatea cerută (*) 6p. (**) Se va puncta orice formă corectă de
-tratare a cazului nu exista 1p. structură repetitivă sau decizională.
-afișare a datelor în formatul cerut 1p.
-scriere principial corectă a structurilor
de control (***) 1p.
b) Pentru răspuns corect 6p. (*) Se acordă numai 1p. dacă doar pentru o
-precizare a rolului variabilelor utilizate parte din variabilele utilizate rolul este
(*) 2p. corect precizat.
-indicare a datelor de intrare 2p.
-indicare a datelor de ieșire 2p.
SIMULARE
Filiera teoretică, profilul real, specializarea ştiinţe ale naturii
3. Pentru rezolvare corectă 6p. (*) Se acordă numai 1p. dacă expresia de
-expresie de calcul corectă pentru media calcul a mediei este principial corectă, dar nu
aritmetică a două numere întregi (*) 2p. pentru numere întregi.
-expresie logică de identificare a cazurilor (**) Se acordă numai 1p. dacă s-a afișat doar
indicate 1p. unul dintre mesajele cerute.
-afișare a mesajelor indicate (**) 2p.
-corectitudine globală a secvenţei1) 1p.
4. a) Pentru rezolvare corectă 10p. (*) Se acordă câte 3p. pentru fiecare număr
-citire a datelor 1p. conform cerinței.
-determinare a numerelor cerute (*) 6p. (**) Se va puncta orice formă corectă de
-afișare a datelor în formatul cerut 1p. structură repetitivă sau decizională.
-scriere principial corectă a structurilor
de control (**) 2p.
b) Pentru răspuns corect 6p. (*) Se acordă numai 1p. dacă doar pentru o
-precizare a rolului variabilelor utilizate parte dintre variabilele utilizate rolul este
(*) 2p. corect precizat.
-indicare a datelor de intrare 2p.
-indicare a datelor de ieșire 2p.
Varianta 2
Filiera teoretică, profilul real, specializarea ştiinţe ale naturii
4. a) Pentru rezolvare corectă 10p. (*) Se acordă câte 2p. pentru fiecare aspect
-citire a datelor 1p. al cerinței (identificare a unui număr cu
-determinare a numărului cu proprietatea cerută pentru resturi, algoritm
proprietatea cerută (*) 6p. de numărare principial corect, numere din
-afișare a datelor 1p. intervalul cerut).
-scriere principial corectă a structurilor (**) Se va puncta orice formă corectă de
de control (**) 2p. structură repetitivă sau decizională.
b) Pentru răspuns corect 6p. (*) Se acordă numai 1p. dacă s-au
-precizare a rolului variabilelor utilizate identificat doar o parte din variabilele
(*) 2p. utilizate sau dacă nu pentru toate variabilele
-date de intrare identificate corect 2p. este corect precizat rolul acestora.
-date de ieşire identificate corect 2p.
SUBIECTUL al III - lea (30 de puncte)
1. b 4p.
2. Pentru răspuns corect 6p.
-instrucţiune de iniţializare a
variabilei bun 2p.
-instrucţiune de actualizare a
variabilei bun 3p.
1)
-corectitudine globală a secvenţei 1p.
3. Pentru program corect 10p. (*) Se acordă câte 1p. pentru fiecare aspect
-declarare a cel puțin unei variabile de 1p. al cerinței (identificare valori pare/impare,
tip tablou plasare/afișare a unor valori din tablou la
-citire a elementelor tablourilor 2x1p. începutul șirului, plasare/afișare a unor
-determinare și afișare a valorilor valori din tablou la finalul șirului, ordine a
conform cerinței (*) 5p. valorilor, corespondență plasare
-tratare caz cod incorect 1p. valori/paritate cod).
-declarare variabile simple,
corectitudine globală a programului1) 1p.
4. a) Pentru răspuns corect 2p. (*) Se acordă punctajul chiar dacă metoda
-coerenţă a explicării metodei (*) 1p. aleasă nu este eficientă.
-justificare a unor elemente de
eficienţă, conform cerinței 1p.
b) Pentru program corect 8p. (*) Se acordă punctajul chiar dacă soluţia
-operaţii cu fişiere: declarare, propusă nu prezintă elemente de eficienţă.
pregătire în vederea citirii, citire din (**) Se acordă numai 3p. dacă algoritmul
fişier 1p. este principial corect, dar nu oferă rezultatul
-determinare a valorii cerute (*, **) 5p. cerut pentru toate seturile de date de
-utilizare a unui algoritm eficient (***) 1p. intrare.
-afișare a tuturor datelor, declarare a (***) Se acordă punctajul numai pentru un
tuturor variabilelor, corectitudine algoritm liniar, care utilizează eficient
globală a programului1) 1p. memoria.
O soluţie posibilă parcurge datele din fișier,
memorând perechea formată din ultimele
valori citite, lungimea secvenței curente,
precum și lungimea maximă determinată;
pentru fiecare valoare curentă citită se
actualizează perechea, lungimea secvenței
curente, dacă perechea are proprietatea
cerută și, după caz, lungimea maximă
cerută.
1)
Corectitudinea globală vizează structura, sintaxa, alte aspecte neprecizate în barem.
Varianta 8
Filiera teoretică, profilul real, specializarea ştiinţe ale naturii
4. a) Pentru rezolvare corectă 10p. (*) Se acordă câte 2p. pentru fiecare aspect
-citire a datelor 1p. al cerinței (determinare a unei cifre a unui
-transformare a numărului conform număr, algoritm de plasare în număr a
cerinței (*) 6p. cifrelor care preced cifra k în numărul inițial,
-scriere principial corectă a structurilor algoritm de plasare în număr a cifrelor care
de control (**) 2p. succed cifra k în numărul inițial).
-afișare a datelor 1p. (**) Se va puncta orice formă corectă de
structură repetitivă sau decizională.
b) Pentru răspuns corect 6p. (*) Se acordă numai 1p. dacă s-au
-precizare a rolului variabilelor utilizate identificat doar o parte din variabilele
(*) 2p. utilizate sau dacă nu pentru toate variabilele
-indicare a datelor de intrare 2p. este corect precizat rolul acestora.
- indicare a datelor de ieșire 2p.
2∙∙fn-1 +2
(unde n este un număr natural nenul) 3
sunt: altfel
0, 3, 8, 18, 38, 78, 158, 318 ....
Se citește de la tastatură un număr natural x (x∈ ∈[0,109]), reprezentând valoarea unui
termen al şirului dat, şi se cere să se scrie în fişierul text bac.txt, în ordine strict
descrescătoare, separați prin câte un spațiu, toţi termenii şirului mai mici sau egali cu x.
Proiectați un algoritm eficient din punctul de vedere al timpului de executare și al memoriei
utilizate.
Exemplu: dacă se citește numărul
158
fişierul bac.txt conţine numerele
158 78 38 18 8 3 0
a) Descrieţi în limbaj natural algoritmul proiectat, justificând eficienţa acestuia. (2p.)
b) Scrieţi programul C/C++ corespunzător algoritmului proiectat. (8p.)
Varianta 1
Filiera teoretică, profilul real, specializarea ştiinţe ale naturii
4. a) Pentru rezolvare corectă 10p. (*) Se acordă câte 3p. pentru fiecare aspect
-citire a datelor 1p. al cerinței (algoritm de determinare a unui
-determinare a numărului cu număr prim, cel mai mic număr care nu este
proprietatea cerută (*) 6p. prim conform cerinței).
-scriere principial corectă a structurilor (**) Se va puncta orice formă corectă de
de control (**) 2p. structură repetitivă sau decizională.
-scriere a rezultatului 1p.
b) Pentru răspuns corect 6p. (*) Se acordă numai 1p. dacă s-au precizat
-precizare a rolului variabilelor utilizate doar o parte dintre variabilele utilizate sau
(*) 2p. dacă nu pentru toate variabilele este
-date de intrare precizate corect 2p. precizat rolul acestora.
-date de ieşire precizate corect 2p.
MODEL
Filiera teoretică, profilul real, specializarea ştiinţe ale naturii
4. a) Pentru rezolvare corectă 10p. (*)Se acordă câte 2p. pentru fiecare aspect
-citire a datelor 1p. al cerinței (algoritm de numărare principial
-determinare a unui număr cu corect, determinare a unui număr scris ca
proprietatea cerută (*) 6p. produs de numere consecutive, numărare a
-scriere principial corectă a structurilor tuturor valorilor suport).
de control (**) 2p. (**) Se va puncta orice formă corectă de
-scriere a rezultatului 1p. structură repetitivă sau decizională.
b) Pentru răspuns corect 6p. (*) Se acordă numai 1p. dacă s-au indicat
-precizare a rolului variabilelor utilizate (*) 2p. doar o parte dintre variabilele utilizate sau
-indicare a datelor de intrare 2p. dacă nu pentru toate variabilele este corect
-indicare a datelor de ieșire 2p. precizat rolul acestora.
Simulare
Filiera teoretică, profilul real, specializarea ştiinţe ale naturii
4. a) Pentru rezolvare corectă 10p. (*) Se acordă câte 2p. pentru fiecare aspect
-citire a datelor 1p. al cerinţei (identificare a unei poziții,
-determinare a numărului cerut (*) 6p. identificare a unei cifre conform cerinței,
-scriere principial corectă a structurilor algoritm de numărare principial corect).
de control (**) 2p. (**) Se va puncta orice formă corectă de
-scriere a rezultatului 1p. structură repetitivă sau decizională.
b) Pentru răspuns corect 6p. (*) Se acordă numai 1p. dacă s-au
-precizare a rolului variabilelor utilizate (*) 2p. identificat doar o parte din variabilele
-date de intrare indicate corect 2p. utilizate sau dacă nu pentru toate variabilele
-date de ieșire indicate corect 2p. este corect menționat rolul acestora.
Varianta 3
Filiera teoretică, profilul real, specializarea ştiinţe ale naturii
4. a) Pentru rezolvare corectă 10p. (*) Se acordă câte 3p. pentru fiecare aspect
-citire a datelor 1p. al cerinței (identificare/construire a unui
-determinare a numerelor cu număr conform cerinței, numere suport).
proprietatea cerută (*) 6p. (**) Se va puncta orice formă corectă de
-scriere principial corectă a structurilor structură repetitivă sau decizională.
de control (**) 2p.
-scriere a datelor și tratare a cazului
nu exista 1p.
b) Pentru răspuns corect 6p. (*) Se acordă numai 1p. dacă s-au
-precizare a rolului variabilelor utilizate identificat doar o parte dintre variabilele
(*) 2p. utilizate sau dacă nu pentru toate variabilele
-date de intrare indicate conform este corect precizat rolul acestora.
cerinței 2p.
-date de ieșire indicate conform
cerinței 2p.
Varianta 4
Filiera teoretică, profilul real, specializarea ştiinţe ale naturii
4. a) Pentru rezolvare corectă 10p. (*) Se acordă câte 1p. pentru fiecare aspect
-citire a datelor 1p. al cerinței (identificare a unei cifre a
-determinare a numărului cu numărului, identificare a unei cifre pare,
proprietatea cerută (*) 6p. inserare a unei cifre într-un număr, păstrare
-scriere principial corectă a structurilor a ordinii cifrelor, inserare a valorilor
de control (**) 2p. corespunzătoare doar după cifre pare,
-scriere a rezultatului 1p. inserare corectă după cifrele nule de la
sfârşitul numărului).
(**) Se va puncta orice formă corectă de
structură repetitivă sau decizională.
b) Pentru răspuns corect 6p. (*) Se acordă numai 1p. dacă s-au
-precizare a rolului variabilelor utilizate identificat doar unele dintre variabilele
(*) 2p. utilizate sau dacă nu pentru toate variabilele
-date de intrare indicate corect 2p. este corect precizat rolul acestora.
-date de ieșire indicate corect 2p.
Varianta 7
Filiera teoretică, profilul real, specializarea ştiinţe ale naturii
4. a) Pentru rezolvare corectă 10p. (*) Se acordă numai 2p. dacă un singur
-citire a datelor 1p. aspect (soluții ale ecuației, valori din
-determinare a tripletelor cerute (*) 3p. intervalul [a,b]) este conform cerinței.
-afișare a datelor în formatul cerut (**) 3p. (**) Se acordă câte 1p. pentru fiecare
-tratare a cazului nu exista 1p. aspect (încadrare între acolade, separare
-scrierea principial corectă a prin virgulă, ordine valori în cadrul
structurilor de control (***) 2p. tripletului) conform cerinței.
(***) Se va puncta orice formă corectă de
structură repetitivă sau decizională.
b) Pentru răspuns corect 6p. (*) Se acordă numai 1p. dacă s-au
-precizare a rolului variabilelor utilizate identificat doar o parte dintre variabilele
(*) 2p. utilizate sau dacă nu pentru toate variabilele
-date de intrare indicate corect 2p. este corect precizat rolul acestora.
-date de ieșire indicate corect 2p.
MODEL
Filiera teoretică, profilul real, specializarea ştiinţe ale naturii
b) Pentru răspuns corect 6p. (*) Se acordă numai 1p. dacă s-au indicat
-precizare a rolului variabilelor utilizate (*) 2p. doar o parte din variabilele utilizate sau
-indicare a datelor de intrare 2p. dacă nu pentru toate variabilele este corect
-indicare a datelor de ieșire 2p. precizat rolul acestora.
Simulare
Filiera teoretică, profilul real, specializarea ştiinţe ale naturii
4. a) Pentru rezolvare corectă 10p. (*) Se acordă câte 1p. pentru fiecare aspect
-citire a datelor 1p. al cerinței (determinare a unui divizor,
-determinare a numărului cerut (*) 6p. determinare a tuturor divizorilor proprii,
-scriere principial corectă a structurilor algoritm de calcul al unei sume,
de control (**) 2p. determinare a unui număr sPar, număr sPar
-scriere a rezultatului 1p. din intervalul cerut, număr sPar minim).
(**) Se va puncta orice formă corectă de
structură repetitivă sau decizională.
b) Pentru răspuns corect 6p. (*) Se acordă numai 1p. dacă s-au
-precizare a rolului variabilelor utilizate identificat doar o parte dintre variabilele
(*) 2p. utilizate sau dacă nu pentru toate variabilele
-date de intrare indicate corect 2p. este corect menționat rolul acestora.
-date de ieșire indicate corect 2p.
Varianta 4
Filiera teoretică, profilul real, specializarea ştiinţe ale naturii
4. a) Pentru rezolvare corectă 10p. (*) Se acordă numai 3p. dacă s-a
-citire a datelor 1p. determinat un număr cu aceiași divizori
-determinare a numărului cerut (*) 6p. primi, dar nu este cel mai mic.
-scriere principial corectă a structurilor (**) Se va puncta orice formă corectă de
de control (**) 2p. structură repetitivă sau decizională.
-afișare a datelor 1p.
b) Pentru rspuns corect 6p. (*) Se acordă numai 1p. dacă s-au
-precizarea rolului variabilelor utilizate identificat doar o parte din variabilele
(*) 2p. utilizate sau dacă nu pentru toate variabilele
-date de intrare identificate corect 2p. este corect precizat rolul acestora.
-date de ieșire identificate corect 2p.
Varianta 10
Filiera teoretică, profilul real, specializarea ştiinţe ale naturii
4. a) Pentru rezolvare corectă 10p. (*) Se acordă câte 1p. pentru fiecare aspect
-citire a datelor 1p. al cerinței (acces la o cifră a numărului, cifre
-obţinere a unui număr conform pare/impare, cifre suport, obținere rezultat
cerinţei (*) 6p. pentru număr cu cifre pare și impare,
-scriere principial corectă a structurilor obținere rezultat pentru număr doar cu cifre
de control (**) 2p. pare, obținere rezultat pentru număr doar
-scriere a rezultatului 1p. cu cifre impare).
(**) Se va puncta orice formă corectă de
structură repetitivă sau decizională.
b) Pentru răspuns corect 6p. (*) Se acordă numai 1p. dacă s-au
-precizare a rolului variabilelor utilizate identificat doar o parte din variabilele
(*) 2p. utilizate sau dacă nu pentru toate variabilele
-date de intrare indicate conform este corect precizat rolul acestora.
cerinței 2p.
-date de ieșire indicate conform
cerinței 2p.
Varianta 9
Filiera teoretică, profilul real, specializarea ştiinţe ale naturii
4. a) Pentru rezolvare corectă 10p. (*) Se acordă câte 2p. pentru fiecare aspect
-citire a datelor 1p. al cerinței (duplicare a unei cifre, cifre
-obţinere a unui număr conform suport, tratare caz -1).
cerinţei (*) 6p. (**) Se va puncta orice formă corectă de
-scriere principial corectă a structurilor structură repetitivă sau decizională.
de control (**) 2p.
-scriere a rezultatului 1p.
b) Pentru răspuns corect 6p. (*) Se acordă numai 1p. dacă s-au
-precizare a rolului variabilelor utilizate identificat doar o parte din variabilele
(*) 2p. utilizate sau dacă nu pentru toate variabilele
-date de intrare indicate conform este corect precizat rolul acestora.
cerinței 2p.
-date de ieșire indicate conform
cerinței 2p.
MODEL
Filiera teoretică, profilul real, specializarea ştiinţe ale naturii
4. a) Pentru rezolvare corectă 10p. (*) Se acordă câte 1p. pentru fiecare aspect
-citire a datelor 1p. al cerinței (identificarea unui divizor,
-determinare a numerelor cu algoritm de determinare a sumei unor
proprietatea cerută (*) 4p. divizori, identificarea unui număr subperfect,
-afișare a datelor în forma cerută (**) 2p. identificarea tuturor numerelor subperfecte
-tratare caz nu exista 1p. din intervalul cerut).
-scriere principial corectă a structurilor (**) Se acordă numai 1p. dacă datele sunt
de control (***) 2p. afișate în ordine crescătoare.
(***) Se va puncta orice formă corectă de
structură repetitivă sau decizională.
b) Pentru răspuns corect 6p. (*) Se acordă numai 1p. dacă s-au
-menţionare a rolului variabilelor identificat doar o parte dintre variabilele
utilizate (*) 2p. utilizate sau dacă nu pentru toate variabilele
-date de intrare identificate corect 2p. este corect menționat rolul acestora.
-date de ieșire identificate corect 2p.
SUBIECTUL al III - lea (30 de puncte)
1. b 4p.
2. Pentru răspuns corect 6p. (*) Se acordă numai 1p. dacă s-a comparat
-instrucţiune de iniţializare a corect valoarea citită cu numărul 2015, dar
variabilei ok 2p. variabila ok nu este actualizată corect.
-instrucţiune de actualizare a
variabilei ok (*) 3p.
-corectitudine globală a secvenţei1) 1p.
3. Pentru program corect 10p. (*) Se acordă câte 1p. pentru fiecare aspect
-declarare a variabilei de tip tablou 1p. al cerinței (numere impare, numere care nu
-citire a datelor 1p. sunt divizibile cu 3, ordine conform cerinței,
-accesare a unui element al tabloului 1p. construire în memorie).
-memorare a valorilor elementelor (**) Se acordă numai 1p. dacă sunt afișate
conform cerinței (*) 4p. toate elementele, dar nu în formatul cerut.
-afişare a unui tablou (**) 2p.
-declarare a tuturor variabilelor
simple, corectitudine globală a
programului1) 1p.
4. a) Pentru răspuns corect 4p. (*) Se acordă punctajul chiar dacă
-descriere coerentă a algoritmului (*) 2p. algoritmul ales nu este eficient.
-justificare a unor elemente de
eficienţă 2p.
b) Pentru program corect 6p. (*) Se acordă punctajul chiar dacă soluţia
-operaţii cu fişiere: declarare, propusă nu prezintă elemente de eficienţă.
pregătire în vederea citirii, citire din (**) Se acordă numai 1p. dacă algoritmul
fişier 1p. utilizat este principial corect, dar valoarea
-determinare a valorii cerute (*,**) 3p. determinată nu se obține corect pentru toate
-utilizare a unui algoritm eficient (***) 1p. datele de intrare.
-afișare a datelor și tratare a cazului (***) O soluţie posibilă utilizează un vector
nu exista, declarare a tuturor de apariții, v, în care pentru fiecare valoare
variabilelor, corectitudine globală a 2p citită din fișier se marchează vp=1,
programului1) 1p. apariția valorii 2p. Numărul cerut, 2p,
corespunde celei mai mari valori p pentru
care suma v9+v8+=vp=n.
1)
Corectitudinea globală vizează structura, sintaxa, alte aspecte neprecizate în barem.
c) Scrieţi în pseudocod un algoritm, echivalent cu cel dat, înlocuind a doua structură cât
timp...execută cu o structură repetitivă cu test final. (6p.)
d) Scrieţi programul C/C++ corespunzător algoritmului dat. (10p.)
Simulare
Filiera teoretică, profilul real, specializarea ştiinţe ale naturii
b) Pentru răspuns corect 6p. (*) Se acordă numai 1p. dacă s-au
-precizare a rolului variabilelor utilizate (*) 2p. identificat doar o parte dintre variabilele
-date de intrare indicate corect 2p. utilizate sau dacă nu pentru toate variabilele
-date de ieșire indicate corect 2p. este corect menționat rolul acestora.
SUBIECTUL al III - lea (30 de puncte)
1. b 4p.
2. Pentru răspuns corect 6p. (*) Se acordă numai 1p. dacă s-a actualizat
-instrucţiune de iniţializare a variabilei valoarea variabilei nr, dar expresia de
nr 2p. identificare a literelor cerute nu este corectă.
-instrucţiune de actualizare a variabilei
nr (*) 3p.
-corectitudine globală a secvenţei1) 1p.
3. Pentru program corect 10p. (*) Se acordă câte 1p. pentru fiecare aspect
-declarare a variabilei de tip tablou 1p. al cerinței (număr de elemente memorate,
-accesare a unui element al tabloului 1p. număr indicat pe ultima poziție, ordine strict
-memorare a valorilor elementelor descrescătoare, numere consecutive,
conform cerinței (*) 5p. construire în memorie).
-afişare a unui tablou (**) 2p. (**) Se acordă numai 1p. dacă sunt afișate
-declarare și citire a tuturor variabilelor toate elementele, dar nu în formatul cerut.
simple, corectitudine globală a
programului1) 1p.
4. a) Pentru răspuns corect 4p. (*) Se acordă punctajul chiar dacă
-descriere coerentă a algoritmului (*) 2p. algoritmul ales nu este eficient.
-justificare a unor elemente de
eficienţă 2p.
b) Pentru program corect 6p. (*) Se acordă punctajul chiar dacă soluţia
-operaţii cu fişiere: declarare, propusă nu prezintă elemente de eficienţă.
pregătire în vederea citirii, citire din (**) Se acordă numai 2p. dacă s-a
fişier 1p. determinat un număr mai mic sau egal cu
-determinare a numărului cerut (*,**) 3p. x, dar nu este cel mai mare cu această
-utilizare a unui algoritm eficient (***) 1p. proprietate.
-afișare a datelor și tratare a cazului (***) O soluţie posibilă utilizează căutarea
nu exista, declarare a tuturor binară pentru determinarea numărului cerut.
variabilelor, corectitudine globală a
programului1) 1p.
1)
Corectitudinea globală vizează structura, sintaxa, alte aspecte neprecizate în barem.
1. Variabila x este de tip real şi memorează un număr real pozitiv. O instrucţiune C/C++
incorectă din punct de vedere sintactic este: (4p.)
a. x=sqrt(x);
b. x=sqrt(sqrt(16));
c. cin>>sqrt(4); | scanf(”%f”,&sqrt(4));
d. cout<<sqrt(4)+1; | printf(”%f”,sqrt(4)+1);
2. În secvenţele de mai jos, notate cu S1 şi S2, toate variabilele sunt de tip întreg.
//secventa S1 //secventa S2
while(x!=y) while(y!=0)
if(x>y) x=x-y; { x=x%y; z=y; y=x; }
else y=y-x;
Variabila x memorează cel mai mare divizor comun al celor două numere naturale nenule,
memorate iniţial în variabilele x şi y, în urma executării: (4p.)
a. numai a secvenţei S1 b. numai a secvenţei S2
c. atât a secvenţei S1 cât şi a lui S2 d. niciuneia dintre cele două secvenţe
Varianta 9
Filiera teoretică, profilul real, specializarea ştiinţe ale naturii
4. a) Pentru rezolvare corectă 10p. (*) Se acordă câte 2p. pentru fiecare aspect
-citire a datelor 1p. al cerinței (termen al șirului, termen impar,
-determinare a numărului cerut (*) 6p. număr de ordine - inclusiv cazul în care
-scriere principial corectă a structurilor n<3).
de control (**) 2p. (**) Se va puncta orice formă corectă de
-scriere a rezultatului 1p. structură repetitivă sau decizională.
b) Pentru răspuns corect 6p. (*) Se acordă numai 1p. dacă s-au
-precizare a rolului variabilelor utilizate (*) 2p. identificat doar o parte dintre variabilele
-indicare a datelor de intrare 2p. utilizate sau dacă nu pentru toate variabilele
-indicare a datelor de ieşire 2p. este corect precizat rolul acestora.
Varianta 2
Filiera teoretică, profilul real, specializarea ştiinţe ale naturii
4. a) Pentru rezolvare corectă 10p. (*) Se acordă câte 2p. pentru fiecare aspect
-citire a datelor 1p. al cerinței (acces la o cifră a numărului, cifre
-determinare a numărului cerut (*) 6p. prime suport, algoritm de numărare
-scriere principial corectă a structurilor principial corect).
de control (**) 2p. (**) Se va puncta orice formă corectă de
-scriere a rezultatului 1p. structură repetitivă sau decizională.
b) Pentru răspuns corect 6p. (*) Se acordă numai 1p. dacă s-au
-precizare a rolului variabilelor utilizate identificat doar o parte dintre variabilele
(*) 2p. utilizate sau dacă nu pentru toate variabilele
-indicare a datelor de intrare 2p. este corect precizat rolul acestora.
-indicare a datelor de ieşire 2p.
b) Pentru răspuns corect 6p. (*) Se acordă numai 1p. dacă s-au
-menționare a rolului variabilelor utilizate (*) 2p. identificat doar o parte dintre variabilele
-date de intrare identificate corect 2p. utilizate sau dacă nu pentru toate variabilele
-date de ieșire identificate corect 2p. este corect menționat rolul acestora.
Simulare
Filiera teoretică, profilul real, specializarea ştiinţe ale naturii
4. a) Pentru rezolvare corectă 10p. (*) Se acordă numai 3p. dacă doar unul
-citirea datelor 1p. dintre cele două numere a fost determinat.
-determinarea numerelor cu (**) Se va puncta orice formă corectă de
proprietatea cerută (*) 5p. structură repetitivă sau decizională.
-scrierea principial corectă a
structurilor de control (**) 2p.
-scrierea rezultatului 1p.
-tratarea cazului Nu exista 1p.
b) Pentru răspuns corect 6p. (*) Se acordă numai 1p. dacă s-au
-menţionarea rolului variabilelor identificat doar o parte dintre variabilele
utilizate (*) 2p. utilizate sau dacă nu pentru toate variabilele
-date de intrare identificate corect 2p. este corect menționat rolul acestora.
-date de ieșire identificate corect 2p.
Varianta 4
Filiera teoretică, profilul real, specializarea ştiinţe ale naturii
4. a) Pentru rezolvare corectă 10p. (*) Se acordă câte 2p. pentru fiecare aspect
-citire a datelor 1p. al cerinței (algoritm de determinare a unui
-determinare a numerelor cu produs factorial, determinare a limitei
proprietatea cerută (*) 6p. inferioare a intervalului, determinare a
-scriere principial corectă a structurilor limitei superioare a intervalului).
de control (**) 2p. (**) Se va puncta orice formă corectă de
-afișare a numerelor cerute 1p. structură repetitivă sau decizională.
b) Pentru răspuns corect 6p. (*) Se acordă numai 1p. dacă s-au
-menţionare a rolului variabilelor identificat doar o parte dintre variabilele
utilizate (*) 2p. utilizate sau dacă nu pentru toate variabilele
-date de intrare identificate corect 2p. este corect menționat rolul acestora.
-date de ieșire identificate corect 2p.
SUBIECTUL al III - lea (30 de puncte)
1. b 4p.
2. Pentru răspuns corect 6p. (*) Se acordă numai 1p. dacă s-a identificat
-instrucţiune de iniţializare a corect citirea numărului 2014, dar variabila ok
variabilei ok 2p. nu este actualizată corect.
-instrucţiune de actualizare a
variabilei ok (*) 3p.
-corectitudine globală a secvenţei1) 1p.
3. Pentru program corect 10p. (*) Se acordă câte 2p. pentru fiecare aspect
-declarare corectă a variabilei de tip al cerinței (determinarea unui element par,
tablou 1p. elemente suport modificate conform
-citire a elementelor tabloului 2p. cerinței).
-accesare corectă a unui element al
tabloului 1p.
-modificare a tabloului conform
cerinței (*) 4p.
-afișare a datelor 1p.
-declarare a tuturor variabilelor
simple, citire a datelor simple,
corectitudine globală a programului1) 1p.
4. a) Pentru răspuns corect 4p. (*) Se acordă punctajul chiar dacă metoda
-descriere coerentă a metodei (*) 2p. aleasă nu este eficientă.
-justificare a unor elemente de
eficienţă 2p.
b) Pentru program corect 6p. (*) Se acordă punctajul chiar dacă soluţia
-operaţii cu fişiere: declarare, propusă nu prezintă elemente de eficienţă.
pregătire în vederea citirii, citire din (**) Se acordă câte 1p. pentru fiecare dintre
fişier 1p. aspectele cerinței (determinare a numărului
-determinare a valorilor cerute (*, **) 3p. de apariții ale fiecărei cifre, determinare a
-utilizare a unui algoritm eficient (***) 1p. numărului maxim de apariții, determinare a
-afișare a datelor, declarare a tuturor tuturor cifrelor cu număr maxim de apariții).
variabilelor, corectitudine globală a (***) Se acordă punctajul numai pentru un
programului1) 1p. algoritm liniar.
O soluţie posibilă utilizează un vector de
apariții, v, în care se actualizează numărul
de apariții vi pentru fiecare cifră i, la
parcurgerea fişierului și prelucrarea
corespunzătoare a termenilor șirului.
Numerele cerute corespund valorilor i
pentru care vi are valoare maximă.
1)
Corectitudinea globală vizează structura, sintaxa, alte aspecte neprecizate în barem.
Probă scrisă la informatică Varianta 4
Filiera teoretică, profilul real, specializarea ştiinţe ale naturii
Barem de evaluare şi de notare
2
Ministerul Educaţiei Naționale
Centrul Naţional de Evaluare şi Examinare
c. (7,9,10,16,21,45,49) d. (16,20,21,49,50,56,59)
Varianta 10
Filiera teoretică, profilul real, specializarea ştiinţe ale naturii
4. a) Pentru rezolvare corectă 10p. (*) Se acordă câte 2p. pentru fiecare
-citire a datelor 1p. proprietate a numerelor x, y și z (x<y<z,
-determinare a tripletelor cu x·y+y·z=n).
proprietatea cerută (*) 4p. (**) Se acordă doar 2p. dacă doar unul
-afișare a datelor în formatul cerut (**) 3p. dintre aspectele cerinței privind afișarea
-scriere principial corectă a structurilor este corect (virgule, paranteze).
de control (***) 2p. (***) Se va puncta orice formă corectă de
structură repetitivă sau decizională.
b) Pentru răspuns corect 6p. (*) Se acordă numai 1p. dacă doar pentru o
-menţionare a rolului variabilelor parte din variabilele utilizate rolul este
utilizate (*) 2p. corect menționat.
-date de intrare indicate corect 2p.
-date de ieșire indicate corect 2p.
MODEL
Filiera teoretică, profilul real, specializarea ştiinŃe ale naturii
a. cm=x+y; b. cm=y+z;
c. cm=x*y; d. cm=y*z;
Varianta 2
Filiera teoretică, profilul real, specializarea ştiinţe ale naturii
4. a) Pentru rezolvare corectă 10p. (*) Se acordă câte 2p. pentru fiecare
-citire date 1p. aspect al cerinței (număr prim, limită
-determinare numere cu proprietatea inferioară, limită superioară a intervalului).
cerută (*) 6p. (**) Se va puncta orice formă corectă de
-scriere principial corectă a structurilor structură repetitivă sau decizională.
de control (**) 2p.
-scriere rezultat conform cerinţei 1p.
b) Pentru răspuns corect 6p. (*) Se acordă numai 1p. dacă s-au
-menţionare a rolului variabilelor identificat doar o parte dintre variabilele
utilizate (*) 2p. utilizate sau dacă nu pentru toate variabilele
-date de intrare identificate corect 2p. este corect menționat rolul acestora.
-date de ieșire identificate corect 2p.
Varianta 6
Filiera teoretică, profilul real, specializarea ştiinţe ale naturii
4. a) Pentru rezolvare corectă 10p. (*) Se acordă câte 2p. pentru fiecare dintre
-citirea datelor 1p. cele trei proprietăţi ale numărului (divizor,
-determinarea unui număr conform număr prim, mimin).
cerinţei (*) 6p. (**) Se va puncta orice formă corectă de
-scrierea principial corectă a structură repetitivă sau decizională.
structurilor de control (**) 2p.
-scrierea rezultatului 1p.
b) Pentru răspuns corect 6p. (*) Se acordă numai 1p. dacă s-au
-menţionarea rolului variabilelor identificat doar o parte din variabilele
utilizate (*) 2p. utilizate sau dacă nu pentru toate variabilele
-date de intrare identificate corect 2p. este corect menționat rolul acestora.
-date de ieșire identificate corect 2p.
1. IndicaŃi care dintre expresiile C/C++ de mai jos are valoarea 1 dacă şi numai dacă numărul
memorat în variabila întreagă x NU aparŃine reuniunii de intervale [-3,-1]∪∪[1,3]. (4p.)
a. !(x>=-3 && x<=-1) || !(x>=1 && x<=3)
b. !(x>=-3 || x<=-1 || x>=1 || x<=3)
c. x<-3 || x>3 || x>-1 && x<1
d. x<-3 && x>3 && x>-1 || x<1
4. Se citesc două numere naturale nenule a şi S (a<S) şi se cere cea mai mare valoare
naturală k (0<a≤k) pentru care suma tuturor numerelor naturale din intervalul [a,k] este
mai mică sau egală cu S.
Exemplu: dacă a=2 şi S=7 atunci k=3 (2+3<7<2+3+4).
a) ScrieŃi, în pseudocod, algoritmul de rezolvare pentru problema enunŃată. (10p.)
b) MenŃionaŃi rolul tuturor variabilelor care au intervenit în prelucrarea realizată la punctul a)
şi indicaŃi datele de intrare, respectiv datele de ieşire ale problemei enunŃate. (6p.)
MODEL
Filiera teoretică, profilul real, specializarea ştiinŃe ale naturii
d. Pentru program corect 10p. (*) Se acordă numai 2p. dacă doar una dintre
-declararea corectă a tuturor structuri este corectă.
variabilelor 1p.
-citire corectă 1p.
-scriere corectă 1p.
-instrucŃiune de decizie corectă 2p.
-instrucŃiuni repetitive cu test iniŃial
corecte (*) 3p.
-atribuiri corecte 1p.
-corectitudinea globală a
programului1) 1p.
4. a. Pentru răspuns corect 4p. (*) Se acordă punctajul chiar dacă metoda
-coerenŃa explicării metodei (*) 2p. aleasă nu este eficientă.
-explicarea unor elemente de eficienŃă 2p.
b. Pentru program corect 6p. (*) Se acordă punctajul chiar dacă soluŃia
-operaŃii cu fişiere: declarare, propusă nu prezintă elemente de oficienŃă.
pregătire în vederea scrierii, scriere în (**) Punctajul se acordă numai pentru un
fişier 1p. algoritm în care se generează doar două
-respectarea cerinŃei privind numerele dintre cifrele aflate într-o jumătate a
de tip palindrom 1p. numărului, celelalte fiind deduse prin dublare
-respectarea cerinŃei privind numerele şi respectiv simetrie.
de tip dublu palindrom 2p. O soluŃie posibilă de generare este
-scrierea tuturor numerelor cerute în transpunerea în limbaj de programare a
ordinea indicată (*) 1p. secvenŃei pseudocod:
-utilizarea unui algoritm eficient (**) 1p. ┌pentru c1=1,9 execută
│┌pentru c2=0,9 execută
││scrie c1,c1,c2,c2,c1,c1
│└■
└■
1)
Corectitudinea globală vizează structura, sintaxa şi alte greşeli neprecizate în barem.
Varianta 3
Filiera teroretică, profilul real, specializarea ştiinţe ale naturii
Varianta 1
Filiera teoretică, profilul real, specializarea ştiinţe ale naturii
• Se punctează oricare alte modalităţi de rezolvare corectă a cerinţelor.
• Nu se acordă punctaje intermediare, altele decât cele precizate explicit prin barem.
Nu se acordă fracţiuni de punct.
• Se acordă 10 puncte din oficiu. Nota finală se calculează prin împărţirea punctajului
total acordat pentru lucrare la 10.
• Utilizarea unui tip de date care depăşeşte domeniul de valori precizat în enunţ este
acceptată dacă acest lucru nu afectează corectitudinea în funcţionarea programului.
• Se vor lua în considerare atât implementările concepute pentru compilatoare pe 16
biţi, cât şi cele pentru compilatoare pe 32 de biţi.
SUBIECTUL I (30 de puncte)
1. c 4p
2. a) Răspuns corect: 46402 6p
b) Răspuns corect: 1040, 1041, 1050, 4p Se acordă:
1051, 1140, 1141, 1150, 1151 - numai 1p pentru un răspuns parţial
corect care include doar una sau două
valori distincte corecte;
- numai 2p pentru un răspuns parţial
corect care include doar trei sau patru
valori distincte corecte;
- numai 3p pentru un răspuns parţial
corect care include doar cinci, şase sau
şapte valori distincte corecte.
c) Pentru algoritm pseudocod corect 6p (*) Se acordă numai 2p dacă algoritmul
-echivalenţa prelucrării realizate, conform are o structură repetitivă conform
cerinţei (*) 5p cerinţei, principial corectă, dar nu este
- corectitudinea globală a algoritmului1) 1p echivalent cu cel dat.
Se va puncta orice formă corectă de
structură repetitivă:
repetă...până când, repetă...cât
timp, execută...cât timp, cât
timp..execută, do...while etc.
d) Pentru program corect 10p (*) Se acordă numai 1p dacă doar o parte
-declarare corectă a tuturor variabilelor 1p dintre atribuiri este corectă.
-citire corectă 1p
-afişare corectă 1p
-instrucţiune de decizie corectă 2p
-instrucţiune repetitivă corectă 2p
-atribuiri corecte (*) 2p
-corectitudinea globală a programului1) 1p
Varianta 4
Filiera teoretică, profilul real, specializarea ştiinţe ale naturii
1. IndicaŃi care dintre expresiile C/C++ de mai jos are valoarea 1 dacă şi numai dacă numărul
memorat în variabila întreagă x aparŃine reuniunii de intervale [-3,-1]∪∪[1,3]. (4p.)
a. x>=-3 && x<=-1 && x>=1 && x<=3
b. !(x<-3 || x>-1) || !(x<1 || x>3)
c. x>=-3 || x<=-1 || x>=1 || x<=3
d. !(x<-3 && x>3 && x>-1 || x<1)
0 1 2 3 4 for(i=0;i<5;i++){
1 2 3 4 5 for(j=0;j<5;j++){
2 3 4 5 6 x=......;
3 4 5 6 7 cout<<x<<’ ’; | printf("%d ",x);
4 5 6 7 8 }
cout<<endl; | printf("\n");
}
Expresia 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,
este: (4p.)
a. i-j b. i+j c. i*j d. j-i
Varianta 9
Filiera teoretică, profilul real, specializarea ştiinŃe ale naturii
d. Pentru program corect 10p. (*) Se acordă numai 2p. dacă doar una dintre
-declarare corectă a tuturor variabilelor 1p. structuri este corectă.
-citire corectă 1p.
-scriere corectă 1p.
-instrucŃiune de decizie corectă 2p.
-instrucŃiuni repetitive cu test iniŃial
corecte (*) 3p.
-atribuiri corecte 1p.
-corectitudine globală a programului1) 1p.
4. a. Pentru răspuns corect 4p. (*) Se acordă punctajul chiar dacă metoda
-coerenŃa explicării metodei (*) 2p. aleasă nu este eficientă
-explicarea unor elemente de eficienŃă
din punct de vedere al timpului de
executare 2p.
b. Pentru program corect 6p. (*) Se acordă punctajul chiar dacă soluŃia
-operaŃii cu fişiere: declarare, propusă nu prezintă elemente de eficienŃă
pregătire în vederea scrierii, scriere în sau afişează numerele cifră cu cifră.
fişier 1p. (**) Se acordă numai 1p. dacă numerele nu
-respectarea cerinŃei privind primele sunt scrise în formatul cerut sau dacă fişierul
două cifre ale numărului 1p. conŃine, în plus, şi alte numere.
-respectarea cerinŃei privind ultimele (***) Punctajul se acordă numai pentru un
două cifre ale numărului 1p. algoritm în care una dintre primele două cifre
-afişarea tuturor numerelor cerute este determinată în funcŃie de cealaltă, şi
(*),(**) 2p. una dintre ultimele două cifre este
-utilizarea unui algoritm eficient (***) 1p. determinată în funcŃie de cealaltă.
O soluŃie posibilă de generare este
transpunerea în limbaj de programare a
secvenŃei pseudocod:
m1s1
┌dacă s1>9 atunci
│m19
└■
m2s2
┌dacă s2>9 atunci
│m29
└■
┌pentru c1=1,m1 execută
│ c2s1-c1
│┌pentru c3=0,m2 execută
││ c4s2-c3
││ scrie c1·103+c2·102+c3·10+c4
│└■
└■
1)
Corectitudinea globală vizează structura, sintaxa şi alte greşeli neprecizate în barem.
Varianta 3
Filiera teoretică, profilul real, specializarea ştiinŃe ale naturii
Varianta 10
• Toate subiectele (I, II şi III) sunt obligatorii. Se acordă 10 puncte din oficiu.
• Timpul efectiv de lucru este de 3 ore.
• În rezolvările cerute, identificatorii utilizaŃi 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ă).
• În programele cerute, datele de intrare se consideră corecte, validarea acestora nefiind necesară.
• Utilizarea unui tip de date care depăşeşte domeniul de valori precizat în enunŃ este acceptată
dacă acest lucru nu afectează corectitudinea în funcŃionarea programului.
• Se vor lua în considerare atât implementările concepute pentru compilatoare pe 16 biŃi, cât şi
cele pentru compilatoare pe 32 de biŃi.
SUBIECTUL I 30 de puncte
1. a 4p.
2. a) 44543 6p.
b) 420 820 920 (*) 4p. (*) Numerele pot fi scrise în orice ordine.
Se acordă câte 1p. pentru fiecare dintre primele
două numere menŃionate corect şi 2p. pentru al
treilea număr menŃionat corect.
c) Pentru algoritm pseudocod corect 6p.
- structură repetitivă corectă 2p.
- echivalenŃa prelucrării realizate 2p.
- algoritm complet 1p.
- corectitudine globală 1p.
d) Pentru program corect 10p.
-declararea corectă a tuturor variabilelor 2p.
-citire corectă 1p.
-scriere corectă 1p.
-structură repetitivă corectă 2p.
-structură de decizie corectă 2p.
-atribuiri corecte 1p.
1)
-corectitudinea globală a programului 1p.
Varianta 8
• Toate subiectele (I, II şi III) sunt obligatorii. Se acordă 10 puncte din oficiu.
• Timpul efectiv de lucru este de 3 ore.
• În rezolvările cerute, identificatorii utilizaŃi 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ă).
• În programele cerute, datele de intrare se consideră corecte, validarea acestora nefiind necesară.
• Utilizarea unui tip de date care depăşeşte domeniul de valori precizat în enunŃ este acceptată
dacă acest lucru nu afectează corectitudinea în funcŃionarea programului.
• Se vor lua în considerare atât implementările concepute pentru compilatoare pe 16 biŃi, cât şi
cele pentru compilatoare pe 32 de biŃi.
SUBIECTUL I 30 de puncte
1. a 4p.
2. a) 21 6p.
b) 10 4p.
c) Pentru program pseudocod corect 6p. (*) O soluŃie posibilă se obŃine prin înlocuirea
- echivalenŃa prelucrării realizate (*) (**) 4p. secvenŃei
- echivalenŃa celor doi algoritmi 1p. ┌pentru i 1,n execută
1)
- corectitudine globală a algoritmului 1p. │ ...
└■
cu secvenŃa:
┌pentru i 1,n execută
│ s s+i
└■
sau cu secvenŃa:
b0
┌pentru i 1,n execută
│ b b+1; s s+b
└■
Pentru soluŃia s [n*(n+1)/2] care determină
rezultatul corect, dar nu conŃine o structură
repetitivă, conform cerinŃei, se acordă numai 2p.
(**) Se acordă punctajul pentru utilizarea corectă
a oricărui tip de structură repetitivă.
d) Pentru program corect 10p. (*) Se acordă numai 1p. dacă se declară corect
-declararea corectă a tuturor variabilelor numai o parte dintre variabilele utilizate.
(*) 2p.
-citire corectă 1p.
-scriere corectă 1p.
-structuri repetitive corecte 2x2p.
-atribuiri corecte 1p.
1)
-corectitudinea globală a programului 1p.
♦ Toate subiectele (I, II şi III) sunt obligatorii. Se acordă 10 puncte din oficiu.
♦ Timpul efectiv de lucru este de 3 ore.
♦ În rezolvările cerute, identificatorii utilizaţi 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ă).
2. a) 23949 6 p.
b) 1008, 1009 * 4 p. (*) Pentru fiecare număr corect se acordă 2p
c) Pentru program pseudocod corect 6 p. (*) Se va puncta orice formă corectă de
- structură repetitivă corectă * 2 p. structură repetitivă de alt tip (de exemplu
- echivalenţa prelucrării realizate 2 p. execută…cât timp, repetă…până când etc.)
- algoritm complet 1 p.
- corectitudine globală 1 p.
d) Pentru program corect 10 p. Elevii nu vor fi depunctaţi pentru modul de
-declararea corectă a tuturor aliniere al instrucţiunilor.
variabilelor 2 p.
-citire şi scriere corecte 2 p.
-structură repetitivă cu test iniţial
corectă 2 p.
-structură de decizie corectă 2 p.
-atribuiri corecte 1 p.
-corectitudinea globală a
programului1) 1 p.
SUBIECTUL al II-lea (30 de puncte)
1) b 4 p. Pentru orice alt răspuns (chiar dacă acesta
include şi litera corectă) se acordă 0
puncte.
2) c 4 p. Pentru orice alt răspuns (chiar dacă acesta
include şi litera corectă) se acordă 0
puncte.
3) Pentru răspuns corect 6 p. O soluţie posibilă poate fi transcrierea în
- pentru instrucţiune corectă de scriere 3 p. limbaj de programare a comenzii
-pentru utilizarea variabilei corecte 3 p. scrie a
2. Despre un site web se memorează în variabila întreagă nrAccesari numărul de accesări ale acestuia,
iar în variabila întreagă nrAprecieri numărul de aprecieri pe care le-a primit. Scrieți o secvență de
instrucțiuni în urma executării căreia să se afișeze pe ecran mesajul Peste 50%!, dacă dublul numărului
de aprecieri depășește numărul celor care au accesat site-ul, mesajul Jumatate! dacă dublul numărului
de aprecieri este egal cu numărul celor care au accesat site-ul sau mesajul Sub 50%! altfel. (6p.)
3. Variabila i este de tip întreg, iar celelalte variabile c1='E'; c2='L'; c3='T';
sunt de tip char. Scrieți ce se afișează în urma cout<<c1<<c2; | printf("%c%c",c1,c2);
executării secvenței alăturate. (6p.) for(i=2; i<=5; i++)
{ if(i%2==0) c=c1;
else c=c2+i/2;
cout<<c; | printf("%c",c);
}
cout<<c3;
2. Scrieți un program C/C++ care citește de la tastatură numere naturale, în această ordine: n
[2,20]), apoi n numere din intervalul [0,102], elemente ale unui tablou unidimensional, iar la final
(n
valoarea k (k [2,n]); programul transformă tabloul în memorie, prin deplasarea circulară spre
dreapta, cu câte o poziție, a primelor k valori aflate în tablou, ca în exemplu. Elementele tabloului
obținut sunt afișate pe ecran, separate prin câte un spațiu.
Exemplu: pentru n=7, k=4 și tabloul (3,0,6,4,0,0,8) se obține tabloul (4,3,0,6,0,0,8). (10p.)
3. La proiectarea unui site web se utilizează elemente grafice realizate pe baza unor modele. Fiecare
model este de formă pătrată și oricare două modele distincte au dimensiuni diferite ale laturilor. Toate
elementele grafice realizate pe baza unui anumit model au aceeași formă și aceleași dimensiuni ca ale
acestuia. În vederea asigurării elementelor grafice necesare, pentru fiecare model dintre cele utilizate se
plătește o taxă unică de proiectare, de 10 lei.
Fișierul bac.in conține un șir de cel mult 106 numere naturale din intervalul [1,10], separate prin
câte un spațiu, reprezentând dimensiunile laturilor tuturor elementelor grafice utilizate, date în
centimetri; fiecare termen al șirului corespunde unui element grafic distinct. Se cere să se afișeze pe
ecran suma totală plătită pentru asigurarea elementelor grafice necesare. Proiectați un algoritm eficient
din punctul de vedere al timpului de executare.
Exemplu: dacă fișierul conține numerele 1 7 2 1 1 2 1 7 2
se afișează pe ecran valoarea 30
(10 lei pentru modelul de latură 1 cm, 10 lei pentru modelul de latură 2 cm, respectiv 10 lei pentru modelul
de latură 7 cm).
a. Descrieți în limbaj natural algoritmul proiectat, justificând eficiența acestuia. (2p.)
b. Scrieți programul C/C++ corespunzător algoritmului proiectat. (8p.)
a. (x+y/5+x-y/2)/x+2 b. (x+y)/5+(x-y)/2/(x+2)
c. ((x+y)/5+(x-y)/2)/x+2 d. ((x+y)/5+(x-y)/2)/(x+2)
2. Termenii fiecăruia dintre șirurile de numere S1, S2 și S3 sunt scriși S1: 2, 22, 25, 23, 24;
alăturat, în ordinea apariției lor în șir. Indicați șirul/șirurile cărora li se S2: 1, 8, 9, 6;
poate aplica algoritmul de căutare binară direct, fără alte prelucrări S3: 9, 5, 4, 1.
prealabile.
a. doar S1 b. doar S3 c. doar S1 și S2 d. doar S2 și S3
3. În secvenţa de mai jos toate variabilele sunt de tip întreg, iar de la tastatură se citesc 10 numere
naturale nenule.
Indicați o instrucțiune care poate înlocui punctele de suspensie m=0;
astfel încât, în urma executării secvenţei obţinute, valoarea for(i=1;i<=10;i++)
variabilei m să fie ultimul dintre numerele mai mari sau egale cu { cin>>x; | scanf("%d",&x);
2021 citite, sau 0 dacă nu există niciun astfel de număr. ...........
}
a. if(x>=2021) m=x; b. if(x>=2021) x=m;
c. if(x>=2021) m=x; d. if(x<2021) x=0;
else m=0; else x=m;
4. Variabila x este de tip real. Indicați o expresie C/C++ care are valoarea 1 pentru orice număr memorat
în variabila x.
a. ceil(x)-1==ceil(x)+1 b. ceil(x)-1==ceil(x+1)
c. ceil(x)+1==ceil(x-1) d. ceil(x)+1==ceil(x+1)
5. În secvența alăturată toate variabilele sunt întregi, iar variabila n s=0; i=1;
memorează un număr natural nenul. Indicați o expresie care poate while(i*i<n)
înlocui punctele de suspensie astfel încât, în urma executării { if(n%i==0)s=s+.....;
secvenței obținute, variabila s să memoreze suma tuturor divizorilor i=i+1;
naturali ai numărului memorat în variabila n. }
if(i*i==n) s=s+i;
a. i b. n/i c. i+n/i d. 2*i