Linguaggi | Manuali | Compilatori | Programmi | Script | Software | Linux | Windows | Html
Linguaggi

C
C++
JAVA
PERL
COBOL
PASCAL
MATLAB
FORTRAN77
FORTRAN90

JAVASCRIPT

VISUALBASIC

Sistemi operativi

LINUX
WINDOWS
UNIX
MAC

Software

AUTOCAD
GNUPLOT
OCTAVE
SCILAB

Introduzione alle funzioni

Tutorial 3
Scritto da Roberto Navigli (roberto.navigli@iol.it)
Game Programming Italia: www.gpi.eden.it
Introduzione alle funzioni

Come già detto, una funzione è implementata mediante una o più istruzioni che svolgono un determinato compito. In genere, il nome della funzione indica il compito che essa svolge. Ad esempio, una funzione che calcola la radice quadrata si chiamerà radice_quadrata, una funzione che calcola il logaritmo di un numero si chiamerà log e così via. In generale, una funzione può assumere un qualsiasi nome, a meno di casi specifici. Ricordiamo, ad esempio, che la funzione main ha un preciso significato e che rappresenta il punto di inizio di ogni programma C++.

Vediamo un esempio che definisce alcune funzioni:

/* definiamo alcune funzioni */
#include <iostream>

using namespace std;

void stampa()
{
cout << "stampa()" << endl;
}

int successore(int a)
{
return a+1;
}

void main()
{
stampa();

int x;

x = successore(10);

cout << "successore di 10: " << x << endl;
}

La prima funzione non prende nulla in input e non restituisce nulla. Il suo compito è quello di stampare la seguente stringa e andare a capo:

stampa()

La seconda funzione implementa il successore, una nota funzione matematica che dato x restituisce x+1. Esaminiamo l'intestazione della funzione:

int successore(int a)

La funzione prende in input un intero (associato alla variabile a) e restituisce in output un altro intero. Il corpo della funzione è specificato dal blocco seguente:

{
return a+1;
}

Tutto quello che fa è restituire, mediante la parola chiave return, il valore dell'espressione a+1, che è proprio il successore di a. Si faccia attenzione al fatto che a è una variabile locale, ovvero non è visibile all'esterno della funzione. Ma su questo torneremo in seguito.

Il corpo della funzione main fa quattro cose: chiama la funzione stampa,

stampa();

dichiara la variabile x di tipo intero,

int x;

le assegna il successore di 10 (chiamando l'omonima funzione)

x = successore(10);

e infine stampa il valore di x:

cout << "successore di 10: " << x << endl;

Ricapitolando, la forma generica per definire una funzione è la seguente:

tipo-da-restituire nome-della-funzione(lista dei parametri)
{
// corpo della funzione
}

La forma generica per chiamare una funzione è la seguente:

nome-della-funzione(parametro1, parametro2, …, parametron);

Nel caso in cui la funzione restituisca valore è possibile memorizzare tale valore in una variabile del medesimo tipo, come si è fatto nell'esempio precedente con la chiamata a successore(10) che restituisce un intero il cui valore è memorizzato in una variabile dello stesso tipo.

Partner

Guida Fortran
Guida Matlab

English Version
Tutorials
Programming
Lavoro
Lavoro in rete
Telelavoro
Webmaster
Webmaster
Xml

Gratis
Autore
G. Ciaburro
Curriculum
Tesi