Sunteți pe pagina 1din 14

Subiecte propuse pentru obinerea atestatului profesional n informatic - 2016

Programare, profilul matematic-informatic intensiv

Atestat 2016
Subiecte propuse pentru proba practic - Programare.
Subiectul nr.1
Fiierul date.in conine, pe prima linie, un numr natural n (n<100), iar pe fiecare din
urmtoarele n linii este scris cte un cuvnt format din cel mult 20de caractere.
Se consider subprogramul S1 care primete prin intermediul singurului su parametru s un cuvnt
i verific dac acesta este palindrom. Un cuvnt care poate fi citit de la stnga la dreapta i de la
dreapta la stnga reprezint acelai cuvnt este un palindrom, de exemplu: rar, potop.
Cerine:
a) Scriei definiia complet a subprogramului S1;
b) Scriei un program principal Pascal/C/C++ care, folosind apeluri utile ale subprogramului S1
citete numrul n i cele n cuvinte, apoi determin toate cuvintele de tip palindrom i le afieaz, cte
unul pe o linie a ecranului. Dac niciunul dintre cele n cuvinte citite nu este de tip palindrom, atunci
programul va afia pe ecran mesajul NU EXISTA.
6
Exemplu. Dac fiierul date.inare coninutul alturat, cojoc
programul va afia pe ecran:
iarna
ana
cojoc
primavara
ana
potop
potop
toamna

Subiectul nr.2
Fiierul numere.in conine, pe prima linie, un numr natural n (2<n<100) iar pe linia a doua n
numere cu cel mult 9 cifre fiecare.
Se consider subprogramul sub care primete prin intermediul parametrului x un numr natural i
returneaz valoarea 1 dac x aparine irului lui Fibonacci i 0 n caz contrar.
Cerine:
a) Scriei definiia complet a subprogramului sub;
b) Scriei un program Pascal/C/C++ care, folosind apeluri utile ale subprogramului sub citete
numrul n i cele n numere, apoi determin toate numerele care aparin irului lui Fibonacci i le
afieaz, separate prin cte un spaiu, pe ecran. Dac niciunul dintre cele n numere nu aparin irului
lui Fibonacci, atunci programul va afia pe ecran mesajul NU EXISTA.
irul lui Fibonacci, legea creterilor organice, se va considera aa cum a fost definit de ctre
Leonardo Fibonacci:1,1,2,3,5,8
Exemplu. Dac fiierul numere.in are coninutul
alturat, programul va afia pe ecran:
5 21 8 13

6
5 20 21 8 13 15

Subiecte propuse pentru obinerea atestatului profesional n informatic - 2016


Programare, profilul matematic-informatic intensiv
Subiectul nr.3
Fiierul numere.in conine, pe prima linie, un numr natural n cu cel mult 9 cifre.
Se consider subprogramul sub care primete prin intermediul parametrului x un numr natural i
returneaz cel mai mare termen din irul lui Fibonacci mai mic sau egal cu x.
Cerine:
a) Scriei definiia complet a subprogramului sub;
b) Scriei un program Pascal/C/C++ care, folosind apeluri utile ale subprogramului sub citete
numrul n i afieaz pe ecran, separate prin cte un spaiu, un numr minim de elemente care
aparin irului lui Fibonacci, a cror sum este egal cu numrul n.
irul lui Fibonacci, legea creterilor organice, se va considera aa cum a fost definit de ctre
Leonardo Fibonacci:1,1,2,3,5,8
Exemplu. Dac fiierul numere.in are coninutul
alturat, programul va afia pe ecran:

30

21 8 1

