CORSO PASCAL PER CHI NON CAPISCE UN TUBAZZO DI PROGRAMMAZIONE.



INTRODUZIONE


Questo testo nasce come risposta a una delle più frequenti domande poste nell’ambito informatico: come si costruisce un programma. Molti sono affascinati dall’intrigante arte della codifica ma, o per mancanza di tempo, o per scarsità di volontà, non affrontano il grande passo della stesura di un programma. Molti si chiedono, giustamente, l’utilità di saper scrivere codice in un’era in cui ci troviamo di fronte a prodotti già pronti e in cui ogni tipo di software immaginabile è già stato scritto da qualcuno; la risposta non è così semplice, la programmazione è un’arte, per alcuni è considerata alla stregua di un hobbi, e per altri è un lavoro, chi non ha mai provato l’ebrezza della stesura di un utility innovativa non può comunque capire... Ma questo testo nasce appunto per questo, il poter apprendere la programmazione da zero.
Si deve innanzitutto notare che il linguaggio scelto è stato il Pascal, in quanto è forse quello che offre miglior rapporto tra prestazioni e difficoltà, tuttavia anche il Visual Basic, specie con l’avvento delle nuove versioni potrebbe divenire un ottimo strumento, ma ora come ora, il Pascal si colloca ancora un gradino sopra di detto tool, specie con l’avvento del Delphi; non è comunque da escludere anche il C++ Builder, il “cugino” di Delphi.

Vanni Brutto

 

 

 


CAPITOLO 1

Un po’ di storia

Il Pascal è un liguaggio ad alto livello, che tenta cioè di avvicinarsi per quanto possibile al ragionamento umano. Esempi di linguaggi ad alto livello sono C, C++, Basic, Basic strutturato, Cobol e Fortran; una delle caratteristiche che differenzia il Pascal da alcuni dei suddetti linguaggi è la possibilità di scrivere codice a basso livello, in altre parole righe di programmazione che vengono scritte nel linguaggio della CPU. Il Pascal nasce ad opera di N. Wirth che per primo introdusse la sintassi Pascal, in seguito nel 1970 l’uso del Pascal si estese nell’ambito universitario e scientifico, ma si deve scorrere all’incirca fino agli anni ‘80 per arrivare al primo compilatore1 di Turbo Pascal scritto da Anders Hejlsberg. I programmatori Pascal hanno apprezzato attraverso gli anni la stabilità, l’eleganza, nonchè la velocità e la stabilità offerta da questo compilatore. Il Turbo Pascal rappresentò per l’epoca la guista via di mezzo tra l’efficiente ma complesso Assembly2 e altri linguaggi ad alto livello (basic soprattutto) ma non con tali prestazioni.
Negli anni il T.P. si evolse di versione in versione fino all’eccezionale versione 7.0 (includente anche Turbo Vision 2.0) completamente orientato agli oggetti, e tutt’oggi uno dei migliori pacchetti per la scrittura di software gestionali per DOS. Con l’avvento del Windows la Borland rilasciò la prima versione di Borland Pascal, un pacchetto basato sul linguaggio Object Pascal, naturale evoluzione del Turbo Pascal; tuttavia la stesura di applicazioni Windows in Object Pascal era alquanto lenta e complessa, il programmatore doveva avere ottime conoscenze di T.P., nonchè delle OWL3 e le immancabili API4 del Windows. Per questo la Borland rilasciò nel mercato Delphi e successivamente Delphi 2.0, la versione riveduta e corretta a 32-bit del primo. Delphi introdusse il concetto di programmazione Visuale e orientata agli eventi tipica del Visual Basic, ma senza trascurare i vantaggi della compilazione Pascal. Nel corso del ‘97 la Borland ha creato pure un ambiente di tipo R.A.D. per il C++ (C++ Builder) molto simile al Delphi; attualmente siamo giunti alla versione 3.0 di Delphi, e sicuramente il futuro riserverà altre sorprese, tuttavia voglio fare notare che il codice scritto in Delphi è conferme all’Object Pascal, di cui ha ereditato pure il numero delle versione, la versione 8.0 fu infatti del Delphi 1.0 e la successiva 9.0 del Delphi 2.0.



Il primo programma in Turbo Pascal.

Si noti che in questo corso si inizierà usando la programmazione tipica del Turbo Pascal per passare poi a quella Delphi, questo è fatto volutamente per dare la possibilità anche a coloro che non conoscono nulla di programmazione a capire il funzionamento di detto compilatore.

Da quando Brian Kernighan e Dennis Richie hanno realizzzato nel 1978 il linguaggio di programmazione C, il tradizionale primo programma è stato quello di visualizzare Hello World! (Ciao gente!) sullo schermo. Chi se la sente di interrompere questa tradizione?

