Sunteți pe pagina 1din 6

ATESTAT 2009

– ALGORITMI –

1. Să se scrie un program în limbajul Pascal sau C++ care să calculeze cel mai mic multiplu comun
a n numere naturale date.

2. Se citesc de la tastatură n numere întregi. Să se scrie un program în limbajul Pascal sau C++ care
să partiţioneze acest şir în două subşiruri după un x dat astfel: primul subşir să conţină elementele
mai mici decât x, iar al doilea – elementele mai mari decât x.

3. Se citeşte de la tastatură un n natural nenul. Să se scrie un program în limbajul Pascal sau C++
care să genereze o matrice cu n linii şi n coloane care să fie completată pe linii cu primele n 2
numere prime.

4. Să se scrie un program care, pentru n valori întregi citite de la tastatură, afişează valorile în ordine
crescătoare.

5. Să se scrie un program care determină şi afişează toate numerele prime mai mici sau egale cu o
valoare n naturală, citită de la tastatură.

6. Scrieţi un program care afişează toate numerele prime de trei cifre ale căror inverse sunt tot prime.

7. Să se verifice dacă o valoare întreagă X, citită de la tastatură, se găseşte printre cele n elemente
întregi ale unui vector. Elementele vectorului se vor citi de la tastatură în ordine crescătoare.

8. Se citesc de la tastatură un cuvânt şi o literă. Să se afişeze toate cuvintele care se obţin prin
înlocuirea unei litere din cuvânt cu litera dată. (Ex: pentru c=’TOC’ şi l=’P’ se vor afişa
‘POC’,’TPC’,’TOP’).

9. Să se determine câte elemente prime se află deasupra diagonalei principale a unei matrice cu n x n
elemente naturale.

10. Fie un vector cu n componente întregi. Să se determine elementul maxim din vector şi să se afişeze
vectorul după ce elementele din stânga celui maxim au fost sortate crescător, iar cele din dreapta
maximului au fost sortate descrescător.

11. Să se determine câte elemente prime se află deasupra diagonalei secundare a unei matrice cu n x n
elemente naturale.

12. Se citeşte de la tastatură un şir cu n cuvinte. Să se afişeze cuvintele palindrom cu lungime maximă.

13. Scrieţi un program care să afişeze câte cifre pare şi câte cifre impare conţine un număr natural (cu
maxim 8 cifre), citit de la tastatură.

14. Să se scrie un program care să afişeze factorul prim care apare la puterea cea mai mare în
descompunerea numărului natural x (citit) în factori primi.

15. Se citeşte de la tastatura un număr natural n (100<=n<=999). Dintre numerele naturale mai mici sau
egale cu n, să se afişeze acelea care sunt divizibile cu suma cifrelor lor.

16. Sa se scrie un program care să calculeze recursiv suma cifrelor unui număr natural cu cel mult 8
cifre.
17. Să se scrie un program care să verifice recursiv egalitatea a două şiruri de caractere citite.

18. Se citesc din fişierul NUMERE.TXT un număr natural n (de pe primul rând) şi n numere naturale
separate prin spaţii (de pe al doilea rând). Să se afişeze pe ecran cel mai mare divizor comun al celor
n numere.

19. Se citeşte de la tastatură un text cu cel mult 250 de caractere. Ştiind că separatorii de cuvinte pot fi:

‘ ‘‚ ’,’, ’;’, ’:’, ’!’, ’?’, ’.’ se cere să se împartă fraza în cuvinte şi să se afişeze fiecare cuvânt pe câte un
rând. La sfârşit se va preciza numărul de cuvinte.

20. Să se ordoneze crescător un şir de n numere întregi folosind metoda sortării prin numărare.

21. Se citeşte un text şi o secvenţă. Să se determine numărul de apariţii al secvenţei în text.

22. Se citeşte din fişierul MAT.IN o matrice cu n linii şi m coloane conţinând numai elemente de 0 şi 1.
Elementele fiecărei linii reprezintă cifrele binare ale unui număr natural. Să se determine cel mai
mare număr natural.

23. Se dă un fişier text MAT.IN care conţine pe câte o linie numele şi prenumele unui elev. Să se creeze
un alt fişier MAT.OUT care conţine pe fiecare linie prenumele şi numele elevilor (în această
ordine) din fişierul MAT.IN sortaţi alfabetic după prenume.

24. Se citesc din fişierul BAC.IN pe mai multe rânduri mai multe numere naturale de cel mult 3 cifre
despărţite prin spaţiu.(pe o linie cel mult 100 numere) Scrieţi in fişierul BAC.OUT pe fiecare linie
numerele din fişierul iniţial dar sortate crescător.

