Sunteți pe pagina 1din 7

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 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 poate fi exprimat ca produs de doua numere prime si dati un mesaj

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 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 2 4 7 8 42 100 145 200 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 doi.txt 3 7 11 40 290 unu.out

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 : 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. 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 :

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 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 3150 3152 4792 programul va afia 6 8 1 4 5031 5231 9247 fiierul va avea

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