Fondamenti Di Programmazione

La Variabile Accumulatore

Guida approfondita alla Variabile Accumulatore in programmazione: definizione, differenze con il contatore, regola dell'inizializzazione a zero, somme e totali parziali nei cicli MENTRE, pseudocodice e tabelle di traccia.

Durata

15 minuti

Software

Flowgorithm / Pseudocodice

Linguaggio

Diagrammi di Flusso

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.

Pseudocodice:
 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
Traccia dell'Esecuzione (con N = 3 e numeri 10, 5, 8):
Iterazione cont Input num Calcolo Accumulatore
somma = 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.

1. Qual è lo scopo principale di una variabile accumulatore?

2. Qual è la differenza principale tra cont = cont + 1 e somma = somma + x?

3. A quale valore va inizializzata la variabile accumulatore per effettuare una sommatoria prima di entrare nel ciclo?

4. Nell'esempio dello pseudocodice, se somma = 15 e l'utente inserisce num = 8, quale sarà il nuovo valore di somma?

5. In un algoritmo di cassa automatica che calcola il totale dello scontrino, quale nome è più adatto per l'accumulatore?


In sintesi

Argomenti: concetti principali, riepilogo, competenze

  1. La variabile accumulatore serve a sommare e accumulare valori variabili ad ogni iterazione di un ciclo.
  2. Differenza fondamentale: il contatore incrementa di un valore fisso (+1), l'accumulatore addiziona quantità sempre diverse (es. somma = somma + valore).
  3. Inizializzazione obbligatoria prima del ciclo: per le somme l'accumulatore va impostato all'elemento neutro dell'addizione (somma = 0).

Cosa hai imparato
  1. Comprendere a cosa serve la Variabile Accumulatore: calcolare totali, somme e saldi progressivi.
  2. Distinguere nettamente l'Accumulatore (`somma = somma + X`) dal Contatore (`cont = cont + 1`).
  3. Inizializzare l'accumulatore prima del ciclo per evitare errori da memoria spazzatura.
  4. Rappresentare algoritmi di sommatoria in Pseudocodice e analizzarli con la Tavola di Traccia.


Accumulatore, Sommatoria, Variabili, Contatore vs Accumulatore, Inizializzazione, Ciclo Mentre, While Do, Flowgorithm, Pseudocodice,