Înapoi la fișa subiectului

Textul subiectului și baremului

Subiect BAC Informatică Mate-Info C/C++ 2014 – varianta 2

Acesta este textul selectabil extras automat din documentele PDF ale acestei variante. Pentru formule, tabele, pseudocod sau grafice, verifică pagina originală din PDF înainte de a rezolva exercițiile.

Subiectul

Deschide PDF-ul original

Subiectul · pagina 1

Ministerul Educaţiei Naționale
Centrul Naţional de Evaluare şi Examinare
Probă scrisă la informatică Varianta 2
Limbajul C/C++
Filiera teoretică, profilul real, specializările: matematică-informatică, matematică-informatică intensiv informatică
Filiera vocaţională, profilul militar, specializarea matematică-informatică
1
Examenul de bacalaureat naţional 2014
Proba E. d)
Informatică
Limbajul C/C++
Varianta 2
Filiera teoretică, profilul real, specializările: matematică-informatică
matematică-informatică intensiv informatică
Filiera vocaţională, profilul militar, specializarea matematică-informatică
• Toate subiectele sunt obligatorii. Se acordă 10 puncte din oficiu.
• Timpul de lucru efectiv 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ă.
SUBIECTUL I (30 de puncte)
Pentru itemul 1, scrieţi pe foaia de examen litera corespunzătoare răspunsului corect.
1. Variabilele x, y și z sunt de tip întreg și memorează câte un număr
natural nenul. Dacă expresia C/C++ alăturată are valoarea 1,
indicați șirul crescător format cu valorile acestor variabile, în ordinea
precizată mai jos. (4p.)
!(z<=y) && y>x
a. x, y, z b. y, z, x c. z, x, y d. z, y, x
2. Se consideră algoritmul alăturat, reprezentat în
pseudocod.
S-a notat cu x%y restul împărţirii numărului natural x
la numărul natural nenul y şi cu [z] partea întreagă a
numărului real z.
citeşte n
(număr natural nenul)
mn
p1
┌cât timp n≥p*10 execută
│ c1[n/p]%10
│ c2[n/(p*10)]%10
│┌dacă c1>c2 atunci
││ nn-(c1-c2)*p
││ pp*10
││ nn+(c1-c2)*p
││altfel
││ pp*10
│└■
└■
┌dacă n=m atunci
│ scrie 0
│altfel
│ scrie n
└■
a) Scrieţi numărul afişat dacă se citeşte valoarea
162453. (6p.)
b) Scrieţi două numere de patru cifre distincte care
pot fi citite astfel încât, în urma executării
algoritmului, pentru fiecare dintre acestea, să se
afișeze valoarea 0. (4p.)
c) Scrieţi în pseudocod un algoritm, echivalent cu
cel dat, în care să se înlocuiască structura cât
timp...execută cu o structură repetitivă cu
test final. (6p.)
d) Scrieţi programul C/C++ corespunzător
algoritmului dat. (10p.)

Subiectul · pagina 2

Ministerul Educaţiei Naționale
Centrul Naţional de Evaluare şi Examinare
Probă scrisă la informatică Varianta 2
Limbajul C/C++
Filiera teoretică, profilul real, specializările: matematică-informatică, matematică-informatică intensiv informatică
Filiera vocaţională, profilul militar, specializarea matematică-informatică
2
SUBIECTUL al II-lea (30 de puncte)
Pentru fiecare dintre itemii 1 şi 2 scrieţi pe foaia de examen litera corespunzătoare
răspunsului corect.
1. Pentru a putea memora un tablou bidimensional cu maximum 21 de elemente, numere
reale, variabila A se poate declara astfel: (4p.)
a. A[3..7] int; b. A[3][7] float;
c. int A[3;7]; d. float A[3][7];
2. Se consideră un graf neorientat conex şi fără cicluri, în care gradul oricărui nod este mai mic
sau egal cu 4. Dacă șase dintre nodurile sale au gradul egal cu 1, atunci numărul maxim de
noduri cu gradul egal cu 4 este: (4p.)
a. 0 b. 1 c. 2 d. 3
Scrieţi pe foaia de examen răspunsul pentru fiecare dintre cerinţele următoare.
3. Scrieți matricea de adiacență prin care poate fi
reprezentat graful orientat cu 5 vârfuri, numerotate de la
1 la 5, ilustrat în figura alăturată.
(6p.)
4. Se consideră următoarea operație prin care se transformă un arbore cu rădăcină: se
elimină din arbore nodul „frunză” numerotat cu valoarea minimă, marcându-se nodul „tată”
al acestuia. Scrieți vectorul de „tați” al unui arbore cu 6 noduri, numerotate de la 1 la 6, în
care nodul 1 este rădăcină, știind că dacă asupra acestui arbore se efectuează de patru ori
succesiv operația de transformare menționată mai sus, se marchează, în această ordine,
nodurile 5, 1, 1, 1. (6p.)
5. Se consideră un text cu cel mult 100 de caractere, în care cuvintele sunt formate numai din
litere mici ale alfabetului englez și sunt separate prin câte un spațiu.
Scrieţi un program C/C++ care citeşte de la tastatură un text de tipul menţionat mai sus şi
determină transformarea acestuia în memorie, astfel încât din fiecare cuvânt format dintr-un
număr impar de litere (cel puțin trei) să se elimine litera aflată pe poziția din mijloc, ca în
exemplu. Programul afişează pe ecran textul obţinut, iar dacă nu există niciun cuvânt
modificat, afișează pe ecran mesajul nu exista.
Exemplu: pentru textul
pictura prin aceea arata o pace profunda
se afişează
picura prin acea arta o pace profunda (10p)

