CORSO PASCAL PER CHI NON CAPISCE
UN TUBAZZO DI PROGRAMMAZIONE.
INTRODUZIONE
Questo testo nasce come risposta a una delle più frequenti domande poste nellambito
informatico: come si costruisce un programma. Molti sono affascinati dallintrigante
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,
lutilità di saper scrivere codice in unera 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 è unarte, per alcuni
è considerata alla stregua di un hobbi, e per altri è un lavoro, chi non ha mai provato
lebrezza 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 lavvento 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 lavvento 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 luso del Pascal si estese nellambito universitario e scientifico, ma
si deve scorrere allincirca 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à, leleganza, nonchè la velocità e la
stabilità offerta da questo compilatore. Il Turbo Pascal rappresentò per lepoca la
guista via di mezzo tra lefficiente 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 alleccezionale versione
7.0 (includente anche Turbo Vision 2.0) completamente orientato agli oggetti, e
tuttoggi uno dei migliori pacchetti per la scrittura di software gestionali per DOS.
Con lavvento 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 allObject 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 dallavvio 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 linizio 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! Limportante è 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
dellesecuzione, 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); listruzione WriteLn scrive la stringa1 contenuta tra gli
apici, WriteLn è un metodo e va quindi seguito dallapertura e la chiusura di
parentesi rotonde. Provate ora a modificare il programma aggiungendo altre frasi o
ricopiando più volte alcune istruzioni per vedere leffetto creato.
TIP |
 |
|
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, lunica 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.