Înapoi la fișa subiectului

Textul subiectului și baremului

Subiect BAC Informatică Mate-Info C/C++ 2012 – varianta 4

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, Cercetării, Tineretului şi Sportului
Centrul Naţional de Evaluare şi Examinare
Probă scrisă la Informatică Varianta 4
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 2012
Proba E. d)
Proba scrisă la INFORMATICĂ
Limbajul C/C++
Varianta 4
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 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ă.
SUBIECTUL I (30 de puncte)
Pentru itemul 1, scrieţi pe foaia de examen litera corespunzătoare răspunsului corect.
1. Variabila x este de tip întreg şi memorează un număr natural.
Expresia alăturată are valoarea 0 dacă şi numai dacă expresia
x%5 are valoarea: (4p.)
((x%5+1)%5+1)%5
a. 1 b. 2 c. 3 d. 4
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.
a) Scrieţi valoarea afişată dacă se citesc, în
această ordine, numerele 7, 5. (6p.)
b) Scrieţi două seturi de date de intrare,
formate din numere naturale cu cel mult
două cifre fiecare, astfel încât în urma
executării algoritmului, pentru fiecare dintre
acestea, să se afişeze valoarea 28. (4p.)
citeşte n,p (numere naturale nenule)
s←←←←0
┌pentru i←←←←1,n execută
│ j←←←←i
│┌cât timp j%p≠0 execută
││ j←←←←j-1
│└■
│ s←←←←s+j
└■
scrie s
c) Scrieţi în pseudocod un algoritm, echivalent cu cel dat, în care să se înlocuiască structura
pentru...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, Cercetării, Tineretului şi Sportului
Centrul Naţional de Evaluare şi Examinare
Probă scrisă la Informatică Varianta 4
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. Într-un arbore cu rădăcină considerăm că un nod se află pe nivelul x dacă lanţul elementar
care are o extremitate în nodul respectiv şi cealaltă extremitate în rădăcina arborelui are
lungimea x. Pe nivelul 0 se află un singur nod (rădăcina).
Se consideră arborele cu 7 noduri, numerotate de la 1 la 7, reprezentat prin vectorul de
„taţi” (0,1,1,3,4,2,3). Mulţimea tuturor nodurilor aflate pe nivelul 2 este: (4p.)
a. {1, 2, 6} b. {2, 3} c. {4, 7} d. {4, 6, 7}
2. Se consideră graful neorientat cu şase noduri, reprezentat
alăturat.
Numărul minim de muchii ce trebuie adăugate, astfel încât în
graful obţinut fiecare nod să aparţină unui ciclu, este: (4p.)
a. 1 b. 2 c. 4 d. 5
Scrieţi pe foaia de examen răspunsul pentru fiecare dintre cerinţele următoare.
3. Se consideră declararea alăturată, în care variabilele t1 şi t2
memorează lungimile laturilor a două triunghiuri.
Scrieţi o expresie C/C++ care are valoarea 1 dacă şi numai dacă
triunghiul corespunzător variabilei t1 are perimetrul strict mai
mare decât perimetrul triunghiului corespunzător variabilei t2.
(6p.)
struct triunghi {
int a,b,c;
} t1, t2;
4. Se consideră două şiruri de caractere a, de lungime na şi b, de lungime nb.
Şirul a este numit sufix al şirului b dacă na≤nb şi subşirul lui b determinat de ultimele sale
na caractere coincide cu a.
În secvenţa de instrucţiuni de mai jos variabila i este de tip întreg, iar variabila s
memorează un şir cu cel mult 20 de caractere.
Fără a utiliza alte variabile, scrieţi una sau mai multe instrucţiuni care pot înlocui punctele
de suspensie astfel încât, în urma executării secvenţei obţinute, să se afişeze pe ecran, în
ordinea descrescătoare a lungimii, separate prin câte un spaţiu, toate sufixele şirului
memorat în variabila s, ca în exemplu.
Exemplu: pentru şirul elevi se afişează: elevi levi evi vi i
for(i=0;i<strlen(s);i++)
.................. (6p.)
Scrieţi un program C/C++ care citeşte de la tastatură un număr natural n (2<n≤15) şi
construieşte în memorie un tablou bidimensional cu n linii şi n coloane în care:
- toate elementele din prima coloană au valoarea 1;
- ultima linie conţine, în ordine strict crescătoare, numerele naturale din intervalul [1, n];
- oricare alt element este obţinut prin însumarea celor două elemente vecine cu el, aflate
pe linia imediat următoare şi pe aceeaşi coloană cu el, respectiv pe aceeaşi linie cu el şi pe
coloana anterioară, ca în exemplu.
5.
Programul afişează pe ecran tabloul obţinut, fiecare linie a tabloului
pe câte o linie a ecranului, elementele fiecărei linii fiind separate prin
câte un spaţiu.
Exemplu: pentru n=4 pe ecran se afişează tabloul alăturat. (10p.)
1 5 15 35
1 4 10 20
1 3 6 10
1 2 3 4