Subiectul nr.4
Fiierul numere.in conine, pe prima linie, un numr natural n (2<n<100) iar pe linia a doua n
numere cu cel mult 9 cifre fiecare.
Se consider subprogramul sub care primete prin intermediul parametrului x un numr natural i
returneaz valoarea 1 dac x este un numr prim i 0 n caz contrar.
Cerine:
a) Scriei definiia complet a subprogramului sub;
b) Scriei un program Pascal/C/C++ care, folosind apeluri utile ale subprogramului sub citete
numrul n i cele n numere, apoi determin toate numerele prime dintre cele citite i le afi eaz,
separate prin cte un spaiu, pe ecran. Dac niciunul dintre cele n numere nu este prim, atunci
programul va afia pe ecran mesajul NU EXISTA.
Exemplu. Dac fiierul numere.in are coninutul
alturat, programul va afia pe ecran:

6
5 20 21 8 13 15

5 13

Subiectul nr.5
Fiierul numere.in conine, pe prima linie, un numr natural n (2<n<100.
Se consider subprogramul sub care primete prin intermediul parametrului x un numr natural i
returneaz valoarea 1 dac x este un numr prim i 0 n caz contrar.
Cerine:
a) Scriei definiia complet a subprogramului sub;
b) Scriei un program Pascal/C/C++ care, folosind apeluri utile ale subprogramului sub citete
numrul n apoi determin i afieaz primele n numere prime i le afieaz, separate prin cte un
spaiu, pe ecran
5
Exemplu. Dac fiierul numere.in are coninutul

Subiecte propuse pentru obinerea atestatului profesional n informatic - 2016


Programare, profilul matematic-informatic intensiv
alturat, programul va afia pe ecran:
2 3 5 7 11

Subiectul nr.6
Fiierul numere.in conine, pe prima linie, un numr natural par n, cu cel mult 9 cifre.
Se consider subprogramul sub care primete prin intermediul parametrului x un numr natural i
returneaz valoarea 1 dac x este un numr prim i 0 n caz contrar.
Cerine:
a) Scriei definiia complet a subprogramului sub;
b) Scriei un program Pascal/C/C++ care, folosind apeluri utile ale subprogramului sub, citete
numrul n apoi determin i afieaz toate perechile de numere prime (a,b) (a<b) a cror sum
este egal cu n.
20
Exemplu. Dac fiierul numere.in are coninutul
alturat, programul va afia pe ecran:
(3,17) (7,13)

Subiectul nr.7
Fiierul numere.in conine, pe prima linie, un numr natural par n, cu cel mult 9 cifre.
Se consider subprogramul sub care primete prin intermediul parametrului x un numr natural i
returneaz valoarea 1 dac x este un numr prim i 0 n caz contrar.
Cerine:
a) Scriei definiia complet a subprogramului sub;
b) Scriei un program Pascal/C/C++ care, folosind apeluri utile ale subprogramului sub citete
numrul n par (n>2), apoi determin i afieaz o pereche de numere prime (a,b) (a<n, n<b) cu
proprietatea c diferena b-a este minim.
20
Exemplu. Dac fiierul numere.in are coninutul
alturat, programul va afia pe ecran:
(19,23)

Subiectul nr.8
Fiierul numere.in conine, pe prima linie, un numr natural n(2<n<100) iar pe linia a doua n
numere cu cel mult 9 cifre fiecare.
.
Se consider subprogramul sub care primete prin intermediul parametrului x un numr natural i
returneaz valoarea 1 dac x are prima cifr egal cu ultima cifr i 0 n caz contrar.
Cerine:
a) Scriei definiia complet a subprogramului sub;
b) Scriei un program Pascal/C/C++ care citete numrul n i cele n numere din fiier i afieaz
pe ecran n ordine cresctoare toate numerele ce ncep i se termin cu aceeai cifr. Numerele se
afieaz separate prin cte un spaiu. Programul va utiliza apelui utile ale subprogramului sub.

Subiecte propuse pentru obinerea atestatului profesional n informatic - 2016


Programare, profilul matematic-informatic intensiv

Exemplu. Dac fiierul numere.in are coninutul


alturat, programul va afia pe ecran:

6
21 3123 7 11 454 10

7 11 454 3123

