39
1 Piero Scotto - C14

1Piero Scotto - C14. Finalità del corso Programma Materiale Requisiti Spendibilità 2Piero Scotto - C14

Embed Size (px)

Citation preview

Page 1: 1Piero Scotto - C14. Finalità del corso Programma Materiale Requisiti Spendibilità 2Piero Scotto - C14

1Piero Scotto - C14

Page 2: 1Piero Scotto - C14. Finalità del corso Programma Materiale Requisiti Spendibilità 2Piero Scotto - C14

Finalità del corso

Programma

Materiale

Requisiti

Spendibilità

2Piero Scotto - C14

Page 3: 1Piero Scotto - C14. Finalità del corso Programma Materiale Requisiti Spendibilità 2Piero Scotto - C14

Finalità del corso

Finalità del corso

Finalità del corso

Finalità del corso

Finalità del corso

3Piero Scotto - C14

Page 4: 1Piero Scotto - C14. Finalità del corso Programma Materiale Requisiti Spendibilità 2Piero Scotto - C14

Finalità del corso

Finalità del corso

Finalità del corso

Finalità del corso

Finalità del corso

4Piero Scotto - C14

Page 5: 1Piero Scotto - C14. Finalità del corso Programma Materiale Requisiti Spendibilità 2Piero Scotto - C14

Finalità del corso

Finalità del corso

Finalità del corso

Finalità del corso

Finalità del corso

5Piero Scotto - C14

Page 6: 1Piero Scotto - C14. Finalità del corso Programma Materiale Requisiti Spendibilità 2Piero Scotto - C14

Finalità del corso

Finalità del corso

Finalità del corso

Finalità del corso

Finalità del corso

6Piero Scotto - C14

Page 7: 1Piero Scotto - C14. Finalità del corso Programma Materiale Requisiti Spendibilità 2Piero Scotto - C14

Finalità del corso

Finalità del corso

Finalità del corso

Finalità del corso

Finalità del corso

7Piero Scotto - C14

Page 8: 1Piero Scotto - C14. Finalità del corso Programma Materiale Requisiti Spendibilità 2Piero Scotto - C14

Finalità del corso

Finalità del corso

Finalità del corso

Finalità del corso

Finalità del corso

8Piero Scotto - C14

Page 9: 1Piero Scotto - C14. Finalità del corso Programma Materiale Requisiti Spendibilità 2Piero Scotto - C14

Finalità del corso

Finalità del corso

Finalità del corso

Finalità del corso

Finalità del corso

9Piero Scotto - C14

Page 10: 1Piero Scotto - C14. Finalità del corso Programma Materiale Requisiti Spendibilità 2Piero Scotto - C14

Finalità del corso

Finalità del corso

Finalità del corso

Finalità del corso

Finalità del corso

10Piero Scotto - C14

Page 11: 1Piero Scotto - C14. Finalità del corso Programma Materiale Requisiti Spendibilità 2Piero Scotto - C14

