Sunteți pe pagina 1din 12

SUBIECTE PROBA PRACTIC PENTRU

EXAMENUL DE ATESTAT PROFESIONAL LA INFORMATIC, 2015


PROGRAMARE
(Subiecte propuse de prof. TAKACS FERENCZ ZOLTAN Licelul Pedagogic Regele Ferdinand,
Sighetu Marmaiei

SPECIALIZAREA MATEMATIC INFORMATIC


Subiectul nr. 1
Fiierul atestat.in conine dou linii. Pe prima linie este scris un numr natural nenul n,
(5<n<10). Pe cea de-a doua linie a fiierului sunt scrise n numere ntregi separate prin cte un
spaiu, formate fiecare din cel mult 4 cifre, reprezentnd un ir de n ntregi .
S se scrie un program n limbajul Pascal/C/C++, care:
a) s afieze pe ecran, n linie, valorile absolute ale numerelor din ir, separate prin cte un
spaiu;
b) s afieze pe ecran, n linie, numrul de divizori pozitivi proprii pentru fiecare numr din ir,
separai prin cte un spaiu;
c) s scrie n fiierul atestat.out, pe prima linie, toate numerele impare din ir, n ordine
cresctoare, separate prin cte un spaiu.
Not: Programul va conine cel puin un subprogram definit de utilizator.
Exemplu:
atestat.in
6
12

-14

Date de ieire:
-7

15

27

a)
b)

12
4

14
2

7
0

15
2

27
2

5
0

Fiierul atestat.out conine:


c)

-7

15

27

Subiectul nr. 2
Fiierul atestat.in conine dou linii. Pe prima linie este scris un numr natural nenul n,
(5<n<10). Pe cea de-a doua linie a fiierului sunt scrise n numere ntregi separate prin cte un
spaiu, formate fiecare din cel mult 4 cifre, reprezentnd un ir de n numere ntregi.
S se scrie un program n limbajul Pascal/C/C++, care:
a) s afieze pe ecran, n linie, valorile absolute ale numerelor din ir, separate prin cte un
spaiu;
b) s afieze pe ecran, n linie, numrul de divizori pozitivi pentru fiecare numr din ir
(numerele afiate se vor separa prin cte un spaiu);
c) s scrie n fiierul atestat.out, pe prima linie, toate numerele pare din ir, n ordine
descresctoare, separate prin cte un spaiu.
Not: Programul va conine cel puin un subprogram definit de utilizator.
Exemplu:
atestat.in
6
12

-9

Date de ieire:
7

-14

27

a)
b)

12
6

9
3

7
2

14
4

27
4

5
2

Fiierul atestat.out conine:


c)

12

-14

Subiectul nr. 3
Fiierul atestat.in conine dou linii. Pe prima linie este scris un numr natural nenul n,
(5<n<30). Pe cea de-a doua linie a fiierului sunt scrise n numere naturale separate prin cte un
spaiu, formate fiecare din cel mult 9 cifre, reprezentnd un ir de n numere naturale.
S se scrie un program n limbajul Pascal/C/C++, care:
a) s afieze pe ecran, n linie, numerele din ir, separate prin cte un spaiu;
b) s afieze pe ecran, pe linii diferite, cel mai mic numr a i cel mai mare numr b din irul
dat;
c) s scrie n fiierul atestat.out cel mai mare divizor comun al numerelor a i b,
determinate la punctul b).
Not: Programul va conine cel puin un subprogram definit de utilizator.
Exemplu:
atestat.in
6
123

55

Date de ieire:
372

3465

242

44

a)
b)

123
44
3465

55

372

3465

242

44

Fiierul atestat.out conine:


c)

11

