Funzione (informatica): differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica
Riga 1:
{{F|informatica|febbraio 2013|Nessuna fonte}}
In [[informatica]], nell'ambito della [[programmazione]], una '''funzione''' (detta anche '''subroutine''', '''routine''', '''procedura''', '''sottoprogramma''' o '''metodo''') è un costrutto [[sintassi (informatica)|sintattico]], in qualche [[linguaggio di programmazione]], che permette di raggruppare, all'interno di [[Programma (informatica)|programma]], una sequenza di [[Istruzione (informatica)|istruzioni]] in un unico blocco di istruzioni espletando così una determinata e in generale più complessa operazione/, azione o [[Elaborazione dati|elaborazione]]/azione sui dati del programma stesso (a partire da determinati [[input]] restituisce determinati [[output]]).
 
L'importanza e la praticità di una funzione sta nel fatto che può essere "chiamata" ("richiamata", "invocata" o "attivata") in diversi punti del programma di cui fa parte ogni volta in cui si ha la necessità di farlo come se fosse una singola istruzione senza la necessità di doverdoverne riscrivere ogni volta partiil direlativo [[codice (informatica)sorgente|codice]] implementando quindidunque il cosiddetto [[riuso di codice]] cui si aggiunge una più facile [[manutenibilità]] del codice all'interno del programma ed una più facile [[ingegneria del software|progettazione]] del [[software]] secondo la classica filosofia del ''[[divide et impera]]''.
 
Le funzioni sono tipicamente anche le modalità con cui si costruiscono le [[Application programming interface|API]] di un certo [[linguaggio di programmazione]].
 
==Descrizione==
Riga 17:
* i termini '''procedura''' e '''funzione''' vengono generalmente usati nel contesto dei [[linguaggio di programmazione ad alto livello|linguaggi di programmazione ad alto livello]]; laddove non siano considerati sinonimi per funzione si intende un sottoprogramma il cui scopo principale sia quello di produrre un valore in output a partire da determinati dati in ingresso (cosa che stabilisce un'analogia con l'omonimo concetto di [[funzione (matematica)|funzione matematica]]), senza modificare lo stato; mentre una procedura è un sottoprogramma che non "produce" alcun particolare valore in output ma modifica lo stato. Alcuni linguaggi (per esempio il [[linguaggio C|C]]) adottano come modello "standard" quello della funzione, e considerano le procedure come caso particolare di funzione che restituisce un valore appartenente all'[[insieme vuoto]].
* il termine '''sottoprogramma''' è anch'esso tipico dei linguaggi di programmazione ad alto livello, ed è talvolta usato come termine generale per riferirsi sia a procedure che a funzioni nel senso descritto sopra.
* il termine '''[[metodo (informatica)|metodo]]''' è usato invece nell'ambito della [[programmazione orientata agli oggetti]] in luogo di quello di funzione.
 
== Funzionamento ==