Capitolo 4 Input e Output
Tutti i software che siamo abituati ad utilizzare nella vita quotidiana sono dotati di un’interfaccia grafica (UI, User Interface). L’interfaccia grafica è solitamente composta da elementi come finestre, testo, icone, pulsanti, ecc. L’utente impartisce comandi al programma interagendo con questi pulsanti, ovvero scatenando degli eventi ai quali il programma dovrà reagire. Questo tipo di interazione viene detta event driven, ovvero guidata dagli eventi.
Una buona parte dell’attività di programmazione di un software consiste quindi nella progettazione dell’esperienza utente (UX, User eXperience) e nell’implementazione della UI. I semplici programmi che realizzeremo in questo corso, tuttavia, non includeranno un’interfaccia grafica e l’interazione con il programma avverrà tramite l’interfaccia a linea di comando (CLI, Command Line Interface). Le azioni dell’utente si limitano quindi a poter fornire un input e ricevere dal programma un output testuale.
Le operazioni di input/output (tipicamente abbreviato in I/O) sono quindi alla base dell’interazione tra l’utente e il software. Come vuole la tradizione informatica, il primo programma realizzato da ogni studente è il classico Hello World, ovvero un programma che visualizza in output la stringa di testo “Hello World!”
4.1 Le funzioni di output
Ogni linguaggio di programmazione prevede un’istruzione per fornire un output sulla console. L’output in formato testuale deve essere scritto all’interno delle virgolette, creando quella che in informatica viene chiamata una stringa. Se vogliamo scrivere la frase Hello World! si deve usare il codice "Hello World!" passato come argomento alla funzione di output.
In Python la funzione di output è print(), alla quale può essere passato come argomento virtualmente qualsiasi cosa: un valore, una stringa o una variabile da visualizzare.
print("Hello World!")
print("My name is Bond.")In Swift la funzione di output è print(), alla quale può essere passato come argomento un valore, una stringa o una variabile da visualizzare.
print("Hello World")
print("My name is Bond.")In Java la funzione di output è System.out.println(), alla quale può essere passato come argomento un valore, una stringa o una variabile da visualizzare.
class Main {
static void main(String[] args) {
System.out.println("Hello World!");
System.out.println("My name is Bond.");
}
}In C++ la funzione di output è cout, che viene definita nella libreria iostream. Ogni valore da visualizzare deve essere concatenato scrivendo due volte il simbolo minore <<. La parola chiave endl (end line) serve ad andare a capo.
#include <iostream>
using namespace std;
int main()
{
cout << "Hello World!" << endl;
cout << "My name is Bond." << endl;
}Ovviamente non è finita qui! Nel corso di questo libro impareremo a manipolare più nel dettaglio le funzioni di output.
4.1.1 Output senza andare a capo
Come si può vedere dal risultato dell’esecuzione precedente, il codice scritto produce un output per riga. In alcune situazioni può essere utile scrivere l’output senza andare a capo.