Sunteți pe pagina 1din 8

1.

Definiți o clasă Domino, care permite instanțierea obiectelor simulând piesele


dintrun joc domino. Constructorul acestei clase va inițializa valorile prezente pe
fețele A și B ale piesei de domino(valoarea implicita este 0). Se vor defini două
metode:

O metodă-afișare_puncte() , care va afișa punctele presente pe cele două fețe ale


piesei.

O metodă-valoare(), care returnează suma punctelor prezente pe cele două fețe.

Exemplu de utilizare a clasei.

>>> d1 = Domino(2,6)

>>> d2 = Domino(4,3)

>>> d1.afisare_puncte()

>>> fața A : 2 fața B : 6

>>> d2.afisare_puncte()

>>> fața A : 4 fața B : 3

>>> print("total de puncte :", d1.valoare() + d2.valoare())

2. Definiți o clasă ContBancar(), care permite instanțierea obiectelor cont1,


cont2 ,etc. Constructorul acestei clase va inițializa două atribute de instanță nume
și sold , cu valori implicite ”Cojocaru ” și sold de 1000 . Se vor defini următoarele
trei metode:

• depozit(suma) va permite să se adauge o suma la sold;

• retragere(suma) va permite să se retragă o sumă din sold;

• afisare()va permite să se afișeze numele titularului de cont și soldul din cont .

Exemplu de utilizare a acestei clase :

>>> cont1 = ContBancar('Moraru', 800)


>>> cont1.depozit(350)

>>> cont1.retragere(200)

>>> cont1.afisare()

Soldul din contul bancar a lui Moraru este 950 euros.

>>> cont2 = ContBancar()

>>> cont2.depozit(25)

>>> cont2.affiche()

Soldul din contul bancar a lui Cojocaru este 1025 euros.

3. Definiți o clasă Mașina() , care să premită instanțierea de obiecte ce vor


reproduce comportamentul masinei. Constructorul clasei va inițializa atribute ce
urmează a fi cu valori implicite precum: marca= ‘Ford’, culoare= ‘rosie’, sofer =
‘nimeni’, viteza= 0.

Când se va instanția un obiect nou Masina() să se poată găsi marca și culoare,dar


nu și viteza și numele șoferului, sofer.

Se vor crea următoarele metode:

alege_sofer(nume ) ce va permite desemnarea (sau schimbarea) numelui


soferului.

accelerare(viteza,durata) ce va permite variația de viteză a mașinii. Variația vitezei


se definește ca produs viteză X durata. Dacă ,spre exemplu, viteza este de 1.3m/s.
Iar durata de 20 s., atunci variația de viteză (câștig de viteză)este egal cu 26m/s.

Pentru rate negative câștigul de viteză nu se va calcula. Dacă sofer este nimeni la
fel nu se va calcula câștig de viteză.
afisare_completa() ce va permite afisarea(descrierea completă a masinii), adică
marca, culoare, nume sofer, viteza.

Exemple de utilizare clasă.

>>> a1 = Masina('Peugeot', 'albastru')

>>> a2 = Masina('Mercedes')

>>> a2 = Masina(culoare= ’verde’)

>>> a3 = Masina('Mercedes')

>>> a1.alege_sofer('Roméo')

>>> a2.alege_sofer('Julieta')

>>> a2.accelerare(1.8, 12)

>>> a3.accelerare(1.9, 11)

Aceasta masina este fara sofer !

>>> a2.afisare_completa()

Ford ,verde, pilotat de Julieta, viteza= 21.6 m/s.

>>> a3.afisare_completa()

Mercedes, rosu, fara sofer, viteza = 0 m/s.

4. Să se definească o clasă Satellite() ,care va permite instanțierea de obiecte ce


simulează sateliți artificiali lansați în spațiu, în jurul pământului. Constructorul
acestei clase va inițializa instanțe cu următoarele atribute cu valori definite
implicit: masa= 100, viteza = 0.
Cînd se va instanția un obiect nou Satelit(), se va putea alege numele, masa și
viteza acestuia.

Se vor defini urmatoarele metode:

Impuls(forta, durata) ce va permite să se varieze viteza satelitului Δv. Aceasta se


evalueaza din formula cunoscută din fizică Δv = F* t/m. (dacă masa in kg, forta in
Newtons, t în secunde, Δv va fi in m/sec.).

afisare_viteza() va afișa numele satelitului și viteza curentă ce o are.

energie() va oferi programului apelant valoarea energiei cinetice a satelitului.


Energia se va calcula din formula Ec = m*v2 / 2.

Exemple de folosire a acestui tip de clasă.

>>> s1 = Satelit('Zoro', masa =250, viteza =10)

>>> s1.impuls(500, 15)

>>> s1.afisare_viteza()

viteza satelitului Zoro = 40 m/s.

>>> s1.impuls(500, 15)

>>> s1.affiche_vitesse()

viteza satelitului Zoro = 70 m/s.

>>> print (s1.energie())

200000

