Probleme propuse pentru Examenul la disciplina
“Programarea calculatoarelor” – Anul I, Informatica, Semestrul I
I Probleme din cartea “Algoritmi, o abordare
pragmatica”, Editura Universitaria, 2002, autori M. Cosulschi si M.
Gabroveanu
- Capitolul
I : problemele 1.1 pina la 1.73, pg. 7 – 60.
- Capitolul
II : problemele 2.1 pina la 2.15, pg. 75 – 86.
II Alte probleme
- Se
considera doua forme de exprimare a unui unghi i.e. in radiani si
respective in grade minute si secunde. Sa se scrie cite o functie C pentru
transformarea valorii unui unghi din radiani in grade minute si secunde si
respectiv invers. Sa se apeleze cele doua functii in programul principal.
- Sa se
scrie un subprogram C pentru impartirea a doua numere intregi positive
folosind scaderi repetate. Numerele vor fi precizate ca parametric in
linia de comanda a programului.
- Se
considera n personae (caracterizate de nume) asezate in jurul unei mese.
Incepind cu persoana p (p<n) se numara din k (k<n) in k si se
elimina a k-a persoana afisindu-se numele acesteia. Numaratoarea tine
seama de fiecare data de toate cele n pozitii si de fiecare data se numara
si persoana eliminata la pasul anterior. Sa se determine momentul cind
jocul se blocheaza si sa se afiseze persoanele care nu au fost eliminate.
- Se
considera n personae (caracterizate de nume) asezate in jurul unei mese.
Incepind cu persoana p (p<n) se numara din k (k<n) in k si se
elimina a k-a persoana afisindu-se numele acesteia. De fiecare data
numaratoarea tine seama doar de persoanele ramase in joc. Jocul continua
pina cind ramine o singura persoana al carei nume se va afisa.
- Sa se
calculeze valoarea lui 2 la puterea 100.
- Sa se
adune doua numere intregi pozitive foarte mari.
- Sa se
scada doua numre intregi pozitive foarte mari.
- Sa se
determine numarul de zile scurse intre doa date calendaristice exprimate
fiecare sub forma a trei numere intregi pozitive z, l, a.
- Folosind
accesarea elementelor unui tablou prin pointeri sa se scrie o functie
pentru inserarea uni sir de caractere intr-un altul. Inseraea se va face
dintr-o pozitie specificata.
- Folosind
accesarea elementelor unui tablou prin pointeri sa se scrie o functie
pentru eliminarea unui subsir dintr-un sir.
- Folosind
accesarea elementelor unui tablou prin pointeri sa se parcurga o matrice
de ordin m*n in zig-zag i.e. prima linie de la stinga la dreapta, a doua
linie de la dreapta la singa, etc.
- Folosind
tipul structurat sa se descrie o multime M de puncte in plan. Fie P un alt
punct din plan care nu apoartine multimii M. Sa determine acel punct din M
care se afla la distanta cea mai mica de P.
- Sa se
determine reuniunea a doua multimi folosind accesarea elementelor
tablourilor prin pointeri.
- Sa se
determine intersectia a doua multimi folosind accesarea elementelor
tablourilor prin pointeri.
- Sa se
scrie functii pentru calculul sumei si produsului a doua polinoame cu
coeficienti reali si de o variabila reala.
- Sa se
descrie un polinom cu coeficienti reali avind m variabile reale. Sa se
adune doua polinoame de m si respectiv n variabile.
- Fie s
si t doua siruri de caractere. Se defineste sirul diferenta s-t =
{caracterele c/ cÎs si cÏt
si caracterele c sunt considerate in ordinea in care se gasesc in s}.
Folosind accesarea elementelor unui sir prin pointeri sa se scrie o
functie care calculeaza diferenta a doua siruri de caractere.
- Sa se
scrie un subprogram C care calculeaza aria suprafetei dintre graficul Gf
al unei functii f:R->R, axa Ox si dreptele x=a, x=b. Valorile reale a
si b si fuctia f vor fi parametri ai subprogramului. In programul
principal sa se apeleze subprogramul pentru diverse functii f (definite ca
functii C) si valorile a, b corespunzatoare acestora.
- Folosind
accesarea elementelor unui sir prin pointeri sa se scrie o functie care
concateneaza doua siruri de caractere. Sa se concateneze mai multe siruri
de caractere precizate ca parametri ai liniei de comanda a programului.
- Sa se
scrie o functie C care calculeza produsul C=A*B, unde A si B sunt doua
matrici de ordin m*n si respectiv p*q (in cazul cind inmultirea nu este
posibila se va afisa un mesaj corespunzator). Functia va avea ca parametri
valorile intregi reprezentind dimensiunile matricilor si tablourile
corespunzatoare matricilor A si B. Functia va returna un pointer la
tabloul care contine matricea produs. Acest ultim tablou va fi alocat dinamic
in cadrul fuctiei.
Lector Dr. Petre Bazavan