0 valutazioniIl 0% ha trovato utile questo documento (0 voti)
115 visualizzazioni8 pagine
Esercizi OOP
La classe descrive tre esercizi di programmazione orientata agli oggetti. Il primo esercizio riguarda la creazione di una classe Rettangolo con metodi per calcolare area e perimetro. Il secondo esercizio riguarda la creazione di una classe Lampadina con metodi per cambiarne lo stato. Il terzo esercizio riguarda la creazione di una classe Interruttore collegata a una lampadina.
Per noi i diritti sui contenuti sono una cosa seria. Se sospetti che questo contenuto sia tuo, rivendicalo qui.
Formati disponibili
Scarica in formato PDF, TXT o leggi online su Scribd
0 valutazioniIl 0% ha trovato utile questo documento (0 voti)
115 visualizzazioni8 pagine
Esercizi OOP
La classe descrive tre esercizi di programmazione orientata agli oggetti. Il primo esercizio riguarda la creazione di una classe Rettangolo con metodi per calcolare area e perimetro. Il secondo esercizio riguarda la creazione di una classe Lampadina con metodi per cambiarne lo stato. Il terzo esercizio riguarda la creazione di una classe Interruttore collegata a una lampadina.
● Scrivere una classe Rettangolo i cui oggetti rappresentano rettangoli.
● Lo stato interno di un rettangolo `e dato dai valori della base e dell’altezza. ● Un rettangolo deve mettere a disposizione tre operazioni: ○ ridimensiona() che prende come parametri due nuovi valori di base e altezza e aggiorna lo stato, ○ perimetro() che restituisce il perimetro ○ area() che restituisce l’area. ● Prevedere inoltre un costruttore che inizializza base e altezza del rettangolo.
● Per testare la classe, scrivere un programma TestRettangolo che
○ crea tre rettangoli (oggetti della classe Rettangolo) ○ ne calcola la somma delle aree e la somma dei perimetri (stampando i risultati), ○ ridimensiona uno dei tre rettangoli e ristampa le somme.
● Scrivere la classe Lampadina i cui oggetti rappresentano delle lampadine
elettriche. Una lampadina può essere accesa, spenta o rotta ● Mette a disposizione due sole operazioni: ○ stato() che restituisce una stringa che indica lo stato corrente della lampadina ○ click() che ne cambia lo stato da accesa a spenta o da spenta a accesa o la rompe. ● Una lampadina si rompe dopo un certo numero di click definito dal fabbricante. ● La classe deve contenere: ○ Una o più variabili d’istanza che descrivano opportunamente lo stato della lampadina ○ Un opportuno costruttore ○ I metodi previsti ● Per testare la classe, scrivere un programma TestLampadina che crea un oggetto della classe Lampadina che ammetta un numero massimo di click deciso dall’utente e poi iterativamente offre all’utente la possibilità di invocare una delle due funzionalità (visualizzando l’esito dell’operazione, nel caso di stato()) o di terminare l’esecuzione. Gianfranco Lombardo, Ph.D ([email protected]) Esercizio 3: Interruttore
● Scrivere la classe Interruttore i cui oggetti rappresentano degli interruttori.
Ogni interruttore è collegato a una lampadina (oggetto della classe Lampadina) e ne regola l’accensione e spegnimento. La classe deve contenere tutte le variabili d’istanza i costruttori e i metodi ritenuti opportuni.
● Per testare la classe, scrivere un programma TestInterruttore che crea due
interruttori (oggetti della classe Interruttore) entrambi collegati alla stessa lampadina (uno stesso oggetto della classe Lampadina) e poi, in maniera iterativa, offre all’utente la possibilit`a di agire su uno dei due interruttori (visualizzando l’esito dell’operazione) o di terminare l’esecuzione.
○ Define a class Person with attributes name, last name and age ○ Define methods you will need to set these attributes and to compute the age ○ Define a list of objects Person and put each item in this list ○ After 10 items, iterate over the list and write all information on a file “registry.txt” ■ One person for each row
● Read registry.txt, create an object for each person and add to a list ● Compute the average age in the registry by defining an apposite function
● Try to order your list depending on the age
○ Advice: Use a second list and add items directly ordered by iterating over the first list ● After that, write on a file again people ordered using “append” mode on the same registry.txt file