14
Piero Scotto - C14 1 C14 #5 I cicli FOR e WHILE

Piero Scotto - C141 C14 #5 I cicli FOR e WHILE. Finalità del corso Piero Scotto - C142

Embed Size (px)

Citation preview

Page 1: Piero Scotto - C141 C14 #5 I cicli FOR e WHILE. Finalità del corso Piero Scotto - C142

Piero Scotto - C14 1

C14 #5 I cicli FOR e WHILE

Page 2: Piero Scotto - C141 C14 #5 I cicli FOR e WHILE. Finalità del corso Piero Scotto - C142

Piero Scotto - C14 2

Finalità del corso

Finalità del corso

Finalità del corso

Finalità del corso

Finalità del corsohttp://www.edmodo.com/home#/join/083f801ea2b9378ae50bd9457ae4ac95

Password: x77vto

Edmodo, gruppo C14

Page 3: Piero Scotto - C141 C14 #5 I cicli FOR e WHILE. Finalità del corso Piero Scotto - C142

Piero Scotto - C14 3

Esercizio 6. Scrivere un programma per calcolare la media delle temperature registrate in un certo periodo. Non sappiamo a priori quanti sono i valori.

Vediamo 2 situazioni differenti: nella prima il numero di temperature è noto, ma sempre diverso; nella seconda situazione il numero non è noto e l’utente inserisce i valori dal primo all’ultimo.

Page 4: Piero Scotto - C141 C14 #5 I cicli FOR e WHILE. Finalità del corso Piero Scotto - C142

Piero Scotto - C14 4

Ma quante variabili devo definire?Diciamo n variabili. Non è possibile scrivere un programma con un numero variabile di variabili!Nella prima situazione abbiamo detto che il numero di valori è noto all’utente.Chiediamo questo numero n e poi richiediamo n valori.Calcoliamo la somma dei valori, man mano che vengono letti e alla fine dividiamo per n. Media = somma di n valori/nSe ad es. i valori sono 35, avremo:Media = Somma dei 35 valori/35

Page 5: Piero Scotto - C141 C14 #5 I cicli FOR e WHILE. Finalità del corso Piero Scotto - C142

Piero Scotto - C14 5

#include <stdio.h>int main(void){ float T, Tcumulativo=0.0, Tmedia; short NT, i; printf("Quante temperature vuoi inserire? ");scanf("%d",&NT);printf(" Inserire le %d temperature separate da spazio ",NT);for (i=1;i<=NT;i++){ scanf("%f",&T); Tcumulativo=Tcumulativo+T;}Tmedia = Tcumulativo/NT; printf("La media delle temperature inserite e' %.2f ",Tmedia);printf(" Inserire 0 per chiudere ");scanf("%d",&i);return 0;}

Page 6: Piero Scotto - C141 C14 #5 I cicli FOR e WHILE. Finalità del corso Piero Scotto - C142

Piero Scotto - C14 6

Page 7: Piero Scotto - C141 C14 #5 I cicli FOR e WHILE. Finalità del corso Piero Scotto - C142

Piero Scotto - C14 7

Esercizio 6. Scrivere un programma per calcolare la media delle temperature registrate in un certo periodo. Non sappiamo a priori quanti sono i valori.

Vediamo la seconda situazione: il numero non è noto e l’utente inserisce i valori dal primo all’ultimo.

Page 8: Piero Scotto - C141 C14 #5 I cicli FOR e WHILE. Finalità del corso Piero Scotto - C142

Piero Scotto - C14 8

#include <stdio.h>int main(void){float T, Tcumulativo=0.0, Tmedia; int i, NT=0; printf(" Inserire le temperature separate da spazio. 1000 per finire. ");while (T<500.0) { scanf("%f",&T); if (T<500.0) {Tcumulativo=Tcumulativo+T;NT=NT+1;}}Tmedia = Tcumulativo/NT; printf("La media delle %d temperature inserite e' %.2f ",NT,Tmedia);printf(" Inserire 0 per chiudere ");scanf("%d",&i);return 0;}

Page 9: Piero Scotto - C141 C14 #5 I cicli FOR e WHILE. Finalità del corso Piero Scotto - C142

Piero Scotto - C14 9

Page 10: Piero Scotto - C141 C14 #5 I cicli FOR e WHILE. Finalità del corso Piero Scotto - C142

Piero Scotto - C14 10

Page 11: Piero Scotto - C141 C14 #5 I cicli FOR e WHILE. Finalità del corso Piero Scotto - C142

Piero Scotto - C14 11

Page 12: Piero Scotto - C141 C14 #5 I cicli FOR e WHILE. Finalità del corso Piero Scotto - C142

Piero Scotto - C14 12

Il Ciclo “infinito”

Page 13: Piero Scotto - C141 C14 #5 I cicli FOR e WHILE. Finalità del corso Piero Scotto - C142

Piero Scotto - C14 13

Esercizio 7. Aggiungere al programma per calcolare la media delle temperature registrate in un certo periodo, l’indicazione della temperatura più alta e più bassa. Non sappiamo a priori quanti sono i valori.

Usiamo la seconda soluzione (quella con while). Abbiamo bisogno di altre due variabili per Tmax e Tmin.

Page 14: Piero Scotto - C141 C14 #5 I cicli FOR e WHILE. Finalità del corso Piero Scotto - C142

Piero Scotto - C14 14

#include <stdio.h>int main(void){float T, Tcumulativo=0.0, Tmedia, Tmin, Tmax; int i, NT=0; printf(" Inserire le temperature separate da spazio. 1000 per finire. ");while (T<500.0){ scanf("%f",&T); if (NT==0) {Tmin=Tmax=T;} if (T<500.0) {Tcumulativo=Tcumulativo+T;NT=NT+1; if (T>Tmax) Tmax=T; if (T<Tmin) Tmin=T; }}Tmedia = Tcumulativo/NT; printf("La media delle %d temperature inserite e' %.2f Tmax= %.2f Tmin=%.2f ",NT,Tmedia,Tmax,Tmin);printf(" Inserire 0 per chiudere ");scanf("%d",&i);return 0;}