Funzione (informatica): differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica
Etichette: Modifica visuale Modifica da mobile Modifica da web per mobile
Sostituito ritornare usato transitivamente con restituire
Riga 23:
In generale la sintassi comune della definizione di una funzione prevede:
* un identificativo o '''nome''';
* per [[Tipizzazione forte|linguaggi tipizzati]] un '''[[tipo di ritorno]]''' ovvero una specifica sul [[tipo di dato]] che essa ritorneràrestituirà in output all'utente o ad altre funzioni che la invocano; quando una funzione non ritornarestituisce nulla (es. ritornofunzioni dicon tipo retituito ''void'') la funzione avrà svolto altre elaborazioni agendo ad esempio sullo stato delle [[variabile (informatica)|variabili]] del programma o visualizzando a video qualcosa senza restituire nulla. In linguaggi non tipizzati o a [[tipizzazione debole]] invece non è presente il tipo di ritorno.
* la specifica (non sempre necessaria) dei cosiddetti '''[[Parametro (programmazione)|parametri]]''' o ''operandi'' i cui valori saranno poi passati in fase di invocazione e su cui la funzione opererà in fase di elaborazione; anche in assenza di parametri il corpo della funzione potrà svolgere la sua elaborazione con altre istruzioni ad esempio agendo sullo stato delle variabili del programma o visualizzando a video qualcosa.
* 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 instanziate o 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).
Riga 36:
 
=== Variabili locali ===
Una funzione può definire variabili, dette locali, che sono visibili solo durante l'esecuzione di ''una particolare istanza'' della funzione ovvero sono istanziatedefinite e muoionoallocate all'interno del blocco o corpo della funzione e sono deallocate al termine dell'esecuzione del blocco stesso o funzione stessa. Se più istanze di una funzione sono in esecuzione contemporaneamente, ciascuna avrà la sua copia di ciascuna variabile locale.
 
Per conoscere le modalità con cui le dichiarazioni effettuate localmente ad 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.