Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Calcolo dei resti

Si supponga di dover pagare un certo importo in euro (intero, senza centesimi) utilizzando banconote da 50, 20, 10 e 5 euro, e monete da 2 e da 1 euro. Si scriva un programma che determini quante monete e banconote di ciascun tipo bisogna utilizzare se si vuole massimizzare il numero di banconote e monete di taglio maggiore (che equivale ad utilizzarne, complessivamente, il minor numero possibile).

Ad esempio, dato l’importo di 123 euro il programma dovrà stampare:

Importo totale: 123 euro
2 banconote da 50 euro
1 banconote da 20 euro
0 banconote da 10 euro
0 banconote da 5 euro
1 monete da 2 euro
1 monete da 1 euro

Indicazioni per la soluzione

  • scrivi la funzione main (vedi S2.1)
  • dichiara le variabili necessarie a contenere i dati del problema:
    • un valore per l’importo, una variabile per calcolare il numero di banconote/monete (una per ciascun tipo di banconota/moneta), una per contenere il resto “corrente”
    • usa gli identificatori, la cui sintassi è spiegata in S2.8
    • dichiara le variabili come in S2.9
    • attenzione al tipo utilizzato per le variabili: intere o in virgola mobile?
  • scrivi le giuste espressioni per calcolare il numero di banconote/monete (esempi di espressioni: S2.10)
  • stampa il risultato utilizzando la funzione printf (vedi S2.11)

Suggerimenti

  • non dimenticare di includere stdio.h
  • per calcolare il numero di banconote/monete si procede con una serie di divisioni e di calcoli del resto
  • serviranno gli operatori di divisione / (vedi S12.2.1) e di resto della divisione intera % (vedi S12.2.2)

Per il calcolo del numero di banconote/monete si può procedere come segue:

  1. Se si ha un importo X=123 euro, per calcolare il numero di banconote da 50 euro, assegnandone il valore alla variabile b50, bisogna fare la divisione b50 = X/50, il cui risultato è 2 (ATTENZIONE: la divisione deve essere fatta tra numeri interi!)
  2. Di seguito si calcola il resto con resto = X % 50 (il risultato è 23), assegnando il risultato alla variabile resto
  3. Il resto diviene il nuovo importo su cui calcolare il numero di banconote da 20 euro, e così via, riprendendo dal punto (1)

Nella prossima pagina potrai esaminare un esempio di soluzione dell’esercizio.