Subiectul nr. 4
Fiierul atestat.in conine dou linii. Pe prima linie este scris un numr natural nenul n,
(5<n<30). Pe cea de-a doua linie a fiierului sunt scrise n numere naturale separate prin cte un
spaiu, formate fiecare din cel mult 9 cifre, reprezentnd un ir de n numere naturale.
S se scrie un program n limbajul Pascal/C/C++, care:
a) s afieze pe ecran, n linie, toate numerele din ir, separate prin cte un spaiu;
b) s afieze pe ecran, n linie, toate numerele din ir formate numai din cifre pare (dac nu
exist astfel de numere n ir se va afia mesajul NU EXIST NUMERE NUMAI CU CIFRE
PARE);
c) s citeasc de la tastatur dou numere naturale nenule p1 i p2 (1<p1<p2<n), s
ordoneze descresctor numerele din ir situate ntre poziiile p1 i p2, inclusiv, i s scrie
noul ir n fiierul atestat.out, pe o linie, numerele separndu-se prin cte un spaiu.
Not: Programul va conine cel puin un subprogram definit de utilizator.
Exemplu: de la tastatur se citesc: p1=2 i p2=4
atestat.in
6
1233

22

Date de ieire:
1785

56

15657

457

a)
b)

1233
22

22

1785

56

15657

457

15657

457

Fiierul atestat.out conine:


c)

1233

1785

56

22

Subiectul nr. 5
Fiierul atestat.in conine dou linii. Pe prima linie este scris un numr natural nenul n,
(5<n<30). Pe cea de-a doua linie a fiierului sunt scrise n numere reale separate prin cte un
spaiu, reprezentnd un ir de n numere reale.
S se scrie un program n limbajul Pascal/C/C++, care:
a) s afieze pe ecran, n linie, toate numerele din ir, separate prin cte un spaiu;
b) s afieze pe urmtoarea linie a ecranului, media aritmetic a numerelor negative din ir,
cu o precizie de 2 zecimale (dac irul nu conine numere negative se va afia 0);
c) s citeasc de la tastatur dou numere naturale nenule p1 i p2 (1<p1<p2<n), s
ordoneze cresctor numerele din ir situate ntre poziiile p1 i p2, inclusiv, i s scrie noul
ir n fiierul atestat.out, pe o linie, numerele separndu-se prin cte un spaiu.

Not: Programul va conine cel puin un subprogram definit de utilizator.


Exemplu: de la tastatur se citesc: p1=2 i p2=4
atestat.in
6
-56.765

Date de ieire:

2.3

4.56

-1.2

-1.8

a)
b)

-56.765
-19.92

2.3

4.56

-1.2

-1.8

-1.8

Fiierul atestat.out conine:


c)

-56.765

-1.2

2.3

4.56

Subiectul nr. 6
Fiierul atestat.in conine dou linii. Pe prima linie este scris un numr natural nenul n,
(5<n<30). Pe cea de-a doua linie a fiierului sunt scrise n numere naturale separate prin cte un
spaiu, formate fiecare din cel mult 4 cifre, reprezentnd un ir de n numere naturale distincte.
S se scrie un program n limbajul Pascal/C/C++, care:
a) s afieze pe ecran, n linie, toate numerele din ir, separate prin cte un spaiu;
b) s afieze pe ecran, pe linii diferite, cel mai mic numr din ir i poziia acestuia;
c) s scrie n fiierul atestat.out, pe o linie, separate prin cte un spaiu, toate numerele
perfecte din irul dat (dac nu exist astfel de numere, se va se va afia mesajul NU
EXIST NUMERE PERFECTE). Un numr este perfect dac este egal cu suma divizorilor lui
pozitivi, exceptndu-l pe el nsui, de exemplu: 6 = 1+2+3.
Not: Programul va conine cel puin un subprogram definit de utilizator.
Exemplu:
atestat.in
6
28

11

Date de ieire:
81

496

100

a)
b)

28
6
5

11

81

496

100

Fiierul atestat.out conine:


c)

28

496

