Sunteți pe pagina 1din 3

SUBPROGRAME

1. Să se alcătuiască un program care citeşte două numere reale a şi b, apoi afişează media aritmetică sau
suma pătratelor sau suma cuburilor celor două numere, în funcţie de dorinţa utilizatorului.Pentru
fiecare dintre cerinţe se va folosi câte o procedură.

2. Scrieţi o procedură care primeşte ca parametru un întreg n şi afişează produsul primelor n numere
naturale impare: p=135…(2n-1)

3. Scrieţi o procedură care, primind ca parametru un întreg n, afişează valoarea expresiei S=12+23+…
+n(n+1)

4. Scrieţi o procedură care afişează numerele naturale divizibile cu 3 mai mici sau egale decât o valoare
n dată ca parametru.

5. Scrieţi o procedură care afişează valoarea funcţiei matematice f(x), pentru o valoare a lui x dată ca
parametru.
x 2
 1, pen tru x  3

f :    f ( x)  x  2, pent ru x  ( 3,3)
x 2
 4x  5, pentru x  3

6. Se citesc două polinoame de grade N şi M (coeficienţii fiecărui polinom se citesc într-un vector).Să se
afişeze polinomul sumă.Pentru a realiza programul se vor folosi următoarele proceduri:
 procedura de citire a unui polinom de parametrii N (gradul polinomului) şi P (vectorul în care
se citesc coeficienţii)
 procedura de adunare a două polinoame cu parametrii formali M şi N (gradele celor două
polinoame), P,Q,R, trei vectori cu semnificaţia de polinoame (R este polinomul rezultat)
 procedura de tipărire a unui polinom.

7. Scrieţi o procedură care afişează maximul a trei numere întregi a, b, c.Numerele se citesc de la
astatură în programul principal.

8. Scrieţi o procedură care calculează şi afişează valoarea lui n! (n!=1*2*3*…*n)

9. Citiţi un polinom P de grad N şi M valori reale a1, a2,…, am.Calculaţi valoarea polinomului pentru cele
M valori citite, folosind subprograme.

10. Scrieţi o funcţie care returneză suma cifrelor unui număr natural x dat ca parametru.

11. Scrieţi o funcţie care returnează câte cifre pare conţine un număr natural x dat ca parametru.

12. Scrieţi o funcţie care returnează cifra de rang k într-un numă natural x (rangul unui cifre este numărul
său de ordine, numerotând cifrele de la dreapta la stânga).Valorile lui x şi k se transmit ca parametrii
funcţiei.

13. Se citesc de la tastatură două numere întregi a şi b.Scrieţi un program care verifică dacă cele două
numere au acelaşi produs al cifrelor.Se va folosi o funcţie care returnează produsul cifrelor unui
număr natural dat ca parametru.

14. Scrieţi o funcţie care testează dacă un număr natural x dat ca parametru este prim sau nu, returnând
true sau false.

15. Se citeşte de la tastatură o matrice pătratică a cu n linii şi n coloane, cu elemente numere întregi.Să se
tipărescă în fişierul ‘PRIME.TXT’ elementele prime aflate deasupra diagonelei principale în matrice
(fiecare astfel de element se va scrie pe un rând nou în fişier).Programul va folosi o funcţie care testează
dacă un număr natural x dat ca parametru este prim sau nu.
 17 32 11 15 
 
 24 50 13 18 
Ex: pentru matricea a   se vor scrie în fişier numerele 11, 13 şi 41.
45 19 16 41 
 
 26 12 54 89 
16. Scrieţi un program care, pentru doi întregi x şi n, afişează valoarea expresiei S.
x3 x5 x 2 n 1
S= x    ... 
3 5 ( 2n  1)
Se vor folosi două subprograme: o funcţie pentru ridicarea la putere şi o funcţie care, primind ca
parametrii valorile lui x şi n, returnează valoarea expresiei.

17. Se consideră următoarea expresie matematică de două variabile reale:


 x 2  y 2 , dacå m ax(| x |, | y |)  1

 1 1
f ( x, y )    , dacå min(| x |, | y |)  1
 x y

 x  y, altfel

Se citesc de la tastatură două perechi de numere reale (a1,b1) şi (a2,b2).Să se afişeze valorile
corespunzătoare ale expresiei, respectiv f(a1,b1) şi f(a2,b2), apoi să se determine cea mai mare dintre cele
două valori calculate.Programul va conţine:
- câte o funcţie pentru determinarea minimului/maximului a două numere
- o funcţie care, primind ca parametrii două numere reale x şi y, returnează valoarea expresiei
f(x,y).

