Il 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.

Caricato da

ipasrl.guest
Copyright
© © All Rights Reserved
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
Il 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.

Caricato da

ipasrl.guest
Copyright
© © All Rights Reserved
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
Sei sulla pagina 1/ 8

Esercizi OOP

Gianfranco Lombardo, Ph.D


[email protected]
Esercizio 1: Rettangoli

● 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.

Gianfranco Lombardo, Ph.D ([email protected])


Esercizio 2: Lampadine

● 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.

Gianfranco Lombardo, Ph.D ([email protected])


Exercise: Registry with OOP and files

● Starting from previous Registry exercise


○ 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

2020 - Gianfranco Lombardo, MEng ([email protected])


Exercise: Registry with OOP and files

● 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

2020 - Gianfranco Lombardo, MEng ([email protected])


Exercise: Battaglia navale con OOP

● Implementare il gioco “Battaglia navale” utilizzando le tecniche OOP

2020 - Gianfranco Lombardo, MEng ([email protected])


Next calendar

Lun 11: 9-13 Interfaccie grafiche/ Polimorfismo + Laboratorio

Venerdi 22 Introduzione ai Database + Laboratorio

Venerdi 29 14-18 Esame: Prova di programmazione

2020 - Gianfranco Lombardo, MEng ([email protected])

Potrebbero piacerti anche