1.  I Numeri

 

Ora che hai installato tutto, scriviamo un programma! Apri il tuo editor di testo preferito e scrivi quanto segue:

puts 1+2

Salva il tuo programma (sì, è un programma!) come calc.rb (l'.rb è l'estensione dei file che contengono programmi scritti in Ruby). E ora esegui il tuo programma scrivendo ruby calc.rb a riga di comando [NdT: qui alcuni di voi, in particolare coloro che non hanno esperienza con la riga di comando, trovano difficoltà. Il problema più ricorrente consiste nell'aver salvato il file calc.rb in una cartella diversa da quella in cui si cerca poi di eseguirlo col comando ruby calc.rb. Se incontri un errore non perderti d'animo, altri l'hanno incontrato prima di te: prova a leggere tutte le risposte qui sotto in cerca di una soluzione. In particolare, cerca e impara quei pochi comandi che servono, all'interno della riga di comando, per spostarsi fra le cartelle e trovare quella in cui hai salvato il file `calc.rb`. Infine, se proprio non riesci a risolvere, invia una nuova domanda coi dettagli dell'errore incontrato e aspetta che qualche buon'anima ti risponda.] Dovrebbe aver stampato un 3 sul tuo schermo. Vedi, programmare non è poi così difficile, non è vero? [NdT: "put" in inglese ha diversi significati, il più appropriato per il contesto potrebbe essere "esporre" in quanto il comando puts espone il risultato.]

Introduzione a puts

Quindi cosa sta succedendo in quel programma? Sono sicuro che puoi intuire cosa faccia il 1+2; il nostro programma è fondamentalmente la stessa cosa di:

puts 3

puts semplicemente stampa a schermo qualsiasi cosa ci sia dopo.

Numeri interi (Integer) e numeri decimali (Float)

In molti linguaggi di programmazione (e Ruby non fa eccezione) i numeri senza virgola si chiamano integers, mentre i numeri con la virgola vengono solitamente chiamati floating-point numbers (NdT: numeri a virgola mobile o decimali), o più semplicemente, floats.

Ecco alcuni integers (interi):

5
-205
9999999999999999999999999
0

Ed ecco alcuni floats (numeri decimali)

54.321
0.001
-205.3884
0.0

In pratica la maggior parte dei programmi non utilizza numeri decimali ma solo interi. (Dopotutto, nessuno vuole leggere 7,4 emails, o visitare 1,8 pagine web, o ascoltare 5,24 fra le proprie canzoni preferite...). I numeri decimali (floats) sono utilizzati più per scopi accademici (esperimenti di fisica e simili) e per la grafica 3D. Perfino la maggioranza dei programmi che trattano denaro utilizzano gli interi; considerano semplicemente nota del numero di centesimi! [NdT: per esempio in un simile programma 9,99 euro sono considerati come 999 euro cent]

Semplice Aritmetica

Fin d'ora abbiamo tutti gli ingredienti di una semplice calcolatrice. (Le calcolatrici usano sempre i floats, quindi se vuoi che il tuo computer si comporti alla stessa maniera, dovresti usare i floats). Per le addizioni e le sottrazioni usiamo + e -, come abbiamo visto. Per la moltiplicazione usiamo *, e per la divisione usiamo /. La maggior parte delle tastiere hanno questi tasti sul tastierino numerico sul lato destro. Se però hai una tastiera più piccola o un portatile, gli operatori aritmetici li trovi vicino al tasto invio e con Shift 7 (per l'operatore di divisione). Proviamo a espandere il nostro programma calc.rb un pochino. Scrivi quanto segue e quindi eseguilo.

[NdT: in inglese, che è anche la lingua dell'informatica, nei numero decimali al posto della virgola si usa il punto. I computer seguono tutti questo comportamento predefinito. Quindi quando nel prossimo esempio leggi "4.5" tradotto in italiano sarebbe "4,5"... Nel programmare devi adottare la stessa convenzione o i tuoi programmi semplicemente non funzioneranno.]

puts 1.0 + 2.0
puts 2.0 * 3.0
puts 5.0 - 8.0
puts 9.0 / 2.0

Questo è ciò che il programma deve restituire ora:

3.0
6.0
-3.0
4.5

(Gli spazi nel programma non sono importanti; servono solo a rendere il codice più facile da leggere). Bene, il risultato non è poi così sorprendente. Proviamo ora con degli interi (integers):

puts 1+2
puts 2*3
puts 5-8
puts 9/2

Praticamente la stessa cosa, giusto?

3
6
-3
4

Uhm.. tranne che per l'ultimo! Perché quando fai dell'aritmetica con degli interi, ottieni delle risposte intere. E quando il tuo computer non ha la "giusta" risposta fra quelle possibili (cioè fra quelle intere), la arrotonda sempre per difetto. (Ovviamente, 4 è la giusta risposta in aritmetica intera, per 9/2; forse solo non la risposta che ti aspettavi).

Forse ti stai chiedendo a cosa può serire la divisione intera. Bene, diciamo che stai andando al cinema, ma che hai solo 9 euro. Qui in Portland puoi vedere un film al Bagdad per 2 euro. Quanti film puoi quindi vedere? 9/2... 4 film. In questo caso 4,5 decisamente non è la giusta risposta; non ti lasceranno guardare metà film, e nemmeno lasciar entrare la metà di te per vedere il film intero... alcune cose, semplicemente, non sono divisibili.

Ora prova a sperimentare scrivendo un po' di tuoi programmi! Se vuoi scrivere espressioni più complesse, puoi usare le parentesi. Per esempio:

puts 5 * (12-8) + -15
puts 98 + (59872 / (13*8)) * -52
5
-29802

Un Po' di Cose da Provare

Scrivi un programma che ti dica:

  • quante ore ci sono in un anno?
  • quanti minuti ci sono in un decennio?
  • quanti secondi hai?
  • quanti cioccolatini speri di mangiare nel corso della tua vita?
    Attenzione: questa parte del programma eseguila solo se hai un computer abbastanza potente!

Ora una domanda più tosta:

  • Se io ho 1031 millioni di secondi, quanti anni ho?

Quando hai finito di giocherellare coi numeri, diamo un'occhiata alle lettere.

Le soluzioni di tutti gli esercizi proposti sono disponibili anche nel Manuale delle Soluzioni in Italiano.


Commenti

La sezione commenti è messa a disposizione per consentirti di scambiare idee e consigli con gli altri studenti, fanne buon uso!
Nota bene: se vuoi condividere del codice puoi utilizzare i tag <pre> e <code>, così:

<pre><code>
saluto = 'ciao'
puts saluto
</code></pre>