Subiectul nr. 7
Fiierul atestat.in conine dou linii. Pe prima linie este scris un numr natural nenul n,
(5<n<30). Pe cea de-a doua linie a fiierului sunt scrise n numere naturale separate prin cte un
spaiu, formate fiecare din cel mult 4 cifre, reprezentnd un ir de n numere naturale distincte.
S se scrie un program n limbajul Pascal/C/C++, care:
a) s afieze pe ecran, n linie, toate numerele din ir, separate prin cte un spaiu;
b) s afieze pe ecran, pe linii diferite, cel mai mare numr din ir i poziia acestuia;
c) s scrie n fiierul atestat.out, pe o linie, separate prin cte un spaiu, numerele
supraperfecte din irul dat (dac nu exist astfel de numere, se va se va afia mesajul NU
EXIST NUMERE SUPRAPERFECTE). Un numr este supraperfect dac este mai mic dect
suma divizorilor lui pozitivi, exceptndu-l pe el nsui, de exemplu: 12<1+2+3+4+6.
Not: Programul va conine cel puin un subprogram definit de utilizator.
Exemplu:
atestat.in
6
22

12

Date de ieire:
121

20

18

13

a)
b)
c)

22
121
3

12

121

20

18

13

Fiierul atestat.out conine:


12

20

18

Subiectul nr. 8
Fiierul atestat.in conine dou linii. Pe prima linie este scris un numr natural nenul n,
(5<n<30). Pe cea de-a doua linie a fiierului sunt scrise n numere naturale separate prin cte un
spaiu, formate fiecare din cel mult 4 cifre, reprezentnd un ir de n numere naturale. irul conine
cel puin dou numere pare.
S se scrie un program n limbajul Pascal/C/C++, care:
a) s afieze pe ecran, n linie, toate numerele din ir, separate prin cte un spaiu;
b) s afieze pe urmtoarea linie a ecranului, media aritmetic a tuturor numerelor pare din ir
;
c) s scrie n fiierul atestat.out, pe o linie, separate prin cte un spaiu, numerele de tip
palindrom din irul dat (dac nu exist astfel de numere, se va afia mesajul NU EXIST
NUMERE PALINDROM). Un numr este palindrom dac numrul citit de la stnga la
dreapta este egal cu numrul citit de la dreapta la stnga, de exemplu: 33, 141, 2552.
Not: Programul va conine cel puin un subprogram definit de utilizator.
Exemplu:
atestat.in
6
2552

56

Date de ieire:
32

444

46

1221

a)
b)

2552
626

56

32

444

46

1221

Fiierul atestat.out conine:


c)

2552

444

1221

Subiectul nr. 9
Fiierul atestat.in conine dou linii. Pe prima linie este scris un numr natural nenul n,
(5<n<30). Pe cea de-a doua linie a fiierului sunt scrise n numere naturale separate prin cte un
spaiu, formate fiecare din cel mult 4 cifre, reprezentnd un ir de n numere naturale. irul conine
cel puin dou numere impare.
S se scrie un program n limbajul Pascal/C/C++, care:
a) s afieze pe ecran, n linie, n ordinea invers citirii, toate numerele din ir, separate prin
cte un spaiu;
b) s afieze pe ecran, n linie, numrul de cifre din care este format fiecare numr din irul
iniial, numerele din linie separndu-se prin cte un spaiu;
c) s scrie n fiierul atestat.out, pe prima linie, suma tuturor numerelor impare din ir.
Not: Programul va conine cel puin un subprogram util definit de utilizator.
Exemplu:
atestat.in
6
13

555

Date de ieire:
71

242

1001

a)
b)

1001
2

242
3

2
2

71
1

555
3

13
4

Fiierul atestat.out conine:


C)

1640

Subiectul nr. 10
Fiierul atestat.in conine dou linii. Pe prima linie este scris un numr natural nenul n,
(5<n<30). Pe cea de-a doua linie a fiierului sunt scrise n numere ntregi separate prin cte un
spaiu, formate fiecare din cel mult 4 cifre, reprezentnd un ir de n numere ntregi.
S se scrie un program n limbajul Pascal/C/C++, care:
a) s afieze pe ecran, n linie, n ordinea invers citirii, toate numerele din ir, separate prin
cte un spaiu;