18. Să se scrie o funcţie booleană care returnează TRUE dacă un element citit de la tastatură se găseşte
într-un vector sortat crescător.

19. Se introduc de la tastatură două numere naturale cu cel mult 255 cifre.Să se afişeze numărul care are
suma cifrelor mai mare.Se va folosi o funcţie care are un parametru de tip STRING şi returneză suma
cifrelor din acest parametru, iar dacă are caractere ce nu sunt cifre, va returna –1.
Ex: pentru numerele 12357 şi 9000000000012, se va afişa 12357.

20. Se dă un vector cu N (1N100) componente numere naturale mai mici sau egale cu 30000.Să se
afişeze numerele din vector care au cele mai multe cifre de 1 în reprezentarea lor binară.Se va folosi o
procedură pentru citirea vectorului, o funcţie pentru determinarea numărului de cifre de 1 din
reprezentarea binară a unui număr şi o funcţie care returnează maximul dintre componentele unui
vector.
Ex: pentru N=4 şi numerele 9, 13, 7, 8 se vor afişa numerele 13, 7.

21. Se dă un vector A cu N (1N100) componente de tip întreg.Pentru un număr K dat (1KN) să se


ordoneze crescător primele K componente şi descrescător celelalte componente ale lui A.Se va folosi
o procedură pentru citirea vectorului A şi o procedură care să ordoneze la alegere (crescător sau
descrescător) o parte din componentele unui vector (delimitată prin doi indici).
Ex: pentru N=7, K=3 şi vectorul 53 21 30 12 27 7 13, se va afişa 21 30 53 27 13 12 7.

22. O matrice pătratică se numeşte triunghiulară inferior dacă toate elementele aflate deasupra diagonalei
principale sunt nule.Realizaţi o funcţie care verifică dacă o matrice pătratică a cu n linii şi n coloane
este triunghiulară inferior, returnând true sau false.Funcţia va primi ca parametrii matricea împreună
cu dimensiunile sale.

23. Se citeşte de la tastatură o matrice a cu m linii şi n coloane, cu elemente numere întregi.Să se


determine linia (liniile) din matrice care conţine (conţin) cele mai multe elemente nenule.Se va folosi o
funcţie care returnează numărul elementelor nenule de pe o linie a cărei indice i se transmite ca
parametru.
24. Definiţi structurile de date necesare pentru evidenţa cărţilor existente într-o bibliotecă, ştiind că pentru
fiecare carte se înregistrează: titlul cărţii, preţul, numărul de exemplare şi valoarea cărţii respective
(preţul * numărul de exemplare). Scrieţi apoi un program care, prin intermediul unui meniu, selectează în
mod repetat, cât timp utilizatorul doreşte acest lucru, una din următoarele acţiuni: introducerea datelor
aferente unei noi cărţi, determinarea valorii totale a cărţilor existente în bibliotecă şi afişarea informaţiilor
aferente tuturor cărţilor.

25. Se citeşte de la tastatură un număr întreg.Să se afişeze cel mai mare număr care se poate forma cu
cifrele distincte ale numărului dat.Se cer două variante de program: a) cu vectori; b) cu mulţimi
Ex: pentru numărul 29363, mulţimea cifrelor distincte este {2,3,6,9}, iar numărul cerut este 9632.

26. Numim linii gemene într-o matrice două linii care conţin exact aceleaşi elemente, eventual într-o altă
dispunere pe coloane.Scrieţi un program care determină toate perechile de linii gemene într-o matrice
dată a cu m linii şi n coloane, cu elemente numere întregi.Pentru fiecare astfel de pereche, se vor afişa
pe un rând indicii liniilor componente.
1 2 2
 
4 5 6
Ex: în matricea a=  2 1 2

întâlnim două perechi de linii gemene: prima cu a treia şi a doua cu a
6 4 5
7 8 9 

patra.Deci se va afişa (1,3) pe un rând şi (2,4) pe rândul următor.

27. Se citeşte de la tastatură o matrice a cu m linii şi n coloane.Să se elimine atâtea linii câte sunt necesare
astfel încât elementele coloanei C parcurse de sus în jos să fie în ordine crescătoare (unde C este
cunoscut).
2 6 3
 
7 4 2 2 6 3
 
Ex: pentru matricea a=  5 8 9  şi coloana C=2, după eliminări se va obţine matricea
 5 8 9 .
6 9 4 
1 5 3 
6 9 4 

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