Home • ECDL • Algoritmi • Java • Basi di dati • Seconda prova • Eccetera • Cerca nel sito

MAC: media

Precedente
SUPERIORE
Successiva

Problema: calcolare la media dei numeri inseriti da tastiera. Per terminare la fase d'inserimento inseriamo 0 (zero).

Esempi: ...

Diagramma di flusso: ...

Programma:

PROG   RUN       '
                 '
SU     INP X     '
       LDA X     '
       JEQ FINE  ' SE(X = 0) PC <-- FINE
       ADD SOMMA '
       STA SOMMA ' SOMMA <-- SOMMA+X
                 '
       LDA CONT  '
       ADD #1    ' CONT <-- CONT+1
       STA CONT  '
                 '
       JMP SU    '
                 '
FINE   LDA SOMMA '
       DIV CONT  ' SOMMA <-- SOMMA/CONT
       STA SOMMA '
       OUT SOMMA '
       ALT       '
X      DAT 0     '
CONT   DAT 0     '
SOMMA  DAT 0     '
       END       '

Se il primo valore inserito è 0 allora ci sarà una divisione per zero! Aggiungiamo un controllo prima di dividere...

PROG   RUN       '
SU     INP X     '
       LDA X     '
       JEQ FINE? ' SE(X = 0) PC <-- FINE?
       ADD SOMMA '
       STA SOMMA ' SOMMA <-- SOMMA+X
       LDA CONT  '
       ADD #1    ' CONT <-- CONT+1
       STA CONT  '
       JMP SU    '
                 '
FINE?  LDA CONT  '
       JEQ FINE  ' SE(CONT = 0) PC <-- FINE
                 '
       LDA SOMMA '
       DIV CONT  ' SOMMA <-- SOMMA/CONT
       STA SOMMA '
FINE   OUT SOMMA '
       ALT       '
X      DAT 0     '
CONT   DAT 0     '
SOMMA  DAT 0     '
       END       '

MAC: media - ApPuNtIdIuNiNfOrMaTiCo

Home • ECDL • Algoritmi • Java • Basi di dati • Seconda prova • Eccetera • Cerca nel sito

Precedente
SUPERIORE
Successiva