domenica 9 novembre 2014

ESER. INFORMATICA - ESERCIZIO 3

ESERCIZIO 3

Se la velocità di trasferimento di un dispositivo è di 1Gbit/sec trasformarla in : KByte/min,  GByte/ora, Gbit/ora, GByte/min e Gbit/min.

Per prima cosa passo subito a trasformare il Gbit/sec in Gbit/min e Gbit/ora e quindi mi basterà moltiplicare per 60 per i minuti e 3600 per le ore. Quindi 1Gbit/sec = 60 Gbit/min = 3600 Gbit/ora.

Per trasformare invece da Gbit a KByte e GByte posso iniziare a considera che;

1 byte = 8 bit ;

Quindi mi basterà dividere per 8 per trovare i GByte e quindi 1 Gbit = 0,125 GByte e poi moltiplicare per 60 per i minuti e per 3600 per le ore. Quindi 1 Gbit/sec= 7,5 GByte/min = 450 GByte/ora.

Per calcolare invece i Kbyte/min posso iniziare a considerare che si lavora sempre con numeri binari e quindi multipli di 2. Quindi :

1 KB = 2^10 = 1024 Byte
1 MB = 2^20 = 1048576 Byte
1 GB = 2^30 = 1073741824 Byte

Quindi 1GByte = 1048576 Kbyte (2^30/2^10=2^20)  e quindi 0,125 Gbyte/sec = 131072 Kbyte/sec. Infine mi basterà moltiplicare per 60 per i minuti e quindi 131072 KByte/sec = 7864320 KByte/min.

Variabili:

L'esercizio non richiede di acquisire dati dall'utente o di generare numeri casuali, ma assegna un numero di partenza (1 Gbit/sec), quindi non mi serviranno variabili di input ma solo di output. Mi Serviranno variabili di tipo float in quanto ci saranno numero con i decimali e numeri che superano lo spazio previsto per i numeri di tipo int (2^16=65536 cioè da -32768 a 32767).

gbitora (Gbit/ora) tipo float : output;
gbitmin (Gbit/min) tipo float : output;
gbytemin (GByte/min) tipo float : output;
gbyteora (GByte/ora) tipo float : output;
kbytemin (KByte/min) tipo float : output;

Strumenti:

divisone;
moltiplicazione;
pow(2^20);

Bozza programma;

float gbitsec,kbytemin,gbyteora,gbitmin,gbytemin,gbitmin;
gbitmin=1*60;
gbitora=1*3600;
gbytemin=0.125*60;
gbyteora=0.125*3600;
kbytemin=0.125*(pow(2,20))*60; 
printf (“1 gbit/sec sono : %f Gbit/minuto ; %f Gbit/Ora ; %f GByte/min ;  %f GByte/ora ; %f KByte/min” ,             gbitmin,gbitora,gbytemin,gbyteora,kbytemin);


Codifica in Linguagio C:

#include <stdio.h>
#include <stdlib.h>
#include <math.h>

int main()

{
            float gbitsec,gbitmin,gbitora,gbytemin,gbyteora,kbytemin;
           
            gbitmin=1*60;
            gbitora=1*3600;
            gbytemin=0.125*60;
            gbyteora=0.125*3600;
            kbytemin=0.125*(pow(2,20))*6;
            printf ("1 Gbit/sec sono : %.2f Gbit/minuto ; %.2f Gbit/Ora ; %.2f GByte/min ;\n\n %.2f             GByte/ora ; %.2f KByte/min \n" ,gbitmin,gbitora,gbytemin,gbyteora,kbytemin);
            return 0;
}



Diagramma di Flusso (Algobuild):






































Nessun commento:

Posta un commento