IndicePortaleCalendarioFAQCercaLista UtentiGruppiRegistratiAccedi
Social

Cerca
 
 

Risultati secondo:
 
Rechercher Ricerca avanzata
Visite
My Biblioteca
Leggi Qui Tutti I Libri

BASTA UN CLICK
Ultimi argomenti
»  LinuxMX blog & forum: una comunità tutta Linux
Ven Giu 15, 2012 9:00 pm Da niculinux

» Le Funzioni
Dom Mar 18, 2012 12:07 am Da Mira

» Gestione permessi di un file
Gio Mar 15, 2012 12:49 pm Da Mira

» Comando per creare un link simbolico
Mer Mar 14, 2012 11:08 pm Da Mira

» Comandi per eliminare file e cartelle
Mer Mar 14, 2012 3:29 pm Da Mira

» Comandi per rinominare un file
Dom Mar 04, 2012 12:41 pm Da Mira

» Le variabili (parte 2)
Sab Mar 03, 2012 4:24 pm Da Mira

» Le variabili (parte 1)
Lun Feb 27, 2012 11:32 pm Da Mira

» Introduzione al C...
Lun Feb 27, 2012 1:37 pm Da Mira

Argomenti più visti
Regolamento del forum
Problema aggiornamento ubuntu 11.04 a 11.10
Tablet android quale comprare o quale scegliere
VirtualBox 4.1.4 DOWNLOAD FREE
LinuxMX blog & forum: una comunità tutta Linux
openSUSE 12.1 Beta 1 DOWNLOAD FREE
Libre Office o Open Office?
Ciao a tutti voi
Le variabili (parte 1)
Introduzione al C...
Volunia
Pagina Facebook
Parole chiave

Condividere | 
 

 Le Funzioni

Vedere l'argomento precedente Vedere l'argomento seguente Andare in basso 
AutoreMessaggio
Mira
Admin
avatar

Messaggi : 75
Data d'iscrizione : 20.09.11
Età : 24
Località : Enna

MessaggioTitolo: Le Funzioni   Dom Mar 18, 2012 12:07 am

Salve a tutti ragazzi,
Dopo aver parlato delle variabili, iniziamo a parlare delle funzioni.

Una funzione in informatica è un costrutto che permette di raggruppare una sequenza di istruzioni in un unico blocco di istruzioni che fanno parte del programma.

Essa può essere richiamata in diversi punti del programma ogni volta che si ha la necessità di farlo evitando di riscrivere ogni volta parti di codice.

Vediamo adesso come una funzione viene utilizzata in matematica oppure in informatica.

In matematica una funzione è scritta nella forma :
Codice:
y=f(x)

ossia ad ogni valore di x (variabile indipendente) corrisponde uno ed un solo valore della variabile dipende y. 

In una funzione è possibile che ci siano più variabili indipendenti :
Codice:
f(x,y)=x+y

Le variabili indipendenti, sono i parametri che si danno in input alla funzione (è anche possibile creare funzioni senza alcun parametro); mentre il risultato si ottiene usando la keyword return.
Tutto il codice di una funzione deve trovarsi tra parentesi graffe “ { } “

Ecco la struttura di una funzione:
Codice:
tipo_ritornato nome_funzione(parametro,parametro 2....parametro n){
codice
...
}

Facciamo un piccolo esempio con una funzione che calcola il cubo di un numero:

Codice:
int cubo(int x) {
   return x*x*x;
}

Esaminiamo la funzione:
* “int” indica il tipo del valore ottenuto dalla funzione;
* “cubo(int x)” cubo è il nome della funzione, mentre dentro le parentesi troviamo il parametro che passiamo alla funzione e il suo tipo;
* “return” indica quale valore deve ritornare la funzione (nel nostro caso il valore da ritornare è il cubo del numero x, cioè x*x*x).


L'ANSI C ha imposto che le funzioni in un programma devono essere dichiarate prima del punto in cui vengono richiamate.
Molte volte però non è possibile dichiarare funzioni prima del punto in cui vengono usate, questo perchè possono trovarsi in librerie esterne; L'ANSI C allora impone che prima del loro uso sia presente un prototipo della funzione. Un prototipo consiste in una funzione dichiarate attraverso tipo di ritorno, nome e lista argomenti.
Esempio:

Codice:
int prova();
int main() {
   prova();
   return 0;
}

int prova() {
   return 0;
}

I prototipi solitamente vengono inseriti nel file header, ma se nel caso dell'esempio fatto sopra noi inseriamo solo il prototipo senza la funziona, si ha un errore di linking.

Un programma di grandi dimensioni di solito la funzione viene inserita in un file header (.h), l'implementazione in un file .c e il programma nel main.c.

Esistono anche delle funzioni che non hanno un valore ritornato,cioè eseguono un pezzo di codice ed escono, queste funzioni si chiamano procedure.

Esempio di procedura:
Codice:
 void prova() {
   printf(“procedura”);
   return; 
}

Il return è opzionale si può anche non inserire, ma è indispensabile nel caso si voglia far finire la funzione prima.

Ecco un esempio di richiamo di una procedura:

Codice:

#include <stdio.h>

void prova();  //prototipo procedura

int main() {
   prova();
   return 0;
}

void prova() {
   printf (“procedura”);
}

Le funzioni possono essere anche statiche,cioè vengono instanziate in memoria alla creazione del programma e distrutte alla fine del processo che le richiama. Possono essere visibili solo all'interno del file che le dichiara.

Per dichiararle basta usare la keyword static :

Codice:
static void prova()

Esistono anche funzioni,chiamate “macro”,che non vengono allocate in memoria quando si esegue il processo,ma vengono macinate dal precompilatore quando le incontra.
Per creare una macro si usa la direttiva al preprocessore #define:

Codice:
#include <stdio.h>
#define CUBO(x) (x*x*x)

int main() {
   printf (“%d”,CUBO(5));
   return 0;
}

Questo genere di funzioni è abbastanza primitivo,oltre a essere scarsamente leggibile,ma si preferisce usarlo per motivi di ottimizzazione del programma.



*questo articolo è presente anche su [Devi essere iscritto e connesso per vedere questo link] e su [Devi essere iscritto e connesso per vedere questo link]
Tornare in alto Andare in basso
Vedi il profilo dell'utente
 

Le Funzioni

Vedere l'argomento precedente Vedere l'argomento seguente Tornare in alto 
Pagina 1 di 1

Permessi di questa sezione del forum:Non puoi rispondere agli argomenti in questo forum
My Informatica :: Programmazione a 360° :: Tutto C, C++, C# e Objective-C :: Guide-