Documente Academic
Documente Profesional
Documente Cultură
Sarcini
1. determină toate numerele prime din intervalul [a; b] (un număr este prim dacă se divide numai
la 1 și la el însuși)
2. determină dacă 2 numere sunt prime între ele (cel mai mare divizor comun al lor este 1)
3. determină al n-lea număr Fibbonacci
4. calculează media aritmetică a cifrelor unui număr n
5. calculează suma șirului: 1-1/2+1/4-1/8+...+(-1)n/2n
6. tipărește toate tripletele (i, j, k) de numere naturale care verifică condițiile: i 2 + j2 = k2; unde 1
<i<j<k
7. determină dacă un număr n este perfect (este egal cu suma tuturor divizorilor săi, în afară de
însăși numărul, ca exemplu 6 = 1 + 2 + 3)
8. determină dacă două numere a și b sunt prietene (dacă numărul a este egal cu suma divizorilor
lui b, iar b este egal cu suma divizorilor lui a)
9. determină cel mai mare divizor comun al două numere a și b (poate fi utilizat algoritmul lui
Euclid prin scădere, prin împărțire sau verificarea tuturor numerelor până la 1)
10. calculează suma numerelor pozitive și produsul numerelor negative din intervalul [a; b]
11. calculează media aritmetică, geometrică și armonică a tuturor divizorilor unui număr n
12. determină toate numerele întregi de trei cifre cu proprietatea că suma cifrelor acestuia ridicate
la cub să fie egală cu numărul inițial, ca exemplu dacă numărul n este alcătuit din cifrele a, b
și c, atunci a3 +b3 + c3 = n3
13. determină numerele impare succesive a căror sumă este egală cu n3, pentru n= 1,...,20 (ca
exemplu 13=1; 23=3+5; 33=7+9+11 etc).
14. tipărește toate tripletele (a ,b, c) de numere pitagorice, cu 0<a<b<c ordonate după suma a+
b+ c. Numerele a, b, c, se numesc pitagorice dacă a2+b2=c2.
15. afișează primele n numere Fibbonacci
16. determină cel mai mic multiplu comun al două numere a și b (se poate de împărțit produsul
acestora la cel mai mare divizor comun al lor)
17. determină numerelor perfecte din intervalul [a, b] (un număr este perfect dacă el este egal cu
suma tuturor divizorilor săi, în afară de însăși numărul)
18. determină dacă un număr n este prim (un număr este prim dacă se divide doar la 1 și la el
însuși)
Lucrarea de Laborator nr. 2
Tema: Tablouri (uni și bidimensionale) și șiruri de caractere
Scopul: utilizarea tablourilor uni și bidimensionale și a șirurilor de caractere
pentru scrierea programelor în limbajul de programare C#.
Sarcini
Scrieți un program care prelucrează tablourile așa cum este indicat în variantă, apoi
afișează pe ecran rezultatul (la variantele 1; 3; 6; 8; 11; 13 se cere de prelucrat tablouri
unidimensionale (vectori; se consideră că au mai multe elemente egale cu cel minim și cu cel
maxim), la variantele 2; 7; 12; 16 se cere de prelucrat tablouri bidimensionale (matrice
pătratice), la variantele 4; 9; 14; 17 se cere de prelucrat tablouri de la tablouri (matrice
neregulate, adică cu număr diferit de rânduri și coloane), iar la variantele 5; 10; 15; 18- șiruri
de caractere (string).
Scrieți un program care permite crearea unei clase simple la tema indicată mai jos, având
ca metode (funcții) citirea și afișarea fiecărui câmp privat (set-teri și get- teri sau proprietăți),
precum și o metodă care permite afișarea pe ecran a câmpurilor obiectelor clasei, precum și o
metodă care calculează o valoare nouă a unui sau a mai multor câmpuri (ca exemplu, de
convertit prețul din lei în EURO sau de calculat durata deplasării). Adăugați patru tipuri de
constructori (unul trebuie să fie fără parametri, încă unul- de copiere, altul- cu toți parametrii
indicați, iar ultimul- cu doar câțiva parametri indicați, în dependență de temă, în ultimul caz
unele câmpuri ar putea avea valori egale sau careva valori standarde). Tema, pe baza căreia
trebuie să creați clasa, precum și câmpurile private obligatorii, sunt indicate în variantă
Sarcini
Sarcini
Scrieți un program care permite crearea unei clase care moștenește câmpurile și
metodele clasei create la lucrarea de laborator precedentă, dar mai adaugă și careva
proprietăți proprii, creând și constructorii respectivi (care să corespundă
constructorilor clasei de bază), apoi mai creați o clasă care moștenește caracteristicile
clasei a doua, având și constructorii necesari (ca exemplu, clasa de bază Studenți, clasa
Masteranzi., care moștenește clasa Studenți, apoi clasa Doctoranzi, care moștenește
clasa Masteranzi, deci implicit moștenește și clasa Studenți). Tema, pe baza căreia
trebuie să creați clasele derivate, precum și câmpurile noi obligatorii, sunt indicate în
variantă, dar se permite de creat și alte clase derivate, care să fie logic legate cu cea de
bază, în dependență de imaginația studenților. În main prezentați exemple de creare
atât a obiectelor clasei de bază, cât și a celor derivate. La crearea obiectelor utilizați
fiecare din constructorii scriși.
Sarcini
Scrieți un program care creează o interfață la tema indicată în variantă, care conține
cel puțin o metodă abstractă (indicată în paranteze), poate să conțină și o constantă
necesară pentru calcule ulterioare, apoi creează o clasă abstractă, care o
implementează. Clasa abstractă se cere să aibă cel puțin un câmp (indicate în
paranteze) și constructor. După aceasta creați clasele concrete indicate, care moștenesc
clasa abstractă, deci implicit implementează și interfața, și realizează metodele
abstracte. Prezentați și exemple de polimorfism.
1) Arie figuri geometrice (lungime, lățime, metoda abstractă aria()) și clasele derivate
Arie Dreptunghi și Arie Pătrat.
2) Volum Corpuri Geometrice (latură, înălțime, metoda abstractă volum()) și clasele
derivate Volum Piramidă și Volum Cub.
3) Lungime Figuri Geometrice (rază și metoda abstractă lungimea()) și clasele
derivate Lungime Cerc și Lungime Cerc Trigonometric (cerc cu raza 1).
4) Schimb Valutar (sumă, curs, metoda abstractă conversie()) și clasele derivate
Schimb Lei în Euro și Schimb Euro în Lei (în primul caz suma se consideră a fi în
lei, iar în al doilea caz- în Euro).
5) Convertire Lungime (lungime, metoda abstractă convertire()) și clasele derivate
Convertire Centimetri în Inch și Convertire Inch în Centimetri (în primul caz
lungimea se consideră a fi în cm, iar în al doilea caz- în inch).
6) Credit (sumă inițială, plată lunară și metoda abstractă sumăTotală()) și clasele
derivate Credit pentru 12 Luni și Credit pentru 24 de Luni. Metoda abstractă
trebuie să afișeze suma totală a produsului, știind suma achitată inițial, plata lunară
și termenul de achitare.
7) Depozit (sumă inițială, rată, metoda abstractă sumăFinală()) și clasele derivate
Depozit pentru 12 Luni și Depozit pentru 6 Luni. Metoda abstractă trebuie să
calculeze suma finală a clientului pentru banii depuși în perioada indicată cu
procentul indicat. Rata dobânzii se consideră fixă pe toată perioada.
8) Tipografie (număr pagini, preț tipărire pagină monocromă, metoda abstractă cost())
și clasele derivate Ziar Color și Ziar Monocrom. Costul tipăririi unei pagini color
se consideră de patru ori mai mare decât a unei pagini alb- negru.
9) Preț Apartament (suprafață odaie, preț m2, metoda abstractă cost()) și clasele
derivate Apartament cu O Odaie și Apartament cu Două Odăi. Metoda abstractă
trebuie să calculeze prețul apartamentului, dacă considerăm că el are una sau două
odăi (se consideră că bucătăria împreună cu coridorul și blocul sanitar au aceiași
mărime ca și odăile), știind prețul unui metru pătrat și suprafața odăii.
10)Volum Corpuri Geometrice Conice (rază, înălțime, metoda abstractă volum()) și
clasele derivate Volum Con și Volum Cilindru.
11)Perimetru Figuri Geometrice (lungime, lățime, metoda abstractă perimetru()) și
clasele derivate Perimetru Dreptunghi și Perimetru Triunghi.
12)Salariu Angajat (nume, funcție și metoda abstractă salariu()) și clasele derivate
Salariu Angajat de Bază și Salariu Angajat cu Salariul Procent din Vânzări.
13)Suma Progresiei (termen inițial, rație și număr de termeni, metoda abstractă
suma()) și clasele Suma Progresiei Aritmetice și Suma Progresiei Geometrice.
14)Medie Tablou (număr termeni și metoda abstractă media()) și clasele Medie Vector
(tablou unidimensional) și Medie Matrice (tablou bidimensionale).
15)Cutie (lungime, lățime, înălțime și metoda abstractă volum()) și clasele derivate
Cutie în Formă de Paralelipiped Drept și Cutie în Formă de Cub.
Lucrarea de Laborator nr. 7
Tema: Prelucrarea Excepțiilor
Scopul: prelucrarea excepțiilor în limbajul de programare C#.
Sarcini
Sarcini
Sarcini
Utilizând aceiași temă ca la lucrarea de laborator nr. 3 creați cel puțin cinci obiecte
și înscrieți-le într-o listă de tip List, apoi ArrayList, apoi LinkedList. Prezentați diferite
exemple de utilizare a acestora, inclusiv sortarea automată și afișarea pe ecran.
După aceasta mai creați cel puțin cinci obiecte și adăugați-le într-un dicționar de tip
Dictionary. Prezentați exemple de prelucrare și afișare pe ecran.