Informatica 2 Liceo Scientifico Scienze Applicate/Es (for) Analisi sequenza dati: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica
Gian BOT (discussione | contributi)
m Bot: Correggo errori ortografici comuni
Riga 9:
* calcolare quanti numeri dispari appartenenti all'intervallo [4,50[ ci sono
 
Vediamo di analizzare la soluzione del problema un quesito alla volta , e ad ogni quesito risolto compiliamo ed eseguiamo il programma.Per calcolare la somma di 100 numeri non bisogna creare 100 variabili separate perche'perché la scrittura del programma si complica notevolmente, bisogna pensare di inserire un numero per 100 volte, cioe' pensiamo di usare un simpatico For<br />
 
Creiamo il programma e aggiungiamo lo using namespace std; otteniamo la struttura di base
Riga 105:
</source>
 
ora se si scrive media=somma/100; si perdono i decimali della media , vediamo perchèperché<br />
 
somma e' un intero, 100 viene considerato un intero la divisione e' una divisione fra interi e allora il programma calcola solo la parte intera del quoziente e poi scrive questo numero nella variabile media . per evitare il problema possiamo scrivere media=somma/100.0; in questo caso somma e' intero ma 100.0 viene pensato come a un float, il programma per svolgere la divisione deve convertire i valori coinvolti nella divisione nello stesso tipo (float float o int int)e preferisce convertire il valore di somma in un float perche'perché non si ha perdita' di precisione questa conversione automatica e' detta cast implicito, ( la conversione da float a int invece produrrebbe una pedita di precisione e quindi non viene mai eseguita automaticamente) dopo questa conversione implicita la divisione e' fra due float e il risultato conserva le cifre decimali. Possiamo obbligare il programma a convertire un tipo di dato in un altro anche se la cosa puo' produrre una perdita di precisione con una operazione di cast esplicito ad esempio scrivendo media=(float)somma/100; il (float)somma converte il valore di somma da usarsi nella divisione in un numero di tipo float , dopo questa conversione esplicita di somma il 100 subisce una conversione inmplicita a float e così la divisione e' fra float e il risultato ha i suoi decimali.
 
Siamo pronti ora a contare quante volte il numero 54 e' stato inserito da tastiera, per contare usiamo una variabile che funge da contatore che viene inizializzata a zero e gestita in modo similare all'accumulatore con la differenza che ora l'eventuale incremento e' solo unitario, si ottiene