• Istituto
    • Chi Siamo
    • La nostra storia
  • Magazine
    • Agenda
    • Atlante
    • Il Faro
    • Il Chiasmo
    • Diritto
    • Il Tascabile
    • Le Parole Valgono
    • Lingua italiana
    • WebTv
  • Catalogo
    • Le Opere
    • Bottega Treccani
    • Gli Ebook
    • Le Nostre Sedi
  • Scuola e Formazione
    • Portale Treccani Scuola
    • Formazione Digitale
    • Formazione Master
    • Scuola del Tascabile
  • Libri
    • Vai al portale
  • Arte
    • Vai al portale
  • Treccani Cultura
    • Chi Siamo
    • Come Aderire
    • Progetti
    • Iniziative Cultura
    • Eventi Sala Igea
  • ACQUISTA SU EMPORIUM
    • Arte
    • Cartoleria
    • Design & Alto Artigianato
    • Editoria
    • Idee
    • Marchi e Selezioni
  • Accedi
    • Modifica Profilo
    • Treccani X

funzione (in un linguaggio di programmazione)

Enciclopedia della Matematica (2017)
  • Condividi

funzione (in un linguaggio di programmazione)


funzione (in un linguaggio di programmazione) parola riservata di un linguaggio di programmazione indicante una particolare procedura operativa, disponibile nel linguaggio stesso, che agendo su una o più variabili del programma produce il loro nuovo valore. Alcune funzioni del linguaggio di programmazione traggono origine dalle comuni funzioni matematiche, anche se, dati i limiti dell’implementazione, possono esserne una restrizione, perché non possono, per esempio, essere definite su tutti i numeri reali, ma solo sui numeri rappresentati nell’elaboratore (→ aritmetica finita (di macchina)). Per esempio, si indica con abs(x) la funzione che calcola il valore assoluto della variabile x, determinando il suo nuovo valore; oppure con sqrt(a) la radice quadrata della variabile a. Altre funzioni agiscono su tipi di dato non numerico, quali per esempio le funzioni booleane o le funzioni che operano con stringhe; per esempio la funzione conc(a, b) dove a e b sono due stringhe, dà come risultato la stringa ottenuta giustapponendo l’una all’altra le due stringhe date. La funzione l (x), dove x è una stringa, è invece una funzione S → N (dall’insieme delle stringhe all’insieme dei numeri naturali) che associa a ogni stringa la sua lunghezza data dal numero di caratteri che la compongono.

Oltre alle funzioni predefinite, il programmatore può costruire all’interno dell’ambiente di calcolo tutte le funzioni utili all’implementazione di un particolare algoritmo. Una funzione, se non è già presente nel linguaggio, ha le seguenti caratteristiche:

• è definita con un nome convenzionale nella sezione dichiarativa del programma;

• è richiamata nel programma principale, dove figura come parte di una istruzione.

Per esempio, si può definire una funzione che dia il segno di ciascun numero reale; essa corrisponde alla seguente funzione matematica definita per casi:

Enciclopedia della Matematica formula lettf 02820 001.jpg

Questa funzione, detta segno, fornisce l’informazione relativa al segno di un qualsiasi numero reale x. Da un punto di vista matematico, sgn è una funzione R → Z, del tipo molti → 1, definita per ogni x reale, e la cui immagine è il sottoinsieme di Z formato dai tre possibili valori che essa assume: {−1, 0, +1}. In tutti i linguaggi di programmazione, il dominio e il codominio della funzione devono essere dichiarati esplicitamente nella sezione dichiarativa del programma. Nell’ambiente di calcolo del computer il dominio di sgn(x) è di tipo real, mentre il codominio è di tipo integer.

Si possono realizzare anche funzioni a n variabili, definite sul prodotto cartesiano di n insiemi, su ciascuno dei quali si può definire un qualsiasi tipo di dato. La funzione ammette in ingresso differenti tipi di dato; in uscita, fornisce uno o più dati, ma di un solo tipo. La dichiarazione preliminare della funzione ha le seguenti caratteristiche:

• il nome della funzione è seguito, tra parentesi, dal nome delle variabili indipendenti e dall’indicazione del tipo di dato cui appartengono la funzione e le singole variabili;

• l’algoritmo che definisce la funzione le assegna il valore calcolato, in modo tale che la funzione stessa diventa a sua volta una variabile.

