120 likes | 336 Views
Lezione 2 di linguaggio di programmazione Ruby. Numeri Interi e calcolo della Somma. Introduzione dei numeri interi nell’Informatica e nel Ruby.
E N D
Lezione 2 di linguaggio di programmazione Ruby Walter Mulas Numeri Interi e calcolo della Somma
Introduzione dei numeri interi nell’Informatica e nel Ruby In Informatica, è possibile rappresentare i valori numerici (ovviamente il calcolatore li leggerà in binario mentre noi in caratteri che conosciamo naturalmente). I numeri non servono solamente a essere stampati, ma anche per eseguire dei calcoli matematici. Infatti, il Ruby ha delle librerie specifiche per i calcoli numerici. La cosa importante da sapere è che non bisogna mai confondere i numeri del calcolatore con quelli della matematica! Semplicemente per il fatto che il calcolatore ha una capacità di memoria limitata, quindi è impossibile rappresentare tutti i numeri della matematica, dato che sono infiniti! In queste diapositive rappresenteremo i numeri Interi e qualche operazione di somma. Useremo due ambienti lavorativi indipendenti tra di loro: Interactive Ruby (ambientato nel sistema operativo MS-DOS) e NetBeans 6.5 (piattaforma dove si possono creare programmi con linguaggi di programmazioni differenti). Walter Mulas
I numeri Interi con Ruby Nel linguaggio Ruby, la classe degli Interi si divide in due sottoclassi: • Fixnum, insieme dei valori Interi che sono rappresentati da un numero fisso di bit (16 bit o 32 bit) • Bignum, insieme dei valori Interi che non hanno limitazione sul numero di bit (la definizione è valida solo se il calcolatore ha una certa capacità di memoria libera). Per conoscere la classe di appartenenza di un numero Intero usiamo il metodo class Walter Mulas
Classi di appartenenza degli Interi Esempio: • 32.class • 12345678901234567890.class Walter Mulas
Somma con gli Interi In queste diapositive vedremo alcuni esempi di rappresentazioni dei numeri Interi: Esempio della somma di due numeri: 2+7=9 Nell’ambiente Interactive Ruby: E digitando ‘Invio’ dopo aver scritto l’operazione che vogliamo fare, l’applicazione ci restituisce il risultato: Walter Mulas
Osservazione Come avete visto, nell’Interactive Ruby bastava scrivere 2+7 per fare 9. E’ come se avessimo scritto implicitamente nella codificazione in linguaggio Ruby: puts 2+7. Secondo l’autore, l’Interactive Ruby è utile solamente per verificare se alcune istruzioni che noi codifichiamo hanno esito positivo dal punto di vista semantico e/o della sintassi, senza vincoli di programmazione (in poche parole, per perderci un po’ di tempo). Nelle prossime diapositive, svilupperemo invece un programma che svolge il calcolo della somma tra due numeri Interi nell’ambiente di lavoro Netbeans 6.5 Walter Mulas
Calcolo della somma nell’ambiente Netbeans Dopo aver creato il file, andiamo a codificare il programma. Useremo i metodi ‘gets’ e ‘puts’ per l’input e per la stampa degli Interi. IMPORTANTE: Il metodo ‘gets’ permette solamente l’inserimento dalla tastiera di un valore di tipo String. E’ possibile comunque convertire un carattere numerico in un valore Int (se il carattere della stringa non è alfabetico, il programma restituisce un valore numerico uguale a 0). Osserveremo in questa immagine il corpo del codice con il metodi di conversione da un valore di tipo String in un valore Int. Walter Mulas
Dopo aver scritto il codice mandiamolo in esecuzione il programma.. Walter Mulas
Osservazione Come abbiamo visto, il programma ha eseguito correttamente il calcolo della somma. Il programma ha implicitamente convertito i nostri valori numeri dal tipo String in Int, permettendo di calcolarci la somma. Il metodo di conversione all’interno del nostro programma è il “gets.to_i”. Questo metodo, oltre a restituire al programma un valore dalla tastiera, lo converte in Int. Come esso, esistono altri simili metodi di conversione. Nella prossima diapositiva vedremo invece cosa succederà se inseriamo un carattere alfabetico invece di un carattere numerico in input durante l’esecuzione. Walter Mulas
Esecuzione con inserimento di un valore alfabetico… Inseriamo nel secondo addendo ‘f’: E calcoliamo la somma: Walter Mulas
Osservazione Il metodo di conversione non riesce a convertire un carattere non numerico. Quindi il programma restituirà un valore nel secondo addendo pari a 0. La somma è rappresentata quindi come 2+0=2. Stesso risultato vale anche se la stringa ha come valore un insieme di caratteri sia numerici che alfabetici. Esempio: “k” 0 “k123” 0 Walter Mulas
Conclusione In questo file, abbiamo visto come si calcolano i valori numeri di tipo Int. Ma si possono fare per valori diversi da Int, come i Float (numeri che comprendono i decimali es: 1.23) con diverse operazioni matematiche come la differenza (che è inclusa comunque nel calcolo della somma quando si inseriscono valori negativi in input), la moltiplicazione e la divisione. Esercitatevi prima con Interactive Ruby per prendere confidenza con le operazioni (si può fare anche col NetBeans) e poi successivamente scrivere un programma che svolge calcoli matematici. Buon lavoro!!! Walter Mulas