Înapoi la fișa subiectului

Textul subiectului și baremului

Subiect BAC Informatică Științe ale Naturii 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, specializarea ştiinţe ale naturii
1
Examenul de bacalaureat 2012
Proba E. d)
Proba scrisă la INFORMATICĂ
Limbajul C/C++
Varianta 1
Filiera teoretică, profilul real, specializarea ştiinţe ale naturii
• 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, 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. Indicaţi o expresie C/C++ care are valoarea 1 oricare ar fi numărul strict pozitiv memorat în
variabila reală x. (4p.)
a. x-floor(x)!=0 b. x+floor(x)==0
c. x-floor(x)>=0 d. x+floor(x)<=0
2. Se consideră secvenţa de mai jos, în care toate variabilele sunt de tip întreg şi memorează
numere naturale nenule.
y=1;
while ((y+1)*(y+1)<=x) y=y+1;
cout<<..............; | printf(″%d″, ................);
Pentru ca executarea secvenţei să determine afişarea pe ecran a celui mai mare număr
natural pătrat perfect din intervalul [1,x], zona punctată poate fi înlocuită cu: (4p.)
a. y b. y*y c. (y-1)*(y-1) d. (y+1)*(y+1)
Scrieţi pe foaia de examen răspunsul pentru fiecare dintre cerinţele următoare.
3. Variabilele reale xA şi yA memorează abscisa, respectiv ordonata unui punct în sistemul
de coordonate xOy, iar variabilele reale xB şi yB memorează abscisa, respectiv ordonata
unui alt punct în acelaşi sistem de coordonate.
Scrieţi o secvenţă de instrucţiuni C/C++ care afişează pe ecran pătratul lungimii
segmentului cu extremităţile în cele două puncte. (6p.)
4. Se citeşte un număr natural n şi se cere să se scrie cea mai mică valoare naturală x (x≥n)
care se poate obţine ca produs de două numere naturale consecutive.
Exemplu: dacă n=10 atunci x=12 (12=3*4).
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, 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, 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. În secvenţa de instrucţiuni de mai jos toate variabilele sunt de tip întreg.
for(i=1;i<=5;i++)
{ for(j=1;j<=5;j++)
cout<<......<<′ ′; | printf(″%d ″,......);
cout<<endl; | printf(″\n″);
}
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
Indicaţi o expresie care poate înlocui punctele de suspensie astfel încât, în urma executării
secvenţei obţinute, să se afişeze pe ecran valorile din figura de mai sus, în această ordine.
(4p.)
a. i+j%5 b. i%5+j c. (i+j)%5 d. i%5+j%5
Scrieţi pe foaia de examen răspunsul pentru fiecare dintre cerinţele următoare.
2. Se consideră tablourile unidimensionale a=(100,89,9,5,3) şi b=(89,10,9,8,2,1).
Tabloul c este obţinut prin interclasarea descrescătoare a elementelor din tablourile a şi b.
Scrieţi elementele tabloului c, în ordinea în care ele apar în acesta. (6p.)
3. Scrieţi un program C/C++ care citeşte de la tastatură un număr natural n (2<n<50) şi cele
n elemente ale unui tablou unidimensional, numere întregi cu cel mult 4 cifre. Cel puţin
unul dintre elementele tabloului este strict pozitiv. Programul modifică tabloul, inserând
după fiecare element strict pozitiv al acestuia, un nou element cu aceeaşi valoare.
Programul afişează pe ecran valoarea actualizată a lui n şi apoi, pe o linie nouă,
elementele tabloului modificat, separate prin câte un spaţiu.
Exemplu: pentru n=6 şi tabloul (4, -5, 0, 9, 9, -2),
se obţin n=9 şi tabloul (4, 4, -5, 0, 9, 9, 9, 9, -2). (10p.)
4. Un număr natural cu cel puţin două cifre se numeşte 2-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 2.
Exemplu: numărul 2468 este 2-ordonat, dar numărul 131 nu este 2-ordonat.
Se cere scrierea în fişierul BAC.TXT a tuturor numerelor naturale 2-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, specializarea ştiinţe ale naturii
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, 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
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ă.
SUBIECTUL al II - lea (30 de puncte)
1. c 4p
2. b 4p

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, specializarea ştiinţe ale naturii
Barem de evaluare şi de notare
2
3. Pentru rezolvare corectă
-expresie corectă de determinare a valorii
cerute (*)
-afişarea datelor
6p
5p
1p
(*) Pentru expresie de calcul principial
corectă, dar care nu conduce la rezultatul
corect se acordă numai 2p
4. a) Pentru rezolvare corectă
-citirea datelor
-determinarea unui număr care se poate
scrie ca un produs de două numere
consecutive
-determinarea celui mai mic număr cu
proprietatea cerută
-scrierea principial corectă a structurilor de
control (*)
-scrierea rezultatului
10p
1p
3p
3p
2p
1p
(*) Se va puncta orice formă corectă de
structură repetitivă (de exemplu execută
... cât timp, execută ... până
când, repetă ... până când, do ...
while etc.) sau decizională.
b) Pentru răspuns corect
-menţionarea 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 din variabilele
utilizate sau dacă nu pentru toate
variabilele este corect menţionat rolul
acestora.
SUBIECTUL al III - lea (30 de puncte)
1. c 4p
2. Răspuns corect:
100,89,89,10,9,9,8,5,3,2,1
6p Se acordă numai 3p dacă sunt eliminate
duplicatele.
3. Pentru program corect
-declararea corectă a variabilelor (de tip
simplu şi tablou)
-citirea datelor
-algoritm principial corect de inserare a unei
valori în tablou
-inserarea valorii corespunzătoare după
fiecare număr strict pozitiv (*)
-afişarea datelor
-corectitudinea globală a programului1)
10p
2x1p
1p
2p
2p
2p
1p
(*) Se acordă numai 1p dacă nu se
actualizează valoarea lui n 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 scrierii, scriere în fişier
-determinarea de numere de tip 2-ordonat (*)
-scrierea tuturor numerelor cerute în formatul
indicat (*)
-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 2-ordonate.
O soluţie posibilă de generare este
transpunerea în limbaj de programare a
secvenţei pseudocod:
┌pentru p1,7 execută
│ nrp
│ up+2
│┌cât timp u≤9 execută
││nrnr*10+u
││scrie nr
││uu+2
│└■
└■
1) Corectitudinea globală vizează structura, sintaxa, alte greşeli neprecizate în barem.