Laboratorio: Somma dei Primi N Numeri Interi
Argomenti: laboratorio pratico, variabile accumulatore, variabile contatore, sommatoria, ciclo MENTRE (While Do), validazione input (N > 0), pseudocodice, Flowgorithm
In questo laboratorio realizzeremo l'algoritmo per calcolare la somma dei primi N numeri interi positivi (da 1 a N). Questo esercizio mostra una perfetta sinergia tra la variabile contatore (che scandisce i numeri 1, 2, 3, ..., N) e la variabile accumulatore (che somma via via il valore del contatore al totale parziale).
SPECIFICA DI PROGETTO
Progettare un algoritmo che prenda in Input un valore intero positivo N. L'algoritmo deve:
1. Validare l'Input: Verificare che N > 0. In caso contrario, stampare un messaggio d'errore ed uscire.
2. Inizializzare le Variabili: Impostare il contatore cont = 1 e l'accumulatore somma = 0.
3. Eseguire la Sommatoria: Tramite un ciclo MENTRE con condizione cont ≤ N, aggiungere il valore di cont all'accumulatore (somma = somma + cont) ed incrementare il contatore di 1 (cont = cont + 1).
4. Output: Al termine del ciclo, stampare il risultato finale contenuto nella variabile somma.
1. Tabella delle Variabili e Dominio dei Dati
Memoria: Dichiarazione e Tipi di Dato | I/O: Input, Contatori e Accumulatori
| Nome Variabile | Tipo di Dato | Categoria | Ruolo, Descrizione e Dominio Presupposto |
|---|---|---|---|
N |
Intero | INPUT |
Memorizza il limite massimo della somma inserito dall'utente.
📌 Dominio Valido: N > 0.
|
cont |
Intero | CONTATORE |
Variabile contatore che scansiona i numeri progressivi da 1 fino a N.
📌 Valore Iniziale: 1.
|
somma |
Intero | ACCUMULATORE |
Variabile accumulatore che memorizza il totale progressivo della somma.
📌 Valore Iniziale: 0 (Elemento neutro della somma).
|
2. Gestione Congiunta: Contatore e Accumulatore
Interazione: Come lavorano insieme dentro il ciclo MENTRE
Ruolo del Contatore (cont)
Avanza di 1 unità a ogni giro e fornisce il valore numerico corrente da addizionare.
cont = cont + 1Ruolo dell'Accumulatore (somma)
Riceve ad ogni giro il valore corrente di cont e lo aggiunge al totale accumulato.
3. Algoritmo in Pseudocodice
Implementazione: Validazione N > 0 e ciclo MENTRE con accumulatore
1Inizio
2 Dichiara N, cont, somma: Intero
3
4 Leggi N
5
6 // 1. Validazione dell'input
7 Se (N > 0) Allora
8
9 // 2. Inizializzazioni OBBLIGATORIE
10 cont = 1
11 somma = 0
12
13 // 3. Ciclo MENTRE per calcolare la sommatoria
14 Mentre (cont <= N) Fai
15 somma = somma + cont
16 cont = cont + 1
17 Fine Mentre
18
19 Scrivi "La somma dei primi " & N & " numeri interi e': " & somma
20
21 Altrimenti
22 Scrivi "Errore: Inserire un valore N strettamente maggiore di 0!"
23 Fine Se
24Fine
4. Tavola di Traccia (Caso di Test con N = 4)
Verifica: Calcolo di 1 + 2 + 3 + 4 = 10
| Iterazione | N |
cont |
Test (cont ≤ N) |
Operazione Accumulatoresomma = somma + cont |
Valore somma |
Nuovo cont |
|---|---|---|---|---|---|---|
| Inizio | 4 | 1 | VERO (4 > 0) | Inizializzazioni: cont = 1, somma = 0 |
0 | 1 |
| 1° Giro | 4 | 1 | VERO (1 ≤ 4) | 0 + 1 | 1 | cont → 2 |
| 2° Giro | 4 | 2 | VERO (2 ≤ 4) | 1 + 2 | 3 | cont → 3 |
| 3° Giro | 4 | 3 | VERO (3 ≤ 4) | 3 + 3 | 6 | cont → 4 |
| 4° Giro | 4 | 4 | VERO (4 ≤ 4) | 6 + 4 | 10 | cont → 5 |
| Fine | 4 | 5 | FALSO (5 ≤ 4) | Esce dal ciclo | 10 | Stampa "10" |
Metti in pratica il calcolo delle sommatorie su Flowgorithm:
Quiz di Verifica del Laboratorio
Rispondi alle 3 domande per verificare se hai compreso il calcolo della sommatoria da 1 a N.
In sintesi
Argomenti: concetti principali, riepilogo, competenze
- Validazione preventiva dell'input N (deve essere un intero positivo, N > 0).
- Inizializzazione corretta delle variabili prima del ciclo: contatore cont = 1 e accumulatore somma = 0.
- Accumulo progressivo del valore del contatore dentro l'accumulatore (somma = somma + cont) a ogni iterazione.
- Comprendere la sinergia tra contatore (gestione del ciclo) e accumulatore (somma dei valori).
- Applicare la regola dell'elemento neutro (0) per l'inizializzazione dell'accumulatore di somma.
- Analizzare e verificare l'evoluzione dei dati mediante la Tavola di Traccia.