C14 #5
I cicli FOR e WHILE
Piero Scotto - C14
1
Finalità del corso
Finalità del corso
Finalità del corso
Finalità del corso
http://www.edmodo.com/home#/join/083f801ea2b9378ae50bd9457ae4ac95
Finalità del corso
Password: x77vto
Edmodo, gruppo C14
Piero Scotto - C14
2
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.
Piero Scotto - C14
3
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/n
Se ad es. i valori sono 35, avremo:
Media = Somma dei 35 valori/35
Piero Scotto - C14
4
#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;
}
Piero Scotto - C14
5
Piero Scotto - C14
6
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.
Piero Scotto - C14
7
#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;
}
Piero Scotto - C14
8
Piero Scotto - C14
9
Piero Scotto - C14
10
Piero Scotto - C14
11
Il Ciclo “infinito”
Piero Scotto - C14
12
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.
Piero Scotto - C14
13
#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;
}
Piero Scotto - C14
14
Scarica

Presentazione cicli for e while ppt