Concetti Chiave
- Il programma simula il lancio di una monetina per 100 volte, mostrando il risultato "Heads" o "Tails" per ogni lancio.
- Utilizza una funzione chiamata flip per generare casualmente il risultato, restituendo 0 per croce e 1 per testa.
- Implementa la funzione srand per inizializzare il generatore di numeri casuali, garantendo risultati variabili ad ogni esecuzione.
- Conta e visualizza il totale delle occorrenze di ciascun lato della monetina al termine dei lanci.
- Il programma prevede che i risultati siano equamente distribuiti, con un'aspettativa di circa 50 teste e 50 croci su 100 lanci.
/* * Scrivete un programma che simuli il lancio di una monetina. * Per ogni lancio della monetina il programma dovrà visualizzare * Heads o Tails. Lasciate che il programma lanci la monetina per * 100 volte e contate il numero di occorrenze per la comparsa di * ogni faccia della monetina. Visualizzate i risultati.Funzione flip e risultati
* Il programma dovrà richiamare una funzione flip, che non riceverà * argomenti e che restituirà 0 per croce e 1 per testa. * Nota: qualora il programma simuli realisticamente il lancio di * una monetina, allora ogni faccia della stessa dovrà apparire * approssimativamente la metà delle volte, per un totale approssimativo * di 50 teste e 50 croci. * */ #include stdio.h> #include stdlib.h> #include time.h> #define TESTA 1 #define CROCE 0 #define LANCI 1000 unsigned int flip(void); int main(void) { int totTesta, totCroce; int i, result; totTesta = totCroce = 0; srand(time(NULL)); for (i = 0; i printf("Tails
"); totCroce++; } else { printf("Heads
"); totTesta++; } } printf("Totale croce: %d, Totale testa: %d
", totCroce, totTesta); return 0; } unsigned int flip(void) { return (rand() % 2); }
Domande da interrogazione
- Come funziona la funzione di lancio della monetina nel programma?
- Quante volte viene lanciata la monetina nel programma?
- Qual è l'output atteso del programma riguardo ai risultati dei lanci?
La funzione `flip` simula il lancio di una monetina restituendo 0 per croce e 1 per testa, utilizzando la funzione `rand()` per generare un numero casuale tra 0 e 1.
Il programma lancia la monetina per un totale di 100 volte, contando le occorrenze di ciascun risultato, testa o croce.
L'output atteso mostra il numero totale di teste e croci, con un risultato approssimativo di 50 teste e 50 croci, riflettendo una simulazione realistica del lancio di una monetina.