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

MAC: fattoriale

Precedente
SUPERIORE

Dato un numero naturale 0, 1, 2, ... calcolare il fattoriale: 5!=5*4*3*2*1, in particolare 0!=1.

Algoritmo: ...

Programma:

PROG   RUN       '
       INP N     '
SU     LDA RISP  '
       MUL N     ' RISP <-- RISP*N
       STA RISP  '
       LDA N     '
       SUB #1    ' N <-- N-1
       STA N     '
       JGT SU    ' SE(N > 0): PC <-- SU
       OUT RISP  '
       ALT       '
N      DAT 0     '
RISP   DAT 1     ' N*...3*2*1
       END       '

Se N > 7 la risposta sarà errata perché ...

Prima di calcolare il fattoriale controlla che N sia compreso tra 0 e 7.

PROG   RUN       '
       INP N     '
       LDA N     '
       JLE FINE  ' SE(N <= 0)...
       SUB #7    '
       JGT FINE  ' SE(N > 7)...
SU     LDA RISP  '
       MUL N     ' RISP <-- RISP*N
       STA RISP  '
       LDA N     '
       SUB #1    ' N <-- N-1
       STA N     '
       JGT SU    ' SE(N > 0) PC<--SU
FINE   OUT RISP  '
       ALT       '
N      DAT 0     '
RISP   DAT 1     ' N*...3*2*1
       END       '

MAC: fattoriale - ApPuNtIdIuNiNfOrMaTiCo

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

Precedente
SUPERIORE