Desenvolva um programa em Simpletron Machine Language, que apresente os n primeiros termos da sequência yk+1 = yk + (3 * k2 + 3 * k + 1), sendo k = 1, 2, 3, ..., n e y1 = 1. 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 5, o programa deverá apresentar como resposta a sequência de valores 1 8 27 64 125. 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.
y1 = 1| Posição | Palavra | Instrução |
|---|---|---|
| 00 | +1024 | read N |
| 01 | +2024 | load N |
| 02 | +4119 | branch negative to 19 |
| 03 | +4219 | branch zero to 19 |
| 04 | +2023 | load 3 |
| 05 | +3326 | multiply K |
| 06 | +2125 | store A |
| 07 | +3326 | multiply K |
| 08 | +3025 | add A |
| 09 | +3022 | add 1 |
| 10 | +3027 | add Y |
| 11 | +2127 | store Y |
| 12 | +1127 | write Y |
| 13 | +2026 | load K |
| 14 | +3022 | add 1 |
| 15 | +2126 | store K |
| 16 | +3124 | subtract N |
| 17 | +4104 | branch negative to 04 |
| 18 | +4300 | halt |
| 19 | +1121 | write -1 |
| 20 | +4300 | halt |
| 21 | -0001 | constant -1 |
| 22 | +0001 | constant 1 |
| 23 | +0003 | constant 3 |
| 24 | +0000 | variable N |
| 25 | +0000 | variable A |
| 26 | +0000 | variable K |
| 27 | +0000 | variable Y |
Welcome to Simpletron!