Subiectul nr.9
Se consider subprogramul sub care primete prin intermediul parametrului x un numr natural cu cel
mult 9 cifre i returneaz valoarea numrul obinut din x prin permutarea circulara a cifrelor sale cu o
poziie spre stnga.
Cerine:
a) Scriei definiia complet a subprogramului sub;
b) Scriei un program Pascal/C/C++ care citete de la tastatur un numr natural n i scrie n
fiierul numere.out toate numerele ce se pot obine din n prin permutri circulare la stnga ale
cifrelor lui n. Numerele se vor scrie in fiier separate prin cte un spaiu. Programul va utiliza apelui
utile ale subprogramului sub.

Exemplu. Dac de la tastatur se citete numrul


56789123, fiierul numere.out va avea coninutul
alturat:

67891235
91235678
35678912

78912356
12356789

89123567
23567891

Subiectul nr.10
Fiierul date.in conine, pe prima linie, un numr natural n (n<100), iar pe fiecare din
urmtoarele n linii este scris cte un cuvnt format din cel mult 20 de caractere.
Se consider subprogramul sub care primete prin intermediul parametrilor a i b dou cuvinte i
returneaz valoarea 1 dac cele dou iruri de caractere sunt unul anagrama celuilalt i valoarea 0 n
caz contrar.
Cerine:
a) Scriei definiia complet a subprogramului sub;
b) Scriei un program principal Pascal/C/C++ care, folosind apeluri utile ale subprogramului sub
citete numrul n i cele n cuvinte, apoi determin toate perechile de cuvinte care sunt unul anagrama
celuilalt, cte o pereche pe o linie a ecranului. Dac nu exist nicio astfel de pereche de cuvinte, atunci
programul va afia pe ecran mesajul NU EXISTA.
6
Exemplu. Dac fiierul date.inare coninutul alturat, rac

Subiecte propuse pentru obinerea atestatului profesional n informatic - 2016


Programare, profilul matematic-informatic intensiv
iarna
car
primavara
arc
toamna

programul va afia pe ecran:


rac car
rac arc
car arc

Subiectul nr.11
Fiierul date.in conine, prima linie, un numr natural n (n<100), iar pe fiecare din urmtoarele n
linii este scris cte un cuvnt format din cel mult 20 de caractere, doar litere mici ale alfabetului
englez.
Se consider subprogramul sub cu doi parametri s i t, care primete prin parametrul s un ir cu
maximum 20 de caractere, litere mici ale alfabetului englez. Subprogramul returneaz prin intermediul
parametrului t irul obinut din s prin nlocuirea fiecrei vocale cu caracterul *. Se consider vocale
literele: a, e, i, o, u.
Cerine:
a) Scriei definiia complet a subprogramului sub;
b) Scriei un program Pascal/C/care, folosind apeluri utile ale subprogramului sub, citete
numrul n i cele n cuvinte, apoi le modific nlocuind fiecare vocal cu caracterul * . Programul
afieaz pe ecran cuvintele modificate, n linie, separate prin cte un spaiu.
4
Exemplu. Dac fiierul date.inare coninutul alturat, cojoc
programul va afia pe ecran:
iarna
ana
c*j*c **rn* *n* *l*v*l*
elevele

Subiectul nr.12
Fiierul date.in conine pe prima linie doua numere naturale n(n<100) i k(1<k<=2n) iar pe
urmtoarele n linii cte n numere reale reprezentnd elementele unei matrice ptrate de dimensiune n.

Subprogramul sub primete prin intermediul parametrului n (0<n<100) dimensiunea unei matrice
ptrate, prin intermediul parametrului a matricea de numere reale (a ij cu 1in, 1jn) i prin
intermediul parametrului k un numr natural nenul1<k<=2n). El returneaz prin intermediul
parametrului s suma tuturor elementelor aij cu proprietatea c i+j=k.
Cerine:
a) Scriei definiia complet a subprogramului sub;
b) Scriei un program Pascal/C/C++ care citete din fiier numerele n,k i elementele matricei
i,folosind apeluri utile ale subprogramului sub afieaz suma elementelor din tablou aflate strict
deasupra diagonalei secundare a tabloului.

Exemplu:
date.in

se afieaz

