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.
a.
2.
a.
b.
c.
{1, 4}
{3, 5}
d.
{2, 6, 7}
d.
b.
c.
4.
Variabilele i i j din secvena de instruciuni de mai jos sunt de tip ntreg, iar variabila a
memoreaz un tablou bidimensional cu 5 linii i 5 coloane, numerotate de la 0 la 4, cu
elemente de tip char. Fr a utiliza alte variabile, scriei una sau mai multe instruciuni
care pot nlocui punctele de suspensie astfel nct, n urma executrii secvenei obinute,
tabloul memorat n variabila a s aib elementele din figura de mai jos.
for(i=0;i<5;i++)
for(j=0;j<5;j++)
...............
5.
(6p.)
!
?
!
?
!
?
!
?
!
?
!
?
!
?
!
?
!
?
!
?
!
?
!
?
!
Dou fraze se numesc anagrame dac literele lor sunt identice, dispuse eventual n alt
ordine.
Scriei un program C/C++ care citete de la tastatur dou fraze, separate prin Enter,
fiecare fiind format din cel mult 100 de caractere. Cuvintele din fiecare fraz conin numai
litere mici ale alfabetului englez i sunt separate prin cte un spaiu. Programul afieaz pe
ecran mesajul DA, dac cele dou fraze sunt anagrame, sau mesajul NU, n caz contrar.
Exemple: dac se citesc, n aceast ordine, frazele:
quid est veritas
est vir qui adest
pe ecran se afieaz mesajul DA
iar dac se citesc, n aceast ordine, frazele:
lycophron ptolemaios
chronophyl apo melitos
pe ecran se afieaz mesajul NU.
(10p.)
Simulare
SUBIECTUL al III-lea
(30 de puncte)
Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.
1.
a.
b.
c.
d.
3.
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.
Subprogramul sPar are un singur parametru, n, prin care primete un numr natural
(n
[1,109]). Subprogramul returneaz cel mai mic numr sPar, strict mai mare dect n.
Scriei definiia complet a subprogramului.
Exemplu: dac n=95, atunci subprogramul returneaz 98 (att 98, ct i
72=2+7+14+49, sunt numere pare).
(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 din intervalul [0,109].
Numerele din ir sunt separate prin cte un spaiu.
Se cere s se afieze pe ecran, n ordine strict cresctoare, toate numerele din intervalul
[100,999] care sunt termeni ai irului aflat n fiier 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 123 502 4321 321 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