domenica 9 novembre 2014

Es 4.

Esercizio 4
Calcolare il tempo necessario per trasferire il contenuto di un:
  1. CD 700MB
  2. DVD 4.7 GB 8.5 (dual layer)
  3. Blue Ray 23.3; 25 ; 27 GB
supponendo che la velocità di trasferimento è di 10Mbit/sec.

ANALISI
Variabili tmp = Lavoro - Globale
t[3] = Output :ore; min; sec - Globale
i = Lavoro - Globale
vt = Costante - globale
dvd[5] = Costante:capacità DVD; DVD-DL; Blue Ray(23.3;25;27 GB) - Globale
cd = Costante: capacità CD - Locale
resto = Lavoro - Locale

Costrutti
  •  Sequenza
  •  Iterazione
  •  Selezione multipla (costrutto derivato)
Altri strumenti
  •  Procedure
  •  Vettori
Bozza
main(){
//Inizializzazione variabili e array
cd=700 //MB
dvd[i]=capacità rispettive //GB
//assegnazioni
vt = vt/8 //da Mbit/sec a MByte/sec
tmp=cd/vt; //tempo = capacità/velocità di trasferimento
calcolaore() //richiamo procedura calcolaore
Output(dettagli trasferimento cd)
Mentre(i>=0 && i<= 4) Ripeti //entra con i=4 esce con i=-1
      dvd[i]= dvd[i] * 1024 //trasformo GB in MB
      tmp = dvd[i] /vt //calcola tempo in secondi per il trasferimento
      calcolaore() //richiamo procedura che trasforma tempo di trasf. in ore minuti e secondi.
      stampa() //richiamo proced. che stampa i dettagli di trasferimento dvd[i]
      i-- //decremento indice per ciclo while e vettore dvd[i]
 Fine mentre
}
//Procedure 
Stampa(){
   switch(i)  // indica che stiamo esaminado la variabile i
      case 4:  // nel caso in cui il valore della variabile i è 4 allora
          output(dettagli trasferimento dvd[4])
      case ...:  // 3 - 2 - 1
          output(dettagli trasferimento dvd[...])
      case 0:  // nel caso in cui il valore della variabile i è 0 allora
          output(dettagli trasferimento dvd[0])
}
Calcolaore(){
   t[0] = tmp/3600  //calcolo le ore
   resto = tmp%3600 //resto delle ore
   t[1] = resto/60  //calcolo minuti
   t[2] = resto %60 //calcolo secondi
}


Nessun commento:

Posta un commento