b) s afieze pe ecran, n linie, separate prin cte un spaiu, toate numerele prime din ir
(dac nu exist numere prime n ir, se va afia pe ecran un rspuns corespunztor);
c) s scrie n fiierul atestat.out, pe prima linie, suma tuturor numerelor pozitive din ir
(dac nu exist numere pozitive n ir se va scrie n fiierul atestat.out un mesaj
corespunztor) .
Not: Programul va conine cel puin un subprogram definit de utilizator.
Exemplu:
atestat.in
6
1234

-555

Date de ieire:
41

-2

-242

11

a)
b)

11
41

-242
-2

-2
11

41

-555

1234

Fiierul atestat.out conine:


c)

1286

Subiectul nr. 11
Fiierul atestat.in conine pe prima linie numrul n, natural nenul (2<n<20), ce reprezint
numrul de linii ale unei matrice ptratice A. Pe fiecare din urmtoarele n linii, sunt scrise cte n
numere naturale, formate din exact 2 cifre fiecare, separate prin cte un spaiu, reprezentnd
valorile elementelor matricei ptratice A.
S se scrie un program, n limbajul Pascal/C/C++, care:
a) s afieze pe ecran elementele matricei A, linie cu linie, elementele de pe aceeai linie fiind
separate prin cte un spaiu;
b) s modifice matricea A astfel nct toate elementele situate pe diagonala principal s aib
valoarea 22 i s se afieze matricea rezultat pe ecran;
c) s se scrie n fiierul atestat.out, pe prima linie, separate prin cte un spaiu, toate
toate numerele prime din matricea modificat. Dac nu exist se va scrie pe prima linie a
fiierului mesajul NU EXIST NUMERE PRIME.
Not: Programul va conine cel puin un subprogram definit de utilizator.
Exemplu:
atestat.in
3
12
35
41

31
67
18

Date de ieire:
24
10
97

a)

12
35
41

31
67
18

24
10
97

b)

22
35
41

31
22
18

24
10
22

Fiierul atestat.out conine:


c)

31 41

Subiectul nr. 12
Fiierul atestat.in conine pe prima linie numrul n, natural nenul (2<n<20), ce reprezint
numrul de linii ale unei matrice ptratice A. Pe fiecare din urmtoarele n linii, sunt scrise cte n
numere naturale, formate din exact 2 cifre fiecare, separate prin cte un spaiu, reprezentnd
valorile elementelor matricei ptratice A.
S se scrie un program, n limbajul Pascal/C/C++, care:
a) s afieze pe ecran elementele matricei A, linie cu linie, elementele de pe aceeai linie fiind
separate prin cte un spaiu;

b) s afieze pe urmtoarea linie a ecranului, ultima cifr a produsului tuturor elementelor


matricei A situate sub diagonala principal;
c) s scrie n fiierul atestat.out, pe prima linie, separate prin cte un spaiu, toate
numerele de tip palindrom din matricea A. Un numr este palindrom dac numrul citit de
la stnga la dreapta este egal cu numrul citit de la dreapta la stnga, de exemplu: 11, 22,
33. Dac nu exist astfel de numere se va scrie pe prima linie a fiierului mesajul NU
EXIST NUMERE PALINDROM. Not: Programul va conine cel puin un subprogram definit
de utilizator.

Date de ieire:

Exemplu:atestat.in
3
15
10
12

20
21
40

37
44
15

a)

15
10
12

b)

20
21
40

37
44
15

Fiierul atestat.out conine:


c)

44

