Sunteți pe pagina 1din 2

INSPECTORATUL ȘCOLAR JUDEȚEAN GALAȚI

________________________________________________________________________________________________
Examenul național de bacalaureat 2024
Simulare la nivel județean
Proba E. d)
Informatică Limbajul C/C++
Varianta 1
Filieră teoretică, profil real, specializare științe ale naturii

• Toate subiectele sunt obligatorii. Se acordă zece puncte din oficiu.


• Timpul de lucru efectiv este de trei ore.
• Identificatorii utilizați în rezolvări 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ă). Datele de intrare se consideră corecte, validarea lor nefiind necesară.

SUBIECTUL I (20 de puncte)

Pentru fiecare dintre itemii de la 1 la 5, scrieți pe foaia de examen litera corespunzătoare răspunsului
corect. Fiecare răspuns corect se notează cu 4 puncte.

1. Se consideră variabilele x și y de tip int. Care dintre următoarele instrucțiuni mărește valoarea
variabilei z cu câtul împărțirii variabilei x la y ?
a. z+=x%y c. z = x/y
b. z=x%y+z d. z+ = x/y

2. Indicați cel mai mare număr de două cifre pe care îl poate memora variabila întreagă x, astfel încât
expresia C/C++ alăturată: sqrt(x%10+x/10)==4 să aibă valoarea 1.

a. 106 b. 79 c. 98 d. 97

3. Indicați care dintre următoarea expresie C/C++ are valoarea 1 dacă şi numai dacă numărul natural
memorat în variabila întreagă x are exact trei cifre.
a. (x / 1000==0) &&(x / 100<>0) b. (x / 1000==0) || (x / 100<>0)
c. (x % 1000==0) && (x % 100<>0) d. (x % 1000==0) or (x % 100<>0)

4. Se consideră un tablou unidimensional în care elementele sunt, în această ordine,


(3,7,11,12,18,28,49). Pentru a verifica dacă în tablou există elementul cu valoarea x=19, se aplică
metoda căutării binare. Succesiunea corectă de elemente a căror valoare se compară cu valoarea
lui x pe parcursul aplicării metodei indicate este:
a. 3, 7, 11, 12, 18 b. 12, 18, 28 c. 12, 28, 18 d. 49, 28, 18

5. Care dintre următoarele instrucțiuni realizează deplasarea cu o poziție spre stânga a tuturor
elementelor tabloului V, cu n componente, începând cu cel situate pe poziția p+1?

a. for(i=p+1;i<=n;i++)
v[i]=v[i-1];
b. for(i=p;i<n;i++)
v[i]=v[i+1];
c. for(i=n;i>=p;i--)
v[i-1]=v[i];
d. for(i=n;i>=p;i--)
v[i+1]=v[i];

Probă scrisă la Informatică Simulare la nivel județean


Limbajul C/C++
Filieră teoretică, profil real, specializare științe ale naturii
Pagina 1 din 2
INSPECTORATUL ȘCOLAR JUDEȚEAN GALAȚI
________________________________________________________________________________________________
SUBIECTUL al-II -lea (40 de puncte)

1. Algoritmul alăturat este reprezentat în pseudocod.


a) Scrieți ce se afișează dacă se citește n=3. (6p.) citește n
b) Scrieți un număr care poate fi citit, astfel încât, în urma (număr natural nenul)
executării algoritmului numărul de simboluri * afișate să pentru i←n,1,-1 execută
fie 100 . (6p.) pentru j←n,1,-1 execută
c) Scrieți programul C/C++ corespunzător algoritmului dacă i=j sau i+j=n+1 atunci
dat. (10p.)
scrie ’j’
d) Scrieți în pseudocod un algoritm echivalent cu cel dat,
altfel
înlocuind prima structură pentru ... execută cu o
structură repetitivă cu test inițial. (6p.) scrie ‘*’

2. Variabilele prenume și an memorează date pentru o persoana: prenume (caracterul de început al


prenumelui) și anul de naștere al acesteia (un număr natural din intervalul [1950,2024]). Declarați variabile
corespunzătoare și scrieți o secvență de instrucțiuni C/C++ în urma executării căreia să se afișeze pe ecran
mesajul elev dacă anul de naștere al acestuia este mai mare decât 2006, mesajul pensionar în cazul anului
mai mic de 1958 sau mesajul activ, în caz contrar.
(6p.)

3. Toate variabilele din secvența de mai jos sunt de tip char.


Scrieți ce se afișează în urma executării secvenței.
c1='D'; c2='O'; c3='I'; c4='O';
c2=c2+1;cout<<c2<<c4;
c4=c4-2;cout<<c4<<endl;
c1=c1-1;cout<<c4<<c3<<c1;
(6p.)
SUBIECTUL al III-lea (30 de puncte)

1. Se citește un număr natural, n (n≥10), și se cere să se scrie numărul obținut din n prin inserarea, între
oricare două cifre alăturate ale sale, a valorii maxime dintre aceste cifre.

Exemplu: dacă n=7255, atunci se scrie 7725555. Scrieți, în pseudocod, algoritmul de rezolvare a problemei
enunțate. (10p.)
2.Scrieţi un program C/C++ care citește de la tastatură un număr natural, n (n∈[2,102]), și construiește în
memorie un tablou unidimensional cu n elemente, numerotate de la 1 la n, astfel:

• primul element este nul;


• elementele de pe poziții pare sunt egale cu valoarea poziției pe care se află plus 1;
• oricare alt element este obținut prin însumarea celor două elemente aflate imediat înaintea sa, ca în
exemplu. Elementele tabloului obținut sunt afișate pe ecran, separate prin câte un spațiu.
Exemplu: pentru n=11 se obține tabloul (0, 3, 3, 5, 8, 7, 15, 9, 24,11,35)
(10p.)
3. Fișierul bac.txt conține un șir de cel mult 100 numere întregi din intervalul [-100,100], separate prin câte
un spațiu. Se cere să se afișeze pe ecran suma maximă obținută adunând numere pozitive de pe poziții
consecutive în șirul aflat în fișier. Proiectați un algoritm eficient din punctul de vedere al memoriei utilizate și
al timpului de executare.

Exemplu: dacă fișierul bac.txt conține valorile 4 -6 7 2 1 4 -10 3 9 2 -2 se afișează pe ecran numărul 14

a. Scrieți programul C/C++ corespunzător algoritmului proiectat. (8p.)


b. Descrieți în limbaj natural algoritmul proiectat, justificând eficiența acestuia. (2p.)

Probă scrisă la Informatică Simulare la nivel județean


Limbajul C/C++
Filieră teoretică, profil real, specializare științe ale naturii
Pagina 2 din 2

S-ar putea să vă placă și