Documente Academic
Documente Profesional
Documente Cultură
Indicai expresia C/C++ care are valoarea 1 dac i numai dac numrul memorat n
variabila ntreag x aparine mulimii {2015, 2016, 2017}.
(4p.)
a.
b.
c.
d.
c)
d)
m 0
repet
citete x
(numr natural)
Scriei valoarea afiat dac se citesc, n aceast ordine,
y x
numerele 29678, 125, 1233345, 2, 78664, 0.
(6p.) repet
Scriei un ir de date de intrare, format din numere naturale, c y%10
astfel nct, n urma executrii algoritmului, s se afieze y [y/10]
valoarea 2016.
(4p.) pn cnd cy%10
dac y0 atunci
Scriei n pseudocod un algoritm, echivalent cu cel dat,
m m*10+c
nlocuind a doua structur repet ...pn cnd cu o
Simulare
SUBIECTUL al II-lea
(30 de puncte)
Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera corespunztoare
rspunsului corect.
1.
Variabilele x i y sunt de tip ntreg i memoreaz cte un numr natural nenul. Indicai
expresia C/C++ care are valoarea 1 dac i numai dac valorile variabilelor x i y sunt
consecutive.
(4p.)
a.
abs(x+y)
2.
a.
n<=x*x
b.
n*n<=x
c.
n<=(x-1)*(x-1)
d.
(n-1)*(n-1)<=x
b.
abs(x-y)
abs(x/y)
c.
d.
abs(x%y)
4.
Un numr natural nenul se numete sPar dac att el, ct i suma divizorilor si proprii
(divizori diferii de 1 i de el nsui), sunt numere pare.
Se citete un numr natural, n (n
[1,109]), i se cere s se scrie cel mai mic numr
sPar, strict mai mare dect n.
Exemplu: dac n=95 atunci se scrie 98 (att 98, ct i 72=2+7+14+49, sunt numere
pare).
a) Scriei, n pseudocod, algoritmul de rezolvare pentru problema enunat.
(10p.)
b) Precizai rolul tuturor variabilelor care au intervenit n algoritmul realizat la punctul a) i
indicai datele de intrare, respectiv datele de ieire ale problemei enunate.
(6p.)
Simulare
SUBIECTUL al III-lea
(30 de puncte)
Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.
1.
!
?
!
?
!
?
!
?
!
?
!
?
!
?
!
?
!
?
!
?
!
?
!
?
!
Indicai o expresie care poate nlocui punctele de suspensie astfel nct, n urma executrii
secvenei obinute, s se afieze pe ecran valorile din figura de mai sus, n aceast ordine.(4p.)
a.
(i+j)%2==0
b.
i%2+j%2==0
c.
i%2+j==0
d.
i+j%2==0
3.
Dou tablouri unidimensionale se numesc anagrame dac elementele lor nenule sunt
egale, dispuse eventual n alt ordine.
Scriei un program C/C++ care citete de la tastatur numere naturale din intervalul
[0,200]: pe prima linie dou numere nenule, n i m, pe linia a doua cele n elemente ale
unui tablou unidimensional, iar pe linia a treia cele m elemente ale unui alt tablou
unidimensional. Numerele aflate pe aceeai linie sunt separate prin cte un spaiu.
Programul afieaz pe ecran mesajul DA, dac cele dou tablouri sunt anagrame, sau
mesajul NU, n caz contrar.
Exemple: dac se citesc, n aceast ordine, numerele:
6 8
5 1 6 0 7 7
7 5 0 0 6 7 0 1
pe ecran se afieaz mesajul DA
iar dac se citesc, n aceast ordine, numerele:
4 4
5 1 6 0
6 5 6 1
pe ecran se afieaz mesajul NU.
(10p.)
4.
Un numr x se numete sufix al unui numr y dac y se poate obine din x prin alipirea,
la stnga sa, a cel puin unei alte cifre.
Fiierul bac.in conine un ir de cel mult 109 numere naturale distincte din intervalul
[0,109]. Numerele din ir sunt separate prin cte un spaiu.
Se cere s se afieze pe ecran, n ordine strict cresctoare, toi termenii irului aflat n
fiier care aparin intervalului [100,999] i sunt sufixe pentru cel puin un alt termen al
aceluiai ir. Numerele sunt afiate cte unul pe linie, iar dac n ir nu exist astfel de
numere, se afieaz pe ecran mesajul Nu exista. Pentru determinarea numerelor cerute
se utilizeaz un algoritm eficient din punctul de vedere al timpului de executare.
Exemplu: dac fiierul bac.in are coninutul
15502 49 54321 6149 76149 123 502 4321 321
atunci pe ecran se afieaz numerele
321
502
a) Descriei n limbaj natural algoritmul utilizat, justificnd eficiena acestuia.
(4p.)
b) Scriei programul C/C++ corespunztor algoritmului descris.
(6p.)
Simulare