Subiectul nr. 13
Fiierul atestat.in conine pe prima linie numrul n, natural nenul (2<n<20), ce reprezint
numrul de linii ale unei matrice ptratice A. Pe fiecare din urmtoarele n linii, sunt scrise cte n
numere naturale, formate din cel mult 4 cifre fiecare, separate prin cte un spaiu, reprezentnd
valorile elementelor matricei ptratice A.
S se scrie un program, n limbajul Pascal/C/C++, care:
a) s afieze pe ecran elementele matricei A, linie cu linie, elementele de pe aceeai linie fiind
separate prin cte un spaiu;
b) s afieze pe urmtoarea linie a ecranului suma elementelor matricei A situate pe
diagonala secundar;
c) s scrie n fiierul atestat.out, pe prima linie, separate prin cte un spaiu, toate
numerele perfecte din matricea A. Un numr este perfect dac este egal cu suma
divizorilor lui pozitivi, exceptndu-l pe el nsui, de exemplu: 28=1+2+4+7+14. Dac exist
mai multe astfel de numere, se va afia unul singur, oricare dintre ele, altfel, dac nu exist,
se va scrie pe prima linie a fiierului mesajul NU EXIST NUMERE PERFECTE.
Not: Programul va conine cel puin un subprogram definit de utilizator.
Exemplu:
atestat.in
3
12
35
28

31
67
18

Date de ieire:
24
10
97

a)

12
35
28

b)

119

31
67
18

24
10
97

Fiierul atestat.out conine:


c)

28

Subiectul nr. 14
Fiierul atestat.in conine pe prima linie numrul n, natural nenul (2<n<20), ce reprezint
numrul de linii ale unei matrice ptratice A. Pe fiecare din urmtoarele n linii, sunt scrise cte n
numere naturale, formate din cel mult 9 cifre fiecare, separate prin cte un spaiu, reprezentnd
valorile elementelor matricei ptratice A.
S se scrie un program, n limbajul Pascal/C/C++, care:
a) s afieze pe ecran elementele matricei A, linie cu linie, elementele de pe aceeai linie fiind
separate prin cte un spaiu;

b) s modifice matricea A prin atribuirea valorii 2 tuturor elementelor situate pe ultima coloan
a matricei i apoi s afieze matricea rezultat pe ecran;
c) s scrie n fiierul atestat.out, pe prima linie, separate prin cte un spaiu, toate
ptratele perfecte din matricea A. Un numr natural x este ptrat perfect dac exist un alt
numr natural y astfel nct x=y2, de exemplu 16 este ptrat perfect (42 =16). Dac nu
exist, astfel de numere se va scrie pe prima linie a fiierului mesajul NU EXIST
PTRATE PERFECTE.
Not: Programul va conine cel puin un subprogram definit de utilizator.
Exemplu:
atestat.in
3
8
35
5

36
67
311

Date de ieire:
101
10
7

a)

8
35
5

36
67
311

101
10
7

b)

8
35
5

36
67
311

2
2
2

Fiierul atestat.out conine:


c)

36

Subiectul nr. 15
Fiierul atestat.in conine pe prima linie numrul n, natural nenul (2<n<20), ce reprezint
numrul de linii ale unei matrice ptratice A. Pe fiecare din urmtoarele n linii, sunt scrise cte n
numere ntregi, formate din cel mult 9 cifre fiecare, separate prin cte un spaiu, reprezentnd
valorile elementelor matricei ptratice A.
S se scrie un program, n limbajul Pascal/C/C++, care:
a) s afieze pe ecran elementele matricei A, linie cu linie, elementele de pe aceeai linie
fiind separate prin cte un spaiu;
b) s citeasc de la tastatur un numr natural k de cel mult 9 cifre i s verifice dac
acesta se gsete n matricea A, afinduse pe ecran un mesaj corespunztor;
c) s modifice matricea A prin atribuirea valorii 0 tuturor elementelor situate pe ultima linie
a matricei i apoi s se scrie n fiierul atestat.out matricea rezultat, linie cu linie,
elementele de pe aceeai linie fiind separate prin cte un spaiu.
Not: Programul va conine cel puin un subprogram definit de utilizator.
Exemplu:
atestat.in
3
-1
13
5

