Sunteți pe pagina 1din 14

1.

Să se scrie un program care să calculeze numărul de roți dintr-o


parcare în care se află m mașini și b biciclete.
2. Se citesc intervalul [a,b) și numărul x de la tastatură. Să se
verifice dacă x se află în intervalul [a,b) .
3. Scrieți un program care să returneze succesorul, predecesorul,
pătratul și cubul unui număr întreg dat.
4. Scrieți un program care să tipărească tabela de temperaturi
Fahrenheit şi echivalenţele lor în grade Celsius, folosind
formula:
5
𝐶 = ⋅ ( 𝐹 – 32 )
9
între valorile extreme 0 şi 300 grade Fahrenheit.
5. Scrieți un program care să calculeze media aritmetică a n
numere citite de la tastatură.
6. Scrieți un program care să determine maximul şi minimul a N
numere întregi.
7. Pentru un număr natural 𝑛 dat, calculați folosind conversii de tip
explicite valoarea expresiei
[√1] + [√2] + ⋯ + [√𝑛]
8. Scrieți un program care să determine rădăcina pătrată a unui
număr real pozitiv a, folosind algoritmul
𝑥0 = 𝑎
1 𝑎
𝑥𝑛𝑒𝑤 = ⋅ (𝑥𝑜𝑙𝑑 + )
2 𝑥𝑜𝑙𝑑
9. Calculați o valoare aproximativă pentru pi, folosind formula lui
Leibnitz
1 1 1 1 (−1)𝑘
𝜋 =4⋅ ( – + – +⋯ )
1 3 5 7 2𝑘 + 1
10. Scrieți un program care să găsească toate numerele prime până
la n, folosind ciurul lui Eratostene:
1. Se scrie o listă a numerelor de la 2 la cel mai mare
număr ce urmează a fi testat pentru primalitate. Numim
această listă lista A.
2. Se trece numărul 2, primul număr prim găsit, într-o altă
listă, cea a numerelor prime găsite. Numim această listă
lista B.
3. Se marchează 2 și toți multiplii lui 2 din lista A.
4. Primul număr nemarcat din listă este un număr prim. Se
trece acest număr în lista B.
5. Se marchează acest număr și toți multiplii lui din lista A.
Marcarea de multipli poate să înceapă de la pătratul
numărului, întrucât multiplii mai mici au fost deja
marcați în pașii anteriori.
6. Se repetă pașii 4 și 5 până când se epuizează toate
numerele din lista A.
11. Transformați un număr din baza 10 în baza 2.
12. Scrieți un program care să transforme un număr din baza 10 în baza
𝑛, unde 𝑛 ∈ {2,3,4, … , 9}.
13. Scrieți un program care citește un număr scris în baza 𝑛, unde
𝑛 ∈ {2,3,4, … , 9} și afișează valoarea acestuia în baza 10.
14. Scrieți un program prin care se citesc două numere reale a şi b
de la tastatură, apoi utilizatorul trebuie să aleagă dacă se va
calcula media aritmetică (opțiunea 1) sau geometrică (opțiunea
2). Dacă se va răspunde prin 1, se va calcula şi afişa media
aritmetică, iar pentru 2 se va afișa media geometrică dacă
numerele sunt pozitive sau 'eroare' dacă cel puțin un număr este
negativ. Dacă se introduce orice alt răspuns în afară de 1 sau 2
se va reafișa textul alegerii.
15. Să se calculeze suma
𝑆 = 1 – 2 + 3 – 4 + ...+ 𝑛
pentru un n dat de la tastatură.
16. Scrieţi un program care să calculeze factorialul unui număr
întreg n.
17. Un cod numeric personal are următoarea structură:
SAALLZZJJNNNC
unde S reprezintă sexul (numere impare pentru genul masculin,
numere pare pentru genul feminin, 1-2 pentru cei născuți în
secolul XX, 3-4 pentru cei născuți în secolul XIX și 5-6 pentru
cei născuți în secolul XXI, 7-8 pentru străinii rezidenți în
România), AA sunt ultimele 2 cifre ale anului nașterii, LL e
luna nașterii, ZZ ziua nașterii, JJ codul județului în care s-a
înregistrat nașterea (între 01 și 46, 51 sau 52), NNN este un
număr de ordine dat de Evidența Populației, iar C este o cifrp de
control, care se obține astfel: fiecare cifră din C.N.P. este
înmulțită cu cifra de pe aceeași poziție din numărul
279146358279; rezultatele sunt însumate, iar rezultatul final
este împărțit cu rest la 11. Dacă restul este 10, atunci cifra de
control este 1, altfel cifra de control este egală cu restul.
Scrieți un program care să verifice dacă un șir de forma
SAALLZZJJNNNC este un cod numeric personal valid sau nu.
Testați-l cu următoarele șiruri: 7880515312343, 2780629481237,
2780629381232, 5101010106243
18. Venitul unei firme este de V mii lei, iar cheltuielile sunt de C
lei. Să se precizeze dacă profitul firmei este mai mare sau nu
decât o valoare constantă profit_minim = 500 (mii lei).
19. Să se realizeze următoarea “piramidă” a numerelor:
1
12
123
.........
1 2 3 ... n
în care numărul n este citit de la tastatură.
20. Scrieți un program care afișează numărul 𝜋 pe N rânduri (N citit
de la tastatură), astfel încât pe primul rând să fie partea întreagă
(3), iar pe fiecare din rândurile următoare i să apară câte i
zecimale. De exemplu, pentru N=5 se va afișa
3.
14
159
2653
58979
21. Citiți un număr natural N de la tastatură, apoi realizați un brăduț
de Crăciun cu N etaje în următoarele variante:
* * *
* * * + + + * + *
* * * * * * * * * * * + * + *
* * * * * * * + + + + + + + * + * + * + *
22. Citiți un număr natural N și un șir de caracterede la tastatură,
apoi realizați un brăduț de Crăciun cu N etaje și eementele
șirului introdus. De exemplu, pentru N=5 și șirul SLAVICI se
va realiza
S
L A V
I C I S L
A V I C I S L
A V I C I S L A V
23. Se citeşte un şir de numere întregi pâna la întâlnirea numărului
0. Să se calculeze media aritmetică a numerelor din şir.
24. Un număr se numeşte “palindrom” dacă citit invers este acelaşi
număr. Să se verifice dacă un număr este sau nu palindrom.
25. Să se verifice dacă un număr natural este sau nu pătrat perfect.
26. Generaţi trei numere reale din intervalul [0,1) şi apoi calculaţi şi
afişaţi media lor aritmetică.
27. Să se scrie un program care să contorizeze apariţiile vocalelor
într-un text citit de la tastatură.
28. Să se scrie un program care citeşte mai multe linii şi o tipăreşte
pe cea mai lungă.
29. Scrieţi o funcţie care converteşte un şir de caractere într-un
întreg.
30. Eliminați toate apariţiile caracterului spaţiu dintr-un text.
31. Se citesc de la intrare mai multe linii. Scrieţi un program care să
tipărească toate liniile mai scurte de 20 de caractere.
32. Scrieţi un program care citește două șiruri de caractere, s1 și s2,
apoi returnează șirul s1 din care au fost șterse toate caracterele
care apar în șirul s2.
33. Scrieţi un program care citește două șiruri de caractere, s1 și s2,
apoi returnează șirul conținând doar caracterele care apar în
aceeași poziție în ambele șiruri.
34. Scrieţi un program care să determine simultan minimul şi
maximul unui vector de numere reale.
35. Se citește un șir de caractere (text) de la tastatură. Scrieţi o
funcţie care să transforme șirul introdus într-un șir scris doar cu
majuscule.
36. Scrieți un program prin care se citește un vector de numere
întregi, apoi se determină suma componentelor sale.
37. Scrieți un program prin care se citește un vector de numere
întregi, apoi se determină media sa aritmetică și abaterea medie
pătratică a elementelor sale (radical din suma pătratelor
componentelor).
38. Citiți de la tastatură două matrice n x m și calculați suma lor și
diferența lor.
39. Citiți de la tastatură doi vectori A și B de numere întregi și
realizați reuniunea lor (un vector care conține toate elementele
din A, la care se vor adăuga acele elemente din B care nu se
găsesc şi în A).
40. Citiți de la tastatură doi vectori A și B de numere întregi și
realizați intersecția lor (un vector care conține toate elementele
din A care se regăsesc în B).
41. Realizați un program prin care se citește de la tastatură un
polinom prin coeficienții săi, de exemplu
𝑃 = 3 𝑋5 + 2 𝑋2 − 2 𝑋 − 1
va fi citit ca vectorul
[−1, −2, 2, 0, 0,3]
Folosiți acest sistem pentru a calcula valoarea polinomului P
într-un punct a introdus de la tastatură.
42. Realizați un program prin care se citesc de la tastatură 2
polinoame prin coeficienții lor (vezi exercițiul precedent) și se
returneaza suma acestora.
43. Creați un fișier care să conțină numele unor persoane, vârsta și
valoarea glicemiei lor, ca în exemplul următor:
Popescu_Ion 42 78
Ionescu_Ana 54 120
Georgescu 32 91
……………..
O persoană este considerată sănătoasă dacă are glicemia
cuprinsă între g_min=72 și g_max=108.
a. Determinați numărul de persoane cu glicemie normală din
fișier și afișați-le pe ecran.
b. Determinați numărul de diabetici din fișier și calculați-le
media de vârstă și glicemia medie.
c. Calculați vârsta medie și glicemia medie pentru persoanele
cu glicemie normală.
44. Se dă o matrice pătratică de ordin n. Se consideră că cele două
diagonale împart matricea în patru zone: nord, sud, est şi vest
(elementele de pe diagonală nu fac parte din nici o zonă). Să se
calculeze suma elementelor din nord, produsul elementelor din
sud, media aritmetică a elementelor din est şi numărul
elementelor nule din vest.
45. Se dă o matrice pătratică de ordin n. Să se obţină transpusa
matricei inițiale (matricea în care elementele de pe linie apar pe
coloană).
46. Se dă o matrice pătratică de ordin n. Construiți și afișați o
matrice în care fiecare element să fie egal cu procentul (cu 2
zecimale) reprezentat de elementul corespunzător din prima
matrice raportat la suma tuturor elementelor primei matrice. De
exemplu
1 3 6,66 20,00
𝑠𝑢𝑚𝑎 = 15
6 5 40,00 33,33
47. Să se calculeze suma
𝑆(𝑛) = 1 + 3 + 5 + . . . + ( 2 𝑛 – 1 )
folosind o funcţie recursivă.
48. Scrieți o funcţie care să determine diferenţa între două momente
de timp date prin oră și minute (în minute, apoi în ore și
minute).
49. Scrieţi o funcţie iterativă care să calculeze
𝑆 = 1 + 2 + 3 + ...+ 𝑛
𝑃 = 1 × 2 × 3 × . . .× 𝑛
50. Considerați un fișier text în care aveți o listă de persoane şi
punctajele obţinute de acestea la un concurs. Să se ordoneze
descrescator persoanele în funcţie de punctaj şi să se afişeze
lista ordonată.
51. Să se elimine dintr-o listă de numere întregi acele numere care
sunt pare.
52. Un fişier text conţine N linii de forma:
nume prenume nota1 nota2
Realizați un fișier în care să fie stocate numele, prenumele și
media tuturor celor care au obținut cel puţin media 5. Calculați
media aritmetică și dispersia (radical din suma pătratelor
mediilor) mediilor care sunt peste 5.
53. Scrieți un program care să determine numărul de ordine al unei
zile într-un an.
54. Scrieți un program care să determine câte zile s-au scurs între
două date.
55. Scrieți un program care să returneze zodia în care se află o
anumită dată (lună, zi).
56. Se citeşte numărul natural n de la tastatură. Să se calculeze,
folosind toate instrucţiunile repetitive cunoscute, expresiile:
𝑆 = 1 + 1 ⋅ 2 + 1 ⋅ 2 ⋅ 3 + ⋯+ 1 ⋅ 2 ⋅ …⋅ 𝑛
𝑆 = 1– 1 ⋅ 3 + 1 ⋅ 3 ⋅ 5– 1 ⋅ 3 ⋅ 5 ⋅ 7+ . . . (𝑛 𝑡𝑒𝑟𝑚𝑒𝑛𝑖)
57. Să se elimine dintr-un vector x de numere întregi toate
elementele de pe poziţii divizibile prin 5.
58. Să se elimine dintr-un vector x de numere întregi toate
elementele de modul mai mare decât 20.
59. Se consideră un vector de numere întregi x. Construiți un vector
y cu acelaşi număr de componente, astfel încât elementele lui y
să fie cuburile elementelor lui x.
60. Se consideră doi vectori de numere întregi x şi y, de lungime n.
Consturiți vectorul z, de lungime n, în care
z1 = max(x1 , y1)
z2 = max(x2 , y2)

