8/19/2019 Bilete Atestat Informatica_rezolvari C
1/33
Judetul DAMBOVITA Atestat profesional la Informatica
BILETELE
pentru susţinerea probei practice în vederea obţinerii atestatului profesional la informatică
OBS:
Subiectul nr.1 se reolva in unul din mediile impuse de cerinte!"ord# E$cel# %o&er%oint#"indo&sE$plorer etc.'
Subiectul nr.( se poate reolva in oricare din urmatoarele: )o$%ro# *isual)o$# +ccess# Oracle
Subiectul nr., se poate reolva in oricare din urmatoarele limba-e: %ascal# # //
1
8/19/2019 Bilete Atestat Informatica_rezolvari C
2/33
Judetul DAMBOVITA Atestat profesional la InformaticaBiletul nr. 1
3. De la tastatură se citeşte un număr natural n, n
8/19/2019 Bilete Atestat Informatica_rezolvari C
3/33
Judetul DAMBOVITA Atestat profesional la Informatica
Biletul nr.(
3. (n număr este superprim dacă numărul şi toate prefixele sale sunt numere prime. Să se generezeprimele n numere superprime. #xemplu &33) este superprim pentru ca &33), &33, &3 şi & sunt numereprime.
#include
//nr superprime
lon' n
int prim (lon' n)
{if (n
8/19/2019 Bilete Atestat Informatica_rezolvari C
4/33
Judetul DAMBOVITA Atestat profesional la Informatica
Biletul nr.,
3. Scrieţi un program care calculează media aritmetică a tuturor numerelor palindrom din intervalul *a,+,unde a şi + sunt numere naturale citite de la tastatură, a=0 ++ n
8/19/2019 Bilete Atestat Informatica_rezolvari C
5/33
Judetul DAMBOVITA Atestat profesional la Informatica
Biletul nr.0
3. Se citeşte de la tastatură un şir de n numere naturale de maxim ) cifre *n-)
for (int i=1 i>&i
for (i=1 i
8/19/2019 Bilete Atestat Informatica_rezolvari C
6/33
Judetul DAMBOVITA Atestat profesional la Informatica
Biletul nr.
3. Să se verifice dacă elementele unui ta+lou unidimensional cu n elemente numere naturale de maxim& cifre, reprezintă o mulţime *în sensul cunoscut de la matematică, adică numerele din ta+lou suntdistincte două cte două. Dacă nu, să se transforme acest ta+lou în mod corespunzător.
#xemplu pentru n$%& şi v$*%,&,)0,2,&,%,',%,&0,%3,&,3 nu este mulţime. -rin transformare acestuia înmulţime *se elimină elementele care apar de mai multe ori şi se ordonează şirul se o+ţine v$*%,&,3,2,',%3,%,&0,)0.
#include
&oid main ()
{int n
coutn
int &100, i
for (i=1 i>&ii=1
int n1=n, o2
hile (i
8/19/2019 Bilete Atestat Informatica_rezolvari C
7/33
Judetul DAMBOVITA Atestat profesional la Informatica
Biletul nr.2
3. Se consideră un ta+lou +idimensional cu n linii şi m coloane *n, m
8/19/2019 Bilete Atestat Informatica_rezolvari C
8/33
Judetul DAMBOVITA Atestat profesional la InformaticaBiletul nr.3
3. De la tastatură se citeşte un cuvnt de maxim %' caractere. Să se construiască toate prefixele şi sufixelecuvntului dat. Datele de ieşire se scriu în fişierul out.txt astfel ! pe prima linie cuvntul citit de la tastatură"! pe a doua linie toate prefixele cuvntului, unul după altul, în ordinea generării, separate de un caracter spaţiu"
! pe a treia linie toate sufixele cuvntului, unul după altul, în ordinea generării, separate de un caracter spaţiu.#xemplu pentru cuvntul -5S/56, fişierul out.txt conţine -5S/56- -5 -5S -5S/ -5S/5 -5S/566 56 /56 S/56 5S/56 -5S/56
#include
#include
8/19/2019 Bilete Atestat Informatica_rezolvari C
9/33
Judetul DAMBOVITA Atestat profesional la InformaticaBiletul nr.4
3. Se consideră un ta+lou +idimensional cu n linii şi m coloane *n, m >n>>m
for (i=1 iai3
fin.close()
//suma pe linii
int sl
for (i=1 i
8/19/2019 Bilete Atestat Informatica_rezolvari C
10/33
Judetul DAMBOVITA Atestat profesional la Informatica
Biletul nr.5
3. /erinţea Scrieţi un su+program care primeşte la intrare un număr natural dat, n, de maxim ) cifre, şi întoarcesuma cifrelor acestui număr.+ Să se utilizeze acest su+program pentru a calcula suma cifrelor numărului o+ţinut în urma efectuării
sumeix...*!16 +++=
, unde x este un număr natural citit de la tastatură.#include
//a
lon' n
int s7cif (lon' n)
{int s=0
hile (n!=0)
{s=n$10 n/=10
%
return s
%
//
&oid main ()
{lon' x
coutx
cout
8/19/2019 Bilete Atestat Informatica_rezolvari C
11/33
Judetul DAMBOVITA Atestat profesional la Informatica
Biletul nr.16
3. 8 matrice cu p linii şi 9 coloane se completează cu numere întregi citite de la tastatură. Să seintersc:im+e elementele coloanelor x şi ; *x şi ; sunt numere naturale citite de la tastatură. Dacămatricea este pătrată să se verifice dacă elementele de pe diagonala principală sunt ordonate crescător.
#include
int p, 8, a100100, x, 9, i, 3
&oid schima (int x, int 9)
{int aux
for (i=1 i
8/19/2019 Bilete Atestat Informatica_rezolvari C
12/33
Judetul DAMBOVITA Atestat profesional la Informatica
Biletul nr.11
3. /erintea Să se scrie un su+program recursiv care primeşte la intrare două numere naturale a şi + şi întoarce
valoarea
a .+ Să se utilizeze su+programul pentru calculul valorii expresiei 2 *!1
2 *!1
8...888
p... p p p)2 ,8, p(4
⋅⋅⋅⋅
++++= , unde
p, 9 şi sunt numere naturale citite de la tastatură.
#include
int a,
lon' put (int a, int )
{if (==0) return 1
else return a " put(a, 1)
%
&oid main ()
{int p, 8, 2
coutp
cout8
cout2
lon' s1=0, p1=1
for (int i=1 i
8/19/2019 Bilete Atestat Informatica_rezolvari C
13/33
Judetul DAMBOVITA Atestat profesional la Informatica
Biletul nr.1(
3. /erintea Să se scrie un su+program care calculează termenul de ordinul al şirului =i+onacci.+ Să se utilizeze acest su+program pentru a calcula suma )n(fi...):(fi)*(fi)1(fi6 ++++= , unde
n se citeşte de la tastatură şi este impar.
>ermenul de ordinul al şirului se defineşte astfel
>−+−
=
=
=
!2 pentru)!2 (f )12 (f
!2 pentru1
12 pentru1
)2 (f
#include
lon' fi (int 2)
{if ( (2==1) ;; (2==)) return 1
else return (fi (21)fi (2))
%
&oid main ()
{int n, i
do {coutn% hile (n$==0)
lon' s=0
for (i=1 i
8/19/2019 Bilete Atestat Informatica_rezolvari C
14/33
Judetul DAMBOVITA Atestat profesional la InformaticaBiletul nr.1,
3. =işierul text in.txt conţine mai multe linii, pe fiecare linie fiind memorat un număr natural de o cifră./onsidernd că aceste numere sunt cifrele unui număr natural, să se determine acest număr. Să seadauge acest număr la sfrşitul fişierului in.txt.
#include
ifstream fin (in.txt)
fstream f (in.txt, iosapp)
&oid main ()
{int n=0, c
hile (fin>>c) n=n"10c
fin.close()
f
8/19/2019 Bilete Atestat Informatica_rezolvari C
15/33
Judetul DAMBOVITA Atestat profesional la InformaticaBiletul nr. 10
3. =işierul text in.txt conţine mai multe linii, pe fiecare linie fiind memorat un număr natural de maxim 2cifre. Să se calculeze suma numerelor care sunt neprime. Să se adauge la sfrşitul fişierului in.txt încă olinie care conţine această sumă.
#include
ifstream fin (in.txt)
fstream f (in.txt, iosapp)
int prim (int n)
{if (n
8/19/2019 Bilete Atestat Informatica_rezolvari C
16/33
Judetul DAMBOVITA Atestat profesional la InformaticaBiletul nr. 1
3. Se consideră o matrice a cu m linii şi n coloane *m, n
8/19/2019 Bilete Atestat Informatica_rezolvari C
17/33
Judetul DAMBOVITA Atestat profesional la InformaticaBiletul nr. 12
3. Se consideră o ta+lă de şa: de 7x7 pătrăţele. >a+la se completează cu numerele de la % la 2 pe linii, începnd cu prima linie. Să se afişeze ta+la de şa:. Să se calculeze suma numerelor din pătrăţelele negre,respectiv suma numerelor din pătrăţelele al+e. -ătrăţelul din colţul stnga sus are culoarea al+.
#include &oid main ()
{int i, 3, s=1, a1010
for (i=1 i
8/19/2019 Bilete Atestat Informatica_rezolvari C
18/33
Judetul DAMBOVITA Atestat profesional la InformaticaBiletul nr. 13
3. Determinaţi toate şirurile de numere de lungime n, nn)
{for (i=1 i
8/19/2019 Bilete Atestat Informatica_rezolvari C
19/33
Judetul DAMBOVITA Atestat profesional la Informatica
Biletul nr. 14
3. De la tastatură se citeşte un număr natural n, n
8/19/2019 Bilete Atestat Informatica_rezolvari C
20/33
Judetul DAMBOVITA Atestat profesional la Informatica
Biletul nr. 15
3. De la tastatură se citesc elementele a două mulţimi 5 şi @, cu p, respectiv 9 elemente, elementelefiecărei mulţimi fiind distincte două cte două *p, 9 ai
cout8
for (i=1 i>i
cout
8/19/2019 Bilete Atestat Informatica_rezolvari C
21/33
Judetul DAMBOVITA Atestat profesional la Informatica
Biletul nr. (6
3. De la tastatură se citesc pe n caractere din mulţimea %-,..,!,1,0,,,,,,,,,,,,{ F E DC B A f ed cba ./aracterele citite reprezintă un număr natural reprezentat în +aza %. Să se determine valoarea acestuinumăr în +aza %0.
#include
&oid main ()
{int n, i, &al, nr=0
char c
coutn
for (i=1 i>c
if (c>=CaC ++ c=CAC ++ c
8/19/2019 Bilete Atestat Informatica_rezolvari C
22/33
Judetul DAMBOVITA Atestat profesional la InformaticaBiletul nr. (1
3. =işierul text date.txt memorează un graf neorientat *cu n noduri şi m muc:ii şi are următoareastructură ! pe prima linie & numere naturale *n şi m separate prin cel puţin un caracter spaţiu"! pe următoarele m linii cte & numere naturale din mulţimea %n,...,!,1{ " fiecare perec:e de & numere
naturale reprezintă nodurile adiacente ale fiecăreia dintre cele m muc:ii.Să se construiască matricea de adiacenţe a grafului şi apoi, folosind!o, să se afişeze lista de adiacenţăasociată grafului.
#include
&oid main ()
{ifstream fin (date.txt)
int m, n, i, 3, a1100100, a,
fin>>n>>m
for (i=1 i>
a1a=1 a1a=1
%
for (i=1 i
8/19/2019 Bilete Atestat Informatica_rezolvari C
23/33
Judetul DAMBOVITA Atestat profesional la InformaticaBiletul nr. ((
3. Se consideră un vector de dimensiune !0 p ≤ , completat cu numere întregi. #lementele vectorului secitesc de la tastatură astfel înct vectorul să fie ordonat descrescător. =olosind algoritmul de căutare+inară să se verifice dacă un număr întreg dat x, citit de la tastatură, se află printre elementele
vectorului.#include
//cautare inara &ector ordonat crescator
&oid main ()
{int p1, a, 2=1, x
cin>>a p1=a
cin>>a
hile (p2>=a)
{p21=a
2 cin>>a
%
coutx
int inf=1, sup=2, 'asit=0
hile ((infp(infsup1)/) sup=(infsup1)/
else inf=(infsup1)/
%
%if ('asit==1) cout
8/19/2019 Bilete Atestat Informatica_rezolvari C
24/33
Judetul DAMBOVITA Atestat profesional la Informatica
Biletul nr. (,
3. =işierul text date.txt memorează un graf neorientat *cu n noduri şi m muc:ii şi are următoareastructură ! pe prima linie & numere naturale *n şi m separate prin cel puţin un caracter spaţiu"
! pe următoarele m linii cte & numere naturale din mulţimea %n,...,!,1{ " fiecare perec:e de & numerenaturale reprezintă nodurile adiacente ale fiecăreia dintre cele m muc:ii.Se cere să se afişeze matricea de adiacenţă a su+grafului o+ţinut prin eliminarea nodurilor x şi ; *x şi ;se citesc de la tastatură şi sunt mai mici sau egale cu n.
#include
&oid main ()
{int m, n, a1, 1, i, 3, a100100, x, 9
ifstream fin (date.txt)
fin>>n>>m
for (i=1 i>1
aa11=1
a1a1=1
%
fin.close()
coutx
cout9
for (i=1 i
8/19/2019 Bilete Atestat Informatica_rezolvari C
25/33
Judetul DAMBOVITA Atestat profesional la Informatica
Biletul nr. (0
3. =ie cele 4 note muzicale D8, A#, BC, =5, S86, 65, SC. /itim de la tastatura o valoare naturala n, ncuprins între % şi 4. Determinaţi şi afişaţi toate melodiile de n note care se pot forma cu aceste note
muzicale, avnd în vedere ca perec:ile de note *D8,SC şi *BC,=5 să nu fie alăturate.#include
int n, &, u
&oid ac2 (int 2)
{if (2>n)
{for (int 3=1 3
8/19/2019 Bilete Atestat Informatica_rezolvari C
26/33
Judetul DAMBOVITA Atestat profesional la Informatica
&oid main ()
{do {coutn% hile (n>K)
ac2 (1)
%
26
8/19/2019 Bilete Atestat Informatica_rezolvari C
27/33
Judetul DAMBOVITA Atestat profesional la Informatica
Biletul nr. (
3. -entru un elev se reţin următoarele date numele, vrsta, media generală. Să se construiască o listăliniară care reţine informaţii despre n elevi. Să se afişeze numele elevilor care au vrsta mai mare de %4ani şi sunt corigenţi. (n elev este corigent dacă are media generală mai mică dect '. -entru
implementarea listei se poate folosi alocarea statică sau alocarea dinamică, la alegere.#include
struct ele&
{char nume:0
int &arsta
float media%
ele& &100
int n
&oid main ()
{coutnfor (int i=1 i
8/19/2019 Bilete Atestat Informatica_rezolvari C
28/33
Judetul DAMBOVITA Atestat profesional la Informatica
Biletul nr. (2
3. -entru un elev se reţin următoarele date numele, vrsta, media generală. Să se construiască o listăliniară care reţine informaţii despre n elevi. Să se şteargă din listă elementele care conţin informaţiidespre elevii corigenţi. Să se afişeze noua listă şi să se determine cte elemente are. (n elev estecorigent dacă are media generală mai mică dect '. -entru implementarea listei se poate folosi alocarea
statică sau alocarea dinamică, la alegere.#include
struct ele&
{char nume:0
int &arsta
float media%
ele& &100
int n
&oid main ()
{coutnfor (int i=1 i
8/19/2019 Bilete Atestat Informatica_rezolvari C
29/33
Judetul DAMBOVITA Atestat profesional la Informatica
Biletul nr. (3
3. =işierul in.txt conţine pe o singură linie mai multe numere întregi *maxim %00 de numere separateprintr!un caracter spaţiu. Se presupune că numerele sunt distincte, un număr neapărnd de două ori, iar în fişier sunt cel puţin două numere. Să se calculeze suma numerelor cuprinse între maximul şi minimul
acestora, inclusiv.#xemplu Dacă fişierul in.txt conţine numerele 3, 4, ((, 2, %%, 7, 1, ), suma calculată este S$2*$&&121%%171%.Dacă fişierul in.txt conţine numerele &, ', 7,, %0, 10, 4, , suma calculată este S$&% *$!31%01%2.
#include
&oid main ()
{ifstream fin(in.txt)
int i, &100, max, min, pmax, pmin, s=0, 2=1, a
fin>>&1
max=&1 min=&1 pmax=1 pmin=1
hile (fin>>a)
{2
&2=a
if (a>max)
{max=a pmax=2%
if (apmax)
{int aux=pmin pmin=pmax pmax=aux%for (i=pmin i
8/19/2019 Bilete Atestat Informatica_rezolvari C
30/33
Judetul DAMBOVITA Atestat profesional la Informatica
Biletul nr. (4
3. (n număr complex z$a1i+ este reţinut prin utilizarea structurii *înregistrăriistruct comple$ 8float a# b99 t;pe comple$ < record a# b:real9 end9
Să se calculeze si afişeze suma numerelor complexe, citite din fişierul complex.txt. -e fiecare linie dinfişier sunt cate doua numere reale*partea reala si imaginara a unui număr complex separate de cate unspaţiu.
#include
struct complex {float a, % &100
float x=0, 9=0
&oid main ()
{ifstream fin (complex.txt)
float a1, 1
int n=1
hile (fin>>&n.a>>&n.) {x=&n.a 9=&n. n%
fin.close()
cout
8/19/2019 Bilete Atestat Informatica_rezolvari C
31/33
Judetul DAMBOVITA Atestat profesional la Informatica
Biletul nr. (5
3. (n vector de dimensiune !0 p ≤ este completat cu numere întregi citite de la tastatură. Să secalculeze media aritmetică a elementelor vectorului care sunt numere cuprinse între a şi +,
inclusiv, şi sunt multiple de . umerele întregi a, + şi se citesc de la tastatură.#include
&oid main ()
{int a, 2, , p, i, &1, s=0, nr=0
do {coutp% hile (p>0)
for (i=1 i>&i
couta
cout
if (a>)
{int aux=a a= =aux%
cout2for (i=1 i
8/19/2019 Bilete Atestat Informatica_rezolvari C
32/33
Judetul DAMBOVITA Atestat profesional la Informatica
Biletul nr. ,6
3. De la tastatură se citesc elementele a două mulţimi 5 şi @, , cu p, respectiv 9 elemente, elementelefiecărei mulţimi fiind distincte două cte două *p, 9
8/19/2019 Bilete Atestat Informatica_rezolvari C
33/33
Judetul DAMBOVITA Atestat profesional la Informatica