311
-9
-92

Date de ieire:
234
67
4

Se citete de la tastatur k = 13

a)

-1
13
5

b)

DA

c)

Fiierul atestat.out conine:


-1
13
0

311
-9
-92

311
-9
0

234
67
4

234
67
0

Subiectul nr. 16
Fiierul atestat.in conine pe prima linie numrul n, natural nenul (2<n<20), ce reprezint
numrul de linii ale unei matrice ptratice A. Pe fiecare din urmtoarele n linii, sunt scrise cte n

numere ntregi, formate din cel mult 9 cifre fiecare, separate prin cte un spaiu, reprezentnd
valorile elementelor matricei ptratice A.
S se scrie un program, n limbajul Pascal/C/C++, care:
a) s afieze pe ecran elementele matricei A, linie cu linie, elementele de pe aceeai linie fiind
separate prin cte un spaiu;
b) s afieze pe urmtoarea linie a ecranului, suma tuturor elementelor pare din matricea A;
c) s citeasc de la tastatur un numr natural k (0<kn), s determine i s scrie pe prima
linie a fiierului atestat.out elementul minim de pe linia k a matricei A.
Not: Programul va conine cel puin un subprogram definit de utilizator.
Exemplu:
atestat.in
3
15
4
-19

266
23
-87

Date de ieire:
-9
56
111

a)

15
4
-19

266
23
-87

-9
56
111

b)

326

c)

Fiierul atestat.out conine:

Se citete de la tastatur k = 2
4

Subiectul nr. 17
Fiierul atestat.in conine pe prima linie numrul n, natural nenul (2<n<20), ce reprezint
numrul de linii i de coloane ale unei matrice, iar pe urmtoarele n linii cte n numere reale
separate prin cte un spaiu, reprezentnd elementele matricei.
S se scrie un program, n limbajul Pascal/C/C++, pentru:
a) s afieze pe ecran elementele matricei A, linie cu linie, elementele de pe aceeai linie
fiind separate prin cte un spaiu;
b) s afieze pe urmtoarea linie a ecranului, media aritmetic a elementelor de pe
diagonala principal;
c) s determine suma elementelor matricei situate pe linia k, unde k (0<kn) este un
numr natural citit de la tastatur i s scrie pe prima linie a fiierului atestat.out
valoarea acestei sume.
Not: Programul va conine cel puin un subprogram definit de utilizator.
Exemplu:
atestat.in
3
1.29
3.1
-9.9

Date de ieire:
a)

12.4
23.2
8.5

9.46
-5.6
-8.2

b)

Se citete de la tastatur k=2

1.29
3.1
-9.9

12.4
23.2
8.5

9.46
-5.6
-8.2

5.43

Fiierul atestat.out conine:


c)

20.7

Subiectul nr. 18
Fiierul atestat.in conine o singur linie pe care se afl scris un text format din cel mult 70
de caractere, primul caracter fiind liter, iar cuvintele din text sunt separate prin cte un spaiu.
Fiecare cuvnt este format doar din litere mari sau mici ale alfabetului limbii engleze.
S se scrie un program n limbajul Pascal/C/C++, care:
a) s afieze textul pe o singur linie a ecranului, numai cu litere mari;
b) s afieze pe urmtoarea linie a ecranului numrul de consoane din text;
c) s scrie n fiierul atestat.out, pe prima linie, numrul cuvintelor din text.
Not: Programul va conine cel puin un subprogram definit de utilizator.

Exemplu:
atestat.in

Creierul calculatorului este microprocesorul

Date de ieire:
- pe ecran :

a) CREIERUL CALCULATORULUI ESTE MICROPROCESORUL


b) 22

- atestat.out

c) 4

