Fondamenti Di Programmazione

LAB Somma N Numeri

Laboratorio pratico di programmazione: algoritmo per calcolare la somma dei primi N numeri interi positivi prendendo N in input, con validazione (N > 0), variabile contatore, variabile accumulatore e ciclo MENTRE (While Do).

Durata

20 minuti

Software

Flowgorithm / Pseudocodice

Linguaggio

Diagrammi di Flusso

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 + 1

Ruolo dell'Accumulatore (somma)

Riceve ad ogni giro il valore corrente di cont e lo aggiunge al totale accumulato.

somma = somma + cont

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 Accumulatore
somma = 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 cont2
2° Giro 4 2 VERO (2 ≤ 4) 1 + 2 3 cont3
3° Giro 4 3 VERO (3 ≤ 4) 3 + 3 6 cont4
4° Giro 4 4 VERO (4 ≤ 4) 6 + 4 10 cont5
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.

1. Se l'utente inserisce N = 3, qual è il risultato finale stampato in somma?

2. Perché l'accumulatore somma viene inizializzato a 0 anziché a 1 prima del ciclo?

3. In quale istruzione l'accumulatore e il contatore lavorano direttamente insieme?


In sintesi

Argomenti: concetti principali, riepilogo, competenze

  1. Validazione preventiva dell'input N (deve essere un intero positivo, N > 0).
  2. Inizializzazione corretta delle variabili prima del ciclo: contatore cont = 1 e accumulatore somma = 0.
  3. Accumulo progressivo del valore del contatore dentro l'accumulatore (somma = somma + cont) a ogni iterazione.

Cosa hai imparato
  1. Comprendere la sinergia tra contatore (gestione del ciclo) e accumulatore (somma dei valori).
  2. Applicare la regola dell'elemento neutro (0) per l'inizializzazione dell'accumulatore di somma.
  3. Analizzare e verificare l'evoluzione dei dati mediante la Tavola di Traccia.


Laboratorio, Esercitazione, Sommatoria, Accumulatore, Contatore, Ciclo Mentre, While Do, Validazione Input, Flowgorithm, Pseudocodice,