Sunteți pe pagina 1din 6

Probleme propuse pentru examenul de atestat clasa a 12-a

Profilul : matematic informatic neintensiv


1. Se citesc de la tastatura n numere naturale, cu cel mult 9 cifre fiecare. Scrieti un program care pentru o
cifra k citita de la tastatura, afiseaza pe ecran cate numere prime in scrierea carora apare cifra k, se gasesc in
sirul dat.
Exemplu.: pentru n=4 , cifra k=2 si valorile citite 23, 603, 122, 27 se obtine numarul nr = 1, care corespunde
valorii 23 .
2. Se citeste de la tastatura un numar natural n cu cel mult noua cifre si care determina daca exista un numar
natural k cu proprietatea ca n=1*2*3**k. Daca exista un astfel de numar, programul va afisa mesajul Da ,
altfel va afisa mesajul Nu.
3. Se citeste de la tastatura un numar natural n, 0<n<1000000. Sa se afiseze pe ecran, daca exista, un numar
natural care este strict mai mare decat n si care are exact aceleasi cifre ca si n. Daca se gaseste un astfel de
numar afisati mesajul Exista, altfel se va afisa mesajul Nu exista.
De exemplu, pentru n=165, exista numarul 561 care satisface conditia din enunt, deci se va afisa mesajul
Exista.Pentru n=14589 , nu exista nici un numar care sa satisfaca conditia din enunt, deci se va afisa mesajul
Nu exista.
5. Se considera numarul natural a, a>10000. Folosind descompunerea in factori primi a lui a, decideti daca
acesta poate fi exprimat ca produs de doua numere prime si dati un mesaj corespunzator.
De exemplu, pentru n=15, exista numerele 3 si 5 prime, care satisfac conditia din enunt, deci se va afisa
mesajul Da, iar pentru n=16, se va afisa mesajul Nu.
6. n fiierul valori.txt pe aceeai linie, desprite printr-un spaiu, se gsesc maximum 1000 de numere
ntregi. Scriei un program care s determine valoarea maxim i valoarea minim, mpreun cu numrul de
apariii al maximului, respectiv al minimului. Folosii o metod eficient din punct de vedere al memoriei i al
numrului de operaii efectuate i afiai pe ecan valorile obinute.
Exemplu :dac coninutul fiierului valori.txt este : 24 3 89 24 1 3 1 1 89, atunci se vor afia rezultatele:
min = 1 nr_aparitii = 3
max = 89 nr_aparitii = 2
7. Fiierul unu.in conine pe primul rnd valoarea n ( 2n1.000.000 ), iar pe a doua linie se gsesc n
numere ntregi formate din cel mult 9 cifre i desprite prin spaiu. tiind c fiierul conine cel puin dou
numere distincte printre cele n de pe a doua linie, scriei un program care s scrie n fiierul unu.out pe o

singur linie i separate printr-un spaiu, n ordine descresctoate, cele mai mari dou valori distincte din
fiierul de intrare. Alegei o metod eficient de rezolvare att ca timp de executare, ct i ca gestionare a
memoriei.
Exemplu :
unu.in

unu.out

10
-8 14 8 14 15 9 -7 1 4 10

15 14

8. Scriei programul C, C++ sau Pascal, care citete de la tastatur un ir s de cel mult 30 de caractere i un
caracter c. Programul determin triplarea fiecrei apariii a caracterului c n s i scrie noul ir obinut n fiierul
text final.out.
De exemplu, dac se citete irul : ciocarlie i caracterul c atunci fiierul va conine irul : ccciocccarlie.
9. Fiirele unu.txt i doi.txt conin fiecare dintre ele, numere ntregi distincte ordonate cresctor. Creai fiierul
trei.txt i apoi scriei n el, cte una pe linie, valorile distincte din cele dou fiiere, n ordine cresctoare.
De exemplu, dac fiierele conin :
unu.txt

doi.txt

2 4 7 8 42 100 145 200

3 7 11 40 290

Atunci trei.txt va conine valorle :


2 3 4 7 7 8 11 40 42 145 200 290
10. Se d irul recurent definit prin relaiile : x(1)=1 ; x(2)=2; x(n)=2*x(n-1) x(n-2) , pentru n>2. Cunoscnd
valoarea n, numr natural citit de la tastatur cu 0<n<100.000 , scriei programul care afieaz n ordine
cresctoare toate valorile de 2 cifre din irul recurent.
11. Scriei un program care citete de la tastatur un ir de caractere format din cel mult 50 de litere din
alfabetul englez i care afieaz mesajul DA dac irul este format din numr egal de vocale i consoane,
respective mesajul NU n caz contrar.
De exemplu, dac fiierul conine irul: aaabbbccee , atunci pe ecran va fi afiat mesajul DA.
12. Scriei un program care citete de la tastatur dou iruri de caractere, fiecare ir fiind format din cel mult
100 de litere mici din alfabetul englez, i care afieaz mesajul DA dac toate literele din primul ir se
gsesc n cel de-al doilea ir, nu neaprat n aceeai ordine i de acelai numr de ori, sau mesajul NU n
caz contrar.
De exemplu, dac primul ir este exemplu, iar al doilea ir este pzyeaxqeemtluss, programul trebuie s
afieze mesajul DA deoarece literele primului ir apar n cel de-al doilea ir.
13. n fiierul numere.txt, se afl memorate, pe prima linie, dou numere naturale, n i m desprite de un
spaiu ( 1n10000 i mn), iar pe urmtoarea linie a fiierului, n numere reale desprite prin cte un spaiu.

