Forum Informatica Unict

LAUREA TRIENNALE (D.M. 270/04) => Programmazione 1, 9 CFU => Topic started by: Saro Newland on 24-02-2012, 11:55:39



Title: [TERZA PROVA] Esercizio televisori
Post by: Saro Newland on 24-02-2012, 11:55:39
Dato l'esercizio:

Code:
In un negozio di elettrodomestici si vendono televisori analogici, LCD ed al plasma.
Ogni televisore è caratterizzato dalla dimensione del video in pollici e dalla potenza dissipata in watt.
Le Tv analogiche contengono al proprio interno un tubo catodico  e possono subire l’operazione di sintonizzazione manuale.
Le Tv digitali contengono un banco di memoria di al più 20 chip di ram interamente estraibile; quelle di tipo LCD sono caratterizzate dalla profondità in cm e quelle al plasma  sono caratterizzate dal peso in Kg.
Tra le Tv analogiche si distinguono quelle a schermo piatto caratterizzate dal peso del trasformatore.
I tubi catodici sono caratterizzati dalla lunghezza in cm, dal calore dissipato e dalla data di produzione.
Ogni singolo chip di ram contiene 12KB di informazioni, il codice del produttore (long), e  la data di fabbricazione.

A: analisi e disegno.
Riportare il diagramma UML di tutte le classi che si ritengono necessarie alla corretta descrizione e rappresentazione della situazione sopra descritta.
Nella gerarchia ereditaria si considerino anche i seguenti metodi eventualmente polimorfi e se ne dia un’implementazione:
getTotale; restituisce il numero di televisori analogici creati fino all’istante di invocazione del metodo;
getTuboCatodico;   restituisce il tubo catodico;
getTerzo;          restituisce il terzo chip di ram del banco di memoria;
getDurata;            restituisce la vita media attesa delle Tv, espressa in numero di giorni, calcolata mediante la formula:
o (c / Δ) • Potenza  per le Tv analogiche,
o c • Peso      per quelle al plasma,
o 3 • c + B   per gli LCD,
dove c  è un coefficiente costante per tutte le Tv, B è il numero di chip di ram effettivamente presenti nel banco di memoria, e Δ è il numero di giorni di vita del tubo catodico.

ho disegnato l'UML così:
http://postimage.org/image/h9443ev77/ (http://postimage.org/image/h9443ev77/)

è corretto?


Title: Re:[TERZA PROVA] Esercizio televisori
Post by: tobia92 on 24-02-2012, 12:26:03
lo fatto più o meno come te

tranne per alcune cose:
Code:
Le Tv digitali contengono un banco di memoria di al più 20 chip di ram interamente estraibile

io questo lo implementato con un metodo
+estraiRam():void  e lo inserito nella classe "Digitali"
non so effettivamente se il mio sia un errore  :-)|

e poi ho notato che nessuna delle tue classi è abstract.
la classe televisore e quella digitale dovrebbero essere abstract, come anche il getDurata che hai riportato in televisore che doveva essere secondo me:
<<abstract>>+getDurata():int

poi altra cosa io il totale delle analogiche create, lo fatta dichiarando totale static, come anche il metodo, nell'UML static si indica sottolineando il metodo o la variabile.

ultima cosa
il delta= giorni di vita del tubo catodico.
ho visto che hai messo un +delta:int, ma stiamo parlando di giorni trascorsi, quindi forse è meglio implementare un metodo ? questo non lo so è una domanda che faccio  :pray
io ad esempio ho implementato
+giornitrascorsi():int  all'interno di catodico, ma ripeto non so se sia giusto  :[Emoticon] PC Asd:


Title: Re:[TERZA PROVA] Esercizio televisori
Post by: Saro Newland on 25-02-2012, 10:26:31
lo fatto più o meno come te

tranne per alcune cose:
Code:
Le Tv digitali contengono un banco di memoria di al più 20 chip di ram interamente estraibile

io questo lo implementato con un metodo
+estraiRam():void  e lo inserito nella classe "Digitali"
non so effettivamente se il mio sia un errore  :-)|

e poi ho notato che nessuna delle tue classi è abstract.
la classe televisore e quella digitale dovrebbero essere abstract, come anche il getDurata che hai riportato in televisore che doveva essere secondo me:
<<abstract>>+getDurata():int

poi altra cosa io il totale delle analogiche create, lo fatta dichiarando totale static, come anche il metodo, nell'UML static si indica sottolineando il metodo o la variabile.

ultima cosa
il delta= giorni di vita del tubo catodico.
ho visto che hai messo un +delta:int, ma stiamo parlando di giorni trascorsi, quindi forse è meglio implementare un metodo ? questo non lo so è una domanda che faccio  :pray
io ad esempio ho implementato
+giornitrascorsi():int  all'interno di catodico, ma ripeto non so se sia giusto  :[Emoticon] PC Asd:

grazie, effettivamente ho completamente dimenticato le classi abstact  :[Emoticon] Rosik Asd:

nel totale va lo static e per il delta sicuramente sarà giusto mettere un metodo