Voglia di Mac , anche su Facebook

Voglia di Mac , anche su Facebook
Diventa membro di iBlog anche su Facebook!
Powered By Blogger

Qui iSpazio con il Feed su iPod Touch, iPad Italia e recensioni App Store.

Benvenuto in iBlog!

Benvenuto in iBlog , 

iBlog è un blog per interessi di  Mac OS X e anche iPhone OS ,  se se hai interessi da da condividere sul blog , scrivi un ' articolo e poi noi lo inseriremo su iBlog!

Pagine

martedì 20 luglio 2010

Introduzione al linguaggio C- parte 5: Le funzioni in C

Rieccoci qua scusate tutti il ritardo con cui scrivo ma ero assai impegnato ma ora rieccomi qui.
Prima di iniziare vorrei rispondere ai vostri commenti (che sono riportati nell articolo di Thomas A. che ringrazio tanto visto che mi deve mandare i commenti oltre che scrivere nel blog). Allora se non si sa usare Windows (per esempio chi programma con blocco note non ha capito nulla del mio corso) si deve leggere la Lezione 1 dove ho introdotto gli strumenti per chi fosse alle prime armi senza che costui spenda un euro (UBUNTU è un sistema operativo gratuito) ma solo in tempo di installarlo è speso, ma bene, perchè più lo usi e più ti accorgi del suo valore (non è facile ed io ho avuto le mie difficolta all inizio ma ora mi diverto tanto ad usarlo).
Invece ad Andrea dico che io uso il gedit per programmare (come detto in lezione 1) e non capisco cosa non ti sia chiaro ma sarò più distensivo affinchè non ci siano più problemi.

Bene ora iniziamo con la lezione e parliamo di funzioni in C.
Voi sapete già usare una funzione che ho dovuto introdurre subito per parlare di C ovvero la funzione main.
Bene questa è l' unica funzione che conoscete e sapete usare ora cerchiamo di scriverne una noi staccata dalla main per poi utilizzarla al suo interno dato che la main si usa principalmente per dare gli input e avere degli output e come si costruiscono si fa nelle funzioni che vengono richiamate al suo interno (anche se inizialmente è corretto fare quel che vi ho fatto fare perchè dovevate fare un po di strada per scrivere funzioni che facessero qualcosa ma ora è il momento giusto)
Iniziamo dando la tipica struttura di una funzione (N.B. le [] indicano gruppi ma nn vanno nel programma)
[tipo] [nome] ( [lista dei parametri dati] ) { azioni }
Il tipo sta nel dire che cosa produce la funzione ( int double char ) e basta
il nome è semplicemente un etichetta che serve par richiamarla nella main N.B. MAI E POI MAI dare nomi che sono usati come comandi come print int float ecc.... e se volete dare nomi lunghi più di una parola usate anzichè spazio l' underscore "_ " (NON è uno smile ma l' underscore tra virgolette)
la lista dei parametri va fra le tonde e dice che cosa userai nella funzione (potete dichiararlo all interno ma sono dichiarazioni locali che non sono molto simpatiche e i programmatori furbi evitano le rogne che possono conseguire da ciò).
Le azioni dicono in codice che fa la funzione e niente altro.

Ma son sicuro che un esempio di funzione vi renderà felici e chiarirà i dubbi (spiego i punti non noti come al solito):

1 int espressione_1 (int a,int b,int c)
2 {
3 int result;
4 result=a+b+c;
5 return result;
6 }

Allora:
RIGA 1: La funzione si chiama espressione_1 (notate l underscore) una funzione a valori interi (int) che dichiara di conoscere tre parametri: a b c che sono tre interi . Come poi faremo ad usare la funzione lo vedremo dopo una cosa alla volta.
RIGA 2: Iniziano le azioni
RIGA 3: ho dichiarato un intero di nome result (è di output allora va dentro ma chi programma sa che cosa sia di output e di input ma lo capite da riga 4 che ho ragione)
RIGA 4: Sommo i tre parametri che danno result che è il parametro che sarà poi un numero intero come detto.
RIGA 5: Discutiamo questa riga molto interessante: Solitamente noi scrivevamo return 0 vero? Ma qui no poichè a noi non ci interessa che torni il valore di verità ( lo 0 con printf o le condizionali dicono che l' operazione è andata a buon esito e che puoi continuare) ma qui a noi interessa che ci sia un risultato alla fine e non che abbia capito che è una somma!
RIGA 6: Fine dell' azione e della funzione

Bene ora che abbiamo la funzione come la usiamo nella main: Bè la chiamiamo e la facciamo andare nel seguente esempio dove riciameremo la funzione di prima:

1 int main()
2 {int a=3;
3 int b=3;
4 int c=12;
5 printf("%d\n", espressione_1 (a,b,c));
6 return 0;
7 }

Commentiamo le rige che non conosciamo ancora:
RIGA 5: Ci chiama e ci fa fare qualcosa alla funzione. Ma come?
Semplice la chiama:
"espressione_1" con i parametri che son noti dalle righe precedenti e lei fa quel che deve fare e poi io voglio che mi dia il risultato stampato e visto che la funzione mi dà result alla fine mi stamperà result (che è quel che volevamo)! Geniale o no?
Ma chi trovasse riga 5 troppo difficile faccia cosi: ( int d= espressione_1 (a,b,c) e stampi d)
Il resto lo sapete
Bene è ora di lasciarci e di dirvi che ora potete programmare da soli qualcosa di facile e gioire della vostra bravura
Ci risentiamo col prossimo articolo dove dopo alcune cosette che introdurrò la strada si farà ardua e chi non mi è dietro non mi seguirà più perchè inizierò le avanzate di C
Per ora e tutto
Ciao
Luca




Nessun commento:

Posta un commento