Subiectul nr. 19
Fiierul atestat.in conine o singur linie pe care se afl scris un text format din cel mult 70
de caractere, primul caracter fiind liter, iar cuvintele din text sunt separate prin cte un spaiu.
Fiecare cuvnt este format doar din litere mari sau mici ale alfabetului limbii engleze.
S se scrie un program, n limbajul Pascal/C/C++, care:
a) s afieze textul pe o singur linie a ecranului, numai cu litere mari;
b) s afieze pe urmtoarea linie a ecranului numrul de vocale din text;
c) s scrie n fiierul atestat.out, pe prima linie, numrul de cuvinte din textul iniial care
au primul caracter a.
Not: Programul va conine cel puin un subprogram definit de utilizator.
Exemplu:
atestat.in

Date de ieire:

Se face sus aerisirea unui cojoc

a) SE FACE SUS AERISIREA UNUI COJOC


b) 15

Fiierul atestat.out conine:


c) 1

Subiectul nr. 20
Fiierul atestat.in conine o singur linie pe care se afl scris un text format din cel mult 70
de caractere, primul caracter fiind liter, iar cuvintele din text sunt separate prin cte un spaiu.
Fiecare cuvnt este format doar din litere mari ale alfabetului limbii engleze.
S se scrie un program n limbajul Pascal/C/C++, care:
a) s afieze textul pe o singur linie a ecranului, numai cu litere mici;
b) s afieze pe urmtoarea linie a ecranului, numrul de cuvinte din care este format textul;
c) s citeasc de la tastatur o liter, s modifice fiecare cuvnt care ncepe cu litera M prin
nlocuirea acesteia cu litera citit de la tastatur i s scrie n fiierul atestat.out, pe
prima linie, textul modificat.
Not: Programul va conine cel puin un subprogram definit de utilizator.
Exemplu:
atestat.in

Date de ieire:

MARIA ARE UN MAR

a) maria are un mar


b) 4

Se citete de la tastatur litera D

Fiierul atestat.out conine:


c) DARIA ARE UN DAR

Subiectul nr. 21
Fiierul atestat.in conine o singur linie pe care se afl scris un text format din cel mult 70
de caractere, primul caracter fiind liter, iar cuvintele din text sunt separate prin cte un spaiu.
Fiecare cuvnt este format din litere mari sau mici ale alfabetului limbii engleze, sau din cifre.
S se scrie un program n limbajul Pascal/C/C++, care:
a) s afieze textul pe ecran, pe o singur linie, numai cu litere mici;
b) s afieze pe ecran, pe linii separate, toate cuvintele din textul iniial;
c) s scrie pe prima linie a fiierului atestat.out numrul cifrelor ntlnite n text.
Not: Programul va conine cel puin un subprogram definit de utilizator.
Exemplu:
atestat.in
Date de ieire:
a)
b)

atestat.out

c)

In CLASA sunt 25 de elevi din CARE 7 Fete


in clasa sunt 25 de elevi din care 7 fete
in
CLASA
sunt
25
de
elevi
din
CARE
7
Fete
3

Subiectul nr. 22
Fiierul atestat.in conine o singur linie pe care se afl scris un text format din cel mult 70
de caractere, primul i ultimul caracter fiind litere, iar cuvintele din text sunt separate prin cte un
spaiu. Fiecare cuvnt este format doar din litere mari sau mici ale alfabetului limbii engleze.
S se scrie un program, n limbajul Pascal/C/C++, care:
a) s afieze textul pe ecran, pe o singur linie, numai cu litere mari;
b) s afieze pe urmtoarea linie a ecranului textul iniial, fr spaii ntre cuvinte;
c) s scrie pe prima linie a fiierului atestat.out, separate prin cte un spaiu, ultimul
caracter al fiecrui cuvnt din textul iniial.
Not: Programul va conine cel puin un subprogram definit de utilizator.
Exemplu:
atestat.in
Memoria RAM este volatila

