My Informatica
Vuoi reagire a questo messaggio? Crea un account in pochi click o accedi per continuare.



 
IndicePortaleUltime immaginiCercaRegistratiAccedi
Social

Cerca
 
 

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

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

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

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

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

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

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

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

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

» Introduzione al C...
Le Funzioni EmptyLun Feb 27, 2012 1:37 pm Da Mira

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

Condividi | 
 

 Le Funzioni

Visualizza l'argomento precedente Visualizza l'argomento successivo Andare in basso 
AutoreMessaggio
Mira
Admin
Mira

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

Le Funzioni Empty
MessaggioTitolo: Le Funzioni   Le Funzioni EmptyDom 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]
Torna in alto Andare in basso
 

Le Funzioni

Visualizza l'argomento precedente Visualizza l'argomento successivo Torna in alto 

 Argomenti simili

-
» Windows 8 introdurrà le funzioni Refresh e Reset
Pagina 1 di 1

Permessi in 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-