Scriei programul C/C++/Pascal, care citete din fiier datele existente i afieaz pe cea de-a treia linie a
fiierului, suma obinut din cele mai mari m elemente negative citite din fiier. n cazul n care fiierul nu
conine cel puin m numere negative, se va afia valoarea 0.
De exemplu, dac fiierul conine irul de valori :
10 2
-8 5 1 -3 5 23 7 -81 46 -120
atunci pe ecran vor fi afiate valorile -3 -8.
14. Scriei programul C/C++/Pascal care citete de la tastatur un numr natural n ( n100) i un ir cu n
numere ntregi din intervalul [100,999] ; programul construiete n mod eficient din punctul de vedere al
spaiului de memorie folosit, un ir de numere rezultat prin nlocuirea fiecrui numr din irul citit cu numrul
obinut prin interschimbarea cifrei unitilor cu cifra sutelor. Numerele din noul ir se vor afia pe ecran
separate printr-un singur spaiu.
De exemplu, pentru n=3 i irul 123 904 500, se afieaz : 321 409 5.
15. Scriei programul C/C++/Pascal care citete dou numere naturale a i b (ab) cu cel mult 4 cifre fiecare
i tiprete toate numerele prime de 3 cifre din intervalul [a,b].
De exemplu, pentru a=20 b= 45 , se afieaz : 23 29 31 37 41 .
16. Fiierul matrice.txt

conine pe primul rnd dou valori naturale

m i n (1n100, 1m100),

reprezentnd numrul de linii i respectiv de coloane ale unei matrice a, iar pe urmtoarele m linii cte n valori
ntregi cu maximum 4 cifre fiecare, separate prin cte un spaiu, reprezentnd elementele matricei a. Afiai pe
ecran un ir de 2*(n+m) 4 numere ordonate cresctor, ir format din elementele aflate pe chenarul exterior al
matricei a. Chenarul exterior este format din prima i ultima linie, respectiv prima i ultima coloan din matrice.
De exemplu dac matricea dat este :
3 4
1 2 3 4
5 6 7 8
9 1 2 3
se va afia irul : 1 1 2 2 3 3 4 5 8 9.
17. Se citete de la tastatur o valoare natural m (2m100). Scriei programul C/C++/Pascal care
construieete n memorie i apoi afieaz pe ecran matricea a cu m linii i m coloane de numere ntregi,
construit dup urmtoarea regul : elementul de pe linia i i coloana j a matricii ( 1i , jm) este :

1 dac i*i+j*j este ptrat perfect

2 dac i*i+j*j nu este ptrat perfect, dar este numr prim mai mare dect 2

3 n rest.

De exemplu pentru m = 2, se va afia matricea :


3 2
2 3
18. Fiierul text numere.in conine pe prima linie un numr natural n (0n5000), iar pe a doua linie n numere
naturale de cel mult 9 cifre fiecare, separate prin cte un spaiu. S se scrie un program care citete n, apoi
cele n numere naturale din fiierul numere.in i scrie n fiierul numere.out, pe cte o linie fiecare, numerele
de pe a doua linie a fiierului numere.out care sunt palindroame cu exact patru cifre (un numr este
palindrom dac este egal cu inversul su).
De exemplu dac fiierul numere.in are urmtorul coninut :
5
1441 5 14 2552 78
atunci fiierul numere.out va conine :
1441
2552
19. Se citeste de la tastatura n, si apoi n perechi de cate doua numere intregi a si b cu ( a<0<b) numere ce
reprezinta capetele unor intervale inchise. Afisati pe ecran , doua numere x si y ce reprezinta capetele
intervalului intersectie al celor n intervale date.
De exemplu, pentru n=3 si perechile [-1,20], [-4,9], [-7, 12] , obtinem solutia x= -1 si y= 9.
20. Se citesc de la tastatura doua numere naturale n si p (1<n<1000, 1<p<10). Sa se afiseze pe ecran, cu
spatii intre ele, acele numere naturale mai mici sau egale cu n, care au toate cifrele mai mici sau egale cu p.
Exemplu : fiind dat n=20 si p=5 obtinem 1, 2, 3, 4, 5, 10, 11, 12, 13, 14, 15.
21. Fie un sir de n numere intregi si un interval [a,b]. Scrieti un program care sa precizeze care este numarul
de valori din sir care nu se gasesc in intervalul dat.
De exemplu, pentru n=10 si [10 , 420] si sirul de valori 1, 4, 7, 23, 90, 200, 440, 500, 501, 502, programul va
afisa valoarea 7.
22. Fiierul text cuvinte.in conine mai multe linii nevide de text, fiecare linie de cel mult 255 de caractere.
Orice linie este compus din unul sau mai multe cuvinte separate prin cte un spaiu. S se scrie un program
care citete de la tastatur un numr natural L i scrie n fiierul cuvinte.out toate cuvintele palindromice de
lungime L din fiierul de intrare, n ordinea n care apar ele n text.

