La Variabile Accumulatore in Programmazione
Argomenti: variabile accumulatore, sommatoria, totali progressivi, contatore vs accumulatore, elemento neutro (zero), cicli MENTRE, pseudocodice
A cosa serve la Variabile Accumulatore?
La variabile accumulatore serve a calcolare la somma totale o il totale progressivo di una serie di valori (uguali o diversi tra loro) letti o elaborati durante l'esecuzione di un ciclo.
Mentre la variabile contatore ci dice "quante volte" abbiamo eseguito un'azione, la variabile accumulatore funziona come un vero e proprio salva-denaro o registratore di cassa: prende ogni valore in arrivo e lo aggiunge al totale parziale memorizzato in precedenza.
1. Differenza Fondamentale: Contatore vs Accumulatore
Confronto: Valore fisso (+1) contro valore variabile (+X)
Uno degli errori più comuni per chi inizia a programmare è confondere queste due tipologie di variabili. Ecco un confronto chiaro tra la loro struttura e il loro ruolo:
Variabile CONTATORE
Aumenta sempre di una **quantità fissa e costante** (di norma $+1$).
cont = cont + 1
- Scopo: Conta il numero di iterazioni o di eventi.
- Esempio reale: Il tornello dello stadio che conta i tifosi entrati (1, 2, 3, 4...).
Variabile ACCUMULATORE
Addiziona una **quantità variabile** ad ogni passaggio (es. l'input dell'utente).
somma = somma + valore
- Scopo: Calcola il totale o la sommatoria finale dei dati.
- Esempio reale: Il totale dello scontrino del supermercato (5€ + 12€ + 2€...).
2. Regola d'Oro: Inizializzazione dell'Accumulatore
Elemento Neutro: Perché impostare la somma a 0 prima di iniziare
Per la somma, l'Accumulatore va SEMPRE INIZIALIZZATO A 0!
Prima di fare qualsiasi accumulo dentro un ciclo, la variabile accumulatore deve essere impostata a 0 (somma = 0).
Il valore $0$ è infatti l'elemento neutro dell'addizione: addizionare un numero a $0$ lascia inalterato quel numero. Se dimenticassi di inizializzarla, la variabile conterrebbe un valore casuale (spazzatura in RAM) falsando completamente l'esito del totale!
Nomi Comuni per l'Accumulatore
A seconda del problema, per l'accumulatore si scelgono nomi chiari ed espressivi:
somma / sommatoria
Uso: Calcolo della somma di numeri o valori matematici inseriti dall'utente.
totale / saldo
Uso: Calcoli finanziari o gestionali (totale scontrino, totale spese, saldo conto).
punteggio / punti
Uso: Accumulo di punti nei giochi o nei sistemi di valutazione a quiz.
3. Esempio Pratico: Somma di N Numeri Inseriti dall'Utente
Implementazione: Pseudocodice con Contatore ed Accumulatore | Tracciamento: Tavola di Traccia
Vogliamo leggere dall'utente un numero $ e successivamente chiedere all'utente di inserire $ numeri uno per volta, calcolandone la somma finale.
1Inizio
2 Dichiara N, cont, num, somma: Intero
3
4 Leggi N
5
6 // Inizializzazioni OBBLIGATORIE
7 cont = 1 // Contatore per i giri
8 somma = 0 // Accumulatore inizializzato a 0
9
10 Mentre (cont <= N) Fai
11 Leggi num
12
13 // ACCUMULO: aggiunge num a somma
14 somma = somma + num
15
16 // CONTEGGIO: avanza di 1 giro
17 cont = cont + 1
18 Fine Mentre
19
20 Scrivi "La somma totale e': " & somma
21Fine
| Iterazione | cont |
Input num |
Calcolo Accumulatoresomma = somma + num |
Valore somma |
|---|---|---|---|---|
| Inizio | 1 | - | Inizializzazioni: cont = 1, somma = 0 |
0 |
| 1° Giro | 1 | 10 | 0 + 10 | 10 |
| 2° Giro | 2 | 5 | 10 + 5 | 15 |
| 3° Giro | 3 | 8 | 15 + 8 | 23 |
| Fine | 4 | - | Esce dal ciclo (4 ≤ 3 è FALSO) | 23 (Stampa "23") |
Per esercitarti sull'uso delle variabili accumulatore e dei cicli su Flowgorithm, consulta la guida:
Quiz di Verifica: La Variabile Accumulatore
Rispondi alle 5 domande per verificare se hai compreso il funzionamento e il ruolo della variabile accumulatore.
In sintesi
Argomenti: concetti principali, riepilogo, competenze
- La variabile accumulatore serve a sommare e accumulare valori variabili ad ogni iterazione di un ciclo.
- Differenza fondamentale: il contatore incrementa di un valore fisso (+1), l'accumulatore addiziona quantità sempre diverse (es. somma = somma + valore).
- Inizializzazione obbligatoria prima del ciclo: per le somme l'accumulatore va impostato all'elemento neutro dell'addizione (somma = 0).
- Comprendere a cosa serve la Variabile Accumulatore: calcolare totali, somme e saldi progressivi.
- Distinguere nettamente l'Accumulatore (`somma = somma + X`) dal Contatore (`cont = cont + 1`).
- Inizializzare l'accumulatore prima del ciclo per evitare errori da memoria spazzatura.
- Rappresentare algoritmi di sommatoria in Pseudocodice e analizzarli con la Tavola di Traccia.