adminv15
Ominide
2 min. di lettura
Vota

Concetti Chiave

  • Il programma è progettato per aiutare gli studenti delle scuole elementari a praticare la moltiplicazione.
  • Utilizza la funzione rand per generare due numeri interi positivi di una sola cifra e chiede allo studente di calcolarne il prodotto.
  • Se la risposta dello studente è corretta, il programma visualizza "Very good!" e genera una nuova domanda.
  • In caso di risposta errata, il programma incoraggia lo studente a riprovare la stessa domanda fino a ottenere la risposta corretta.
  • Il programma chiede all'utente se desidera continuare a giocare o terminare dopo ogni risposta.

 /*  * I computer giocano un ruolo sempre più importante nell'educazione.  * Scrivete un programma che aiuti uno studente di scuola elementare  * ad apprendere la moltiplicazione.  * Utilizzate rand per produrre due interi positivi di una cifra.  * Dovrete quindi visualizzare una domanda come:  *  *	How much is 6 times 7?  *  * In seguito lo studente digiterà  la risposta. Il vostro programma  * controllerà  la risposta dello studente. Qualora sia corretta,  * visualizzerete "Very good!" e sottoponete quindi un'altra domanda  * sulla moltiplicazione. 
Nel caso che la risposta sia sbagliata, * visualizzate "No, Please try again." e lasciate quindi che lo * studente provi ancora ripetutamente la stessa domanda, finché * alla fine non avrà  risposto correttamente. * */ #include #include #include void printResult(const unsigned int); unsigned int askAgain(void); unsigned int askTimes(void); int main(void) { unsigned int play, times ,answer, result; play = 1; /* giochiamo... */ do { times = askTimes(); /* leggi risposta */ scanf("%u", &answer); result = (times == answer)? 1 : 0; printResult(result); play = askAgain(); } while (play == 1); return (0); } /* * Genera due numeri naturali tra 0 e 9 a caso e restituisce il prodotto * */ unsigned int askTimes(void) { unsigned int n1, n2; srandom(time(NULL)); n1 = random() % 10; n2 = random() % 10; printf("How much is %u * %u?
", n1, n2); return n1*n2; } /* * Stampa un messaggio di risposta corretta/sbagliata * in base al valore 0/1 dell'argomento * */ void printResult(const unsigned int r) { if (0 == r) printf("
No, Please try again.
"); else printf("
Very good!
"); } /* * Chiede all'utente se vuole continuare o meno. * Restituisce 1 in caso affermativo, 0 altrimenti * */ unsigned int askAgain(void) { char a; printf("
Continue? y/n
"); scanf("%c", &a); while (a == '
') scanf("%c", &a); if (a == 'y' || a == 'Y') return 1; else return 0; }

Domande da interrogazione

  1. Qual è lo scopo principale del programma descritto nel testo?
  2. Il programma è progettato per aiutare uno studente di scuola elementare ad apprendere la moltiplicazione, generando domande casuali e verificando le risposte.

  3. Come il programma gestisce le risposte sbagliate dello studente?
  4. Se lo studente risponde in modo errato, il programma visualizza "No, Please try again." e permette allo studente di riprovare fino a quando non fornisce la risposta corretta.

  5. Cosa succede quando lo studente risponde correttamente a una domanda?
  6. Quando lo studente risponde correttamente, il programma visualizza "Very good!" e propone un'altra domanda di moltiplicazione.

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community