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

MAC: Numero radici

Precedente
SUPERIORE
Successiva

Problema: Determinare il numero di radici reali (diverse) di un'equazione di 2° grado con coefficienti a, b e c.

Discussione: Si calcola il discriminante (b2-4ac) e poi se (Δ > 0) ..., se (Δ = 0) ... altrimenti (Δ < 0) ...

Programma:

PROG   RUN       '
       INP a     '
       INP b     '
       INP c     '
       LDA #4    ' ...
       MUL a     ' ...
       MUL c     ' ...
       STA a     ' a <-- 4ac
       LDA b     ' ...
       MUL b     ' ...
       SUB a     ' ACC <-- b2-4ac
       JGT DUE   ' SE(Δ > 0): ...
       JEQ UNA   ' SE(Δ = 0): ...
       JMP NESS  ' SE(Δ < 0): ...
DUE    LDA #2    '
       STA a     '
       JMP RISP  '
UNA    LDA #1    '
       STA a     '
       JMP RISP  '
NESS   LDA #0    '
       STA a     '
RISP   OUT a     '
       ALT       '
a      DAT       '
b      DAT       '
c      DAT       '
       END       '

La variabile a è utilizzata per l'input, come appoggio per i calcoli e per l'output...

Risparmiare qualcosa?

PROG   RUN       '
       INP a     '
       INP b     '
       INP c     '
       LDA #4    ' 
       MUL a     ' 
       MUL c     ' 
       STA a     ' a <-- 4ac
       LDA b     ' 
       MUL b     ' 
       SUB a     ' ACC <-- b2-4ac
       JGT DUE   ' SE(Δ > 0): ...
       JEQ UNA   ' SE(Δ = 0): ...
       LDA #0    '
       JMP RISP  ' SE(Δ < 0): ...
DUE    LDA #2    '
       JMP RISP  '
UNA    LDA #1    '
RISP   STA a     '
       OUT a     '
       ALT       '
a      DAT       '
b      DAT       '
c      DAT       '
       END       '

MAC: Numero radici - ApPuNtIdIuNiNfOrMaTiCo

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

Precedente
SUPERIORE
Successiva