Subiectul · pagina 3

Ministerul Educaţiei, Cercetării, Tineretului şi Sportului
Centrul Naţional de Evaluare şi Examinare
Probă scrisă la Informatică Varianta 4
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ă, în ordine lexicografică, toate şirurile de
maximum 4 litere distincte din mulţimea {a, v, i, o, n}. Primele 5 şiruri generate sunt, în
această ordine: a, ai, ain, aino, ainv. Imediat după şirul avn se generează: (4p.)
a. avi b. avni c. avo d. iano
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(3,4) şi f(2,20).
(6p.)
int f(int x,int y)
{ if(x*2>y)
return x;
return f(x*2,y);
}
3. Se consideră subprogramul zero, cu doi parametri:
• n, prin care primeşte o valoare naturală 2<n<50;
• v, prin care primeşte un tablou unidimensional cu 2•n elemente, numere naturale cu cel
mult 4 cifre. Numărul de elemente pare este egal cu numărul de elemente impare.
Elementele au indici de la 1 la 2•n.
Subprogramul modifică tabloul astfel încât elementele impare să aibă indici impari, iar
elementele pare să aibă indici pari. Tabloul modificat este furnizat tot prin parametrul v.
Scrieţi definiţia completă a subprogramului.
Exemplu: dacă n=5 şi v=(4, 5, 0, 9, 10, 7, 15, 3, 8, 10),
atunci după apel o soluţie posibilă este: v=(5, 4, 9, 0, 15, 10, 7, 8, 3, 10). (10p.)
4. Fişierul bac.txt conţine pe prima linie un număr natural par n cu cel mult 3 cifre, iar pe
următoarea linie un şir de n numere naturale cu cel mult nouă cifre. Numerele din şir sunt
separate prin câte un spaţiu.
Se cere să se afişeze pe ecran mesajul Da dacă în şir există un element care să fie strict
mai mare decât jumătate dintre numerele din şir.
Dacă în şir nu se află o astfel de valoare, pe ecran se afişează mesajul Nu.
Pentru determinarea numărului cerut se utilizează un algoritm eficient din punctul de
vedere al memoriei şi al timpului de executare.
Exemplu: dacă fişierul bac.txt are conţinutul
6
8 34 34 34 5 34
atunci pe ecran se afişează Nu, iar dacă fişierul are conţinutul
8
1 5 6 12 3 12 12 9
atunci pe ecran se afişează Da.
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, Cercetării, Tineretului şi Sportului
Centrul Naţional de Evaluare şi Examinare
Probă scrisă la Informatică Varianta 4
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 2012
Proba E. d)
Proba scrisă la INFORMATICĂ
BAREM DE EVALUARE ŞI DE NOTARE
(comun pentru limbajele C/C++ şi Pascal)
Varianta 4
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. c 4p.
2. a) Răspuns corect: 15 6p.
b) Pentru răspuns corect 4p. Se acordă câte 2p. pentru fiecare dintre
cele două seturi de date de intrare corecte.
Seturile de date de intrare corecte pot fi:
n=7,p=1
n=10,p=7
n=15,p=14
n=28,p=28
c) Pentru algoritm pseudocod corect
-echivalenţa prelucrării realizate,
conform cerinţei (*)
- corectitudinea globală a algoritmului1)
6p.
5p.
1p.
(*) Se acordă numai 2p. dacă structura
pentru ... execută a fost înlocuită cu
o structură de tipul indicat, dar prelucrarea
realizată nu este echivalentă cu cea dată.
Se va puncta orice formă de structură
repetitivă corectă, de exemplu:
repetă...până când, repetă...cât
timp, execută...cât timp,
do...while etc.
d) Pentru program corect
-declarare corectă a tuturor variabilelor
(*)
-citire corectă
-afişare corectă
-instrucţiuni repetitive corecte
-atribuiri corecte
-corectitudinea globală a programului1)
10p.
2p.
1p.
1p.
2x2p.
1p.
1p.
(*) Se acordă numai 1p. dacă doar o parte
dintre variabile este declarată corect.