· Avviare Delphi
· Scegliere close all dal menu file e chiudere tutti i files eventualmente aperti
· Dal menu file scegliere new e quindi Text
· Salvare il file come Hello.dpr (Delphi Project (*.dpr))
· Scrivere il programma in turbo pascal facendolo precedere dalla seguente riga: {$APPTYPE CONSOLE}

{$APPTYPE CONSOLE}
{Hello World! App, tutto quello che è tra
parentesi grafe non viene letto dal compilatore}
Program Hello; {Program va seguito dal nome del file del programma}

Uses
  Forms;

Begin {Inizio del programma}
  WriteLn(‘Hello World’); {WriteLn si usa per scrivere sul video}
  ReadLn;{ReadLn si usa per leggere da tastiera}
End. {Fine del programma}


Se vi siete ripresi dal trauma causato dall’avvio di una finestra DOS possiamo continuare con qualcosa di più... semplice...

Creare un programma come segue:

{$APPTYPE CONSOLE}
Program Prova;

Uses
  Forms;

Begin
End.


Il file andrà poi salvato con il nome prova ed estensione dpr.
La parola riservata Begin indica l’inizio del programma e deve corrispondere con un seguente End; si dovrà ricordare fin dora che in Pascal i blocchi di codice andranno definiti sempre tramite un Begin e un End.
Si provi ora ad eseguire il programma tramite la voce Run del menu Run... Passata la compilazione non accadrà un bel niente, questo perchè questo programma non fa assolutamente nulla! L’importante è osservare che ogni programma deve iniziare con la riga Program contente il nome del file da salvare e si dovrà SEMPRE aggiungere la riga iniziale {$APPTYPE CONSOLE} per indicare a Delphi che si sta lavorando in modalità DOS, inoltre si dovrà sempre aggiungere la riga Uses Forms, è inutile al file dell’esecuzione, ma serve per caricare il file.

Miglioramenti del primo programma
Si modificherà ora il primo programma creato in precedenza come segue:

{$APPTYPE CONSOLE}
{Questo è il secondo programma, tutto quello che è tra
parentesi grafe non viene letto dal compilatore}
Program P2; {Program va seguito dal nome del file del programma}
Begin {Inizio del programma}
  WriteLn(‘PROGRAMMA P2’); {WriteLn si usa per scrivere sul video}
  WriteLn(‘Questo è semplicemente il mio secondo programma’);
  WriteLn;
  WriteLn(‘Premere INVIO per terminare il programma’);
  ReadLn;{ReadLn si usa per leggere da tastiera}
End. {Fine del programma}


Questo programma è visivamente più complesso del primo, ma nella realtà non è nulla di particolarmente difficile, ogni programma per Turbo Pascal dovrebbe cominciare con Program seguito dal nome del file, il carattere di punto e virgola finale non è messo a caso, ogni riga di Turbo Pascal dovrebbe finire con un carattere tale, tranne poche eccezioni (tra le quali Begin e End); l’istruzione WriteLn scrive la stringa1 contenuta tra gli apici, WriteLn è un metodo e va quindi seguito dall’apertura e la chiusura di parentesi rotonde. Provate ora a modificare il programma aggiungendo altre frasi o ricopiando più volte alcune istruzioni per vedere l’effetto creato.



TIP lampa02.gif (2041 byte)

Nota per gli utilizzatori di Delphi: è possibile eseguire programmi scritti per Turbo Pascal anche in Delphi, si dovrà però seguire la seguente procedura
· Avviare Delphi
· Scegliere close all dal menu file e chiudere tutti i files eventualmente aperti
· Dal menu file scegliere new e quindi Text
· Salvare il file come Delphi Project (*.dpr)
· Scrivere il programma in turbo pascal facendolo precedere dalla seguente riga: {$APPTYPE CONSOLE}





Si esamini ora il seguente programma:

{$APPTYPE CONSOLE}
Program P3;
Begin
  WriteLn(‘PROGRAMMA P2’); {WriteLn si usa per scrivere sul video}
  Begin
    WriteLn(‘Questo è semplicemente il mio secondo programma’);
    WriteLn(‘’);
  End;
  WriteLn(‘Premere INVIO per terminare il programma’);
  ReadLn;
End.


Il programma P3 svolge le stesse funzioni di P2, l’unica differenza risiede nel fatto che il secondo WriteLn è preceduto da un Begin, questo perchè si è voluto creare un nuovo blocco di programma. Si osservi inoltre che il terzo WriteLn è stato sostituito da WriteLn(‘’), nella realtà le due righe di codice sono equivalenti(!).

Corso interamente creato da VB.