Desenvolva um programa em Simpletron Machine Language, que apresente a média dos termos da série de Fibonacci. A série de Fibonacci é formada pela sequência 1, 1, 2, 3, 5, 8, 13, 21, 34, .... A série de Fibonacci é de grande importância matemática, e a lei básica é que a partir do terceiro termo, todos os termos são a soma dos dois últimos termos. O número de termos será fornecido pelo usuário, devendo ser um valor inteiro e positivo. Por exemplo, caso o número de termos fornecido pelo usuário seja 7, o programa deverá apresentar como resposta o valor 4, ou seja, (1 + 1 + 2 + 3 + 5 + 8 + 13) / 7. Caso o usuário forneça um valor inválido para o número de termos, o programa deverá apresentar como resposta o valor -1.
| Posição | Palavra | Instrução |
|---|---|---|
| 00 | +1027 | read N |
| 01 | +2027 | load N |
| 02 | +4117 | branch negative to 17 |
| 03 | +4217 | branch zero to 17 |
| 04 | +2128 | store I |
| 05 | +2025 | load A |
| 06 | +3029 | add S |
| 07 | +2129 | store S |
| 08 | +2025 | load A |
| 09 | +3026 | add B |
| 10 | +2125 | store A |
| 11 | +3126 | subtract B |
| 12 | +2126 | store B |
| 13 | +2028 | load I |
| 14 | +3024 | add -1 |
| 15 | +4219 | branch zero to 19 |
| 16 | +4004 | branch to 04 |
| 17 | +1124 | write -1 |
| 18 | +4300 | halt |
| 19 | +2029 | load S |
| 20 | +3227 | divide N |
| 21 | +2130 | store M |
| 22 | +1130 | write M |
| 23 | +4300 | halt |
| 24 | -0001 | constant -1 |
| 25 | +0001 | variable A |
| 26 | +0000 | variable B |
| 27 | +0000 | variable N |
| 28 | +0000 | variable I |
| 29 | +0000 | variable S |
| 30 | +0000 | variable M |
Welcome to Simpletron!