• Regolamento Macrocategoria DEV
    Prima di aprire un topic nella Macrocategoria DEV, è bene leggerne il suo regolamento. Sei un'azienda o un hosting/provider? Qui sono anche contenute informazioni per collaborare con Sciax2 ed ottenere l'accredito nella nostra community!

Guida [Tutorial 3] Introduzione alle funzioni

Slyer

Nuovo utente
Autore del topic
26 Luglio 2008
13
0
Miglior risposta
0
Tutorial 3
Scritto da Roberto Navigli

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.
 
Le tre guide che hai fatto sono molto buone bravo ti sei guadagnato un punto rep :bravo:
 
grazie mille^^ dmn continuo cn i tutorial....
 
siler se fai le guide su come programmare il vb ti aumento reputazione
 
hotelfico invece di ringraziarmi per aver psotato 3 tutorial (in aggiornamento) continui a far richieste.....vabbè chiudo un occhio appena finisco di completare tutti i tutorial x il c++ incomincio con il bisual basic