Ybadoo - Soluções em Software Livre
Tutoriais
Compiladores

A linguagem de programação SIMPLE é uma linguagem simples, mas ainda poderosa e de alto nível, semelhante às versões iniciais da conhecida linguagem de programação BASIC. Cada instrução da linguagem de programação SIMPLE consiste em um número de linha e um comando da linguagem. Os números de linha devem aparecer em ordem crescente. Cada comando inicia com um das seguintes palavras reservadas da linguagem de programação SIMPLE: rem, input, let, print, goto, if/goto ou end.

Comandos da linguagem de programação SIMPLE
ComandoDescriçãoInstrução de exemplo
remQualquer texto depois do comando rem é apenas para fins de documentação e é ignorado pelo compilador.50 rem isto é comentário
inputExibe um ponto de interrogação para pedir ao usuário para inserir um inteiro. Lê esse inteiro do teclado e armazena o inteiro na variável especificada.30 input x
letAtribui a variável o valor da expressão aritmética simples.80 let u = j - 56
printExibe o valor da variável especificada.10 print w
gotoTransfere o comando do programa para a linha especificada.70 goto 45
if/gotoTransfere o controle do programa para a linha especificada se a condição for verdadeira; caso contrário, continua a execução na próxima instrução.35 if i == z goto 80
endTermina a execução do programa.99 end

Todos os comandos, exceto end, podem ser utilizados repetidamente. A linguagem de programação SIMPLE avalia apenas expressões inteiras que utilizam os operadores de adição (+), subtração (-), multiplicação (*), divisão inteira (/) e resto da divisão (%).

A linguagem de programação SIMPLE reconhece apenas letras minúsculas. Todos os caracteres em um arquivo na linguagem de programação SIMPLE devem estar em letras minúsculas (letras maiúsculas resultam em um erro de sintaxe, a menos que apareçam em uma instrução rem, caso em que são ignorados).

O nome de variável tem uma única letra. A linguagem de programação SIMPLE não permite nomes de variáveis descritivos, portanto as variáveis devem ser explicadas em comentários para indicar sua finalidade em um programa.

A linguagem de programação SIMPLE utiliza apenas variáveis inteiras. Não tem declarações de variáveis - a mera menção de um nome de variável em um programa faz com que a variável seja declarada e inicializada com zero.

A linguagem de programação SIMPLE utiliza a instrução condicional if/goto e a instrução incondicional goto para alterar o fluxo de controle durante a execução do programa. Se a condição na instrução if/goto for verdadeira, o controle é transferido para uma linha especifica do programa. Os seguintes operadores relacionais e de igualdade são válidos em uma instrução if/goto: maior que (>), maior ou igual a (>=), menor que (<), menor ou igual a (<=), igual a (==) e diferente de (!=).

O programa a seguir lê dois inteiros do teclado, armazena os valores nas variáveis a e b e calcula e imprime sua soma (armazenada na variável c).

10 rem determina e imprime a soma de dois inteiros
15 rem
20 rem lê os dois inteiros
30 input a
40 input b
45 rem
50 rem soma os inteiros e armazena o resultado em c
60 let c = a + b
65 rem
70 rem imprime o resultado
80 print c
90 rem termina a execução do programa
99 end

(Deitel, 2003) Desenvolva um programa na sua linguagem de programação preferida, que realize a análise léxica dos programas desenvolvidos na linguagem de programação SIMPLE.

(Deitel, 2001) Desenvolva um programa na sua linguagem de programação preferida, que realize a análise sintática dos programas desenvolvidos na linguagem de programação SIMPLE.

Desenvolva um compilador na sua linguagem de programação preferida, que compile os programas desenvolvidos na linguagem de programação SIMPLE para a Simpletron Machine Language.

Desenvolva um programa na linguagem de programação SIMPLE, que apresente a somatória dos n primeiros números positivos. O valor de n será fornecido pelo usuário, devendo ser um valor inteiro e positivo. Por exemplo, caso o valor fornecido pelo usuário para n seja 5, o programa deverá apresentar como resposta o valor 15, ou seja, 1 + 2 + 3 + 4 + 5. Caso o usuário forneça um valor inválido para n, o programa deverá apresentar como resposta o valor -1. Posteriormente, apresente a identificação de todos os tokens utilizados na elaboração do programa.