zn = max(xn , yn)
61. Se consideră o propoziție de maxim 20 cuvinte introdusă de la
tastatură (”Ana are mere.”) Construiți un vector care să conțină
cuvintele propoziției introduse și afișați numărul de cuvinte și
elementele vectorului construit.
62. Se dă un şir de caractere. Să se înlocuiască fiecare vocală cu
vocala următoare din alfabet (se consideră vocale A – E – I – O
– U – Y, iar Y se va înlocui cu A).
63. Scrieți un program prin care se citește un text în limba română
dintr-un fișier și se returnează frecvența fiecărei litere din alfabet în
textul respectiv. Realizați o ierarhizare a celor mai frecvente 5 litere
care apar în textele limbii române.
64. Se dă un şir de caractere. Să se înlocuiască fiecare literă cu
litera care apare după 3 poziții în alfabet (codul Caesar clasic: A
- D, ..., X - A, Y - B, Z - C).
65. Realizați un program prin care să implementați codul Caesar –
se citește de la tastatură un mesaj de maxim 100 caractere și
cheia (numărul de poziții dintre caracter și caracterul codat). Se
cer atât varianta de codare, cât și cea de decodare.
66. Un mod de criptare este pătratul lui Polybius, care presupune
aranjarea literelor din alfabet sub forma unei matrice pătratice
(eventual se elimină sau se contopesc simboluri, pentru a realiza un
pătrat perfect). Fiecare literă din textul clar este înlocuită apoi cu
indicele liniei și coloanei pe care se află aceasta, rezultând un șir de
cifre – de exemplu litera N se înlouiește cu 34. Folosind pătratul
alăturat, să se codeze mesajul LA CE FILM MERGEM DUMINICA?
1 2 3 4 5

