edutecnica

Oggetti JavaScript : esercizi risolti


Esercizio 1

Progettare e realizzare il costruttore T, che rappresenta dei triangoli.
Dei triangoli sono d'interesse le seguenti funzionalità:
• valido : restituisce la validità del triangolo (un triangolo è valido solo se ogni lato è minore della somma degli altri due)
• perimetro: restituisce il perimetro del triangolo.
• area: restituisce l'area del triangolo (noti i lati).
• tipo: restituisce una stringa opportuna secondo a tipologia del triangolo, cioe': "equilatero", "isoscele", o "scaleno".

Per calcolare l'area si utilizzi la la formula di Erone:

`Area = sqrt(s*(s-a)*(s-b)*(s-c))`

dove s e' il semiperimetro

Esercizio 2

Progettare e realizzare l’oggetto Termometro.
Del termometro sono d'interesse le seguenti funzionalità:
• Termometro: un costruttore di un nuovo termometro avente come temperatura misurata 0 (per rappresentare le temperature si usino interi).
• misura: aggiorna la misura del termometro con la temperatura passata come parametro (misurata in gradi Celsius).
• storico: memorizza tutte le temperature rilevate dal termometro.
• celsius: restituisce la temperatura misurata in gradi Celsius.
• fahrenheit: restituisce la temperatura misurata in gradi Fahrenheit.
• tipo: restituisce il tipo di tempertura: "molto caldo" (t >45), "caldo" (45 >= t > 35), "ottimale" (35 >= t >18), "freddo" (18 >= t > 0), "molto freddo" (t >= 0).
• report: valuta la lista delle temperature acquisite in °C e restituisce le temperature max,min e media.

Per convertire gradi Celsius in gradi Fahrenheit, si usi la formula di conversione: f = c*9/5 + 32.

Esercizio 3

Progettare l'oggetto X che consente di rappresentare un qualunque insieme finito di stringhe.
Il prototipo di X ha il seguente scheletro.
• T[]: variabile che memorizza l'insieme delle stringhe rappresentate dall'oggetto.
• len(): metodo che restituisce la stringa di lunghezza massima dell’insieme; se ci sono due stringhe di lunghezza massima, ne restituisce una arbitrariamente.
• lex(): metodo che restituisce la stringa dell'insieme che è lessicograficamente più grande.
• pre() metodo che visualizza sullo standard output tutte le stringhe dell’insieme che hanno il prefisso specificato.

Esercizio 4

Definisci l'oggetto Strumento dotato di un metodo suona() atto ad esternalizzare il suono di uno strumento musicale.
Successivamente ottenere gli oggetti derivati Tamburo, Chitarra e Tromba, ciascuno dotato di un suo specifico suono che possa essere usato dal metodo suona definito per l'oggetto Strumento.

Esercizio 5

Definisci il costruttore dell’oggetto frazione che acquisisce una stringa inserita da tastiera e cerca di ricondurla ad un numero razionale dotato di segno.
Il costruttore deve essere dotato di un metodo per stampare il numero razionale memorizzato.
Un metodo per trovare l’inversa della frazione memorizzata ed un metodo che stabilisce se si tratta di una frazione propria impropria o apparente ricordando che:
• una frazione in cui il numeratore è minore del denominatore è una frazione propria.
• Una frazione in cui il numeratore è maggiore o uguale al denominatore è una frazione impropria.
• Una frazione in cui il numeratore è multiplo del denominatore si chiama frazione apparente (le frazioni apparenti coincidono sempre con i numeri naturali).