Înapoi la fișa subiectului

Textul subiectului și baremului

Subiect BAC Informatică Mate-Info C/C++ 2014 – 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 Naționale
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 naţional 2014
Proba E. d) – 4 iulie 2014
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 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. Valoarea expresiei C/C++ alăturate este: (4p.) 42/10*29/10
a. 6 b. 8 c. 11 d. 18
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)
d2
┌cât timp d≤n execută
│ p0
│┌cât timp n%d=0 execută
││ pp+1
││ n[n/d]
│└■
│┌dacă p%2=0 și p≠0 atunci
││ scrie d,’ ’
│└■
│ dd+1
└■
scrie n
a) Scrieţi valorile afișate dacă se citește numărul
2352. (6p.)
b) Scrieţi două numere cu cel mult două cifre care
pot fi citite astfel încât, în urma executării
algoritmului, pentru fiecare dintre acestea, să se
afișeze valorile 5 1. (4p.)
c) Scrieţi în pseudocod un algoritm, echivalent cu
cel dat, în care să se înlocuiască prima
structură 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 Naționale
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. Un graf orientat are 8 vârfuri, numerotate de la 1 la 8, și arcele (1,7), (1,8), (3,5),
(3,7), (4,3), (4,7), (6,3), (6,5), (6,7), (6,8), (8,5), (8,7). Numărul vârfurilor
care au gradul extern nul este: (4p.)
a. 1 b. 2 c. 3 d. 4
2. Variabila s poate memora un șir cu maximum 20
de caractere. În urma executării secvenței de
instrucțiuni alăturate se afișează: (4p.)
strcpy(s,"1b2d3");
s[2]='a'+2;
strcpy(s,s+1);
strcpy(s+3,s+4);
cout<<s; | printf("%s",s);
a. 1b438 b. 1bcd8 c. ba2 d. bcd
Scrieţi pe foaia de examen răspunsul pentru fiecare dintre cerinţele următoare.
3. Se consideră declararea alăturată. Scrieţi o secvenţă de
instrucţiuni în urma executării căreia să se afișeze pe
ecran mesajul acceptat, dacă momentul de timp
corespunzător variabilei start precede momentul de
timp din aceeași oră, corespunzător variabilei stop,
sau mesajul respins în caz contrar. (6p.)
struct timp
{ int minut;
int secunda;
} start,stop;
4. Considerăm că înălțimea unui arbore cu rădăcină este egală cu cea mai mare dintre
lungimile lanțurilor elementare care au o extremitate în rădăcină și cealaltă extremitate în
oricare dintre “frunzele” arborelui.
Se consideră arborele cu 9 noduri, numerotate de la 1 la 9, și muchiile [1,2], [2,3],
[2,5], [3,7], [4,5], [5,6], [5,8], [8,9]. Scrieți nodurile care pot fi alese drept
rădăcină, astfel încât înălțimea arborelui să fie maximă. (6p.)
5. Scrieţi un program C/C++ care citeşte de la tastatură două numere naturale, m și n
(3≤m≤50, 3≤n≤50), şi elementele unui tablou bidimensional cu m linii şi n coloane, numere
naturale cu cel mult patru cifre, apoi modifică tabloul în memorie, eliminând penultima linie
și penultima coloană a acestuia, ca în exemplu. Programul afişează pe ecran tabloul
obținut, fiecare linie a tabloului pe câte o linie a ecranului, elementele de pe aceeași linie
fiind separate prin câte un spațiu.
Exemplu: pentru m=4, n=5 şi tabloul
5 1 2 3 4
8 2 2 5 3
2 1 7 3 9
3 0 9 8 5
se afişează pe ecran tabloul de mai jos:
5 1 2 4
8 2 2 3
3 0 9 5 (10p.)

Subiectul · pagina 3

