PROGRAMMIAMO
C++ - Definizione di funzione
Istruzioni, programmi, sottoprogrammi

Le istruzioni di un linguaggio di programmazione consentono di svolgere singoli compiti elementari. Per esempio in C++ l'istruzione

cont++;

incrementa il valore (somma uno) della variabile cont.

Per svolgere compiti più complessi occorre usare sequenze di istruzioni, a volte anche molto lunghe, dette programmi.

Tuttavia capita frequentemente che determinati compiti complessi debbano essere ripetuti e riutilizzati in programmi differenti. Per esempio la sequenza di istruzioni occorrenti per verificare se un dato numero è primo o no, potrebbe essere usata per calcolare la lista dei numeri primi fino a un certo valore oppure per scomporre in fattori primi un numero dato o per altri compiti ancora. Chiaramente risulta scomodo e un'inutile perdita di tempo riscrivere ogni volta le stesse istruzioni.

L'esempio precedente mostra una situazione in verità molto frequente quando si programma: molte volte la scrittura di un programma richiede la soluzione di sottoproblemi più semplici che spesso sono già stati risolti e affrontati in passato (magari da altre persone, diverse dal programmatore stesso).

Per permettere ai programmatori di "riciclare" il proprio codice (o quello altrui), consentendone il riutilizzo all'interno di altri programmi, tutti i linguaggi di programmazione hanno uno strumento che assume nomi diversi e che si può genericamente chiamare sottoprogramma. In generale un sottoprogramma, come suggerisce il nome, non è altro che un programma la cui esecuzione è subordinata (sottoposta) a quello di un altro programma

In pratica un sottoprogramma non è un programma autonomo, ma, per poter essere eseguito, ha bisogno di essere invocato (il termine tecnico è "chiamato") da un altro programma. Tornando al nostro esempio precedente, il programma per il calcolo dei fattori primi di un numero potrà chiamare il sottoprogramma per la verifica se un numero è primo o no. In questo modo il calcolo corrispondente non viene fatto dal programma principale (il chiamante), ma dal sottoprogramma chiamato.

Funzioni

A seconda del linguaggio di programmazione usato, i sottoprogrammi assumono nomi e a volte significati leggermente diversi: si parla, a seconda dei casi, di routine, subroutine, procedure..

Il nome utilizzato in C++ è funzioni. Il nome non è stato scelto a caso, ma è stato preso dal linguaggio matematico. Infatti in matematica una funzione è un oggetto in grado di produrre un valore di uscita a partire da uno o più valori di ingresso. Per esempio la funzione

y = sen(x)

calcola, dato il valore x, il risultato del seno.

In C la situazione è molto simile: le funzioni ricevono in ingresso uno o più valori, li elaborano e restituiscono in uscita un risultato. La somiglianza è talmente grande che per esempio la seguente istruzione del linguaggio C:

y = sin(x);

che utilizza la funzione (nel senso del C) di nome sin per il calcolo del seno, è praticamente identica alla corrispondente scrittura matematica.

Come vedremo meglio in seguito, in C ci sono alcune funzioni predefinite (o di library), come per esempio la funzione sin, ma il programmatore puņ creare altre funzioni a piacere, un po' come puņ dichiarare tutte le variabili che desidera. Per i nomi delle funzioni dichiarate dal programmatore, valgono le stesse regole viste a suo tempo per i nomi delle variabili.

 

link precedente - successiva

Sito realizzato in base al template offerto da

http://www.graphixmania.it