Este programa calcula o fatorial de um numero inteiro n:
n! = 1 * 2 * 3 * ... * (n-1) * n.
|
Endereço |
Instrução |
Comentário |
Instrução |
|
00 |
LER 30 |
Pede o índice do termo a calcular |
3130 |
|
01 |
CEA 33 |
Carrega acumulador |
1133 |
|
02 |
ADE |
|
6100 |
|
03 |
ADE |
|
6100 |
|
04 |
ADE |
|
6100 |
|
05 |
ADE |
|
6100 |
|
06 |
SOM 32 |
|
2132 |
|
07 |
MUL 31 |
Calcula f(i) |
2331 |
|
08 |
CAE 32 |
Armazena f(i) |
1232 |
|
09 |
ADD |
|
6200 |
|
10 |
ADD |
|
6200 |
|
11 |
ADD |
|
6200 |
|
12 |
ADD |
|
6200 |
|
13 |
CAE 33 |
|
1233 |
|
14 |
CEA 31 |
i <- i+1 |
1131 |
|
15 |
SOM 34 |
|
2134 |
|
16 |
CAE 31 |
|
1231 |
|
17 |
SUB 30 |
|
2230 |
|
18 |
DNZ 1 |
salta se i<=n |
5301 |
|
19 |
IMP 33 |
|
4132 |
|
20 |
IMP 32 |
|
4133 |
|
21 |
PAR |
|
7000 |
|
30 |
|
n |
0 |
|
31 |
|
i |
1 |
|
32 |
|
f(n) - lo |
1 |
|
33 |
|
f(n) - hi |
0 |
|
34 |
|
1 |
1 |
|
End. |
Rótulo |
Assembly |
Fluxograma |
|
|
|
|
|
#include <stdio.h
void main ()
{
int n, f, i;
printf("Digite o numero desejado: ");
scanf("%d", &n);
f = 1;
i = 1;
do {
f = f*i;
i = i + 1;
} while(i <= n);
printf("\nFatorial de %d = %d\n", n,f);
}