Textul subiectului și baremului
Subiect BAC Informatică Științe ale Naturii 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 originalSubiectul · 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, specializarea științe ale naturii 1 Examenul de bacalaureat naţional 2014 Proba E. d) – 4 iulie 2014 Informatică Limbajul C/C++ Varianta 4 Filiera teoretică, profilul real, specializarea științe ale naturii • 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, specializarea științe ale naturii
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. Variabila x este de tip întreg și poate memora un număr natural din
intervalul [45,55]. Valoarea cea mai mare pe care o poate avea
expresia C/C++ alăturată este: (4p.)
abs(x/10-x%10)
a. 4 b. 5 c. 6 d. 7
2. În secvența C/C++ alăturată toate variabilele sunt întregi, iar
m>n. Expresia care poate înlocui punctele de suspensie
astfel încât, în urma executării secvenţei obţinute, variabila r
să memoreze diferenţa m-n este:
(4p.)
r=0;
x=n;
y=m;
do
{ x=x+1;
y=y-1;
r=......;
}while(x<y);
r=2*r;
if(x!=y)r=r-1;
a. r-2 b. r-1 c. r+1 d. r+2
Scrieţi pe foaia de examen răspunsul pentru fiecare dintre cerinţele următoare.
3. Variabilele minut_start și secunda_start, de tip întreg, memorează minutul și
respectiv secunda corespunzătoare unui moment de timp, iar variabilele minut_stop și
secunda_stop, de tip întreg, memorează minutul și respectiv secunda corespunzătoare
unui alt moment de timp, din aceeași oră cu cel menționat anterior. 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 variabilelor minut_start și secunda_start precede
momentul de timp corespunzător variabilelor minut_stop și secunda_stop, sau mesajul
respins în caz contrar. (6p.)
4. 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 citește un număr natural n (n∈∈∈∈[2,10]) și se cere să se afișeze, separate printr-un
spațiu, două numere naturale a și b, astfel încât expresia b-a să aibă valoare maximă, iar
[a,b] să fie interval factorial al lui n.
Exemplu: dacă n=3, se afișează 3 23.
a) Scrieți, în pseudocod, algoritmul de rezolvare pentru problema enunțată. (10p.)
b) Menționați rolul tuturor variabilelor care au intervenit în algoritmul realizat la punctul a) și
indicați datele de intrare, respectiv datele de ieșire ale problemei enunțate. (6p.)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, specializarea științe ale naturii
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ă două tablouri unidimensionale A şi B. Știind că A=(4,11,14,18,21), iar în
urma interclasării tablourilor A şi B în ordine crescătoare se obţine tabloul cu elementele
(3,4,8,11,14,14,17,18,21,46), atunci tabloul B poate fi: (4p.)
a. (46,17,8,3) b. (46,17,14,8,3) c. (46,18,14,8,3) d. (46,21,14,17,3)
Scrieţi pe foaia de examen răspunsul pentru fiecare dintre cerinţele următoare.
2. În secvenţa alăturată toate variabilele sunt de tip
întreg, iar numerele citite sunt naturale.
Scrieţi secvența înlocuind punctele de suspensie
astfel încât, în urma executării secvenţei
obţinute, valoarea variabilei ok să fie 1 dacă
printre valorile citite s-a aflat și 2014, sau 0
altfel. (6p.)
ok=.........;
for(i=1;i<=10;i++)
{ cin>>x; | scanf("%d",&x);
.......
}
3. Scrieţi un program C/C++ care citeşte de la tastatură un număr natural n (2<n<50), cele
n elemente ale unui tablou unidimensional, numere întregi cu cel mult patru cifre, apoi un
număr natural x (0<x<10). Cel puţin un element al tabloului este par. Programul modifică
tabloul în memorie scăzând valoarea x din fiecare element par al tabloului, apoi afişează
pe ecran elementele tabloului obținut, separate prin câte un spațiu.
Exemplu: pentru n=7, tabloul (2, 15, 70, 4, 0, 5, 3) și x=3,
se obține tabloul (-1, 15, 67, 1, -3, 5, 3). (10p.)
4. Fișierul bac.txt conține cel mult 1000000 de numere naturale din intervalul [0, 109],
separate prin câte un spațiu.
Se cere să se afișeze pe ecran, separate prin câte un spațiu, cifrele care apar de cele mai
multe ori în scrierea numerelor din fișier. Pentru determinarea cifrelor cerute se utilizează
un algoritm eficient din punctul de vedere al timpului de executare.
Exemplu: dacă fişierul bac.txt conţine numerele
399 1777578 721149 1212178
atunci pe ecran se afișează valorile de mai jos, nu neapărat în această ordine:
7 1
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 originalBaremul · pagina 1
Ministerul Educaţiei Naționale Centrul Naţional de Evaluare şi Examinare Probă scrisă la informatică Varianta 4 Filiera teoretică, profilul real, specializarea ştiinţe ale naturii 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, 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: 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. b 4p. 2. c 4p. 3. Pentru rezolvare corectă -afişare a mesajelor conform cerinței (*) -corectitudine globală a secvenţei1) 6p. 5p. 1p. (*) Se acordă numai 3p. 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, specializarea ştiinţe ale naturii Barem de evaluare şi de notare 2 4. a) Pentru rezolvare corectă -citire a datelor -determinare a numerelor cu proprietatea cerută (*) -scriere principial corectă a structurilor de control (**) -afișare a numerelor cerute 10p. 1p. 6p. 2p. 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). (**) Se va puncta orice formă corectă de structură repetitivă sau decizională. b) Pentru răspuns corect -menţionare a rolului variabilelor utilizate (*) -date de intrare identificate corect -date de ieșire identificate corect 6p. 2p. 2p. 2p. (*) Se acordă numai 1p. dacă s-au identificat doar o parte dintre variabilele utilizate sau dacă nu pentru toate variabilele este corect menționat rolul acestora. SUBIECTUL al III - lea (30 de puncte) 1. b 4p. 2. Pentru răspuns corect -instrucţiune de iniţializare a variabilei ok -instrucţiune de actualizare a variabilei ok (*) -corectitudine globală a secvenţei1) 6p. 2p. 3p. 1p. (*) Se acordă numai 1p. dacă s-a identificat corect citirea numărului 2014, dar variabila ok nu este actualizată corect. 3. Pentru program corect -declarare corectă a variabilei de tip tablou -citire a elementelor tabloului -accesare corectă a unui element al tabloului -modificare a tabloului conform cerinței (*) -afișare a datelor -declarare a tuturor variabilelor simple, citire a datelor simple, corectitudine globală a programului1) 10p. 1p. 2p. 1p. 4p. 1p. 1p. (*) Se acordă câte 2p. pentru fiecare aspect al cerinței (determinarea unui element par, elemente suport modificate conform cerinței). 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 fiecărei cifre, determinare a numărului maxim de apariții, determinare a tuturor cifrelor 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 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.