Subiecte propuse pentru obinerea atestatului profesional n informatic - 2016


Programare, profilul matematic-informatic intensiv
4
1631
6131
1316
3161

18

Subiectul nr.13
Fiierul date.in conine pe prima linie un ir de caractere format din litere mici ale alfabetului englez,
cifre i spaii.
Se consider subprogramul elimincar care primete prin intermediul parametrului s un ir cu cel

mult 255 de caractere i prin parametrul c un caracter. Subprogramul va transforma irul s eliminnd din
acesta toate apariiile caracterului c.
Cerine:
a) Scriei definiia complet a subprogramului elimincar;
b) Scriei un program Pascal/C/care, citete din fiier irul de caractere i afieaz pe ecran irul
din care au fost eliminate toate vocalele, utiliznd apeluri utile ale subprogramului elimincar.

Exemplu:
date.in
examenul de atestat mai 2016

se afieaz
xmnl d tstt m 2016

Subiectul nr.14
Fiierul date.in conine, pe prima linie, un ir de caractere format din litere mici ale alfabetului englez.
Se consider subprogramul elimincar care primete prin intermediul parametrului s un ir cu cel

mult 255 de caractere i prin parametrul c un caracter. Subprogramul va transforma irul s eliminnd din
acesta toate apariiile caracterului c.
irul de caractere s2 este clona irului de caractere s1 dac se poate obine din s1 prin eliminarea
tuturor apariiilor unei singure vocale. Se consider vocal orice liter din mulimea {a,e,i,o,u}.

Cerine:
a) Scriei definiia complet a subprogramului elimincar;
b) Scriei programul C/C++care citete din fisier un cuvnt format din cel mult 20litere mici ale
alfabetului englez i afieaz pe ecran (dac exist), toate clonele acestui cuvnt, fiecare pe cte o linie a
ecranului, utiliznd apeluri utile ale subprogramului elimincar
c) Exemplu:
date.in
examenul

se afieaz (nu neaparat in aceasta ordine)


xamnul
exmenul
examenl

Subiecte propuse pentru obinerea atestatului profesional n informatic - 2016


Programare, profilul matematic-informatic intensiv
Subiectul nr.15

n fiierul numere.in se afl pe prima linie maxim un milion de numere naturale de cel mult 2 cifre
fiecare. Scriei programul C/C++ care citete numerele din fiierul numere.in i determin i afieaz pe
ecran care dintre numerele citite apare de cele mai multe ori n fiier. Se va utiliza un algoritm eficient
din punct de vedere al spaiului de memorie utilizat i al timpului de executare.
Exemplu :
numere.in

5316313613

se afieaz
3

Subiectul nr.16

Din fiierul text mat.in se citesc doua numere naturale n, m (1<n<30, 1<m<30 ) apoi elementele ntregi
ale unei matrici de dimensiune n*m. Scriei un program Pascal/C/C++ care modific matricea astfel:
toate elementele egale cu valoarea maxim din matrice se nlocuiesc cu valoarea minim de pe coloana
lor. Dac s-a fcut mcar o nlocuire, matricea rezultat se va scrie n fiierul text mat.out, altfel
matricea nu se va scrie n fiierul de ieire. Pe ultima linie n fiierul de ieire se va scrie numrul de
substituii efectuate.
Ex:
mat.in
3 5
2 6 7 3
7 1 7 1
5 3 1 2

mat.out
2 6 1 3
2 1 1 1
5 3 1 2
3

Subiectul nr.17

Din fiierul text DATE.TXT conine pe prima linie dou numere naturale n i m (0<m<n<5000), pe cea
de a doua linie n numere naturale a1, a2, , an (0 ai9), iar pe cea de a treia linie m numere naturale b1,
b2, , bm (0 bi9).
Scriei programul C/C++ care citete datele din fiier, verific dac irul b se poate obine din irul a prin
eliminri, fr a schimba ordinea elementelor n irul a i afieaz pe ecran un mesaj corespunztor. Se
va utiliza un algoritm eficient din punct de vedere al timpului de executare i al spaiului de memorie
utilizat.
Exemplu:
DATE.TXT

