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

MAC: b^2-4ac

Precedente
SUPERIORE
Successiva

Calcolare il valore dell'espressione b2-4ac. L'espressione diventa b*b-4*a*c...

PROG   RUN       '
       INP a     ' Input
       INP b     '
       INP c     '
                 '
       LDA b     ' Calcola bb <-- b*b
       MUL b     '
       STA bb    '
                 '
       LDA QUATTR' Calcola 4ac <-- 4*a*c
       MUL a     '
       MUL c     '
       STA 4ac   '
                 '
       LDA bb    ' Calcola RISP <-- b*b-4*a*c
       SUB 4ac   '
       STA RISP  '
                 '
       OUT RISP  ' Output
       ALT       '
a      DAT 0     ' Dati
b      DAT 0     '
c      DAT 0     '
bb     DAT 0     '
4ac    DAT 0     '
QUATTR DAT 4     '
RISP   DAT 0     '
       END       '

Conviene prima calcolare X <-- 4*a*c e poi usarlo per calcolare b*b-X; inoltre utilizziamo LDA #4 per semplificare il calcolo dell'espressione.

PROG   RUN       '
       INP a     '
       INP b     '
       INP c     '
                 '
       LDA #4    '
       MUL a     '
       MUL c     '
       STA X     ' X <-- 4*a*c
                 '
       LDA b     '
       MUL b     '
       SUB X     '
       STA X     ' X <-- b*b-X
                 '
       OUT X     '
       ALT       '
a      DAT 0     '
b      DAT 0     '
c      DAT 0     '
X      DAT 0     '
       END       '

Anche X puņ essere considerata superflua...

PROG   RUN       '
       INP a     '
       INP b     '
       INP c     '
                 '
       LDA #4    ' a <-- 4*a*c
       MUL a     '
       MUL c     '
       STA a     '
                 '
       LDA b     ' a <-- b*b-a
       MUL b     '
       SUB a     '
       STA a     '
                 '
       OUT a     '
       ALT       '
a      DAT 0     '
b      DAT 0     '
c      DAT 0     '
       END       '

Ancora?

MAC: b^2-4ac - ApPuNtIdIuNiNfOrMaTiCo

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

Precedente
SUPERIORE
Successiva