Funzione (informatica): differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Riga 20:
 
== Funzionamento ==
Una funzione è una porzione di codice che può essere invocata da qualsiasi punto di un programma.
 
Quasi tutti i [[linguaggio di programmazione|linguaggi di programmazione]] supportano le funzioni, fornendo una propria sintassi per '''definire''' una funzione, ovvero scriverne il codice, ed una per richiederne l'esecuzione ('''invocazione''' o '''chiamata''' della funzione).
 
Riga 30 ⟶ 28:
* il '''corpo''' della funzione ovvero il nucleo dell'elaborazione costituita dal blocco 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 instanziate o definite nel blocco saranno necessariamente variabili locali cioè con visibilità solo all'interno del blocco stesso.
 
Una funzione di questo tipoè una voltaporzione invocatadi ocodice richiamatache esigepuò dunqueessere la specificainvocata da partequalsiasi dell'utentepunto dei valori dei parametri accettatidi dellaun funzioneprogramma.. 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).
 
UnaUn 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 prosegue dall'istruzione successiva a quella di invocazione e 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]].