Desenvolva um programa na linguagem de programação SIMPLE, que apresente a somatória dos 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 15, ou seja, 1 + 7 + 4 + 3. Posteriormente, apresente a identificação de todos os tokens utilizados na elaboração do programa.

Desenvolva um programa na linguagem de programação SIMPLE, que apresente o produto dos n primeiros números positivos. O valor de n será fornecido pelo usuário, devendo ser um valor inteiro e positivo. Por exemplo, caso o valor fornecido pelo usuário para n seja 5, o programa deverá apresentar como resposta o valor 120, ou seja, 1 * 2 * 3 * 4 * 5. Caso o usuário forneça um valor inválido para n, o programa deverá apresentar como resposta o valor -1. Posteriormente, apresente a identificação de todos os tokens utilizados na elaboração do programa.

Desenvolva um programa na linguagem de programação SIMPLE, que apresente o produto dos 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 84, ou seja, 1 * 7 * 4 * 3. Posteriormente, apresente a identificação de todos os tokens utilizados na elaboração do programa.

Desenvolva um programa na linguagem de programação SIMPLE, que apresente a média dos n primeiros números positivos. O valor de n será fornecido pelo usuário, devendo ser um valor inteiro e positivo. Por exemplo, caso o valor fornecido pelo usuário para n seja 5, o programa deverá apresentar como resposta o valor 3, ou seja, (1 + 2 + 3 + 4 + 5) / 5. Caso o usuário forneça um valor inválido para n, o programa deverá apresentar como resposta o valor -1. Posteriormente, apresente a identificação de todos os tokens utilizados na elaboração do programa.

Desenvolva um programa na linguagem de programação SIMPLE, que apresente a média dos 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 3, ou seja, (1 + 7 + 4 + 3) / 4. Posteriormente, apresente a identificação de todos os tokens utilizados na elaboração do programa.

Desenvolva um programa na linguagem de programação SIMPLE, que apresente o maior número de três números fornecidos pelo usuário. Por exemplo, caso os números fornecidos pelo usuário sejam 5, 7 e 4, o programa deverá apresentar como resposta o valor 7, que é o maior número entre os três números fornecidos pelo usuário. Posteriormente, apresente a identificação de todos os tokens utilizados na elaboração do programa.

Desenvolva um programa na linguagem de programação SIMPLE, que apresente o maior número dos n primeiros números fornecidos pelo usuário. O primeiro número fornecido pelo usuário indica a quantidade de números a serem lidos. Por exemplo, caso os números fornecidos pelo usuário sejam 4, 1, 7, 4 e 3, o programa deverá apresentar como resposta o valor 7, que é o maior número entre os quatro números fornecidos pelo usuário. Caso o usuário forneça um valor inválido para n, o programa deverá apresentar como resposta o valor -1. Posteriormente, apresente a identificação de todos os tokens utilizados na elaboração do programa.

Desenvolva um programa na linguagem de programação SIMPLE, que apresente o maior 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 7, que é o maior número da sequência fornecida pelo usuário. Posteriormente, apresente a identificação de todos os tokens utilizados na elaboração do programa.

Desenvolva um programa na linguagem de programação SIMPLE, que apresente o menor número de três números fornecidos pelo usuário. Por exemplo, caso os números fornecidos pelo usuário sejam 5, 7 e 4, o programa deverá apresentar como resposta o valor 4, que é o menor número entre os três números fornecidos pelo usuário. Posteriormente, apresente a identificação de todos os tokens utilizados na elaboração do programa.

Desenvolva um programa na linguagem de programação SIMPLE, que apresente o menor número dos n primeiros números fornecidos pelo usuário. O primeiro número fornecido pelo usuário indica a quantidade de números a serem lidos. Por exemplo, caso os números fornecidos pelo usuário sejam 4, 1, 7, 4 e 3, o programa deverá apresentar como resposta o valor 1, que é o menor número entre os quatro números fornecidos pelo usuário. Caso o usuário forneça um valor inválido para n, o programa deverá apresentar como resposta o valor -1. Posteriormente, apresente a identificação de todos os tokens utilizados na elaboração do programa.

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.

