Professional Documents
Culture Documents
SUBIECTUL I
(30 de puncte)
Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.
1.
a.
(4p.)
c.
3+5%10/2
d. 5.5
citete n,k
(numere naturale nenule, k>1)
pn
0
ct timp pn=0 execut
x
n
ct timp x%k=0 execut
Scriei valoarea afiat dac se citesc, n x
[x/k]
aceast ordine, numerele 48 i 6.
(6p.)
Dac pentru k se citete numrul 5, scriei dac x=1 atunci
n
toate numerele care pot fi citite pentru n pn
2.
Se
consider
algoritmul
alturat,
reprezentat n pseudocod.
S-a notat cu a%b restul mpririi numrului
natural a la numrul natural nenul b i cu [c]
partea ntreag a numrului real c.
a)
b)
c)
d)
(10p.)
SUBIECTUL al II-lea
Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen
rspunsului corect.
struct
1.
Variabila c, declarat alturat, memoreaz codul i
preul unei cri. Expresia C/C++ a crei valoare
reprezint dublul preului crii respective este:
(4p.)
a. c.pret*2
b. c[pret]*2
c. pret^c*2
2.
a.
(30 de puncte)
litera corespunztoare
carte
{ int cod;
float pret;
}c;
d. pret(c)*2
b.
c.
d.
4.
5.
Se consider un cuvnt format din cel puin dou i cel mult 100 de caractere, numai litere
mici ale alfabetului englez. Scriei un program C/C++ care citete de la tastatur un cuvnt
de tipul precizat i l transform n memorie, eliminnd un numr minim de litere, astfel
nct el s conin doar vocale i, eventual, consoana m. Programul afieaz pe ecran
cuvntul obinut, sau mesajul nu exista dac nu se poate obine un astfel de cuvnt.
Exemplu: pentru cuvintele amnistie, amintire sau amiie
se afieaz amiie
pentru cuvntul ploaie
se afieaz oaie
iar pentru cuvntul mrrr
se afieaz mesajul nu exista
(10p.)
SUBIECTUL al III-lea
(30 de puncte)
Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.
1.
a.
void F(char c)
{ if(c<e)
{ F(......);
cout<<c; | printf(%c,c);
}
}
c-4
c+1
b.
c-1
c.
d.
c+4
3.
Subprogramul Cifre are un singur parametru, n, prin care primete un numr natural
(n
[0,109]). Subprogramul returneaz numrul cifrelor care apar o singur dat n
scrierea lui n. Scriei definiia complet a subprogramului.
Exemplu: dac n=9272017, subprogramul returneaz valoarea 3.
(10p.)
4.
Fiierul date.in conine un ir de cel mult un milion de numere naturale din intervalul
[0,109], separate prin cte un spaiu. irul are cel puin doi termeni pari i cel puin doi
termeni impari.
Se cere s se afieze pe ecran mesajul DA dac irul aflat n fiier are un subir ordonat
strict cresctor, format din toi termenii impari ai si, i un subir ordonat strict
descresctor, format din toi termenii pari ai si. Dac nu exist dou astfel de subiruri,
programul afieaz pe ecran mesajul NU. Pentru verificarea proprietii cerute utilizai un
algoritm eficient din punctul de vedere al timpului de executare i al memoriei necesare.
Exemplu: dac fiierul conine numerele
8 1 6 3 5 4 7
se afieaz pe ecran mesajul
DA
iar dac fiierul conine numerele
2 1 6 3 5 4 7
se afieaz pe ecran mesajul
NU
a) Descriei n limbaj natural algoritmul utilizat, justificnd eficiena acestuia.
(4p.)
b) Scriei programul C/C++ corespunztor algoritmului descris.
(6p.)