A linguagem de programação SIMPLE é uma linguagem de alto nível, de sintaxe reduzida e propósito didático. Embora seja simples, apresenta recursos suficientes para a construção de programas elementares, assemelhando-se às versões iniciais da linguagem BASIC.
Cada instrução da linguagem SIMPLE é composta por um número de linha e por um comando. Os números de linha devem ser dispostos em ordem crescente. Além disso, cada comando deve ser iniciado por uma das seguintes palavras reservadas: rem, input, let, print, goto, if/goto ou end.
A Tabela 1 apresenta os comandos disponíveis na linguagem SIMPLE, com suas respectivas descrições e exemplos de utilização.
| Comando | Descrição | Instrução de exemplo |
|---|---|---|
rem | Indica comentário. O texto subsequente destina-se apenas à documentação e é ignorado pelo compilador. | 50 rem isto é comentário |
input | Solicita a entrada de um número inteiro. O sistema exibe um ponto de interrogação como prompt, lê o valor fornecido pelo usuário e o armazena na variável especificada. | 30 input x |
let | Atribui à variável especificada o resultado da avaliação de uma expressão aritmética. | 80 let u = i - 56 * j |
print | Exibe o valor da variável especificada. | 10 print w |
goto | Desvia incondicionalmente o fluxo de execução para a linha especificada. | 70 goto 45 |
if/goto | Desvia o fluxo de execução para a linha especificada caso a condição avaliada seja verdadeira; caso contrário, a execução prossegue na instrução seguinte. | 35 if i == z goto 80 |
end | Encerra a execução do programa. | 99 end |
Com exceção do comando end, todos os demais podem ser empregados reiteradamente em um mesmo programa.
A linguagem SIMPLE avalia exclusivamente expressões aritméticas inteiras, nas quais podem ser utilizados os operadores de adição (+), subtração (-), multiplicação (*), divisão inteira (/) e resto da divisão (%).
A ordem de precedência dos operadores aritméticos é definida da seguinte forma:
*), divisão inteira (/) e resto da divisão (%).+) e subtração (-)Quando os operadores apresentam a mesma precedência, a avaliação é realizada da esquerda para a direita.
As palavras reservadas, os identificadores e os comandos devem ser grafados exclusivamente com letras minúsculas. Dessa forma, a ocorrência de letras maiúsculas constitui erro de sintaxe, exceto quando tais caracteres aparecem em instruções rem, uma vez que o conteúdo dos comentários é ignorado pelo compilador.
Os nomes de variáveis são constituídos por uma única letra. Em razão dessa restrição, não são permitidos nomes descritivos. Recomenda-se, portanto, que a finalidade de cada variável seja explicitada por meio de comentários no código.
A linguagem utiliza exclusivamente variáveis inteiras. Não há declarações explícitas de variáveis; a primeira referência a uma variável no programa implica sua declaração automática e sua inicialização com o valor zero.
O controle de fluxo durante a execução é realizado por meio das instruções goto e if/goto. A instrução goto promove o desvio incondicional da execução para uma linha especificada do programa. A instrução if/goto, por sua vez, transfere o controle para uma linha específica somente se a condição avaliada for verdadeira; caso contrário, a execução prossegue na instrução subsequente.
Em instruções if/goto, são admitidos os seguintes operadores relacionais e de igualdade: 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.