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.7
    • 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.11)
  • stampa il risultato utilizzando la funzione printf (vedi S2.12)

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 S11.2.1) e di resto della divisione intera % (vedi S11.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.