Problema :
Sommare 3 numeri
Redifinizione del testo :
Calcolare la somma di tre numeri non superiori a 255 letti dall’esterno
Realtà del Problema :
Problema di Matematica – Algebra Elementare
Modello della Realtà
5
Somma

Dato1
8
+
Dato2
10
+
Dato3
23
Formalizzazione
Si utilizza la formula per il calcolo unico dell somma
Somma  Dato1 + Dato2 + Dato3
Input Interni :
Costanti
EN = 0
Zero = 0
 elemento neutro della somma
 Valore nullo per inizializzazione
Input Esterni :
Variabili
Dato1
Dato2
Dato3
 di tipo Byte (minore di 255)
 di tipo Byte (minore di 255)
 di tipo Byte (minore di 255)
Output Intermedi
Nessuno si usa la formula diretta
Output Esterni
Variabile
Somma
 di tipo intero
( perché la somma di 3 valori grandi al massimo 255 può arrivare a 765
Metodo Discorsivo :
Dopo aver inizializzato le variabili, si effettuano 3 letture dall’esterno per i dati Dato1, Dato2, Dato3 senza
controllo.A questo punto si applica la Formula della Somma Unica e si visualizza il risultato.
Warnier
Flow - Chart
Inizio
Dato1  0
Inizializza 
Dato2  0
Dato3  0
Problema :
Dato1  0
S 0

Somma di 3
numeri letti
dall’esterno
Dato2  0
Leggi (Dato1)
Input

Leggi (Dato2)
Dato3  0
Leggi (Dato3)
S  0
Elabora

S  Dato1 + Dato2 + Dato3
Leggi (Dato1)
Output

Scrivi (S)
Leggi (Dato2)
Leggi (Dato3)
S  Dato1 + Dato2 + Dato3
Scrivi ( S )
Fine
Programma in Pascal
Programma in Visual Basic
Program Somma3 (Input,Output);
Uses crt,mat;
Const
EN=0 ;
Zero=0 ;
Var
Dato1 : Byte ;
Dato2 : Byte ;
Dato3 : Byte ;
Somma : Integer ;
Begin
Dato1 = Zero ;
Dato2 = Zero ;
Dato3 = Zero ;
Somma = EN ;
Write(‘ Dammi il 1° Valore’) ;
Readln (Dato1);
Write(‘ Dammi il 2° Valore’) ;
Readln (Dato2);
Write(‘ Dammi il 3° Valore’) ;
Readln (Dato3);
Somma := dato1 + Dato2 + Dato3;
writeln(‘La somma dei 3 valori vale : ‘,
Somma : 5);
end.
Const EN = 0
Const Zero = 0
Dim Dato1 As Byte
Dim Dato2 As Byte
Dim Dato3 As Byte
Dim Somma As Integer
Sub Somma3()
Dato1 = Zero
Dato2 = Zero
Dato3 = Zero
Somma = EN
Dato1 = InputBox(" Dammi il 1°
Valore", , 5)
Dato2 = InputBox(" Dammi il 2°
Valore", , 8)
Dato3 = InputBox(" Dammi il 3°
Valore", , 10)
Somma = Dato1 + Dato2 + Dato3
MsgBox ("La somma dei 3 valori vale "
& Somma)
End Sub