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”).