Date de ieire:
a) MEMORIA RAM ESTE VOLATILA
b) MemoriaRAMestevolatila

Fiierul atestat.out conine:


c) a M e a

Subiectul nr. 23
Fiierul atestat.in conine dou linii pe care sunt scrise cte trei numere naturale, separate
prin cte un spaiu, reprezentnd duratele a dou evenimente exprimate n: ore (h), minute (m) i
secunde (s).
S se scrie un program, n limbajul Pascal/C/C++, care:
a) s afieze pe cte o linie a ecranului duratele, n formatul h: m: s;

10

b) s afieze pe ecran, pe linii distincte, duratele exprimate n secunde, corespunztoare


fiecrui eveniment, pe rnduri separate;
c) s scrie n fiierul atestat.out suma obinut din adunarea duratelor celor dou
evenimente, exprimat n ore, minute, secunde, n formatul h: m: s.
Not: Programul va conine cel puin un subprogram definit de utilizator.
Se vor folosi structuri de date tip nregistrare.
Exemplu:
atestat.in
3
2

35
40

55
8

Date de ieire:
a)
b)

3: 35:
2: 40:
12955
9608

55
8

Fiierul atestat.out va conine:


c)

6:

16:

Subiectul nr. 24
Fiierul atestat.in conine pe prima linie numrul natural nenul n (2<n<10). Pe urmtoarele
n linii sunt scrise cte dou numere naturale nenule a i b, reprezentnd numrtorul (a) i
numitorul (b) unei fracii algebrice. Cele dou numere sunt separate printr-un spaiu.
S se scrie un program, n limbajul Pascal/C/C++, care:
a) s afieze pe ecran, pe aceeai linie, separate prin cte un spaiu, cele n fracii sub forma
a/b (numrtor/numitor);
b) s afieze pe urmtoarea linie a ecranului prima fracie cu numrtorul maxim;
c) s scrie pe prima linie a fiierului atestat.out, separate prin spaiu, toate fraciile
ireductibile ncepnd din a doua linie a fiierului atestat.in, sub forma a/b.
Not: Programul va conine cel puin un subprogram definit de utilizator.
Se vor folosi structuri de date tip nregistrare.
Exemplu:
atestat.in
6
2
5

3
4

7
9
1
2

4
10
5
8

Date de ieire:
a)
b)

2/3
9/10

5/4

7/4

9/10

1/5

2/8

Fiierul atestat.out va conine:


c)

2/3

5/4

7/4

9/10

1/5

Subiectul nr. 25
Fiierul atestat.in conine pe prima linie numrul natural nenul n (2<n<10). Pe fiecare
dintre urmtoarele n linii sunt scrise cte dou numere naturale x i y, separate printr-un spaiu,
reprezentnd coordonatele unui punct din planul xOy.
S se scrie un program, n limbajul Pascal/C/C++, care:
a) s afieze pe ecran punctele din planul xOy, cte unul pe linie, sub forma (x,y);
b) s afieze pe urmtoarea linie a ecranului numrul punctelor care sunt situate pe axa Ox;
c) s scrie n fiierul atestat.out, pe linii distincte, toate punctele din fiierul atestat.in
care au ambele coordonate pare, sub forma (x,y).
Not: Programul va conine cel puin un subprogram definit de utilizator.
Se vor folosi structuri de date tip nregistrare.

11

Exemplu:
atestat.in
8
0
1
3
2
2
0
6

0
2
0
2
3
4
8

Date de ieire:
a)

b)

( 0
( 1
( 3
( 2
( 2
( 0
( 6
( 5
Numarul

, 0 )
, 2 )
, 0 )
, 2 )
, 3 )
, 4 )
, 8 )
, 0 )
punctelor situate pe axa Ox este 3

Fiierul atestat.out va conine:


c)

(
(
(
(

0
2
0
6

,
,
,
,

0
2
4
8

)
)
)
)

12