Una funzione, così come una → procedura, è, quindi, assimilabile a un vero sottoprogramma di un linguaggio strutturato e può essere richiamata più volte nel corso dell’esecuzione del programma principale. Tuttavia, con i termini funzione e procedura si indicano due oggetti algoritmici distinti, le cui differenze sintattiche sono giustificate dal loro diverso utilizzo; in particolare:

• una funzione modifica lo stato di una o più variabili e fornisce sempre uno o più risultati in uscita, in funzione dei valori delle variabili in ingresso;

• la procedura, pur modificando lo stato di una o più variabili, può anche non fornire alcun valore in uscita, ma produrre invece un effetto, un’azione o un cambiamento di stato (come può essere la procedura che effettua la stampa di un documento);

• una funzione richiamata nel programma principale non può essere considerata come una istruzione indipendente, ma è un vero e proprio algoritmo di calcolo utilizzabile all’interno di un’istruzione;

• una procedura può essere scritta come un’istruzione isolata.

Per esempio, la procedura per la stampa può essere scritta come print(a), così indicando che deve essere stampato il contenuto della variabile a su una particolare unità di output del computer.

Una riga di programma contenente soltanto la scrittura sgn(z) viene invece considerata dal compilatore come errore sintattico, perché essa da sola non può costituire un’istruzione. È invece corretto inserire la funzione in una istruzione di assegnazione del tipo:

Enciclopedia della Matematica formula lettf 02820 002.jpg

Per evidenziare che si tratta di un’istruzione di assegnazione si è qui utilizzato il simbolo ≔ per distinguerlo dal simbolo di uguaglianza. Tuttavia nella scrittura degli algoritmi in linguaggio di progetto si utilizza una scrittura semiformalizzata e spesso si utilizza il simbolo di uguale per indicare l’assegnazione di un valore a una variabile. L’ordine impartito all’automa esecutore viene interpretato come segue:

1) applica a z l’algoritmo definito dalla funzione sgn;

2) calcola il valore sgn(z);

3) assegna alla variabile a il valore calcolato da sgn(z).

Sul modo di utilizzare le funzioni, è opportuno osservare che:

• se una funzione dipende da più variabili (anche di diverso tipo), i valori sostituiti quando essa è richiamata nel programma principale devono corrispondere nello stesso ordine alle variabili scritte nella definizione;

• quando si richiama una funzione essa va considerata come una comune variabile: può comparire in una istruzione di assegnazione, di lettura, di scrittura, o all’interno di una espressione e può essere modificata più volte nel corso del calcolo, senza contenere l’indicazione delle variabili in ingresso.

Per esempio, se si vuole costruire una funzione che calcoli il fattoriale di un numero naturale, la sequenza delle istruzioni in un linguaggio di progetto può essere la seguente:

Enciclopedia della Matematica formula lettf 02820 003.jpg

La funzione variabile fatt conterrà all’uscita dal ciclo iterativo ripeti ... finché il valore cercato, usualmente indicato con n!. Se successivamente nel programma principale si prevede un’istruzione in cui la variabile reale comb debba calcolare il numero di combinazioni di 5 elementi di classe 2

Enciclopedia della Matematica formula lettf 02820 004.jpg

si potrà dunque scrivere:

Enciclopedia della Matematica formula lettf 02820 005.jpg

È utile osservare che, eseguendo una funzione nel programma principale, l’automa esecutore passa dall’ambiente di calcolo esterno che richiama la funzione a quello interno della funzione, dove organizza le aree di memoria destinate ai parametri, alle variabili locali definite nella funzione e al nome della funzione utilizzata come elemento di comunicazione tra i due ambienti. Sulle modalità in cui può avvenire il passaggio dei valori dal programma principale alla funzione richiamata si veda → procedura.

