Osservazione sulla divisione fra interi e reali

Parliamo nuovamente della divisione fra interi, visto che quasi tutti l'hanno sbagliata nel compitino.

Nel primo esercizio, si chiedeva di verificare che la frequenza relativa (che si ottiene dividendo fra loro due numeri interi, ma e' un numero reale) fosse compresa in un certo intervallo. Il programma seguente mostra il modo corretto di verificare questa condizione!!!


Nota bene: se i due valori da dividere sono interi, il risultato della loro divisione e' un intero, anche se viene memorizzato in una variabile di tipo float !!!


/*
Programma che mostra il modo corretto di verificare che la frequenza relativa
di una variabile casuale sia al di sopra di una certa soglia
*/


#include <stdio.h>
#include <stdlib.h>

int main () {

int occorrenza = 10 , volte = 34;
float freqSbagliata, freqCorretta;

freqSbagliata = occorrenza/volte;
printf("frequenza sbagliata = %f\n", freqSbagliata);

freqCorretta = (float)occorrenza/volte;
printf("frequenza corretta = %f\n", freqCorretta);


if (occorrenza/volte > 0.2) ; else
printf("Sbagliato!! In realta' la frequenza e' maggiore di 0.2!!\n");

if (freqSbagliata > 0.2) ; else
printf("Sbagliato!! In realta' la frequenza e' maggiore di 0.2!!\n");

if (freqCorretta > 0.2)
printf("Bene!! Questo e' il modo giusto di verificare la condizione!\n");


return EXIT_SUCCESS;
}






Torna alla HomePage del corso