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

 

  1. Capitolul I : problemele 1.1 pina la 1.73, pg. 7 – 60.
  2. Capitolul II : problemele 2.1 pina la 2.15, pg. 75 – 86.

 

II Alte probleme

 

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. Sa se calculeze valoarea lui 2 la puterea 100.
  6. Sa se adune doua numere intregi pozitive foarte mari.
  7. Sa se scada doua numre intregi pozitive foarte mari.
  8. Sa se determine numarul de zile scurse intre doa date calendaristice exprimate fiecare sub forma a trei numere intregi pozitive z, l, a.
  9. 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.
  10. Folosind accesarea elementelor unui tablou prin pointeri sa se scrie o functie pentru eliminarea unui subsir dintr-un sir.
  11. 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.
  12. 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.
  13. Sa se determine reuniunea a doua multimi folosind accesarea elementelor tablourilor prin pointeri.
  14. Sa se determine intersectia a doua multimi folosind accesarea elementelor tablourilor prin pointeri.
  15. Sa se scrie functii pentru calculul sumei si produsului a doua polinoame cu coeficienti reali si de o variabila reala.
  16. Sa se descrie un polinom cu coeficienti reali avind m variabile reale. Sa se adune doua polinoame de m si respectiv n variabile.
  17. 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.
  18. 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.
  19. 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.
  20. 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