53
16313
613

se afieaz mesajul
b se poate obtine din a"

Subiecte propuse pentru obinerea atestatului profesional n informatic - 2016


Programare, profilul matematic-informatic intensiv
Subiectul nr.18

a. Scriei o definiie complet pentru un subprogram suma cu trei parametri:


x, matrice ptratic cu elemente ntregi;
n, numr natural ce reprezint numrul efectiv de linii i coloane ale matricei x, 2n10;
p, numr natural, 1pn.
Subprogramul va returna suma elementelor aflate pe linia p a matricei.
b. Scriei un program care citete din fiierul matrice.in un numr natural n i o matrice cu n linii i
n coloane i afieaz n fiierul matrice.out indicii liniilor din matrice pentru care suma elementelor
este numr par. Se va folosi subprogramul definit la punctul a.
Exemplu:
matrice.in
4
1 2 3 4
1 1 1 2
2 2 41 8
3 3 10 2

matrice.out
1 4

.
Subiectul nr.19

n fiierul text numere.in sunt cel mult 9998 de numere naturale nenule, distincte. Scriei un
program C/C++ eficient din punct de vedere al timpului de execuie, care s scrie n fiierul
numere.out, pe o linie, n ordine descresctoare, separate prin cte un spaiu, numerele naturale
nunule, de cel mult 4 cifre, care nu apar n fiierul numere.in.
Ex:
numere.in
107 4 5 8 1 6 9

numere.out
9999 9998 ... 108 106 105 ... 10 7 6 3 2

Subiectul nr.20
Fiierul date.in conine pe prima linie un text format din cel mult 250 de caractere, scris pe o singur
linie. Cuvintele din text sunt separate prin cte un spaiu, iar fiecare cuvnt este format din cel mult 20
caractere, doar literele mici ale alfabetului englez. Fiierul conine pe a doua linie un cuvnt format din
cel mult 20 de caractere doar literele mici ale alfabetului englez.
Se consider subprogramul Sub care primete prin intermediul celor doi parametri t1 i t2 dou
cuvinte formate fiecare din cel puin dou caractere i returneaz valoarea 1 dac cuvntul primit prin
parametrul t1 reprezint un prefix pentru cuvntul primit prin parametrul t2, sau valoarea 0 n caz
contrar;
Cerine:
a) Scriei definiia complet a subprogramului sub;
b) Scriei un program Pascal/C/C++, care citete din fiierul date.in n variabila s textul aflat
pe prima linie i n variabila x cuvntul aflat pe cea de a doua linie din fiier i folosind apeluri utile ale
subprogramului S1 i afieaz pe ecran fiecare cuvnt din text care are ca prefix cuvntul x.

Subiecte propuse pentru obinerea atestatului profesional n informatic - 2016


Programare, profilul matematic-informatic intensiv
Exemplu. Dac fiierul date.inare coninutul urmtor:
ambii copii amestecau ideile si amintirile de peste zi
am
programul va afia pe ecran
ambii amestecau amintirile

Subiectul nr.21
Fiierul date.in conine pe prima linie un text format din cel mult 250 de caractere, scris pe o singur
linie. Cuvintele din text sunt separate prin cte un spaiu, iar fiecare cuvnt este format din cel mult 20
caractere, doar literele mici ale alfabetului englez.
Se consider subprogramul:Sub care primeste prin intermediul singurului su parametru t un
cuvnt din text i nlocuiete prima, respectiv ultima liter, cu litera mare corespunztoare i furnizeaz
prin intermediul parametrului t cuvntul obinut. De exemplu, pentru cuvntul intensitate primit prin
intermediul parametrului t, subprogramul returneaz cuvntul: IntensitatE.
Cerine:
a) Scriei definiia complet a subprogramului Sub;
b)Scriei un program Pascal/C/C++, care citete din fiierul date.in n variabila s textul aflat pe
prima linie i folosind apeluri utile ale subprogramului Sub modific textul memorat n variabila s
prin transformarea n liter mare a primei i ultimei litere din fiecare cuvnt dint text. Programul
scrie noul text n fiierul date.out pe o singur linie.
Exemplu. Dac fiierul date.inare coninutul urmtor:
ambii copii amestecau ideile si amintirile de peste zi
programul va scrie n fiierul date.outtextul:
AmbiI CopiI AmestecaU IdeilE SI AmintirilE DE PestE ZI
Subiectul nr.22

