Piero Scotto - C14 1 Finalità del corso Programma Materiale Requisiti Spendibilità Piero Scotto - C14 2 Finalità del corso Finalità del corso Finalità del corso Finalità del corso Finalità del corso Piero Scotto - C14 3 Finalità del corso Finalità del corso Finalità del corso Finalità del corso Finalità del corso Piero Scotto - C14 4 Finalità del corso Finalità del corso Finalità del corso Finalità del corso Finalità del corso Piero Scotto - C14 5 Finalità del corso Finalità del corso Finalità del corso Finalità del corso Finalità del corso Piero Scotto - C14 6 Finalità del corso Finalità del corso Finalità del corso Finalità del corso Finalità del corso Piero Scotto - C14 7 Finalità del corso Finalità del corso Finalità del corso Finalità del corso Finalità del corso Piero Scotto - C14 8 Finalità del corso Finalità del corso Finalità del corso Finalità del corso Finalità del corso Piero Scotto - C14 9 Finalità del corso Finalità del corso Finalità del corso Finalità del corso Finalità del corso Piero Scotto - C14 10 /* programma: media.c */ #include <stdio.h> int main(void) { int a, b, media; /* numeri di cui si calcola la media */ a = 8 ; /* assegno un valore ad a */ b = 6 ; /* assegno un valore a b */ media = (a + b)/2; /* calcolo il valore della media */ printf("La media dei valori e' %d ", media) ; return 0; } Piero Scotto - C14 11 int main(void) { } Piero Scotto - C14 12 #include <stdio.h> int main(void) { int a, b, media; /* numeri di cui si calcola la media */ a = 8 ; /* assegno un valore ad a */ b = 6 ; /* assegno un valore a b */ media = (a + b)/2; /* calcolo il valore della media */ printf("La media dei valori e' %d ", media) ; return 0; } Piero Scotto - C14 13 /* programma: media.c */ #include <stdio.h> int main(void) { int a, b, media; /* numeri di cui si calcola la media */ a = 8 ; /* assegno un valore ad a */ b = 6 ; /* assegno un valore a b */ media = (a + b)/2; /* calcolo il valore della media */ printf("La media dei valori e' %d ", media) ; return 0; } Piero Scotto - C14 14 /* programma: media.c */ #include <stdio.h> int main(void) { int a, b, media; /* numeri di cui si calcola la media */ a = 8 ; /* assegno un valore ad a */ b = 6 ; /* assegno un valore a b */ media = (a + b)/2; /* calcolo il valore della media */ printf("La media dei valori e' %d ", media) ; return 0; } Piero Scotto - C14 15 /* programma: media.c */ #include <stdio.h> int main(void) { int a, b, media; /* numeri di cui si calcola la media */ a = 8 ; /* assegno un valore ad a */ b = 6 ; /* assegno un valore a b */ media = (a + b)/2; /* calcolo il valore della media */ printf("La media dei valori e' %d ", media) ; return 0; } Piero Scotto - C14 16 /* programma: media.c */ #include <stdio.h> int main(void) { int a, b, media; /* numeri di cui si calcola la media */ a = 8 ; /* assegno un valore ad a */ b = 6 ; /* assegno un valore a b */ media = (a + b)/2; /* calcolo il valore della media */ printf("La media dei valori e' %d ", media) ; return 0; } Piero Scotto - C14 17 /* programma: media.c */ #include <stdio.h> int main(void) { int a, b, media; /* numeri di cui si calcola la media */ a = 8 ; /* assegno un valore ad a */ b = 6 ; /* assegno un valore a b */ media = (a + b)/2; /* calcolo il valore della media */ printf("La media dei valori e' %d ", media) ; return 0; } Piero Scotto - C14 18 Piero Scotto - C14 19 Piero Scotto - C14 20 Piero Scotto - C14 21 Piero Scotto - C14 22 /* programma: media2.c Autore: Piero Scotto. I dati sono forniti dall'utente tramite tastiera. Ricordarsi di indicare al programma che c‘è� un input */ #include <stdio.h> int main(void) { int a, b, media; /* numeri di cui si calcola la media */ scanf("%d", &a); /* chiedo il numero da input e lo assegno alla variabile a */ scanf("%d", &b); /* chiedo il numero da input e lo assegno alla variabile b */ media = (a + b)/2; /* calcolo il valore della media */ printf("La media dei valori e' %d ", media) ; /* stampiamo il valore della media */ return 0; } Piero Scotto - C14 23 Piero Scotto - C14 24 Piero Scotto - C14 25 Sembra tutto a posto! Diamo in Input i valori 8 e 5, ad esempio Piero Scotto - C14 26 Qualcosa non torna …. Piero Scotto - C14 27 int main(void) { int a, b, media; /* numeri di cui si calcola la media */ scanf("%d", &a); /* chiedo il numero da input e lo assegno alla variabile a */ scanf("%d", &b); /* chiedo il numero da input e lo assegno alla variabile b */ media = (a + b)/2; /* calcolo il valore della media */ printf("La media dei valori e' %d ", media) ; /* stampiamo il valore della media */ return 0; } La media di due numeri interi può non essere intera. Correggo il programma! Piero Scotto - C14 28 /* programma: media3.c Ora dichiariamo media come numero decimale (float) */ #include <stdio.h> int main(void) { int a, b; float media; scanf("%d", &a); scanf("%d", &b); media = (a + b)/2; /* calcolo il valore della media */ printf("La media dei valori e' %f ", media) ; return 0; } Piero Scotto - C14 29 C’e’ ancora qualcosa che non funziona, forse … Piero Scotto - C14 30 #include <stdio.h> int main(void) { int a, b; float media; scanf("%d", &a); scanf("%d", &b); media = (a + b)/2.0; /* calcolo il valore della media */ printf("La media dei valori e' %f ", media) ; return 0; } Oppure: media = (float)(a + b)/2; che opera una conversione di tipo o “cast” Piero Scotto - C14 31 Piero Scotto - C14 32 Si noti che il compilatore non si è accorto del nostro errore, cioè che “media” non sempre sarà un numero intero (int), ma potrà essere reale (con la virgola, float). Il compilatore si accorge solo di errori sintattici ma non sempre è in grado di riconoscerli Piero Scotto - C14 33 Piero Scotto - C14 34 Piero Scotto - C14 35 Possiamo migliorare il programma. Definiamo tutte le variabili float Possiamo quindi inserire in input valori decimali Chiediamo che la stampa a video inserisca solo 2 decimali nel risultato Piero Scotto - C14 36 /* programma: media5.c Ora dichiariamo media come numero decimale (float) con 2 decimali */ #include <stdio.h> int main(void) { float a, b, media; /* numeri di cui si calcola la media */ scanf("%f", &a); scanf("%f", &b); media = (a + b)/2; /* calcolo il valore della media */ printf("La media dei valori %.2f %.2f e' %.2f ",a,b, media) ; return 0; } Piero Scotto - C14 37 Es1. Usando i programmi descritti a lezione scrivere un programma in C che calcoli la media aritmetica dei voti di uno studente, supponendo che i voti siano 9. Piero Scotto - C14 38 Es1. Usando i programmi descritti a lezione scrivere un programma in C che calcoli la media aritmetica dei voti di uno studente, supponendo che i voti siano 9. Piero Scotto - C14 39