Ybadoo - Soluções em Software Livre
Tutoriais
Compiladores

Desenvolva um programa em Simpletron Machine Language, que apresente a média de 2 * k, sendo k = 1, 2, ..., n. 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 o valor 6, ou seja, ((2 * 1) + (2 * 2) + (2 * 3) + (2 * 4) + (2 * 5)) / 5. 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.

 

Programa em Simpletron Machine Language que apresenta a média de 2 * k, sendo k = 1, 2, ..., n
PosiçãoPalavraInstrução
00+1022read N
01+2022load N
02+4118branch negative to 18
03+4218branch zero to 18
04+2124store M
05+3321multiply 2
06+3023add S
07+2123store S
08+2022load N
09+3020add -1
10+2122store N
11+4213branch zero to 13
12+4005branch to 05
13+2023load S
14+3224divide M
15+2123store S
16+1123write S
17+4300halt
18+1120write -1
19+4300halt
20-0001constant -1
21+0002constant 2
22+0000variable N
23+0000variable S
24+0000variable M
Welcome to Simpletron!