CODING โ Esercizio 7
๐ Testo
Esercizio 7: Somma dei divisibili per 3 maggiore del prodotto dei pari
Scrivi un programma in Python che riceva in input una sequenza di numeri interi.
Il programma deve tenere traccia di due grandezze distinte:
- La somma dei soli numeri inseriti che sono divisibili per 3.
- Il prodotto di tutti i numeri pari inseriti.
L'acquisizione dei numeri deve interrompersi non appena la somma dei numeri divisibili per 3 diventa strettamente maggiore del prodotto dei numeri pari.
Nota sull'inizializzazione del prodotto: il prodotto dei numeri pari deve essere inizializzato a 1 per consentire la moltiplicazione. Se non รจ ancora stato inserito alcun numero pari, si consideri il prodotto pari a 1.
Al termine, stampa la somma dei divisibili per 3, il prodotto dei pari e il numero totale di elementi inseriti.
Esempio di esecuzione:
Inserisci un numero: 9 (divisibile per 3. Somma div3 = 9. Prodotto pari = 1)
Inserisci un numero: 4 (pari. Somma div3 = 9. Prodotto pari = 4)
Inserisci un numero: 6 (pari e div3. Somma div3 = 9 + 6 = 15. Prodotto pari = 4 * 6 = 24)
Inserisci un numero: 12 (pari e div3. Somma div3 = 15 + 12 = 27. Prodotto pari = 24 * 12 = 288)
Inserisci un numero: 271 (non influisce. Somma div3 = 27. Prodotto pari = 288)
Inserisci un numero: 300 (divisibile per 3. Somma div3 = 27 + 300 = 327. Prodotto pari = 288)
Lettura interrotta! La somma dei divisibili per 3 (327) ha superato il prodotto dei pari (288).
Analisi: Questo รจ un esercizio avanzato sui cicli condizionali che richiede la gestione di due accumulatori indipendenti con logiche di aggiornamento diverse (somma per i divisibili per 3, moltiplicazione per i pari).
### Suggerimenti per il tutor:
- Spiegare che un numero puรฒ soddisfare entrambe le condizioni contemporaneamente (es. il numero 6 รจ sia pari che divisibile per 3), nel qual caso deve essere aggiunto alla somma E moltiplicato nel prodotto.
- Sottolineare che la variabile del prodotto deve essere inizializzata a 1, poichรฉ inizializzandola a 0 qualsiasi moltiplicazione darebbe sempre 0.
- La condizione di arresto รจ `somma_tre > prodotto_pari`.
### Errori comuni:
1. Inizializzare il prodotto a 0.
2. Non gestire correttamente i numeri che soddisfano entrambi i criteri (es. usando un `elif` invece di due `if` separati).
3. Calcolare erroneamente l'arresto prima di avviare il ciclo o prima di aver aggiornato i valori correnti.