Funzione (informatica): differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Descrizione: Riorganizzata sezione -template inutile
Descrizione: Rimossa trattazione di alcuni concetti superflui
Riga 15:
* il corpo della funzione ovvero il nucleo dell'elaborazione costituita dal blocco, opportunamente delimitato, di una o più istruzioni, ciascuna terminata dal comando di terminazione, [[iterazione|cicli iterativi]], [[selezione (informatica)|strutture condizionali]] ecc., il tutto concluso con la variabile eventualmente ritornata in output. Variabili definite nel blocco saranno necessariamente variabili locali cioè con visibilità solo all'interno del blocco stesso.
 
Una funzione è una porzione di codice che può essere invocata da qualsiasi punto di un programma. Per l'invocazione occorre tipicamente richiamarne almeno il nome passando i valori degli eventuali parametri, cui si aggiungono eventualmente altri dettagli dipendenti dal particolare linguaggio di programmazione in uso (es. notazione punto nei linguaggi ad oggetti).
 
Un funzione può a sua volta richiamare un'altra funzione, restando in attesa che questa termini. Si parla in questo caso di funzione invocante e funzione invocata, o funzione chiamante e funzione chiamata. È anche possibile che una funzione richiami direttamente o indirettamente sé stessa. In questo caso, si dice che in un dato momento sono in esecuzione più istanze di una stessa funzione. Questa possibilità è essenziale per la [[ricorsione|programmazione ricorsiva]].
 
L'esecuzione di quella parte di programma si interrompe fino a quando l'esecuzione di una funzione non è terminata e prosegue dall'istruzione successiva a quella di invocazione.
 
Un altro strumento, che talvolta può essere usato al posto di una funzione, anche se con grosse limitazioni è la [[Macro (informatica)|macro]].
 
Per conoscere le modalità con cui le dichiarazioni effettuate localmente a una funzione possano interagire con altre funzioni (o sottoblocchi di codice), è necessario avere una conoscenza approfondita delle modalità con cui l'[[ambiente (programmazione)|ambiente]] viene gestito dallo specifico linguaggio.
 
=== Parametri ===