next up previous

Next:Appendici Up: TurboPascal Tutorial Previous:Tipi di dati

Procedure


Spesso, soprattutto in programmi complessi e piuttosto elaborati, ci troviamo 
dinanzi al problema di ripetere uno stesso procedimento più volte all'interno
dello stesso programma.
La soluzione a questo problema è data dal fatto che possiamo memorizzare una
procedura  e ripeterla a piacimento durante la stesura del programma.
Questa utilissima funzione ha la seguente sintassi:

            PROCEDURE nomeprocedura;
             BEGIN
            blocco istruzioni
            ....
            ....
             END;

E' importante dire che  i precedenti comandi devono essere digitati tra il 
settore dichiarativo e il corpo del programma (per intenderci, prima del 
BEGIN  iniziale).
Per richiamare una procedura durante il programma bisogna digitare il nome 
della procedura seguito da un punto e virgola(;).
 
Esempio: Modificare il  programma precedente inserendo una procedura.

          
  PROGRAM numeri_casuali;
  USES crt;
  VAR a,b,c:INTEGER;
  PROCEDURE output; ( * Qualsiasi nome va bene * )
  BEGIN
  WRITELN(' Il numero estratto è ',c);
  READLN;
  END;
  BEGIN
  CLRSCR;
  RANDOMIZE;
  c:=RANDOM(10); ( * Questo comando permette all' elaboratore  di generare un 
                numero a caso compreso tra 0 e il numero indicato in 
                parentesi. Il massimo consentito è 255 * )
  CASE c OF
  7:BEGIN
  output;
  END;
  9:BEGIN
  output;
  END;
  3:BEGIN
  output;
  END;
  ELSE
  BEGIN
  WRITELN(' Il numero uscito è diverso da 3  7 e 9); 
  END;
  END;

  
In questo caso una procedura è addirittura una perdita di tempo poichè 
le istruzioni da riscrivere sono poche ma in casi più complessi fanno 
risparmiare tempo e fatica.



                       
                       
                       A P P E N D I C E      A
                       ------------------------

GLI ERRORI DEL TP                    
=================
Spesso (fin troppo spesso), nella digitazione del programma è probabile che 
siano presenti errori: mancato punto e virgola(;) alla fine di un istruzione,
valore alfanumerico dato ad una variabile numerica, ecc.
Per correggerli il TP , al momento della compilazione, mostra in alto dei 
messaggi di errore che, malauguratamente per chi non lo conosce, sono in 
inglese!
Qui di seguito c'è una brevissima guida  su come correggere gli errori più 
comuni:
N.B. Nel caso in cui l' errore non sia presente nella tabella, con un buon 
vocabolario di inglese si può tentare di capire l' origine dell' errore e 
quindi correggerlo.

1) Out of memory : Il compilatore non ha abbastanza memoria per eseguire o 
compilare il programma. Provare a cambiare destinazione del codice eseguibile.
(Vedi Capitolo1)

2) Unknown identifier : Identificatore sconosciuto. Non abbiamo dichiarato una 
variabile.

3) Duplicate identifier: Identificatore duplicato. Due variabili identiche.
Cambiarne  una.

4) Syntax error: E' sbagilata la sintassi di un istruzione.
 
5) Type mismatch: Si è dichiarata una variabile diversamente da come si è 
considerata. Ad esempio si è caricato il valore 1 in una variabile di tipo 
CHAR;

6) String constant exceeds lines: Si è dimenticato di mettere la stringa 

 
 
  
  di testo fra apici.

7) Unespected end of file: Il numero dei BEGIN non coincide col numero 
degli END. Verificarli.