1 A B C D E

2 F G H I J

3 K L M N O

4 P R S T U

5 V W X Y Z

67. Scrieți un program care să decodeze un mesaj în limba română


codat cu pătratul lui Polybius (vezi exercițiul precedent).
68. Se dă un şir de caractere. Să se afişeze toate prefixele acestuia.
De exemplu, pentru şirul ABCDE se va afişa:
A
AB
ABC
ABCD
ABCDE
69. Construiți o matrice A de numere întregi, apoi construiți
matricea obținută prin eliminarea liniei L și a coloanei C din
matricea A.
70. Construiți o matrice A de numere reale, apoi adăugați-i o
coloană în care să apară suma elementelor de pe fiecare linie.
71. Dată fiind o matrice cu elemente din ℤ2 (0 și 1) construiți matricea
corectoare – prin adăugarea unei linii și a unei coloane suplimentare,
ale căror elemente să fie suma din ℤ2 a elementelor de pe coloanele
(repectiv liniile) matricii inițiale care conțin elemental respectiv.
72. Se consideră o matrice A de numere reale. Eliminați din A
liniile care conţin elemente de modul mai mare decât 20.
73. Se consideră două matrice de numere întregi. Construiți o
matrice în care fiecare element este minimul dintre elementele
corespunzătoare din cele două matrice.
74. Rearanjați elementele unui vector x de numere întregi în ordine
crescătoare.
75. Rearanjați elementele unui vector x de numere întregi, astfel
încât elementele pare să fie înaintea celor impare, dar ordinea să
se păstreze atât la cele pare, cât şi la cele pare.
76. Se consideră o structură pentru stocarea datelor despre n elevi,
având câmpurile: nume şi prenume de tip şir de caractere, sex
de tip caracter, vârstă de tip întreg.
a. Obțineți o listă a fetelor şi una a băieţilor, apoi afișați-le pe
ecran.
b. Extrageți elevii care au o anumită vârstă apoi afișați-i pe
ecran.
c. Eliminați toți elevii care au peste 18 ani, apoi calculați
media de vârstă a elevilor rămași.
77. Afișați conţinutul unui fişier text pe ecran.
78. Se dau două fişiere text. Alipiți cele două fişiere într-un al
treilea.
79. Considerați un fişier text cu maxim 100 linii (o poezie).
Realizați un alt fişier text care să conţină liniile din fişierul
iniţial, dispuse în ordine inversă.
80. Evoluția temperaturii într-o săptămână este dată în tabelul de
mai jos. Reprezentați grafic evoluția temperaturii prin bare
orizontale, după modelul de mai jos și calculați temperatura
medie.
Ziua L M M J V S D
Temperatura 18 20 22 16 13 17 19