Ex
BAC.IN
385
839
41
BAC.OUT
358
389
14

25. Se citeşte din fişierul bac. in un text pe mai multe linii. Scrieţi în fişierul bac. out acelaşi text dar in
care se schimba literele mici cu litere mari si literele mari cu litere mici.
Ex
Bac.in
Tata Este la
PiatA?
Bac. out
TATA eSTE LA
pIATa?

26. Se citeşte de la tastatura pentru n elevi informaţii referitoare la nume, prenume, media, vârsta.
Sortaţi descrescător elevii după medie, iar daca au aceeaşi medie se sortează crescător după nume.
27. Realizaţi un program care calculează maximul a n numere citite de la tastatura.(n< 20, numerele
sunt naturale de cel mult 5 cifre).

28. Se citeşte de la tastatura o matrice n x m si calculaţi pentru fiecare coloana numărul de numere
neprime.
Ex
N=3 m=4
2575
1470
2456
se va afisa
12 02

29. Se citeste din fisierul bac.in pe prima linie n si apoi pe urmatoarele n linii cate n numere 0 si 1
reprezentand matricea de adiacenta pentru un graf neorientat.
Calculati pentru fiecare nod gradul si spuneti daca sunt noduri izolate in graf
Ex
Bac.in
N=4
0110
1000
1001
0010
Se va afisa
Gradele 2 1 2 1
Nu sunt varfuri izolate.

30. Se dau doua numere naturale a si b citite de la tastatura, a de cel mult 9 cifre , b<=10. Afisati
numarul a in baza b.
Ex:
A=18
B=2
Se va afisa 10010

31. Se citeste de la tastatura numarul n. Generati in fisierul bac.out primele n numere prime, cate 10 pe
fiecare linie.
Ex.
N=40
Bac.out
2 3 5 7 11 13 17 19 23 29
31 37

32. Generati toate numerele naturale de 5 cifre care au proprietatea ca suma cifrelor este divizor al
produsului cifrelor.
Ex.
Un numar este 12345 in care are suma cifrelor 15 si produsul 120.

33. Pentru un numar natural n citit de la tastatura (de cel mult 8 cifre) afisati al p-lea numar prim strict
mai mare decat numarul.
Ex. N=20
P=4
se va afisa 37
34. Sa se calculeze produsul primilor n termeni ai sirului lui Fibonacci definit astfel :f1=1, f2=1, fn=fn-
1+fn-2 pentru n>=3;
Ex : n=6, produsul este 240.

35. Pentru un numar intreg n dat sa se calculeze expresia de mai jos :


s=12+42+72+…+(3*n-2)2
Ex : n=5, s=335.
36. Sa se calculeze produsul a doua numere naturale prin adunari repetate.

37. Sa se determine toate numerele intregi de 3 cifre abc cu proprietatea ca numarul este egal cu suma
cuburilor cifrelor.
Ex : 371=33+53+13.

38. Sa se determine daca 2 numere sunt termeni consecutivi ai sirului lui Fibonacci.
Ex : 55 si 89 sunt termeni consecutivi ai sirului lui Fibonacci.

39. Sa se afiseze primele n numere care au suma cifrelor ≤ m


Ex :n=10, m=4 : 1, 2, 3, 4, 10, 11, 12, 13, 20, 21.

40. Se citesc perechi de numere până la întâlnirea valorii 0. Să se afişeze doar acele perechi alcătuite din
numere prime între ele. Să se precizeze câte sunt în total.
Ex: (3 27) (5 12) (8 13) (2 46) (13 17) (0 0)
Se va afişa 5 12, 8 13, 13 17
3 perechi

41. Sa se scrie un program care afişează pe ecran conţinutul unui fişier text cu nume citit de la tastatura.

42. Sa se creeze un fişier text care conţine toate numerele cuprinse intre a si b formate din cifre identice.
Valorile lui a si b se citesc de la tastatura.
Ex : a=10, b=150 fişierul de ieşire va arata astfel : 11, 22, 33, …, 99, 111 .

43. Din fişierul “numere. in” se citesc mai multe numere întregi. Ele sunt scrise in fişier pe mai multe
linii. Numerele de pe aceeaşi linie sunt separate prin spaţiu. Sa se scrie un program care construieşte
fişierul text “numere. out” conţinând numărul cel mai mare si numărul cel mai mic din fiecare linie
a fişierului “numere. in”. Cele doua numere se vor scrie pe aceeaşi linie separate prin spaţiu.
Ex : “numere. in” :
10 9 13 57 3
32 53 9
6
“numere. out” :
3 57
9 53
66