Baremul · pagina 2

Ministerul Educaţiei, Cercetării, Tineretului şi Sportului
Centrul Naţional de Evaluare şi Examinare
Probă scrisă la Informatică Varianta 4
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
SUBIECTUL al II - lea (30 de puncte)
1. d 4p.
2. b 4p.
3. Pentru rezolvare corectă
-accesul corect la câmpurile înregistrării
-expresie principial corectă conform
cerinţei
6p.
3p.
3p.
4. Pentru rezolvare corectă
-determinarea unui sufix (*)
-afişarea subşirurilor conform cerinţei
6p.
4p.
2p.
(*) Dacă se obţine un subşir, dar care nu
este sufix, se acordă numai 2p.
5. Pentru program corect
-declararea corectă a tuturor variabilelor
(tablou + variabile simple)
-accesarea corectă a unui element al
tabloului
-completarea ultimei linii conform cerinţei
-completarea primei coloane conform
cerinţei
-completarea celorlalte elemente ale
tabloului conform cerinţei
-afişarea tabloului conform cerinţei
-citirea datelor, corectitudinea globală a
programului1)
10p.
1p.+1p.
1p.
1p.
1p.
2p.
2p.
1p.
SUBIECTUL al III - lea (30 de puncte)
1. b 4p.
2. Pentru răspuns corect 6p. Se acordă câte 3p. pentru fiecare valoare
conform cerinţei: f(3,4)=3; f(2,20)=16
3. Pentru subprogram corect
-structură antet principial corectă (*)
-declararea corectă a parametrilor (de
tip simplu + tablou)
-declararea tuturor variabilelor locale
-plasarea pe poziţii impare a valorilor
impare (**)
-plasarea pe poziţii pare a valorilor pare
(**)
-corectitudinea globală a
subprogramului1)
10p.
2p.
1p.+1p.
1p.
2p.
2p.
1p.
(*) Se acordă numai 1p. dacă tipul
subprogramului nu este conform cerinţei.
(**) Se acordă numai 1p. dacă algoritmul
este principial corect, dar nu toate valorile
sunt pe poziţii conform cerinţei.
a) Pentru răspuns corect
-coerenţa explicării metodei (*)
-explicarea unor elemente de eficienţă
4p.
2p.
2p.
(*) Se acordă punctajul chiar dacă metoda
aleasă nu este eficientă.
4.
b) Pentru program corect
-operaţii cu fişiere: declarare, pregătire
în vederea citirii, citire din fişier
-determinarea existenţei numărului
cerut (*)
-afişarea mesajului conform cerinţei
-utilizarea unui algoritm eficient (**)
6p.
1p.
3p.
1p.
1p.
(*) Se acordă punctajul chiar dacă soluţia
propusă nu prezintă elemente de eficienţă.
(**) 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
determinând atât cea mai mare valoare din
şir, cât şi numărul apariţiilor acesteia în şir.
Se afişează DA dacă numărul apariţiilor
este mai mic sau egal cu n/2.
1) Corectitudinea globală vizează structura, sintaxa, alte greşeli neprecizate în barem.