Nel programma della divisione ci sono un paio di errori, credo. Riscriviamone la funzione, spiegandola (a parte che se chiunque abbia dato questo esercizio è un sadico:) ). Partiamo da un fatto: 10:2=5
Come alle elementari dicono che la moltiplicazione è un insieme di somme la divisione sarà un insieme di sottrazioni, fino a che esse sono possibili, vediamola come tale.
10, 2. 10>=2? Si, faccio 1 sottrazione e me la segno (risultato++)10-2=8, 2
8,2, 8>=2? Si, faccio una sottrazione e me la segno (risultato ++) 8-2=6, 2
...4,2
...2,2
2>=2? Si, faccio una sottrazione e me la segno (risultato ++) 2-2=0, 2
0,2. 0>=2? NO, quindi NON faccio la sottrazione e ho finito, ritorno al livello precedente e, sommando tutti i "e me lo segno" ottengo il risultato
Come vedi ho ottenuto il risultato, segno in 2,2+4,2+6,2+8,2+10,2=5 segno=5
E se fosse stato 11? È questo l'errore nella funzione, centra con il primo if di uscita
--- i due messaggi sono stati uniti ---
Ok, scusa