44. Se citesc numere până la întâlnirea valorii 0. Să se realizeze un program care afişează pentru fiecare
număr citit numărul de apariţii al unei cifre specificate de la tastatură.

45. Se citeşte din fişierul „matrice. txt” o matrice pătratică de ordin n. Pe prima linie din fişier se găseşte
numărul de linii, iar pe liniile următoare elementele matricei. Realizaţi un program care verifică
dacă matricea este simetrică.
46. Fişierul “sir. in” conţine pe o singura linie, separate prin caracterul blanc un şir de numere. Să se
scrie în fişierul “sir. out” elementele prime din acest sir.

47. Se da un fişier text cu mai multe linii. Sa se copieze aceste linii in alt fişier text in ordinea
descrescătoare a lungimilor liniilor.

48. Să se realizeze un program care verifică dacă un număr n natural este număr prim.

49. Să se realizeze un program care verifică dacă un număr n natural este număr perfect.

50. Se dau doua numere întregi a si b, ce reprezintă numărătorul, respectiv numitorul unei fracţii. Să se
realizeze un program care afişează fracţia adusă la formă ireductibilă.

51. Să se realizeze un program care să testeze dacă un vector cu n elemente poate reprezenta o mulţime
( în sens matematic)

52. Să se realizeze un program care afişează numărul de apariţii al elementului maxim dintr-un şir dat
cu n elemente numere reale.

53. Se dau doi vectori A si B cu n si respectiv m elemente ce reprezintă două mulţimi. Să se determine
mulţimea ce reprezintă intersecţia celor două mulţimi date.

54. Sa se ordoneze un vector dat cu n elemente întregi prin metoda bulelor.

55. Sa se determine produsul a doua matrice date A(m,n) si B(n,p).

56. Sa se ordoneze crescător elementele de pe diagonala principală a unei matrice pătratice folosind
interschimbări de linii si coloane.

57. Să se realizeze un program care calculează produsul elementelor de sub diagonala secundară a unei
matrice pătratice de ordin n..

58. Scrieţi un program ce creează un fişier text cu date introduse de la tastatura.

59. Scrieţi un program care concatenează doua fişiere text. Rezultatul concatenării se va pune în primul
fişier.

60. În fişierul NUMERE.TXT se află mai multe numere naturale scrise cu spaţiu între ele. Să se creeze
fişierul PARE.TXT care sa conţină, cate una pe linie doar acele valori din fişierul NUMERE.TXT
care sunt numere pare.

61. Se consideră n numere naturale. Să se determine c. m .m. d. c. al celor n numere. Datele de intrare
se citesc din fişierul „input.txt” sub forma următoare: pe prima linie se va găsi n iar pe următoarele
n linii numerele. Rezultatul se va afişa pe ecran.

62. Se citeşte dintr-un fişier text un număr întreg. Să se afişeze în acelaşi fişier text inversul acestui
număr.

63. Să se scrie un program în care să se calculeze expresia: E= ½+1/3+ ¼+….+1/n, unde n este un
număr natural dat.
64. Să se scrie un program în care să se calculeze expresia E=1+1*2+1*2*3+….+1*2*3*…*n, unde n
este un număr natural dat.

65. Să se scrie un program în care să se calculeze expresia E=12+42+72+….+(3*n-2)2, unde n este un


număr natural dat.

66. Să se scrie un program în care să se calculeze expresia E=1*3+2*5+3*7+…+n*(2*n+1), unde n este


un număr natural dat.
67. Se dau doi vectori u şi v cu n componente numere întregi. Să se calculeze produsul scalar al
acestora, u[1]*v[1]+u[2]*v[2]+….+u[n]*v[n].

68. Fiind dat un vector v cu n componente numere întregi, să se afişeze de câte ori găsim două elemente
consecutive egale între ele.

69. Fiind dat un vector v cu n componente numere întregi, să se insereze la mijlocul vectorului media
aritmetică a elementelor sale.

70. Fiind dat un vector v cu n componente numere întregi, să se afişeze elementele cu proprietatea că
suma cifrelor lor este divizibilă cu o valoare p dată.

71. Fiind dat un vector v cu n componente numere întregi, să se afişeze elementele pare de pe poziţiile
impare din vector.

72. Fiind dat un vector v cu n componente numere întregi, să se afişeze toate perechile de elemente
consecutive cu proprietatea că al doilea element al perechii este egal cu suma cifrelor primului.

73. Se dă un număr natural par. Să se descompună în sumă de două numere prime.