TESTE DE MESA
O teste de mesa é utilizado para a verificação lógica da programação, simulando um
processamento linha a linha com a inclusão, se necessário, de dados fictícios. A sua formulação básica
consiste de uma tabela onde são relatadas todas as variáveis. Conforme as linhas do programa vão
sendo lidas, a tabela vai sendo preenchida.
Exemplo: Consideremos o programa-solução do desafio da aula passada:
PROGRAMA troca;
VARIÁVEL
a, b: INTEIRO;
INÍCIO
a  10;
b  5;
a  a + b;
b  a – b;
a  a – b;
FIM.
Como exemplo, faremos um teste de mesa com o programa acima:
1
Para fazer o teste de mesa, começamos construindo uma tabela com todas as
variáveis do programa.
a
b
2
As linhas do programa vão sendo lidas, uma a uma e a tabela vai sendo preenchida
simultaneamente. A primeira linha de processamento é a linha: a  10;
a
10
b
3
A 2ª linha é b 5
a
10
b
5
4
Na 3ª linha temos uma nova atribuição ao valor de a. Assim, o valor antigo é
substituído pelo valor da soma do antigo a (10) com o valor de b (5). Na tabela,
colocamos o novo valor embaixo do antigo.
a
10
15
b
5
5
A 4ª linha é b  a – b. Note que o valor que usamos para a é 15 e não o primeiro
valor dado que era 10. Assim 15 – 5 = 10.
a
10
15
b
5
10
6
Por fim, a 5 ª linha: a  a – b. Repare que a expressão é exatamente a mesma
subtração executada na linha acima; porém, como o valor de b já foi alterado, a
subtração não retorna o mesmo valor.
a
10
15
5
b
5
10
ESCREVA E LEIA - ENTRADA E SAÍDA DE DADOS
Até o momento, os programas apresentados são bastante simples e não requerem nenhum tipo
de interação entre o usuário e o programa. Da maneira que os programas estavam sendo feitos, o
usuário não teria como alterar os valores já previstos nos programas e tampouco tinham a
oportunidade de visualizar o resultado dos cálculos.
Duas palavras chaves se tornam então essencial em programação: ESCREVA e LEIA.
Para entender cada um deles, comecemos com um exemplo:
PROGRAMA Pergunta;
VARIÁVEL
num1, num2, resultado: INTEIRO;
INÍCIO
ESCREVA (“Boa noite! Esse programa efetua a soma de dois números inteiros.”);
ESCREVA (“Digite o 1º número: ”);
LEIA(num1);
ESCREVA (“Digite o 2º número: ”);
LEIA(num2);
resultado  num1 + num2;
ESCREVA(“O resultado da soma é”);
ESCREVA(resultado);
FIM.
No programa acima, aparecem duas novas palavras-chaves: ESCREVA e LEIA. Lembre-se que a
linguagem de programação é idealizada para o programador se comunicar com o computador. Assim
quando colocamos a palavra-chave ESCREVA estamos ordenando ao computador que ele escreva
alguma coisa. Mas escrever onde? Na tela do computador. Os programas mais antigos não possuíam
interfaces gráficas como o Windows, então nas telas dos computadores apareciam basicamente textos.
Imagine, então uma tela preta no monitor do computador. Quando o programa começa a “rodar” e ele
encontra a linha ESCREVA (“Boa noite! Esse programa efetua a soma de dois números
inteiros.”), a tela preta do computador terá uma linha preenchida com a frase Boa noite! Esse
programa efetua a soma de dois números inteiros.
Além do programador e do computador, temos um terceiro agente que deve ser envolvido no
processo de programação: o usuário. O usuário é aquele que não tem acesso às linhas de
programação, mas que vai se beneficiar com o uso do programa. As únicas informações que o usuário
tem acesso são aquelas que são escritas na tela. O usuário também pode influenciar no processamento
de dados fornecendo informações quando estas são solicitadas. Ao ler um programa, o computador
sabe que deverá solicitar informações quando aparecer o comando LEIA. Quando isso acontece, o
processamento do programa fica interrompido aguardando que o usuário forneça informações.
Assim, no programa acima teríamos uma tela que inicialmente ficaria parada nessas linhas:
Boa noite! Esse programa efetua a soma de dois números inteiros.
Digite o 1º número:
Quando o usuário digitar um número e pressionar <ENTER>, a terceira linha aparece
solicitando o segundo número e assim por diante. Note que a informação que o usuário digitar precisa
ser guardada na memória do computador, ou seja, precisa ser atribuída a uma variável. Por isso,
dentro do parêntesis do comando LEIA há uma variável (repare que não há aspas) indicando que é
aquela variável que receberá a informação. Desse modo, no programa-exemplo a variável num1
armazenará o 1º valor digitado pelo usuário enquanto o num2 armazenará o segundo valor. Ao final,
esses números são somados e depois são apresentados na tela (note que dentro dos parêntesis do
comando ESCREVA aparece a palavra resultado sem aspas, o que significa que será apresentado o valor
da variável resultado).
Agora que conhecemos os comandos ESCREVA e LEIA podemos definir três instâncias em um
programa de computador: A entrada de dados, o processamento e a saída de dados. A entrada de
dados são os dados que são recebidos e normalmente são aqueles que entram no programa pelo
comando LEIA. O processamento se refere a todas as instruções que são executadas sem que o usuário
tome conhecimento. E a saída de dados são os resultados do processamento normalmente
apresentado ao usuário pelo comando ESCREVA.
Por fim, para a correta utilização do comando ESCREVA esteja atento para:.
 Uso dos parêntesis que engloba a mensagem a ser apresentada na tela.
 Uso das aspas:
