Esta certo o exemplo de Fibonacci?
No PDF está assim:
51 0 27 0 42 18 10 2 3 1 30 2 3 30 1 2 50 1 53 0 40 -18 -1 1000 1 1 2 1 -1
Não seria assim?
51 0 27 0 41 18 10 2 3 1 30 2 3 30 1 2 50 1 53 0 40 -18 -1 1000 1 1 2 1 -1
27 compara reg[0] com 0, se falso armazena 0 em E.
42 faz o desvio se E é verdadeiro, ou seja, para N > 0.
41 faria o desvio certo, quando N = 0.
Com essa mudança deu certo.
Tem como disponibilizar outros exemplos?
Abraços.
Eu concordo com vc. Também acho que deve trocar o 42 por 41.
Mas seu programa deu certo com a sequencia:
51 0 27 0 41 18 10 2 3 1 30 2 3 30 1 2 50 1 53 0 40 -18 -1 1000 1 1 2 1 -1 ???
Ao utilizar esta sequencia ele imprimiu no meu programa: 1 2 3 5 8...
Foi isso que imprimiu no seu?
Porque deveria ser 1 1 2 3 5...
Agora eu nao sei se meu programa está errado ou se é a sequencia...
Por favor, vc pode me dizer se que foi q seu prog. imprimiu?
vlw
O meu imprimiu exatamente isto.
Acredito que seja a sequencia mesmo.
Ja que não temos mais exemplos, pq cada um não faz um e posta por aqui?
Vou fazer um para gerar N numeros primos.
Abraços.
Acredito que seja a sequencia mesmo.
Ja que não temos mais exemplos, pq cada um não faz um e posta por aqui?
Vou fazer um para gerar N numeros primos.
Abraços.
Olá Pessoal,
Ver este programa como uma sequencia de números não ajuda em nada.
É melhor enxergar o programa da seguinte forma:
00: 51 0 Lê entrada em reg[0]
02: 27 0 Compara o reg[0] com zero
04: 42 18 Desvia se E = 0
06: 10 2 3 1 Soma reg[2] e reg[3] em reg[1]
10: 30 2 3 copia reg[2] em reg[3]
13: 30 1 2 copia reg[1] em reg[2]
16: 50 1 imprime reg[1]
18: 53 0 reg[0]--
20: 40 -18 Pula 18 a menos (isto é 20-18= 2)
22: -1 Final do programa
Vendo este programa, sabemos que ele deve parar quando reg[0] for
igual a zero, ou seja ao invés de Desvia se E= 0 deveríamos ter Desvia se
se E !=0. Logo
04: 41 18
O programa não imprime o primeiro 1, mas isto é bem fácil de corrigir.
Sugiro que vocês postem programas na lista.
Alfredo
Ver este programa como uma sequencia de números não ajuda em nada.
É melhor enxergar o programa da seguinte forma:
00: 51 0 Lê entrada em reg[0]
02: 27 0 Compara o reg[0] com zero
04: 42 18 Desvia se E = 0
06: 10 2 3 1 Soma reg[2] e reg[3] em reg[1]
10: 30 2 3 copia reg[2] em reg[3]
13: 30 1 2 copia reg[1] em reg[2]
16: 50 1 imprime reg[1]
18: 53 0 reg[0]--
20: 40 -18 Pula 18 a menos (isto é 20-18= 2)
22: -1 Final do programa
Vendo este programa, sabemos que ele deve parar quando reg[0] for
igual a zero, ou seja ao invés de Desvia se E= 0 deveríamos ter Desvia se
se E !=0. Logo
04: 41 18
O programa não imprime o primeiro 1, mas isto é bem fácil de corrigir.
Sugiro que vocês postem programas na lista.
Alfredo