Sotto-programmi
[Prog]
0-9
Si può utilizzare [Prog] come istruzione in un programma per attivare
l'esecuzione di un programma scritto in un altro punto. Si chiama sotto-
programma un programma che si esegue in seno ad un altro.
Fare appello ad un sotto-programma è utile in particolare nei seguenti casi:
l per utilizzare un programma già scritto in un programma nuovo.
l per ragioni di chiarezza, quando il sotto-programma rappresenta un
calcolo lungo o complicato che è meglio separare dal resto.
l quando la stessa procedura/calcolo viene utilizzata più volte in seno a un
programma.
Attenzione: se ci sono delle istruzioni Goto in un programma o in un sotto-
programma, verificare che si riferiscano a degli Lbl situati nello stesso
programma o sotto-programma.
Es.:
Si ha un programma Prog 0 che calcola un valore X a partire da diversi
parametri.
Nel programma 1 si hanno le seguenti istruzioni:
Prog 0 : X+1→A
Quando il programma incontra l'istruzione Prog 0, esegue il programma
Prog 0 per intero, quindi torna a Prog 1 a cercare l'istruzione seguente:
mette dunque il valore di X+1 nella memoria temporanea A.
Esempio riassuntivo: il gioco del numero misterioso
Il principio del gioco è il seguente: la calcolatrice genera un numero
compreso tra 1 e 999 e si hanno a disposizione 12 tentativi per scoprirlo.
Programmeremo questo gioco in Prog 0 servendoci di un sotto-programma,
Prog 1, per tutti i preparativi del gioco.
Si useranno le seguenti variabili:
l A per il contatore dei 12 tentativi.
l N il numero da scoprire.
l X il valore proposto dall'utente.
Per ogni valore di A non nullo si richiede un valore di X.
l Se X=N, il gioco è vinto e viene proposto di rigiocare.
l Se X>N, appare a display "Troppo grande" e viene richiesto un nuovo valore
di X. Anche se X è troppo piccolo viene richiesto un nuovo valore di X.
Se A=0, avete perso e viene proposto di rigiocare.
Prog 1 assegna il valore 12 ad A e genera un numero intero compreso tra
0 e 999 grazie a Ran# (numero aleatorio compreso tra 0 e 0,999) e di Int
(parte intera).
Si scrive Prog 1:
12"A:Int (Ran# x1000+1)"N
18
Inserito in un programma, avvia l'esecuzione del
sotto-programma specifico.
Copyright © Lexibook 007