Înapoi la fișa subiectului

Textul subiectului și baremului

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

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 1
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 1
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. Indicaţi expresia care are valoarea 1 dacă şi numai dacă numărul memorat în variabila
întreagă x aparţine mulţimii {1,2,3}. (4p.)
a. x==1 && x==2 && x==3 b. !( x<=1 && x>=3 )
c. x==1 || x==2 || x==3 d. !( x<=1 || x>=3 )
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.
a) Scrieţi numărul afişat dacă pentru variabila
n se citeşte valoarea 56413. (6p.)
b) Scrieţi toate numerele naturale, fiecare
având exact patru cifre, care pot fi citite
pentru variabila n astfel încât, în urma
executării algoritmului, pentru fiecare dintre
acestea să se afişeze valoarea 40. (4p.)
citeşte n (număr natural)
m←←←←0
p←←←←1
┌cât timp n>0 execută
│┌dacă n%2≠0 atunci
││ n←←←←n-1
│└■
│ m←←←←m+(n%10)*p
│ n←←←←[n/10]
│ p←←←←p*10
└■
scrie m
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ă de alt tip. (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 1
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. Se consideră graful orientat cu 7 vârfuri, numerotate de la 1 la 7, şi arcele (1,2), (2,3),
(3,4), (4,1), (5,4), (7,5), (5,6). Numărul de vârfuri ale grafului care au gradul
extern egal cu gradul intern este: (4p.)
a. 2 b. 3 c. 4 d. 5
2. Se consideră graful neorientat cu cinci noduri, reprezentat
alăturat. Numărul minim de muchii ce trebuie adăugate astfel
încât, în graful obţinut, între oricare două noduri distincte să
existe cel puţin un lanţ elementar de lungime 2, este: (4p.)
a. 1 b. 2 c. 3 d. 4
Scrieţi pe foaia de examen răspunsul pentru fiecare dintre cerinţele următoare.
3. Se consideră declarările alăturate, în care variabila s
memorează coordonatele, în sistemul de coordonate xOy, ale
extremităţilor unui segment.
Scrieţi o instrucţiune care afişează pe ecran pătratul lungimii
segmentului corespunzător variabilei s. (6p.)
struct punct {
float x,y;
};
struct segment {
punct A,B;
}s;
4. În secvenţa de instrucţiuni de mai jos variabilele i şi j sunt de tip întreg, iar variabila A
memorează un tablou bidimensional cu 5 linii şi 5 coloane, numerotate de la 1 la 5.
Elementele tabloului sunt numere întregi.
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, tabloul memorat în
variabila A să aibă elementele din figura de mai jos.
for(i=1;i<=5;i++)
for(j=1;j<=5;j++)
..................
(6p.)
2 3 4 0 1
3 4 0 1 2
4 0 1 2 3
0 1 2 3 4
1 2 3 4 0
5. Se consideră două şiruri de caractere a, de lungime na şi b, de lungime nb.
Şirul a este numit prefix al şirului b dacă na≤nb şi subşirul lui b determinat de primele
sale na caractere coincide cu a. Ş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.
Scrieţi un program C/C++ care citeşte de la tastatură două cuvinte, fiecare fiind format din
cel mult 30 de caractere, numai litere mici ale alfabetului englez. După primul cuvânt se
tastează Enter. Programul afişează pe ecran, separate prin câte un spaţiu, toate sufixele
primului cuvânt care sunt prefixe ale celui de al doilea cuvânt, ca în exemplu. Dacă nu
există astfel de subşiruri, se afişează pe ecran mesajul NU EXISTA.
Exemple:
dacă se citesc, în ordine, cuvintele
rebele
elegant
se afişează (nu neapărat în această ordine) subşirurile: e ele
iar dacă se citesc, în ordine, cuvintele
strai
rai
se afişează subşirul rai (10p.)

Subiectul · pagina 3

Ministerul Educaţiei, Cercetării, Tineretului şi Sportului
Centrul Naţional de Evaluare şi Examinare
Probă scrisă la Informatică Varianta 1
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 5 cifre
din mulţimea {0, 1, 2}, cu proprietatea că nu există două cifre pare pe poziţii consecutive.
Primele opt şiruri generate sunt, în această ordine: 01010, 01011, 01012, 01101, 01110,
01111, 01112, 01121. Al nouălea şir generat este: (4p.)
a. 01120 b. 01201 c. 01210 d. 10101
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 ce se afişează în
urma apelului de mai jos.
f(9); (6p.)
void f(int x)
{ cout<<x; | printf(”%d”,x);
if(x>0)
{ if(x%2==0)
cout<<'*'; | printf(”*”);
f(x/2);
}
}
3. Se consideră subprogramul dublu, cu doi parametri:
• n, prin care primeşte o valoare naturală 2<n<50;
• v, prin care primeşte un tablou unidimensional cu n elemente, numere întregi cu cel mult
4 cifre. Cel puţin unul dintre elementele tabloului este strict pozitiv.
După fiecare element strict pozitiv din tablou, subprogramul inserează câte un nou
element, cu aceeaşi valoare, ca în exemplu. Tabloul modificat, precum şi valoarea
actualizată a lui n, sunt furnizate tot prin parametrii v, respectiv n.
Scrieţi definiţia completă a subprogramului.
Exemplu: dacă n=6 şi v=(4, -5, 0, 9, 9, -2), atunci după apel
n=9, iar v=(4, 4, -5, 0, 9, 9, 9, 9, -2). (10p.)
4. Un număr natural cu cel puţin două cifre se numeşte x-ordonat dacă toate cifrele sale
sunt în ordine crescătoare şi valoarea absolută a diferenţei dintre oricare două cifre aflate
pe poziţii consecutive este egală cu x.
Exemple: numărul 2468 este 2-ordonat, numărul 147 este 3-ordonat; numerele 179 sau
131 nu sunt de tipul menţionat.
Se citeşte de la tastatură un număr natural x (1≤x≤8) şi se cere scrierea în fişierul
BAC.TXT a tuturor numerelor naturale distincte x-ordonate. Fiecare număr este scris pe
câte o linie a fişierului.
Pentru determinarea numerelor cerute se utilizează un algoritm eficient din punctul de
vedere al timpului de executare.
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 1
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 1
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
a) Răspuns corect: 46402 6p
b) Răspuns corect: 1040, 1041,
1050, 1051, 1140, 1141,
1150, 1151
4p Se acordă:
- 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.
2.
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ă 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ă:
repetă...până când, repetă...cât timp,
execută...cât timp, cât timp..execută,
do...while etc.
d) Pentru program corect
-declarare corectă a tuturor variabilelor
-citire corectă
-afişare corectă
-instrucţiune de decizie corectă
-instrucţiune repetitivă corectă
-atribuiri corecte (*)
-corectitudinea globală a programului1)
10p
1p
1p
1p
2p
2p
2p
1p
(*) Se acordă numai 1p dacă doar o parte dintre
atribuiri este corectă.

