Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Guida Pascal - Il primo programma

Guida Pascal

Capitolo 4° - Il primo programma

<< Precedente Prossimo >>
Program PrimoProgramma;
Uses Crt;
Var a,b,c:integer;

begin
    clrscr;
    write(Inserire un numero intero: );
    readln(a);
    write(Inserire un altro numero intero: );
    readln(b);
    c:=a+b; (*Somma dei numeri*)
    writeln(La soma di ,a, e ,b, è : ,c);
    readln
end.


Non è difficile, specialmente se si conosce linglese, ma vediamo di vedere nel dettaglio cosa significa:

Program PrimoProgramma; : è unistruzione che serve al compilatore per determinare il tipo di file prodotto dalla compilazione (in questo caso un eseguibile, *.exe). Il nome che viene dopo non ha nessuna importanza, ma ci aiuta solo a ricordare a cosa serve quel programma.

Uses Crt; : la parola riservata Uses, indica al compilatore quale librerie si devono usare per la compilazione. In pratica, una libreria, come suggerisce il nome, è un insieme di metodi, procedure e funzioni che vengono usate per scrivere il programma (come write o read). Per la scrittura di una libreria, vedi oltre. In questo caso, si usa la libreria Crt, essenziale.

Var a,b,c:integer; : la parola riservata Var serve per dichiarare le variabili. Dopo di essa va inserito uno spazio e poi il nome della variabile (va bene qualsiasi nome, senza restrizioni sulla lunghezza; può contenere caratteri, numeri o underscore; non può iniziare con un numero). Dopo il nome della stessa, viene posto un : e poi il tipo di dato (in questo caso integer, ma avremmo potuto mettere anche real o word, per esempio). E possibile dichiarare più variabili insieme, sempre dello stesso tipo, semplicemente separandole con una virgola.

begin : va sempre messo dopo le variabili (o la dichiarazione di procedure o funzioni, ma vedremo in seguito) ed indica linizio del programma (per chi conosca il C, equivarrebbe ad una {).

clrscr; : pulisce lo schermo da qualsiasi carattere.

write(Inserire un numero intero: ); : scrive sullo schermo la frase indicata fra gli apici. Quindi, quando avrete bisogno di scrivere qualcosa userete write() o writeln(), mettendo tra le parentesi la frase che volete scrivere, racchiudendola fra apici.

readln(a); : aspetta che lutente digiti un input da tastiera, seguito da un invio. Tutto ciò che si preme, viene memorizzato nello spazio di memoria indicato dalla variabile a, mediante una semplice pressione del pulsante invio. Quindi, quando vorrete memorizzare un dato da tastiera, utilizzerete read() o readln(), mettendo tra le parentesi il nome di una variabile.
A differenza di read, readln manda il cursore a capo.

c:=a+b; : esegue loperazione aritmetica di somma fra a e b e assegna alla variabile c il valore risultante. Bisogna notare che loperatore di assegnamento è :=. Si possono eseguire tutte le operazioni matematiche:
+ somma                         * moltiplicazione
- sottrazione                    mod modulo
/ divisione                      div divisione intera

(*Somma dei numeri*) : questa non è un istruzione, ma viene definito commento. E esclusivamente facoltativo, non influisce in nessun modo sul programma, serve solo a rendere più chiaro il codice sorgente.

writeln(La somma di ,a, e ,b, è : ,c); : una normale istruzione writeln, ma è da notare che è possibile scrivere a video anche il contenuto delle variabili, semplicemente chiudendo gli apici e racchiudendo fra due virgole il nome della variabile.

readln : ferma il programma in attesa della pressione del pulsante invio (senza ; ).

end. : indica al compilatore che il programma è terminato.

Come avrete certamente notato, dopo ogni istruzione è presente un ;, che serve per separare le stessa luna dallaltra. Volendo si potrebbero scrivere anche più istruzioni sulla stessa riga.
<< Precedente Prossimo >>
A proposito dell'autore

C#, TypeScript, java, php, EcmaScript (JavaScript), Spring, Hibernate, React, SASS/LESS, jade, python, scikit, node.js, redux, postgres, keras, kubernetes, docker, hexo, etc...