END, GLOBAL, OUTPUT, STOP, TO
Sottoprogramma
Un blocco di istruzioni diventa un sottoprogramma se ha un nome, comincia con TO e finisce con END
1 2 3 4 |
TO nome blocco END |
La definizione di sottoprogramma deve occupare almeno due righe, la parola chiave END non può essere sulla stessa riga di TO
1 2 |
TO nome ... END ; Errore! |
Il controllo ritorna al chiamante dopo l’esecuzione dell’ultima istruzione (prima di END).
Con STOP si interrompe l’esecuzione del codice del sottoprogramma e il controllo ritorna al codice.
1 2 3 4 5 |
TO nome ... IF condizione [ STOP ] ... END |
Parametri
Eventuali parametri in ingresso seguono il nome del sottoprogramma sia nella definizione che nella chiamata
1 2 3 4 5 6 7 |
TO nome x ; definizione del sottoprogramma blocco END nome x ; chiamata del sottoprogramma ... nome(x) ; ... |
Nella chiamata di funzione le parentesi tonde sono facoltative (ma sono presenti in tutti i linguaggi moderni…).
Se utilizzate devono essere incollate al nome.
Nella definizione di funzione i due punti prima dei parametri sono facoltativi.
Se utilizzati diventano obbligatori per poter utilizzare i parametri
1 2 3 4 5 |
TO funzione :p1 :p2 ... :p1=:p2+10 ... END |
Funzione
Il sottoprogramma diventa una funzione con l’istruzione OUTPUT seguita da un valore
1 2 3 4 5 6 |
TO nome x ; definizione della funzione ... OUTPUT y END a=nome(x) ; chiamata della funzione e utilizzo del risultato |
GLOBAL
Per utilizzare variabili esterne al sottoprogramma e necessario dichiararle globali, GLOBAL, sia dentro che fuori!
1 2 3 4 5 6 7 8 |
GLOBAL g1 TO sottoprogramma ... GLOBAL g1 g1=valore ... END |
Valuta sempre l’uso dei parametri in ingresso x1, x2, … e del valore di ritorno y.