Baremul · pagina 2

Ministerul Educaţiei, Cercetării, Tineretului şi Sportului
Centrul Naţional de Evaluare şi Examinare
Probă scrisă la Informatică Varianta 1
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. b 4p
2. b 4p
3. Pentru rezolvare corectă
-accesul corect la câmpurile de pe primul
nivel al înregistrării
-accesul corect la câmpurile de pe al
doilea nivel al înregistrării
-expresie corectă de determinare a valorii
cerute
-afişarea valorii cerute
6p
2p
2p
1p
1p
4. Pentru rezolvare corectă
-accesarea unui element al tabloului
-expresie corectă de calcul al valorii
elementului
-atribuire corectă
6p
2p
3p
1p
Două soluţii posibile sunt obţinute prin
transcrierea în limbaj de programare a
atribuirii:
Ai,j(i+j)%5
sau a structurii
┌dacă i+j<5 atunci Ai,ji+j
│altfel
│ Ai,ji+j-5
│ ┌dacă i=5 şi j=5 atunci
│ │ Ai,j0
│ └■
└■
5. Pentru program corect
-declararea corectă a tuturor variabilelor
(şiruri de caractere şi variabile simple)
-citirea şi afişarea datelor
-determinarea principial corectă a sufixelor
primului cuvânt
-determinarea principial corectă a
prefixelor celui de al doilea cuvânt
-determinarea subşirurilor cerute
-tratarea cazului în care nu există subşiruri
de tipul cerut
-corectitudinea globală a programului1)
10p
2x1p
1p
2p
2p
1p
1p
1p
SUBIECTUL al III - lea (30 de puncte)
1. c 4p
2. Răspuns corect: 94*2*10 6p Se acordă numai 4p dacă răspunsul este
94*2*1 şi se acordă numai 2p dacă şirul este
parţial corect.
3. Pentru subprogram corect
-structură antet principial corectă
-declararea corectă a parametrilor
(de tip simplu şi tablou)
-declararea tuturor variabilelor locale
-algoritm principial corect de inserare a
unei valori în tablou
-inserarea valorii corespunzătoare
după fiecare număr strict pozitiv (*)
-corectitudinea globală a
subprogramului1)
10p
2p
2x1p
1p
2p
2p
1p
(*) Se acordă numai 1p dacă nu se
actualizează valoarea lui n conform cerinţei.

Baremul · pagina 3

Ministerul Educaţiei, Cercetării, Tineretului şi Sportului
Centrul Naţional de Evaluare şi Examinare
Probă scrisă la Informatică Varianta 1
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
3
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 scrierii, scriere în fişier
-determinarea de numere de tip x-
ordonat (*)
-scrierea tuturor numerelor cerute în
formatul impus (*)
-utilizarea unui algoritm eficient (**)
6p
1p
2p
2p
1p
(*) Se acordă punctajul chiar dacă soluţia
propusă nu prezintă elemente de eficienţă.
(**) Punctajul se acordă numai pentru un
algoritm în care se generează direct numerele
x-ordonate.
O soluţie posibilă de generare este
transpunerea în limbaj de programare a
secvenţei pseudocod:
┌pentru p1,9-x execută
│ nrp
│ up+x
│┌cât timp u≤9 execută
││nrnr*10+u
││scrie nr
││uu+x
│└■
└■
1) Corectitudinea globală vizează structura, sintaxa, alte greşeli neprecizate în barem.