Un cuvnt este palindromic dac este simetric fa de jumtatea cuvntului, exemplu cuvntul

apa.

23. Pentru dou puncte A i B din plan, puncte date prin coordonatele lor ntregi (xa,ya) , (xb,yb) se cere s se
verifice dac punctele A i B sunt egal deprtate de originea axelor de coordonate. Scriei apoi programul care
citete de la tastatur cele 4 numere ntregi i afieaz pe ecran mesajul DA n cazul n care A i B se afl la
aceeai distan fa de punctul O (originea) i afieaz mesajul NU n caz contrar.
De exemplu, pentru irul de valori 24 5 -5 -24 , programul va afisa mesajul DA.
24. Scriei un program care citete de la tastatur o propoziie de cel mult 80 de caractere litere i

spaii i

apoi elimin spaiile redundante din propoziie, adic cele de la nceputul i de la sfritul
textului, precumi spaiile multiple dintre cuvintele propoziiei.
De exemplu, dac se citete propoziia : Afara

ninge

cu fulgi mari.

Rezultatul afisat va fi : Afara ninge cu fulgi mari.


25. Scriei un program care citete din fiierul text date.in cel mult 100 de numere naturale nenule aflate pe o
singur linie, formate din cel mult patru cifre fiecare, separate prin spaii i scrie aceste numere n fiierul text
date.out , n ordine invers fa de cea n care au fost citite, pe o singur linie, separate prin spaii.
De exemplu dac fiierul date.in are urmtorul coninut :
1002 2004 1001 1243 5896
atunci fiierul date.out va conine n ordine valorile :
5896 1243 1001 2004 1002.
26. Scriei un program care citete de la tastatur un numr natural n (0n25) i un ir de n numere naturale
cu cel mult patru cifre fiecare. Programul va determina i afia pe ecran numrul maxim de factori primi care
poate s apar n descompunerea n factori primi a numerelor din ir.
De exemplu dac n=4 iar numerele citite sunt : 24 15 3 29 , atunci rezultatul afiat este 2.
27. Scriei un program care citete de la tastatur un cuvnt i care scrie n fiierul cuvant.out , cuvntul citit
sub forma unei elipse, astfel : dac cuvntul citit este masa fiierul va avea urmtorul coninut
exemplu
xempl
emp
m
emp
xempl
exemplu.

28. Se citete de la tastatur un numr natural n (1n100) i k numr natural (1kn). Apoi se citesc cele
n*n elemente numere ntregi ale matricii a. Scriei un program care realizeaz mutarea primelor k coloane ale
matricii pe ultimele poziii. Afiai matricea dup prelucrare.
De exemplu, pentru n=4 i k=2 i o matrice format din elementele :
1468

programul va afia 6 8 1 4

3150

5031

3152

5231

4792

9247

29. Se citesc de la tastatur dou numere natrurale n i m ( 1n10 , 1m10 ) i o matrice a cu n linii i m
coloane. Realizai ordonarea elementelor matricii, astfel nct acestea s fie n ordine cresctoare att pe
fiecare linie, ct i pe fiecare coloan. Afiai matricea dup prelucrare.
De exemplu, dac se citesc valorile n=2 , m=3 i matricea 1 4 7
2 6 9
8 3 0
atunci dup prelucrare, matricea afiat va fi : 0 1 2
3 4 6
7 8 9.
30. Fiierul numere.in conine pe prima linie un numr natural n ( 0 n 1000000), iar pe a doua linie n
numere reale separate prin cte un spaiu.fiecare numr real este format din cel mult 10 cifre, inclusiv partea
zecimal. Scriei programul care determin i afieaz cifrele care nu apar n scrierea nuci unui numr real din
fiier. Aceste cifre se vor afia pe ecran n ordine cresctoare, separate prin cte un spaiu. n cazul n care
toate cifrele sunt utilizate n scrierea numerelor din fiier, se va afia mesajul NICI UNA.
De exemplu dac fiierul numere.in are urmtorul coninut :
5
123.47 25.0 -3.69 7.49 -8.42
atunci rezultatul afiat va fi : NICI UNA.

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