Sunteți pe pagina 1din 2

Testare tip Bacalaureat

la profilul Științe ale naturii


Se acordă din oficiu 10p
Timp de lucru 2h
I. Pentru fiecare dintre itemii de la 1 la 7, scrieţi pe foaia de examen litera corespunzătoare răspunsului corect.

1. Se consideră patru variabile reale a, b, c, d ce reprezintă capetele a două intervale [a,b], respectiv [c,d].
Care din expresiile de mai jos sunt adevărate dacă și numai dacă intervalele au cel puțin un element comun?
(4p)
a. (a>c) && (b>d) b. (b<c) &&(a>d) c. !( (b<c)||(a>d)) d. !( (b<c) &&(a>d))
2. Care dintre următoarele expresii logice este echivalentă cu conditia ca variabilele întregi a şi b să aibă
acelaşi semn şi să fie nenule? (4p)
a. a*b>0 b. a+b>0 c. (a>0 || b>0) && (a<0 || b<0) d. !(a<0 && b>0 || a>0 && b<0)

3. Condiţia ca două variabile a şi b întregi, pozitive, să aibă simultan valoarea zero este: (4p)
a. !(a && b) b. a*b==0 c. a+b==0 d. a==0||b==0

4. Expresia:(x>-2)&&(!(x>2))||(x>=5) este echivalentă cu : (4p)


a. xє (-2,2] ∩ [5,∞) c. xє (-2,2) U [5,∞)
b. xє (-2,2) ∩ (5,∞) d. xє (-2,2] U [5,∞)

5. Ştiind că variabilele a, b şi c sunt de tip întreg, care este condiţia ca numărul natural memorat de variabila
c să fie un multiplu comun al numerelor naturale memorate de variabilele a şi b ? (4p)
a. c%a * c%b == 0 c. c%a + c%b == 0
b. a%c + b%c == 0 d. (a%c == 0)&&(c%b == 0)

6. O expresie C++ care are valoarea 1 oricare ar fi un numar natural patrat perfect, memorat în variabila x
este: (4p)
a)sqrt(x)==pow(x,2); b)sqrt(x)*pow(x,2)==1 c)sqrt(x)==1 d)(int)(sqrt(x))==sqrt(x)

7. Se consideră un tablou unidimensional în care elementele sunt, în această ordine, (3,7,9,12,19,25,57). Pentru a
verifica dacă în tablou există elementul cu valoarea x=16, 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: (4p)
a. 3, 7, 9, 12, 19 b. 12, 19, 25 c. 12, 25, 19 d. 57, 25, 19

II. Scrieţi pe foaia de examen răspunsul pentru fiecare dintre cerinţele următoare.
1. Se consideră secvența de mai jos în care toate variabilele sunt întregi.
s=0; nr=1; k=......;
for(i=a;i<=b;i++) {
s=s+nr*i; nr= -nr; }
cout<<k+s;
Ce valoare trebuie să aibă k, dacă pentru a=5, b=10, să se afișeze 0. (6p.)

2. Variabilele întregi nr1, nr2, num1 și num2 memorează numărătorii, respectiv numitorii a două
fracții. Declarați variabilele precizate și scrieți o secvență de instrucțiuni C/C++ care calculează și afișează
pe ecran pe linii diferite numărătorul și numitorul sumei celor două fracții. Se va afișa mesajul ”eronat”
dacă cel puțin unul dintre numitori are valoarea 0. (6p)
3. Algoritmul alăturat este reprezentat în pseudocod. citeşte n;
a) Ce valoare va fi afişată pentru n=5 şi numerele s ← 0;
222, 2043, 29, 2, 20035. (6p) ┌ pentru i←1,n execută
b) Determinaţi un set de date de intrare pentru care valoarea | nr←1;
afişată va fi egală cu suma numerelor citite? (4p) | citeşte x;
c) Scrieţi în pseudocod un algoritm echivalent cu cel dat, | ┌cât timp x>9 execută
înlocuind ambele structuri repetitive cu câte o | | nr ← nr*10;
structură repetitivă cu test final. (6p) | | x←[x/10];
d) Realizaţi programul C++ corespunzător algoritmului prezentat. | └■
(10p) | s←s+x*nr;
└■
scrie s

III. Scrieți rezolvări complete pentru fiecare dintre următoarele cerințe

1. Se citește un număr natural k (k>0) și se cere să se afișeze al k-lea element impar din șirul lui Fibonacci,
în care primii doi termeni sunt f1=1, f2=1, iar un termen i este fi= fi-1 + fi-2.
a) Scrieți, în pseudocod, algoritmul de rezolvare pentru problema enunțată. (10p)
b) Precizaț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. (4p.)
Exemplu: dacă k=5, atunci se va afișa valoarea 13 (1, 1, 2, 3, 5, 8, 13, 21, 34).

2. Fişierul BAC.TXT conţine un şir de cel mult 106 numere naturale cu cel mult patru cifre fiecare. Se cere
să se afişeze pe ecran numărul de elemente ale celui mai mare grup de numere din şir care au aceeaşi
divizori primi. Proiectaţi un algoritm eficient din punct de vedere al timpului de execuție și al memoriei
utilizate.
Exemplu: dacă fişierul conţine numerele: 12 75 2 36 32 135 6 18 297 36 15 48 99 33 45 72 atunci se
afişează pe ecran valoarea 7 ( numerele 12, 36, 6, 18, 36, 48 şi 72 au ca divizori primi doar pe 2 şi pe 3).
a) Descrieţi în limbaj natural algoritmul proiectat, justificând eficienţa acestuia. (2p)
b) Scrieţi programul C++ corespunzător algoritmului proiectat. (8p)

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