Subiectul · pagina 3

Ministerul Educaţiei Naționale
Centrul Naţional de Evaluare şi Examinare
Probă scrisă la informatică Varianta 2
Limbajul C/C++
Filiera teoretică, profilul real, specializările: matematică-informatică, matematică-informatică intensiv informatică
Filiera vocaţională, profilul militar, specializarea matematică-informatică
3
SUBIECTUL al III-lea (30 de puncte)
Pentru itemul 1, scrieţi pe foaia de examen litera corespunzătoare răspunsului corect.
1. Utilizând metoda backtracking, se generează toate posibilitățile de a obține suma 4 cu
numere naturale nenule. Două sume sunt distincte dacă diferă prin cel puțin un termen.
Soluţiile generate sunt, în această ordine, 1+1+1+1, 1+1+2, 1+3, 2+2.
Aplicând același algoritm pentru a genera toate posibilitățile de a obține suma 6, dacă
prima soluție generată este 1+1+1+1+1+1, atunci soluția 1+2+3 este generată: (4p.)
a. a 6-a b. a 7-a c. a 8-a d. a 9-a
Scrieţi pe foaia de examen răspunsul pentru fiecare dintre cerinţele următoare.
2. Se consideră subprogramul f, definit
alăturat. Scrieţi valorile f(5,5) şi
f(10,21). (6p.)
int f(int a, int b)
{ if (a==b) return 0;
if (b/a==0) return a+b;
return f(a+2,b-3);
}
3. Un număr natural nenul se numește perfect dacă este egal cu suma divizorilor săi naturali
strict mai mici decât el.
Exemplu: 28 este număr perfect pentru că 28=1+2+4+7+14.
Se consideră subprogramul perfect, cu doi parametri, a și b, prin care primeşte câte un
număr natural (2≤a<b≤109). Subprogramul afișează pe ecran, separate prin câte un
spațiu, în ordine descrescătoare, toate numerele perfecte din intervalul [a,b]. Dacă în
interval nu există astfel de numere, subprogramul afișează pe ecran mesajul nu exista.
Scrieţi definiţia completă a subprogramului.
Exemplu: pentru a=5 și b=30, se afișează pe ecran: 28 6 (10p.)
4. Numim secvență uniformă a unui șir de numere naturale un subșir al acestuia, format din
termeni cu aceeași valoare, aflați pe poziții consecutive în șirul dat. Lungimea secvenței
este egală cu numărul de termeni ai acesteia.
Fișierul bac.txt conține un șir de cel puțin două și cel mult 1000000000 de numere
naturale din intervalul [0, 109]. Numerele sunt separate prin câte un spațiu, iar în șir există
cel puțin doi termeni egali pe poziții consecutive.
Se cere să se determine o secvență uniformă de lungime maximă în șirul aflat în fișier și
să se afișeze pe ecran lungimea acestei secvențe și, pe o linie nouă, separați prin câte un
spațiu, termenii acesteia. Dacă sunt mai multe astfel de secvențe, se afișează doar
termenii ultimei dintre acestea. Pentru determinarea numerelor cerute se utilizează un
algoritm eficient din punctul de vedere al memoriei necesare și al timpului de executare.
Exemplu: dacă fişierul bac.txt conţine numerele
2 3 3 3 3 5 4 4 11 11 11 11 16 11 11 11 11 15 15
atunci pe ecran se afișează valorile
4
11 11 11 11
a) Descrieţi în limbaj natural algoritmul utilizat, justificând eficienţa acestuia. (4p.)
b) Scrieţi programul C/C++ corespunzător algoritmului descris. (6p.)

Baremul

Deschide PDF-ul original

Baremul · pagina 1