81. Evoluția presiunii atmosferice într-o săptămână este dată în


tabelul de mai jos. Reprezentați grafic evoluția presiunii prin
bare verticale, după modelul de mai jos și calculați presiunea
medie.
Ziua L M M J V S D
Presiunea 1013 1019 1028 1033 1026 1033 1030
82. Evoluția temperaturii într-o săptămână este dată în tabelul de
mai jos. Reprezentați grafic evoluția temperaturii prin bare
verticale și calculați temperatura medie.
Ziua L M M J V S D
Temperatura 21 20 22 25 22 19 20
83. Evoluția presiunii atmosferice într-o săptămână este dată în
tabelul de mai jos.
Ziua L M M J V S D
Presiunea 1005 1009 1016 1033 1016 1009 1033
Reprezentați grafic evoluția presiunii după modelul de mai jos
și calculați presiunea medie.

84. Evoluția vânzărilor de automobile într-o săptămână este dată în


tabelul de mai jos. Reprezentați grafic evoluția vânzărilor prin
bare orizontale și calculați numărul mediu de automobile
vândute.
Ziua L M M J V S D
Nr masini 3 5 2 4 7 6 1
85. Evoluția cantității de precipitații zilnice într-o săptămână este
dată în tabelul de mai jos. Reprezentați grafic evoluția cantității
de precipitații prin bare verticale și calculați precipitațiile medii.
Ziua L M M J V S D
Precip (mm) 12 1 6 8 10 2 3
86. Realizați un program prin care să fie citite de la tastatură
valorile cursului valutar din 5 zile consecutive (L,M,M,J,V) și
apoi să se afișeze cu roșu graficul evoluției acestui curs valutar,
o dreaptă verde care să unească valoarea din prima zi cu
valoarea din ultima zi și un curs mediu pentru perioada
analizată.
87. Desenați o față zâmbitoare:

88. Desenați o țintă formată din 3 cercuri concentrice de raze 50,


100, 150, după modelul:

89. Preferințele publicului față de 3 tipuri de ciocolată sunt date în


tabelul de mai jos:
Ciocolată albă 30%
Ciocolată cu lapte 45%
Ciocolată amăruie 25%
Realizați o reprezentare circulară a preferințelor, după modelul:
90. Evoluția vânzărilor de automobile într-o săptămână este dată în
tabelul de mai jos. Reprezentați grafic printr-o diagramă
circulară evoluția vânzărilor.
Ziua L M M J V S D
Nr masini 3 4 7 6 5 4 1
91. Reprezentați grafic funcția 𝑓: [−2,2] → ℝ, 𝑓(𝑥) = 𝑥 2 − 𝑥 + 1.
92. Reprezentați grafic funcția
2𝑥 − 1 ,𝑥 ≤ 0
𝑓: [−3,3] → ℝ, 𝑓(𝑥) = {
𝑥+1 ,𝑥 > 0
93. Desenați o mașină albastră, după modelul de mai jos:

94. Realizați o simulare a unui semafor: o mașină albastră (vezi


exercițiul precedent) așteaptă și atunci când apare culoarea
verde la semafor pleacă de pe loc. Înainte de plecarea de pe loc
trebuie să fie vizibile (nu simultan) toate culorile semaforului
(roșu, portocaliu, verde):
95. Realizați o animație în care o mașină albastră (vezi exercițiile
precedente) se deplasează din poziția A în poziția B (de la
semafor la STOP) atunci când apare culoarea verde a
semaforului.

96. Desenați un dansator, după modelul de mai jos:

97. Realizați o animație prin care un dansator (vezi exercițiul


precedent) ajunge din poziția A în poziția B și apoi revine la
poziția A:

98. Se citesc de la tastatură viteza inițială a unui proiectil, 𝑣0 ,


unghiul 𝜃 pe care țeava tunului îl face cu orizontala și distanța
AB (de la tun la turn). Realizați o animație care să simuleze
deplasarea unei ghiulele de la tunul A către turnul B:
Se cunosc ecuațiile de mișcare și valoarea accelarației
gravitaționale 𝑔 = 9,8:
𝑥 = 𝑣0 𝑡 cos 𝜃
𝑔𝑡 2
𝑦 = 𝑣0 𝑡 sin 𝜃 −
2
99. Citiți de la tastatură coordonatele a 3 puncte din plan, 𝐴(𝑥𝐴 , 𝑦𝐴 ),
𝐵(𝑥𝐵 , 𝑦𝐵 ) și 𝐶(𝑥𝐶 , 𝑦𝐶 ). Calculați lungimile 𝐴𝐵, 𝐵𝐶, 𝐴𝐶, și în
caz că pot fi laturile unui triunghi, reprezentați grafic triunghiul
și afișați perimetrul și aria sa.
100. Se citesc de la tastatură coordonatele a 4 puncte, în ordine
(A,B,C,D). Stabiliți dacă cele 4 puncte sunt vârfurile unui
paralelogram (AB=CD, BC=AD, AB≠BC), ale unui dreptunghi
(AB=CD, BC=AD, AC=BD, AB≠BC), romb (AB=CD,
BC=AD, AB=BC, AC≠BD) sau pătrat (AB=CD, BC=AD,
AB=BC, AC=BD) și desenați figura împreună cu denumirea sa
(în caz că nu e nici o variantă din cele de mai sus, se va afișa
doar „patrulater”).

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