Vedi anche
programma Enunciazione particolareggiata, verbale o scritta, di ciò che si vuole fare, di una linea di condotta da seguire, degli obiettivi a cui si mira e dei mezzi con cui si intende raggiungerli. Economia Nella costituzione di una società per azioni, illustrazione dello scopo sociale, del capitale occorrente ... implementazione In informatica, realizzazione di una procedura di elaborazione automatica dei dati, ideata a seguito dell’analisi del problema che si vuole affrontare e relativa progettazione della soluzione; si estrinseca, a partire dagli stadi iniziali, attraverso le varie fasi del progetto: definizione dello schema ... linguàggio di programmazióne In informatica, insieme di parole e di regole, definite in modo formale, per consentire la programmazione di un elaboratore affinché esegua compiti predeterminati. Esistono l. di p. di alto livello e di basso livello: i primi permettono al programmatore di lavorare su vere e proprie operazioni logiche, ... dato In informatica, informazione elementare codificabile o codificata. D. analogici e d. digitali La rappresentazione di un’informazione può essere realizzata da d. analogici e da d. digitali. I d. analogici sono grandezze fisiche che assumono valori in un insieme continuo, in modo tale che la rappresentazione ...
Tag
  • FUNZIONI DEL LINGUAGGIO
  • PRODOTTO CARTESIANO
  • SIMBOLO DI UGUALE
  • PAROLA RISERVATA
  • CICLO ITERATIVO
Altri risultati per funzione (in un linguaggio di programmazione)
  • subroutine
    Enciclopedia on line
    In informatica, lo stesso che sottoprogramma, ossia programma (generalmente breve) che può essere richiamato, anche più volte, dal programma principale per risolvere un problema specifico e frequente, agevolando così la programmazione e facendo risparmiare spazio di memoria. In alcuni contesti si considerano ...
  • funzioni
    Enciclopedia dei ragazzi (2005)
    Luca Dell'Aglio Come mettere le grandezze in relazione tra loro Una funzione matematica è un modo comodo e valido in generale per rappresentare la dipendenza di una certa grandezza dalle altre: per esempio, l'area di un rettangolo dipende da quanto misurano la sua base e la sua altezza. Il concetto ...
  • sottoprogramma
    Dizionario delle Scienze Fisiche (1996)
    sottoprogramma [Comp. di sotto- e programma] [ELT] [INF] Nella tecnica dei calcolatori elettronici, programma, generalm. breve, che può essere richiamato, anche molte volte, in un programma principale per effettuare una certa operazione frequente (per es., un ordinamento), allo scopo di semplificare ...
Vocabolario
unità
unita unità s. f. [dal lat. unĭtas -atis, der. di unus «uno»; in alcuni dei sign. concreti, ha risentito l’influenza dell’ingl. unit (che in inglese è distinto da unity)]. – 1. a. Il fatto, la condizione e la caratteristica di essere uno,...
linguàggio
linguaggio linguàggio s. m. [der. di lingua]. – 1. Nell’uso ant. o letter., e talora anche nell’uso com. odierno, lo stesso che lingua, come strumento di comunicazione usato dai membri di una stessa comunità: parlare con proprietà di l.;...
  • Istituto
    • Chi Siamo
    • La nostra storia
  • Magazine
    • Agenda
    • Atlante
    • Il Faro
    • Il Chiasmo
    • Diritto
    • Il Tascabile
    • Le Parole Valgono
    • Lingua italiana
    • WebTv
  • Catalogo
    • Le Opere
    • Bottega Treccani
    • Gli Ebook
    • Le Nostre Sedi
  • Scuola e Formazione
    • Portale Treccani Scuola
    • Formazione Digitale
    • Formazione Master
    • Scuola del Tascabile
  • Libri
    • Vai al portale
  • Arte
    • Vai al portale
  • Treccani Cultura
    • Chi Siamo
    • Come Aderire
    • Progetti
    • Iniziative Cultura
    • Eventi Sala Igea
  • ACQUISTA SU EMPORIUM
    • Arte
    • Cartoleria
    • Design & Alto Artigianato
    • Editoria
    • Idee
    • Marchi e Selezioni
  • Accedi
    • Modifica Profilo
    • Treccani X
  • Ricerca
    • Enciclopedia
    • Vocabolario
    • Sinonimi
    • Biografico
    • Indice Alfabetico

Istituto della Enciclopedia Italiana fondata da Giovanni Treccani S.p.A. © Tutti i diritti riservati

Partita Iva 00892411000

  • facebook
  • twitter
  • youtube
  • instagram
  • Contatti
  • Redazione
  • Termini e Condizioni generali
  • Condizioni di utilizzo dei Servizi
  • Informazioni sui Cookie
  • Trattamento dei dati personali