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