Ministerul Educaţiei Naționale
Centrul Naţional de Evaluare şi Examinare
Probă scrisă la informatică Varianta 2
Filiera teoretică, profilul real, specializările: matematică-informatică, matematică-informatică intensiv informatică
Filiera vocaţională, profilul militar, specializarea matematică-informatică
Barem de evaluare şi de notare
1
Examenul de bacalaureat naţional 2014
Proba E. d)
Informatică
Barem de evaluare și de notare
(comun pentru limbajele C/C++ şi Pascal)
Varianta 2
Filiera teoretică, profilul real, specializările: matematică-informatică
matematică-informatică intensiv informatică
Filiera vocaţională, profilul militar, specializarea matematică-informatică
• 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. a 4p.
2. a) Răspuns corect: 615243 6p.
b) Pentru răspuns corect 4p. Se acordă câte 2p. pentru fiecare număr cu
patru cifre distincte, ordonate strict
descrescător.
c) Pentru algoritm pseudocod corect
-echivalenţă a prelucrării realizate,
conform cerinţei (*)
-corectitudine globală a algoritmului1)
6p.
5p.
1p.
(*) Se acordă numai 2p. dacă algoritmul are
o structură repetitivă conform cerinţei,
principial corectă, dar nu este echivalent cu
cel dat.
Se va puncta orice formă corectă de
structură repetitivă conform cerinței.
d) Pentru program corect
-declarare a tuturor variabilelor
-citire date
-afişare date
-instrucţiuni de decizie corecte (*)
-instrucţiune repetitivă corectă
-atribuiri corecte
-corectitudine globală a programului1)
10p.
1p.
1p.
1p.
3p.
2p.
1p.
1p.
(*) Se acordă numai 2p. dacă doar una dintre
instrucțiunile de decizie este corectă.
SUBIECTUL al II - lea (30 de puncte)
1. d 4p.
2. c 4p.
3. Pentru rezolvare corectă 6p. Se acordă numai 3p. dacă s-a scris o matrice
de adiacenţă a unui graf cu 5 vârfuri, dar care
nu corespunde grafului indicat.
4. Răspuns corect: (0,5,1,1,1,1) 6p. Se acordă câte 1p. pentru fiecare element
corect al vectorului.

Baremul · pagina 2

Ministerul Educaţiei Naționale
Centrul Naţional de Evaluare şi Examinare
Probă scrisă la informatică Varianta 2
Filiera teoretică, profilul real, specializările: matematică-informatică, matematică-informatică intensiv informatică
Filiera vocaţională, profilul militar, specializarea matematică-informatică
Barem de evaluare şi de notare
2
5. Pentru program corect
-declarare corectă a unei variabile care să
memoreze un șir de caractere
-citire a şirului
-transformare a șirului conform cerinței (*)
-afişare date şi tratare caz nu exista
-declarare variabile simple, corectitudine
globală a programului1)
10p.
1p.
1p.
6p.
1p.
1p.
(*) Se acordă câte 1p. pentru fiecare aspect
al cerinței (determinare a numărului de litere
ale unui cuvânt, transformare cuvinte de
lungime impară, transformare cuvinte cu cel
puţin 3 litere, eliminare a literei din mijloc a
unui cuvânt, toate literele suport eliminate,
transformare în memorie).
SUBIECTUL al III - lea (30 de puncte)
1. a 4p.
2. Pentru răspuns corect 6p. Se acordă câte 3p. pentru fiecare valoare
conform cerinței.
f(5,5)=0 şi f(10,21)=28
3. Pentru subprogram corect
-structură antet principial corectă a
unui subprogram de tipul cerut
-declarare corectă a parametrilor
-determinare a numerelor cu
proprietatea cerută (*)
-afișare a datelor în ordinea cerută (**)
-tratare caz nu exista
-declarare a tuturor variabilelor
locale, corectitudine globală a
subprogramului1)
10p.
1p.
1p.
4p.
2p.
1p.
1p.
(*) Se acordă câte 1p. pentru fiecare aspect
al cerinței (identificarea unui divizor,
algoritm de determinare a sumei unor
divizori, identificarea unui număr perfect,
identificarea tuturor numerelor perfecte din
intervalul cerut).
(**) Se acordă numai 1p. dacă datele sunt
afișate în ordine strict crescătoare.
4. a) Pentru răspuns corect
-coerenţă a explicării metodei (*)
-explicare a unor elemente de
eficienţă
4p.
2p.
2x1p.
(*) Se acordă punctajul chiar dacă metoda
aleasă nu este eficientă.
b) Pentru program corect
-operaţii cu fişiere: declarare,
pregătire în vederea citirii, citire din
fişier
-determinare a valorilor cerute (*, **)
-utilizare a unui algoritm eficient (***)
-afișare a tuturor datelor, declarare a
tuturor variabilelor, corectitudine
globală a programului1)
6p.
1p.
3p.
1p.
1p.
(*) Se acordă punctajul chiar dacă soluţia
propusă nu prezintă elemente de eficienţă.
(**) Se acordă câte 1p. pentru fiecare dintre
aspectele cerinței (determinarea lungimii
unei secvențe uniforme, determinarea
lungimii maxime a unei secvențe uniforme,
determinarea valorii corespunzătoare
termenilor ultimei secvențe uniforme de
lungime maximă).
(***) Se acordă punctajul numai pentru un
algoritm liniar (de complexitate O(n)) care
utilizează eficient memoria.
O soluţie posibilă parcurge datele din fișier
și memorează în variabilele x și y ultimii doi
termeni citiți; dacă x=y, incrementează
lungimea secvenței curente și actualizează
lungimea maximă cerută, precum şi
valoarea corespunzătoare termenilor
acesteia, iar dacă x≠y, inițializează
lungimea secvenței curente și a valorii
termenilor acesteia.
1) Corectitudinea globală vizează structura, sintaxa, alte aspecte neprecizate în barem.