Prima linie a fiierului BAC.TXT conine dou numere naturale m i n (1<=n,m<=100) iar
urmtoarele m linii cte n numere ntregi cu maxim 9 cifre fiecare, separate prin cte un spaiu.
Spunem c o linie a fiierului este simetric dac elementele egal deprtate de capetele liniei
respective sunt egale (primul element de pe linie este egal cu ultimul element al liniei, al doilea cu
penultimul etc.)
Se consider subprogramul: verif cu trei parametri:

x, matrice cu elemente ntregi;


n, numr natural ce reprezint numrul efectiv de coloane ale matricei x, 2n10;
p, numr natural, 1pm.
Subprogramul va returna valoarea 1 dac elementele egal deprtate de capetele liniei sunt simetrice i 0
n caz contrar.
Cerine:
a) Scriei definiia complet a subprogramului verif;

Subiecte propuse pentru obinerea atestatului profesional n informatic - 2016


Programare, profilul matematic-informatic intensiv
b) Scriei un program Pascal/C/C++, care citete din fiierul BAC.TXT m, n i elementele
matricei i afieaz pe ecran cte din cele m linii din fiier sunt simetrice.
De exemplu dac fiierul BAC.TXT are urmtorul coninut
3 5
15 3 0 3 15
5 9 1 9 5
6 8 20 8 3
atunci se va afia pe ecran valoarea 2 (primele dou din cele m linii sunt simetrice).

Subiectul nr.23
Fiierul date.in conine pe prima linie un cuvnt format din cel mult 50 de caractere, doar litere mici
ale alfabetului englez.
Se consider subprogramul Sub care primeste prin intermediul singurului su parametrul s un cuvnt
(format din cel puin 2 litere) i returneaz cuvntul obinut prin dublarea fiecrei consoane din cuvntul s.
De exemplu, pentru cuvntul abac (primit prin intermediul parametrului s) subprogramul returneaz
cuvntul: abbacc.
Cerine:
a) Scriei definiia complet a subprogramului Sub;

b) Scriei un program Pascal/C/C++, care folosind apeluri utile ale subprogramului Sub, citete
textul din fiierul date.in i scrie pe prima linie a fiierului date.out cuvntul obinut prin dublarea
fiecrei consoane din cuvntul s.
Exemplu. Dac fiierul date.inare coninutul
alturat, programul va scrie n fiierul date.out:

atestat

attessttatt
Subiectul nr.24
Fiierul date.in conine dou linii. Pe prima linie a fiierului este scris un numr natural n,
(1n100) iar pe urmtoarele n linii sunt scrise cte n numere naturale, formate fiecare din cel mult
n cifre, separate prin cte un spaiu, reprezentnd elementele unei matrice A cu n linii i n coloane.
Se consider subprogramul: sub cu trei parametri, care primete prin intermediul parametrilor:
- a,un tablou bidimensional format din cel mult 30 de linii i cel mult 30 de coloane cu
elemente numere ntregi;
- n,(1n100) numrul efectiv de linii i de coloane ale matricei a;
- max, un numr natural nenul.
Subprogramul furnizeaz prin intermediul parametrului max, elementul maxim de pe diagonala
principal a matricei a.
.
Cerine:
a) Scriei definiia complet a subprogramului sub;

Subiecte propuse pentru obinerea atestatului profesional n informatic - 2016