/* 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; }

11Piero Scotto - C14

Page 12: 1Piero Scotto - C14. Finalità del corso Programma Materiale Requisiti Spendibilità 2Piero Scotto - C14

12Piero Scotto - C14

int main(void){

}

Page 13: 1Piero Scotto - C14. Finalità del corso Programma Materiale Requisiti Spendibilità 2Piero Scotto - C14

13Piero Scotto - C14

#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; }

Page 14: 1Piero Scotto - C14. Finalità del corso Programma Materiale Requisiti Spendibilità 2Piero Scotto - C14

/* 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; }

14Piero Scotto - C14

Page 15: 1Piero Scotto - C14. Finalità del corso Programma Materiale Requisiti Spendibilità 2Piero Scotto - C14

/* 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; }

15Piero Scotto - C14

Page 16: 1Piero Scotto - C14. Finalità del corso Programma Materiale Requisiti Spendibilità 2Piero Scotto - C14

/* 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; }

16Piero Scotto - C14

Page 17: 1Piero Scotto - C14. Finalità del corso Programma Materiale Requisiti Spendibilità 2Piero Scotto - C14

/* 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; }

17Piero Scotto - C14

Page 18: 1Piero Scotto - C14. Finalità del corso Programma Materiale Requisiti Spendibilità 2Piero Scotto - C14

/* 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; }

18Piero Scotto - C14

Page 19: 1Piero Scotto - C14. Finalità del corso Programma Materiale Requisiti Spendibilità 2Piero Scotto - C14

19Piero Scotto - C14

Page 20: 1Piero Scotto - C14. Finalità del corso Programma Materiale Requisiti Spendibilità 2Piero Scotto - C14

20Piero Scotto - C14

Page 21: 1Piero Scotto - C14. Finalità del corso Programma Materiale Requisiti Spendibilità 2Piero Scotto - C14

21Piero Scotto - C14

Page 22: 1Piero Scotto - C14. Finalità del corso Programma Materiale Requisiti Spendibilità 2Piero Scotto - C14

22Piero Scotto - C14

Page 23: 1Piero Scotto - C14. Finalità del corso Programma Materiale Requisiti Spendibilità 2Piero Scotto - C14

/* 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; }

23Piero Scotto - C14

Page 24: 1Piero Scotto - C14. Finalità del corso Programma Materiale Requisiti Spendibilità 2Piero Scotto - C14

24Piero Scotto - C14

Page 25: 1Piero Scotto - C14. Finalità del corso Programma Materiale Requisiti Spendibilità 2Piero Scotto - C14

25Piero Scotto - C14

Page 26: 1Piero Scotto - C14. Finalità del corso Programma Materiale Requisiti Spendibilità 2Piero Scotto - C14

26Piero Scotto - C14

Sembra tutto a posto! Diamo in Input i valori 8 e 5, ad esempio

Page 27: 1Piero Scotto - C14. Finalità del corso Programma Materiale Requisiti Spendibilità 2Piero Scotto - C14

27Piero Scotto - C14

Qualcosa non torna ….

Page 28: 1Piero Scotto - C14. Finalità del corso Programma Materiale Requisiti Spendibilità 2Piero Scotto - C14

28Piero Scotto - C14

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!

Page 29: 1Piero Scotto - C14. Finalità del corso Programma Materiale Requisiti Spendibilità 2Piero Scotto - C14

29Piero Scotto - C14

/* 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; }

Page 30: 1Piero Scotto - C14. Finalità del corso Programma Materiale Requisiti Spendibilità 2Piero Scotto - C14

30Piero Scotto - C14

C’e’ ancora qualcosa che non funziona, forse …

Page 31: 1Piero Scotto - C14. Finalità del corso Programma Materiale Requisiti Spendibilità 2Piero Scotto - C14

31Piero Scotto - C14

#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”

Page 32: 1Piero Scotto - C14. Finalità del corso Programma Materiale Requisiti Spendibilità 2Piero Scotto - C14

32Piero Scotto - C14

Page 33: 1Piero Scotto - C14. Finalità del corso Programma Materiale Requisiti Spendibilità 2Piero Scotto - C14

33Piero Scotto - C14

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

Page 34: 1Piero Scotto - C14. Finalità del corso Programma Materiale Requisiti Spendibilità 2Piero Scotto - C14

34Piero Scotto - C14

Page 35: 1Piero Scotto - C14. Finalità del corso Programma Materiale Requisiti Spendibilità 2Piero Scotto - C14

35Piero Scotto - C14

Page 36: 1Piero Scotto - C14. Finalità del corso Programma Materiale Requisiti Spendibilità 2Piero Scotto - C14

36Piero Scotto - C14

Possiamo migliorare il programma.Definiamo tutte le variabili floatPossiamo quindi inserire in input valori decimaliChiediamo che la stampa a video inserisca solo 2 decimali nel risultato

Page 37: 1Piero Scotto - C14. Finalità del corso Programma Materiale Requisiti Spendibilità 2Piero Scotto - C14

37Piero Scotto - C14

/* 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; }

Page 38: 1Piero Scotto - C14. Finalità del corso Programma Materiale Requisiti Spendibilità 2Piero Scotto - C14

38Piero Scotto - C14

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.

Page 39: 1Piero Scotto - C14. Finalità del corso Programma Materiale Requisiti Spendibilità 2Piero Scotto - C14

39Piero Scotto - C14

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.