I primi comandi

Cos’è un linguaggio di programmazione, la prima istruzione, come scrivere ed eseguire un semplice programma.

L’informatica è la scienza che usa il linguaggio per risolvere i problemi. L’uomo trova la soluzione del problema, poi comunica alla macchina quali passi deve eseguire per trovare il risultato desiderato. La macchina esegue i comandi ricevuti.

../../../_images/101_umano_macchina.png

Per comunicare alla macchina usiamo un dispositivo che è la tastiera. Su questa possiamo scrivere i comandi che vogliamo la macchina esegua. Ad esempio: “preparami un paninazzo con la soppressa!”

No, questo comando non verrà eseguito dalla macchina. Possiamo chiederle di eseguire solo azioni per cui è stata realizzata e dobbiamo chiedere di eseguire quelle azioni usando un linguaggio che lei possa comprendere.

Purtroppo il linguaggio che fa funzionare i computer è piuttosto oscuro:

1000110101000110
0011111010101110
1100010101101111
...

e è detto linguaggio macchina.

Dopo qualche anno di programmazione con parole fatte di “zeri” e “uni”, gli informatici hanno inventato dei programmi capaci di tradurre i comandi scritti in un linguaggio comprensibile dagli umani, nel linguaggio macchina comprensibile dagli elaboratori elettronici.

Python è un interprete di linguaggio che traduce comandi che possiamo capire noi, in comandi che la macchina capisce ed esegue. Ovviamente non possiamo dare dei comandi come ci pare e piace, dobbiamo seguire le regole di un linguaggio, obbedire ad una precisa grammatica ed usare solo le parole che Python capisce.

Come primo comando diciamo a Python di scrivere qualcosa sullo schermo: il comando per dire questo è “stampa” forse perché una volta i computer non avevano lo schermo, ma solo una tastiera e una stampante. Il comando però va scritto in inglese (chissà perché Python non conosce l’italiano?)

print

Ma non basta dire “stampa”, bisogna anche dire che cosa deve essere mostrato, il primo comando che produce qualcosa di significativo è dunque:

print "Ciao gente!"

print è un’istruzione di Python e la parte di comando compreso tra le virgolette è una stringa di caratteri.

Ma come facciamo a dire a Python di leggere ed eseguire questo comando? Chi ha implementato il linguaggio ha anche realizzato e messo a disposizione un ambiente per lo sviluppo dei programmi: IDLE.

IDLE, che è un programma scritto in Python, permette di scrivere comandi e osservare immediatamente il loro effetto, è uno strumento molto comodo. Scoviamo dove il programma di installazione ha messo IDLE ed eseguiamolo (per Windows: Start-Programmi-Python2.7-IDLE, per Linux, se non si trova nel menu delle applicazioni, si può scrivere idle oppure idle-python2.7 in una finestra di terminale). Una volta avviato l’ambiente di sviluppo, sotto ad alcuni messaggi che riportano la versione di Python (controllare se è “2.x” o “3.x”!) in uso e di IDLE stesso, appaiono tre simboli i maggiore e il cursore lampeggiante subito dopo:

>>>

Il significato di questi simboli è: “sono pronto, cosa vuoi che esegua?”. Bene, qui possiamo dare il nostro comando. Questo comando dipende dalla versione di Python in uso. Se usiamo Python 2.x il comando è:

>>> print "Ciao gente!"

Se usiamo Python 3.x il comando è:

>>> print("Ciao gente!")

Posso anche far stampare più stringhe con uno stesso comando, in Python 2.x:

>>> print "Ciao", "gente!"

Se usiamo Python 3.x:

>>> print("Ciao", "gente!")

In questo caso le stringhe devono essere separate da virgole. Python inserisce automaticamente uno spazio tra una stringa e l’altra. Posso anche inserire nella stringa dei caratteri speciali:

>>> print "Ciao\n\n\n\tgente!"

o:

>>> print("Ciao\n\n\n\tgente!")

Il significato della stringa “\n” è: “qui va a capo”... scopri tu qual è il significato di “\t”.

Riassumendo

  • Un linguaggio di programmazione è una lingua artificiale che può essere tradotta dal calcolatore elettronico in una sequenza di comandi eseguibili.

  • Un programma è una sequenza di istruzioni come.

  • Nel passaggio da Python 2.x a Python 3.x è stato modificata l’istruzione print in Python 2.x print è un comando: print <stringa>, in Python 3.x è una funzione: print(<stringa>)

  • <stringa> è una sequenza di caratteri racchiusa tra apici singoli o doppi ad es.:

    "Ciao gente\n"
    
  • La sequenza di caratteri “\n” non viene stampata ma indica all’interprete che deve andare a capo (new line).

  • La sequenza di caratteri “\t” significa ...

Prova tu

  1. Scrivi comandi che stampino diverse frasi.

  2. Scrivi un comando che stampi diverse frasi una sotto l’altra, ad es.:

    Nel mezzo del cammin di nostra vita mi ritrovai per una selva oscura che la diritta via era smarrita. (Dante Alighieri)

  3. Descrivi cosa succede se in un comando print aggiungo una virgola dopo l’ultima stringa.