Programare, profilul matematic-informatic intensiv
b) Scriei un program principal Pasca/C/C++ care, folosind apeluri utile ale subprogramului sub,
s citeasc datele din fiierul date.in i care s scrie pe ecran, elementul maxim de pe diagonala
principal.
4
Exemplu. Dac fiierul date.inare coninutul alturat,
0 2 4 6
programul va afia pe ecran numerele urmtoare:
1 3 5 7
6 4 2 8
Elementul maxim = 9
3 5 7 9

Subiectul nr.25
Fiierul date.in conine dou linii. Pe prima linie a fiierului este scris un numr natural n
(1n100), iar pe urmtoarele n linii sunt scrise cte n numere naturale, formate fiecare din cel
mult 9 cifre, separate prin cte un spaiu, reprezentnd elementele unei matrice A cu n linii i n coloane.
Se consider subprogramul S cu doi parametri, care primete, prin intermediul parametrilor:
- a,un tablou bidimensional format din cel mult 30 de linii i cel mult 30 de coloane cu
elemente numere ntregi;
- n,numrul efectiv de linii i de coloane ale matricei a.
Subprogramul returneaz suma elementelor situate pe rama matricei, format din elementele situate
pe prima linie, prima coloan, ultima linie i ultima coloan a matricei.
Cerine:
a) Scriei definiia complet a subprogramului S;
b) Scriei un program principal Pasca/C/C++ care, folosind apeluri utile
citeasc datele din fiierul date.in i care s scrie pe ecran, suma
matricei.
4
Exemplu. Dac fiierul date.inare coninutul alturat,
0 2 4
programul va afia pe ecran numerele urmtoare:
1 3 5
6 4 2
Suma = 58
3 5 7

ale subprogramelor S,s


elementelor de pe rama
6
7
8
9

Subiectul nr.26
Fiierul date.in conine dou linii. Pe prima linie a fiierului este scris un numr natural n,
(1n100) iar pe urmtoarele n linii sunt scrise cte n numere naturale, formate fiecare din cel mult
9 cifre, separate prin cte un spaiu, reprezentnd elementele unei matrice A cu n linii i n coloane.
Se consider subprogramul: maxim cu trei parametri:

x, matrice cu elemente ntregi;


n, numr natural ce reprezint numrul efectiv de coloane ale matricei x, 2n10;
p, numr natural, 1pn.
Subprogramul va returna valoarea maxim de pe linia p a matricei.
Cerine:
a) Scriei definiia complet a subprogramului maxim;

Subiecte propuse pentru obinerea atestatului profesional n informatic - 2016


Programare, profilul matematic-informatic intensiv
b) Scriei un program principal Pasca/C/C++ care, folosind apeluri utile ale subprogramului
maxim,s citeasc datele din fiierul date.in i care s scrie pe ecran, separate prin cte un
spaiu, elementele maxime de pe fiecare linie a matricei.
Exemplu. Dac fiierul date.inare coninutul alturat,
programul va afia pe ecran numerele urmtoare:
6 7 8 9

4
0
1
6
3

2
3
4
5

4
5
2
7

6
7
8
9

Subiectul nr.27
Fiierul numere.in conine, pe prima linie, un numr natural n (2<n<100), iar pe linia a doua n
numere cu cel mult 9 cifre fiecare.
Se consider subprogramul maxim care primete prin intermediul parametrului A un vector cu cel mult
100 de numere reale i prin intermediul parametrului n numrul de elemente din vector. El returneaz valoarea
celui mai mare element din vector, terge toate apariiile acestui element din vector i modific corespunztor
valoarea lui n.
Cerine:
a) Scriei definiia complet a subprogramului maxim;
b) Scriei un program principal Pasca/C/C++ care s citeasc datele din fiierul date.in i care,
folosind apeluri utile ale subprogramului maxim, s scrie pe ecran, separate prin cte un spaiu,
n ordine strict descresctoare, numerele care apar n vector..
9
Exemplu. Dac fiierul numere.inare coninutul alturat,
2 3 1 1 6 2 7 6 1
programul va afia pe ecran numerele urmtoare:
7 6 3 2 1

