Ybadoo - Soluções em Software Livre
Tutoriais
Compiladores

Desenvolva um programa na linguagem de programação SIMPLE, que apresente o menor número entre os números fornecidos pelo usuário, até que o usuário forneça o número zero. Por exemplo, caso os valores fornecidos pelo usuário sejam 1, 7, 4, 3 e 0, o programa deverá apresentar como resposta o valor 1, que é o menor número da sequência fornecida pelo usuário. Posteriormente, apresente a identificação de todos os tokens utilizados na elaboração do programa.

 

10 input a
15 if a == 0 goto 45
20 input n
25 if n == 0 goto 45
30 if n >= a goto 20
35 let a = n
40 goto 20
45 print a
50 end
Tabela de símbolos
CódigoValor CódigoValor CódigoValor
0010 01a 0215
030 0445 0520
06n 0725 0830
0935 1040 1150
[51, 00, (01, 01)] // 10
[62, , (01, 04)] // INPUT
[41, 01, (01, 10)] // a
[10, , (01, 11)] // ENTER
[51, 02, (02, 01)] // 15
[66, , (02, 04)] // IF
[41, 01, (02, 07)] // a
[31, , (02, 09)] // ==
[51, 03, (02, 12)] // 0
[65, , (02, 14)] // GOTO
[51, 04, (02, 19)] // 45
[10, , (02, 21)] // ENTER
[51, 05, (03, 01)] // 20
[62, , (03, 04)] // INPUT
[41, 06, (03, 10)] // n
[10, , (03, 11)] // ENTER
[51, 07, (04, 01)] // 25
[66, , (04, 04)] // IF
[41, 06, (04, 07)] // n
[31, , (04, 09)] // ==
[51, 03, (04, 12)] // 0
[65, , (04, 14)] // GOTO
[51, 04, (04, 19)] // 45
[10, , (04, 21)] // ENTER
[51, 08, (05, 01)] // 30
[66, , (05, 04)] // IF
[41, 06, (05, 07)] // n
[35, , (05, 09)] // >=
[41, 01, (05, 12)] // a
[65, , (05, 14)] // GOTO
[51, 05, (05, 19)] // 20
[10, , (05, 21)] // ENTER
[51, 09, (06, 01)] // 35
[63, , (06, 04)] // LET
[41, 01, (06, 08)] // a
[11, , (06, 10)] // =
[41, 06, (06, 12)] // n
[10, , (06, 13)] // ENTER
[51, 10, (07, 01)] // 40
[65, , (07, 04)] // GOTO
[51, 05, (07, 09)] // 20
[10, , (07, 11)] // ENTER
[51, 04, (08, 01)] // 45
[64, , (08, 04)] // PRINT
[41, 01, (08, 10)] // a
[10, , (08, 11)] // ENTER
[51, 11, (09, 01)] // 50
[67, , (09, 04)] // end
[03, , (09, 07)] // ETF