Desenvolva um programa na linguagem de programação SIMPLE, que apresente a sequência crescente entre 0 e n. O valor de n será fornecido pelo usuário, devendo ser um valor inteiro e positivo. Por exemplo, caso o valor fornecido pelo usuário para n seja 5, o programa deverá apresentar como resposta a sequência de valores 0 1 2 3 4 5. Caso o usuário forneça um valor inválido para n, o programa deverá apresentar como resposta o valor -1. Posteriormente, apresente a identificação de todos os tokens utilizados na elaboração do programa.

Desenvolva um programa na linguagem de programação SIMPLE, que apresente a sequência decrescente entre n e 0. O valor de n será fornecido pelo usuário, devendo ser um valor inteiro e positivo. Por exemplo, caso o valor fornecido pelo usuário para n seja 5, o programa deverá apresentar como resposta a sequência de valores 5 4 3 2 1 0. Caso o usuário forneça um valor inválido para n, o programa deverá apresentar como resposta o valor -1. Posteriormente, apresente a identificação de todos os tokens utilizados na elaboração do programa.

Desenvolva um programa na linguagem de programação SIMPLE, que apresente a exponenciação de uma base qualquer por um expoente positivo qualquer, ou seja, BE. O valor de E será fornecido pelo usuário, devendo ser um valor inteiro e positivo. O valor de B será fornecido pelo usuário, podendo ser um valor qualquer. Por exemplo, caso o valor fornecido pelo usuário para B seja 2 e para E seja 5, o programa deverá apresentar como resposta o valor 32, ou seja, 2 * 2 * 2 * 2 * 2. Caso o usuário forneça um valor inválido para E, o programa deverá apresentar como resposta o valor -1. Posteriormente, apresente a identificação de todos os tokens utilizados na elaboração do programa.

Desenvolva um programa na linguagem de programação SIMPLE, que apresente os 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 a serem impressos será fornecido pelo usuário, devendo ser um valor inteiro e positivo. Por exemplo, caso o número de termos a serem impressos fornecido pelo usuário seja 7, o programa deverá apresentar como resposta a sequência de valores 1 1 2 3 5 8 13. 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. Posteriormente, apresente a identificação de todos os tokens utilizados na elaboração do programa.

Desenvolva um programa na linguagem de programação SIMPLE, que apresente a somatória 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 33, ou seja, 1 + 1 + 2 + 3 + 5 + 8 + 13. 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. Posteriormente, apresente a identificação de todos os tokens utilizados na elaboração do programa.

Desenvolva um programa na linguagem de programação SIMPLE, que apresente o produto 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 3.120, ou seja, 1 * 1 * 2 * 3 * 5 * 8 * 13. 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. Posteriormente, apresente a identificação de todos os tokens utilizados na elaboração do programa.

Desenvolva um programa na linguagem de programação SIMPLE, 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. Posteriormente, apresente a identificação de todos os tokens utilizados na elaboração do programa.

Desenvolva um programa na linguagem de programação SIMPLE, que apresente os n primeiros termos da sequência yk = yk-1 + 2, sendo k = 1, 2, ..., 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 3 5 7 9. 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. Posteriormente, apresente a identificação de todos os tokens utilizados na elaboração do programa.
y1 = 1
y2 = y1 + 2 = 3
y3 = y2 + 2 = 5
y4 = y3 + 2 = 7
y5 = y4 + 2 = 9

Desenvolva um programa na linguagem de programação SIMPLE, que apresente os n primeiros termos da sequência yk = yk-1 + k, sendo k = 1, 2, ..., 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 3 6 10 15. 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. Posteriormente, apresente a identificação de todos os tokens utilizados na elaboração do programa.
y1 = 1
y2 = y1 + 2 = 3
y3 = y2 + 3 = 6
y4 = y3 + 4 = 10
y5 = y4 + 5 = 15

Desenvolva um programa na linguagem de programação SIMPLE, que apresente os n primeiros termos da sequência yk+1 = yk + (2 * k + 1), sendo k = 1, 2, ..., 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 4 9 16 25. 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. Posteriormente, apresente a identificação de todos os tokens utilizados na elaboração do programa.
y1 = 1
y2 = y1 + (2 * 1 + 1) = 4
y3 = y2 + (2 * 2 + 1) = 9
y4 = y3 + (2 * 3 + 1) = 16
y5 = y4 + (2 * 4 + 1) = 25