Subiectul nr.28
Considerm definit un subprogram nrap care are doi parametri: un ir de caractere s de lungime cel
mult 100 i un caracter c. Subprogramul nrap ntoarce numrul apariiilor caracterului c n irul s.
a) Scriei definiia complet a subprogramului nrap.
b) Scriei un program care citete de la tastatur dou iruri de caractere formate fiecare din cel mult
100 de litere ale alfabetului englez i, apelnd subprogramul nrap descris mai sus, verific dac cele
dou iruri sunt formate din exact aceleai caractere, eventual n alt ordine. n caz afirmativ programul
va afia pe ecran mesajul "DA", altfel va afia "NU"

Subiectul nr.29
Fiierul date.in conine pe prima linie dou numere naturale nenule m i n (1m30, 1n30), iar pe
urmtoarele m linii cte n numere ntregi, cu cel mult 9 cifre fiecare, separate prin cte un spaiu,
reprezentnd elementele unei matrice A cu m linii i n coloane.
Se consider subprogramul sub, care primete prin intermediul parametrilor:

Subiecte propuse pentru obinerea atestatului profesional n informatic - 2016


Programare, profilul matematic-informatic intensiv
A, o matrice cu cel mult 30 de linii i cel mult 30 de coloane, i elemente numere ntregi formate
din cel mult 4 cifre fiecare;
- n, un numr natural reprezentnd numrul efectiv de coloane ale matricei A, 1n30.
- k, un numr natural , 1<km
Subprogramul furnizeaz suma elementelor situate pe linia k n matricea A.
Cerine:
a) Scriei definiia complet a subprogramului sub.
-

b) Scriei un program principal Pascal/C/C++ care, citete matricea A din fiierul date.in,

calculeaz, folosind apeluri utile ale subprogramului sub, pentru fiecare linie a matricei suma
elementelor corespunztoare i afieaz pe ecran indicele primei linii din matrice de sum maxim,
precum i valoarea acestei sume. Cele dou numere sunt afiate pe aceeai linie, separate printr-un
spaiu.
Exemplu. Dac fiierul date.in are coninutul alturat,
programul va scrie pe ecran: 4 39 (indicii liniilor de suma maxim
sunt: 4 i 6).

6
4
5
6
3
1
4

3
1
7
8
2
7

8
3
4
1
1
9

5
5
9
9
3
9

8
9
3
7
5
3

0
6
2
8
2
4

2
8
1
3
9
3

Subiectul nr.30
Fiierul date.in conine cel mult 100 de numere naturale, fiecare numr fiind format din cel 9 cifre,
numerele fiind scrise pe o singur linie, separate prin cte un spaiu.
Se consider subprogramele:

prim cu un singur parametru, x, prin intermediul cruia primete un numr natural nenul format din
cel mult patru cifre i care returneaz valoarea 1 dac valoarea parametrului x este un numr prim
i 0 n caz contrar.
Sort cu doi parametri, care primete prin intermediul parametrilor:
- n, un numr natural, 0<n100;
- v,un ir de n numere naturale, fiecare numr avnd cel mult patru cifre.
Subprogramul furnizeaz prin parametrul v irul ordonat cresctor.

Cerine:
a) Scriei definiia complet a subprogramelor prim i sort.
b) Scriei un program Pascal/C/C++, care citete din fiierul date.in toate numerele i, folosind
apeluri utile ale subprogramelor prim i sort, scrie n fiierul date.out, pe o singur linie, separate
printr-un spaiu, dou numere naturale reprezentnd cel mai mic numr prim, respectiv cel mai mare
numr prim din fiierul date.in. Dac niciun numr din fiierul date.in nu este numr prim, atunci
pe prima linie a fiierului date.out se va scrie mesajul NU EXISTA.
Exemplu. Dac fiierul date.in are coninutul alturat,

3 11 7 13 56 732 99

Subiecte propuse pentru obinerea atestatului profesional n informatic - 2016


Programare, profilul matematic-informatic intensiv
atunci fiierul date.out va avea urmtorul coninut:
3 13

S-ar putea să vă placă și