Skip to content


Imparare il Pascal: Hello World

Oggi scriveremo il nostro primo programma in Pascal. Come ogni guida che si rispetti, iniziamo con un semplice "Hello World" per poi scendere nel dettaglio delle varie istruzioni e comandi del Pascal.

Presumo che abbiate già installato un compilatore Pascal e che abbiate dato uno sguardo al suo manuale, per avere idea di come compilare ed eseguire un programma sulla vostra piattaforma. Negli esempi che farò non mi occuperò del compilatore, ma soltanto del linguaggio in modo da essere più neutrale possibile.

Un piccolo cenno riguardo la mia configurazione

Se usate Ubuntu come sistema operativo potete installare e usare Free Pascal, che è il compilatore che userò io per scrivere le guide, con pochi e semplici comandi:

Installazione: sudo apt-get install fp-compiler fp-units-rtl
Compilazione di un sorgente: fpc nomefile.pas
Esecuzione di un programma: ./nomefile

Per scrivere il codice sorgente userò Gedit (Applicazioni -> Accessori -> Editor di testo) perchè mi consente di evidenziare la sintassi, ma potete usare un editor qualunque. Vi consiglio Scite, Bluefish, Gedit, Kate, nano o altri simili.


Iniziamo

Scriviamo con il nostro editor preferito il seguente listato:

  1. program helloworld;
  2.  
  3. begin
  4.  
  5. writeln('Hello World!');
  6.  
  7. readln;
  8.  
  9. end.

salviamolo come hello.pas compiliamolo ed eseguiamolo, otterremo questo output:

Hello World!

Per terminare il programma bisogna premere il tasto Invio.

Spiegazione

program è la parola chiave che identifica l'inizio di un sorgente, serve a stabilire il nome del programma, ma non influisce sul nome del file una volta compilato;

helloworld è il nome del programma, può contenere lettere, numeri e underscore (il carattere " _ "), ma deve iniziare con una lettera o un underscore. In termini tecnici un "nome" viene detto identificatore e tutti gli identificatori in Pascal devono seguire queste regole;

; il punto e virgola indica la fine di un'istruzione, va inserito sempre al termine delle istruzioni tranne in alcuni casi particolari che esamineremo di volta in volta;

begin indica l'inizio di un blocco di programma, in questo caso il programma è costituito da un unico blocco, quindi va posto all'inizio, subito dopo program;

writeln('Hello World!'); come facilmente intuibile, questo comando serve per stampare a schermo delle informazioni, in questo caso stampa il contenuto della stringa tra singoli apici, come 'Hello World!', e riporta il cursore a capo. Esiste la variante write che è identica a questa ma non va a capo;

readln; serve per leggere l'input, in questo caso particolare attende il tasto Invio, uno stratagemma per impedire che la finestra dell'output scompaia ancora prima di riuscire a leggere il risultato del programma (se eseguite il programma da un terminale, invece di cliccare sulla sua icona, l'uso di questo comando è superfluo, in quanto l'output rimane sul terminale e può essere comodamente letto senza difficoltà);

end. chiude un blocco di programma, in questo caso delimita la fine dell'intero programma, quindi si scrive il punto "." al posto del punto e virgola ";" per indicare al compilatore che il sorgente termina in quel punto.

Esercizi

  1. Compila ed esegui il sorgente proposto;
  2. prova ad inserire degli errori (ad esempio omettendo il punto e virgola) per prendere confidenza con i messaggi di errore del compilatore;
  3. scrivi un programma che faccia un conto alla rovescia, dove bisogna premere il tasto Invio ad ogni numero successivo, ad esempio
    3.. <Invio>
    2.. <Invio>
    1.. <Invio>
    Go!
  4. riscrivi il sorgente del programma dell'esempio senza mai andare a capo, una istruzione dietro l'altra. Il sorgente compila ugualmente? perchè?
Be Sociable, Share!

Posted in Pascal.

Tagged with , , , , .


17 Responses