Ministerul Educaţiei Naționale
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. Se consideră subprogramul f, definit
alăturat. Indicați ce valoare are f(15).
(4p.)
int f(int n)
{ if (n<10) return f(n+1)+3;
else if (n==10) return 7;
else return f(n-2)-1;
}
a. 1 b. 7 c. 8 d. 10
Scrieţi pe foaia de examen răspunsul pentru fiecare dintre cerinţele următoare.
2. Utilizând metoda backtracking, se generează toate posibilitățile de a forma șiraguri de câte
4 mărgele de culori distincte din mulţimea {roșu, galben, roz, albastru, violet},
astfel încât în fiecare șirag nu pot fi pe poziții alăturate mărgele roșii și galbene. Două
șiraguri sunt distincte dacă au cel puțin o mărgea de culoare diferită sau dacă ordinea
culorilor mărgelelor este diferită.
Primele cinci soluţii generate sunt, în această ordine, (roșu, roz, galben, albastru),
(roșu, roz, galben, violet), (roșu, roz, albastru, galben), (roșu, roz,
albastru, violet), (roșu, roz, violet, galben). Scrieţi cea de a şasea şi cea de a
şaptea soluţie, în ordinea generării acestora. (6p.)
3. Un interval cu proprietatea că există un singur număr natural, n (2≤n), pentru care valoarea
produsului 1·2·3·…·n aparține acestui interval este numit interval factorial al lui n.
Exemplu: [5,8] și [3,23] sunt intervale factoriale ale lui 3, dar [1,15] și [7,10] nu
sunt intervale factoriale ale niciunui număr.
Se consideră subprogramul interval, cu trei parametri:
• n, prin care primește un număr natural din intervalul [2,10].
• a și b, prin care furnizează câte un număr natural, astfel încât expresia b-a să aibă
valoare maximă, iar [a,b] să fie interval factorial al lui n.
Scrieţi definiţia completă a subprogramului.
Exemplu: dacă n=3, după apel a=3 și b=23. (10p.)
4. Un număr natural x, format din exact două cifre, este numit sub-număr al unui număr
natural y dacă cifrele lui x apar, în aceeași ordine, pe ranguri consecutive, în numărul y.
Exemplu: 21 este sub-număr al lui 12145, al lui 213, al lui 21, dar nu și al lui 123 sau al
lui 231.
Fișierul bac.txt conține cel mult 1000000 de numere naturale din intervalul [10, 109],
separate prin câte un spațiu.
Se cere să se afișeze pe ecran, separate prin câte un spațiu, sub-numerele care apar de
cele mai multe ori în scrierea numerelor din fișier. Pentru determinarea sub-numerelor
cerute se utilizează un algoritm eficient din punctul de vedere al timpului de executare.
Exemplu: dacă fişierul bac.txt conţine numerele
3 9 3 1 7 7 7 5 7 8 7 7 2 1 9 4 9 4 2 1 2 1 2 1 7 7 4
atunci pe ecran se afișează valorile de mai jos, nu neapărat în această ordine:
77 21
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 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 naţional 2014
Proba E. d) – 4 iulie 2014
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: 2 7 1 6p. Se acordă câte 2p. pentru fiecare valoare
menţionată corect.
b) Pentru răspuns corect 4p. Se acordă câte 2p. pentru fiecare valoare
menţionată corect, de exemplu 25, 50, 75.
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 variabile
-citire date
-afişare date
-instrucţiune de decizie corectă
-instrucţiuni repetitive corecte (*)
-atribuiri corecte
-corectitudine globală a programului1)
10p.
1p.
1p.
1p.
2p.
3p.
1p.
1p.
(*) Se acordă numai 2p. dacă doar una dintre
instrucțiunile repetitive este corectă.
SUBIECTUL al II - lea (30 de puncte)
1. c 4p.
2. d 4p.
3. Pentru rezolvare corectă
-acces corect la un câmp al unei
înregistrări
-afişare a mesajelor conform cerinței (*)
-corectitudine globală a secvenţei1)
6p.
2p.
3p.
1p.
(*) Se acordă numai 2p. dacă se tratează
corect doar unul dintre cele două cazuri
posibile (acelaşi minut sau minute diferite).

Baremul · pagina 2

Ministerul Educaţiei Naționale
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
4. Răspuns corect: 7, 9 6p. (*) Se acordă doar 3p. dacă s-a menţionat
corect doar unul dintre noduri sau dacă s-au
menţionat şi alte noduri, care nu sunt
conform cerinţei.
5. Pentru program corect
-declarare corectă a variabilei de tip tablou
-citire a tabloului
-accesare corectă a unui element al
tabloului
-modificare corectă a tabloului (*)
-afişare a unui tablou în formatul cerut (**)
-declarare și citire a variabilelor simple,
corectitudine globală a programului1)
10p.
1p.
1p.
1p.
4p.
2p.
1p.
(*) Se acordă câte 2p. pentru fiecare aspect
al cerinței (eliminare linie, eliminare
coloană).
(**) Se acordă numai 1p. dacă sunt afișate
toate elementele, dar nu în formatul cerut.
SUBIECTUL al III - lea (30 de puncte)
1. b 4p.
2. Răspuns corect:
(roşu, roz, violet, albastru)
(roşu, albastru, galben, roz)
6p. Se acordă câte 2p. pentru fiecare aspect al
cerinţei (conţinut prima soluţie scrisă, conţinut
a doua soluţie scrisă, ordinea soluţiilor).
3. Pentru subprogram corect
-structură antet principial corectă
-declarare corectă a parametrilor de
intrare
-declarare corectă a parametrilor de
ieșire
-determinare a numerelor cu
proprietatea cerută (*)
-declarare a tuturor variabilelor
locale, corectitudine globală a
subprogramului1)
10p.
1p.
1p.
1p.
6p.
1p.
(*) Se acordă câte 2p. pentru fiecare aspect
al cerinței (algoritm de determinare a unui
produs factorial, determinare a limitei
inferioare a intervalului, determinare a limitei
superioare a intervalului).
4. a) Pentru răspuns corect
-descriere coerentă a metodei (*)
-justificare a unor elemente de
eficienţă
4p.
2p.
2p.
(*) 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 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 (determinare a numărului
de apariții ale unui sub-număr, determinare
a numărului maxim de apariții, determinare
a tuturor sub-numerelor cu număr maxim de
apariții).
(***) Se acordă punctajul numai pentru un
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 sub-număr 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.