Desenvolva um programa na linguagem de programação SIMPLE, 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. Posteriormente, apresente a identificação de todos os tokens utilizados na elaboração do programa.
y1 = 1
y2 = y1 + (3 * 1 * 1 + 3 * 1 + 1) = 8
y3 = y2 + (3 * 2 * 2 + 3 * 2 + 1) = 27
y4 = y3 + (3 * 3 * 3 + 3 * 3 + 1) = 64
y5 = y4 + (3 * 4 * 4 + 3 * 4 + 1) = 125

Desenvolva um programa na linguagem de programação SIMPLE, que apresente os n primeiros termos da sequência yk+1 = 2 * yk, sendo k = 1, 2, ..., 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 2 4 8 16. 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. Posteriormente, apresente a identificação de todos os tokens utilizados na elaboração do programa.
y1 = 1
y2 = 2 * y1 = 2
y3 = 2 * y2 = 4
y4 = 2 * y3 = 8
y5 = 2 * y4 = 16

Desenvolva um programa na linguagem de programação SIMPLE, que apresente a somatória 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 30, ou seja, (2 * 1) + (2 * 2) + (2 * 3) + (2 * 4) + (2 * 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. Posteriormente, apresente a identificação de todos os tokens utilizados na elaboração do programa.

Desenvolva um programa na linguagem de programação SIMPLE, 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. Posteriormente, apresente a identificação de todos os tokens utilizados na elaboração do programa.

Desenvolva um programa na linguagem de programação SIMPLE, que apresente a somatória de k2, 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 55, ou seja, 12 + 22 + 32 + 42 + 52. 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. Posteriormente, apresente a identificação de todos os tokens utilizados na elaboração do programa.

Desenvolva um programa na linguagem de programação SIMPLE, que apresente a média de k2, 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 11, ou seja, (12 + 22 + 32 + 42 + 52) / 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. Posteriormente, apresente a identificação de todos os tokens utilizados na elaboração do programa.

Desenvolva um programa na linguagem de programação SIMPLE, que leia dois números do usuário e os apresente em ordem crescente. Por exemplo, caso os números fornecidos pelo usuário sejam 5 e 7, o programa deverá apresentar como resposta a sequência 5 7. Posteriormente, apresente a identificação de todos os tokens utilizados na elaboração do programa.

Desenvolva um programa na linguagem de programação SIMPLE, que leia dois números do usuário e os apresente em ordem decrescente. Por exemplo, caso os números fornecidos pelo usuário sejam 5 e 7, o programa deverá apresentar como resposta a sequência 7 5. Posteriormente, apresente a identificação de todos os tokens utilizados na elaboração do programa.

Desenvolva um programa na linguagem de programação SIMPLE, que leia três números do usuário e os apresente em ordem crescente. Por exemplo, caso os números fornecidos pelo usuário sejam 5, 7 e 4, o programa deverá apresentar como resposta a sequência 4 5 7. Posteriormente, apresente a identificação de todos os tokens utilizados na elaboração do programa.

Desenvolva um programa na linguagem de programação SIMPLE, que leia três números do usuário e os apresente em ordem decrescente. Por exemplo, caso os números fornecidos pelo usuário sejam 5, 7 e 4, o programa deverá apresentar como resposta a sequência 7 5 4. Posteriormente, apresente a identificação de todos os tokens utilizados na elaboração do programa.

Desenvolva um programa na linguagem de programação SIMPLE, que leia quatro números do usuário e os apresente em ordem crescente. Por exemplo, caso os números fornecidos pelo usuário sejam 1, 7, 4, 3, o programa deverá apresentar como resposta a sequência 1 3 4 7. Posteriormente, apresente a identificação de todos os tokens utilizados na elaboração do programa.

Desenvolva um programa na linguagem de programação SIMPLE, que leia quatro números do usuário e os apresente em ordem decrescente. Por exemplo, caso os números fornecidos pelo usuário sejam 1, 7, 4, 3, o programa deverá apresentar como resposta a sequência 7 4 3 1. Posteriormente, apresente a identificação de todos os tokens utilizados na elaboração do programa.

Deitel, H. M. (2001). C++, como programar. 3ª edição. Porto Alegre: Bookman. 1.098 páginas.

Deitel, H. M. (2003). Java, como programar. 4ª edição. Porto Alegre: Bookman. 1.386 páginas.