5.Definiți o clasă Cerc(). Obiectele construite pe această clasă vor fi cercuri de


dimensiuni diferite. Mai mult, pe baza constructorului care va folosi un parametru
rază, veți defini o metodă suprafata() , care va trebui să vă dea suprafața
cercului. Pe urmă definiți o clasă Cilindru(),care este derivată din cea
precedentă ,Cerc(). Constructorul acestei clase noi va conține doi parametri ,raza
și înălțimea.

Adăugați o metodă , volum() ,care va returna volumul cilindrului (suprafața *


înălțime).

Exemple de utilizare a acestei clase.

>>> cil = Cilindru(5, 7)

>>> print(cil.suprafata())

78.54

>>> print(cil.volum())

549.78

6. Să se definescă o clasă Mamifere(), care conține un set de caracteristici tipice


pentru un tip dat de animal. Pornind de la această clasă părinte să se deriveze alte
clase copii cum ar fi : clasa Primate(), clasa Carnivore() , Rozatoare()s.a.m.d, care
vor moșteni toate caracteristicile clasei Mamifere() ,adăugând pe cele specifice
lor. Pentru clasa Carnivore() se poate în continuare deriva clasa Lup(), clasa
Caine() e.t.c. ,care vor moșteni desigur toate caracteristicile clasei părinte
,complementate cu ale lor.

Exemplu:

>>> class Mamifere(object):

caract1 = "isi alaptează puii"

>>> class Carnivore(Mamifere):

caract2 = "se hranesc cu carne de prada"

>>> class Caine(Carnivore):


caract3 = "strigatul lor se numeste latrat”

>>> mirza = Caine()

>>> print(mirza.caract1, mirza.caract2, mirza.caract3)

>>> print(mirza.caract1, mirza.caract2, mirza.caract3)

isi alaptează puii, se hranesc cu carne de prada, strigatul lor se numeste latrat.

7. Definiți o clasă Cerc(). Obiectele construite pe această clasă vor fi cercuri de


dimensiuni diferite. Mai mult, pe baza constructorului care va folosi un parametru
rază, veți defini o metodă suprafata() , care va trebui să vă dea suprafața
cercului. Pe urmă definiți o clasă Cilindru(),care este derivată din cea
precedentă ,Cerc(). Constructorul acestei clase noi va conține doi parametri ,raza
și înălțimea.

Adăugați o metodă , volum() ,care va returna volumul cilindrului (suprafața *


înălțime).

Exemple de utilizare a acestei clase.

>>> cil = Cilindru(5, 7)

>>> print(cil.suprafata())

78.54

>>> print(cil.volum())

549.78

Să secompleteze exercițiul dat cu o clasă Con(). Care va deriva din clasa


Cilindru(), iar constructorul va conține doi parametri rază și înălțime. Această
clasă nouă va poseda propria metodă de calcul volum(), care va returna volumul
conului (volumul conului = volumul cilindrului/3).

Exemplu
>>> co = Con(5,7)

>>> print(co.volume())

183.26

8. 2. Definiți o clasă ContBancar(), care permite instanțierea obiectelor cont1,


cont2 ,etc. Constructorul acestei clase va inițializa două atribute de instanță nume
și sold , cu valori implicite ”Cojocaru ” și sold de 1000 . Se vor defini următoarele
trei metode:

• depozit(suma) va permite să se adauge o suma la sold;

• retragere(suma) va permite să se retragă o sumă din sold;

• afisare()va permite să se afișeze numele titularului de cont și soldul din cont .

Exemplu de utilizare a acestei clase :

>>> cont1 = ContBancar('Moraru', 800)

>>> cont1.depozit(350)

>>> cont1.retragere(200)

>>> cont1.afisare()

Soldul din contul bancar a lui Moraru este 950 euros.

>>> cont2 = ContBancar()

>>> cont2.depozit(25)

>>> cont2.afisare()

Soldul din contul bancar a lui Cojocaru este 1025 euros.

Să se adauge metoda capitalizare(numarLuni), care va trebui să:

afișeze numărul de luni și rata dobânzii pentru acest cont.


Să calculeze soldul atins prin valorificarea dobânzii pentru rata și numărul de

luni care vor fi alese. Metoda schimbareRata() va permite mofdificarea ratei de


dobanda ,va avea atributul valoare.

>>> c1.schimbareRata(.5)

>>> c1. capitalizare(12)

>>>c1.afisare()

9.Să se definească o clasă transistoare() ,care va permite instanțierea obiectelor


trans1(), trans2()..ce vor descrie transistorul ales. Constructorul clasei va inițializa
atribute ce urmează a fi cu valori implicite precum,tipul transistorului(bipolar,
unipolar), frecvent_max=1Mhz, current_saturatie=0, tensC_Esat=0,
tensStrapungere=100, codulA_N=15Cod. Se vor define urmăroarele metode:

afisareTr(),care va permite afisarea tipului și a codului unui transistor dat.

val_parametriTr(), care va permiite afișarea parametrilor de bază a unui


transistor dat.

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