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!