Stay in touch with the conversation, subscribe to the RSS feed for comments on this post.

  1. DAMYSOFTWARE (C) - Damy says

    Ciao complimenti per la guida e molta chiara .

    ARRIVEDERCI by Damy

    /* Scegliete LINUX e non ve ne pentirete */

  2. Salvatore Barbera says

    @DAMY: grazie a te per la visita!

  3. DAMYSOFTWARE (C) - Damy - says

    Ciao io uso Ubuntu solo che non riesco a scaricare il Free Pascal, volevo chiedervi se potevate mandarmelo su damy_@hotmail.it
    Spero che leggete presto l’email e mi mandate il Free Pascal che mi serve urgente.
    Complimenti ancora Salvatore….

    |*Usate Linux conviene costa 0,00€ è sicuro mentre Winzoz >500€ non sicuro *|

  4. Salvatore Barbera says

    ti basta scrivere sul terminale:

    sudo aptitude install fp-compiler

    grazie ancora, ma la guida è di Antonio :P

  5. Carlo says

    Grazie per la guida esauriente. Complimenti!!!

  6. Marco GRAZIA says

    Wow mi riporti indietro di 15 anni, quando giocavo col mitico Turbo Pascal della Borland.

    M.

  7. Antonio Barba says

    eheh! io ho saltato quella fase, ho fatto il salto diretto dal BASIC V2 della microsoft (detto anche Commodore BASIC per il C64) al C++ Builder per Windows…

  8. Damy says

    Ciao io ho istallato fpc solo che sul terminale digito fpc ed esce una help di tutti i comandi a me serve come far partire il compilatore scirverci compilare etc.. Come devo fare ??

  9. nalex says

    ottima
    veramente ottima!!!

    :-) ;-)

  10. Tony Di Bernardo says

    Mi riporta proprio agli inizi subito dopo il QuickBasic! Con il TP 7 ho scritto un clone del mitico Norton Commander (chi se lo ricorda?) soltanto che all’interno del sorgento ho dovuto inserire non poco assembler “inline” ;-)

    Program CountDown;
    Var i, inizio: Integer;

    Begin
    Writeln(‘Inserire il valore di partenza (max 10000): ‘);
    Readln(inizio);

    For i := inizio downto 1 do
    Begin
    Writeln(i);
    Readln;
    End;
    End.

    Non ho provato a compilarlo ma dovrebbe funzionare… l’ultima volta che ho messo mano ad un compilatore è stato per inserire delle funzioni assembler decompilate da un collega da un altro prg e fare un attacco brute force ad un sistema di cifratura proprietario…. ahh che ricordi :-)

  11. steep says

    io riesco a creare il testo e a compilarlo ma non si salva e non riesco ad eseguirlo.

  12. Get free 25$ - Payoneer Card says

    Get free 25$ – Payoneer Card Just Sign Up and you can be payed like
    an American! Get free 25$ – Payoneer Card Widraw money on every Mastercard
    ATM or pay it online. Free 25$ on first 100$. Just go
    on Get free 25$ – Payoneer Card You will receive a
    Free Credit card, a free worldwide Payoneer Card.

  13. payoneer-review.com says

    Payoneer Review businesses out there difficulty to be able to anybody regardless of whether payoneer-review.com they have an unsatisfactory credit worthiness.
    However, many what sort of catch to the is usually these companies bring a higher impose with regard to rates of interest.
    In the case of the particular Payoneer Debit Card Review Pay as
    you go it truly is totally different, a very latest analyze ensures that
    this kind of Payoneer Review can be purchased for you to all people which requires a
    Payoneer Prepaid Debit Card Review and as well it not carry those
    people extra charges and high rates of interest.

  14. extra money online says

    Earn huge moneyjust by sitting from home and advertising!
    Our company pays for every unique click on your referral
    link! It all started in the summer of 2015 with a simple,
    bold idea: to help people earn extra money online. A new kind of tech company that
    works hand in hand with users to do something amazing, helped us to create a unique referral system that gathers hundreds
    of investors and workers. We wanted to create something
    useful, something meaningful for people who can not have everything what they need.
    And we believe that we have succeeded in creating something unique
    and useful for all people.

  15. loan via online says

    Dooes yohr websitre have a contacft page? I’m having problems locating it but, I’d likie too senjd you
    an e-mail. I’ve got some creative ideas for your blg you might be inrerested
    iin hearing. Either way, grerat blog andd I look forwad to seeing itt grow oer time.

  16. Antonio Barba says

    scrivi il file da compilare con un normale editor di testo, chiamalo ad esempio helloworld.pas, poi da terminale raggiungi la directory dove hai salvato il sorgente (ad esempio nella tua home), e digita il comando “fpc helloworld.pas”.
    Il compilatore (se il file sorgente è stato scritto correttamente) creerà un file eseguibile chiamato helloworld, per eseguire il tuo programma basta digitare da console ./helloworld
    Se hai ancora problemi non esitare a chiedere :-)



Some HTML is OK

or, reply to this post via trackback.