o variáveis não são acompanhadas por aspas.
o
valores literais (aparecem na tela do jeito que são escritos no programa) são
acompanhadas por aspas.
 Uso da vírgula para agregar variáveis e/ou valores literais em uma mesma
mensagem. Por exemplo, se no programa-exemplo tivéssemos a linha:
ESCREVA (“O número 1 é ”, num1, “ e o número 2 é “);
geraria a seguinte mensagem na tela para o caso dos valores digitados pelo
usuário serem num1 = 10 e num2 = 3:
O número 1 é 10 e o número 2 é 3
E para a correta utilização do comando LEIA esteja atento para:
 Dentro do parêntesis vai a variável que vai receber o valor digitado pelo
usuário.
 Caso a variável já possua um valor, esse valor será substituído
 Não se usa aspas dentro do parêntesis do LEIA.
EXERCÍCIOS
1. Faça o teste de mesa nos seguintes algoritmos:
PROGRAMA aura_tridimensional;
VARIÁVEL
a, b, c: INTEIRO;
INÍCIO
a  0;
b  1;
c  a;
a  a + b + c;
c  b;
b  a + b + c;
a  c;
c  a + b + c;
FIM.
PROGRAMA escravo_de_joh;
VARIÁVEL
a, b, c, d: CARACTERE;
INÍCIO
a  “a”;
b  “b”;
c  “c”;
d  a;
a  b;
b  c;
c  d;
d  a;
b  a;
c  d;
d  b;
FIM.
2. O seguinte algoritmo escrito em portugol solicita a largura e o comprimento de uma sala
retangular e apresenta no final a área dessa sala.
PROGRAMA area_sala;
VARIÁVEIS
larg, comp, area: real;
INÍCIO
ESCREVA(“Digite a largura da sala (em metros): “);
_____________________________________
_____________________________________
LEIA(comp);
area <- larg*comp;
_____________________________________
FIM.
Complete o algoritmo acima com os comandos abaixo:
LEIA(larg);
ESCREVA(“Digite o comprimento da sala (em metros): “);
ESCREVA(“A area da sala é: “, area);
Quais são os dados de entrada e quais são os dados de saída?
3. Escreva os seguintes algoritmos em portugol, indicando em cada algoritmo quais são os dados
de entrada e quais são os dados de saída.
a) que pergunte o nome do usuário, o ano de nascimento e apresente na tela a mensagem: “Boa
noite, <nome >, você nasceu há <anos> atrás” substituindo o <nome> pelo nome que o usuário
fornecer e <anos> pela diferença entre o ano atual e o ano fornecido pelo usuário.
b) que calcule a área de um triângulo isósceles, a partir dos valores da base e da altura fornecidos
pelo usuário.
𝐴𝑡𝑟𝑖â𝑛𝑔𝑢𝑙𝑜 =
𝑏. ℎ
2
c) que calcule o vértice de uma função de 2º grau, dados os valores de a, b e c. Lembrando que:
𝑥𝑣 =
e
𝑦𝑣 =
−∆
4𝑎
−𝑏
2𝑎
com ∆= 𝑏2 − 4. 𝑎. 𝑐
d) que calcule a equação de uma reta, sendo dados as coordenadas x e y de dois pontos.
Lembrando que para a equação do tipo 𝑦 = 𝑎𝑥 + 𝑏:
𝑎=
e
𝑦2 − 𝑦1
𝑥2 − 𝑥1
𝑏 = 𝑎𝑥1 − 𝑦1
Download

TESTE DE MESA ESCREVA E LEIA