Aula 1.9 - Teste de mesa: como testar um algoritmo sem computador
Agora vamos aprender sobre o teste de mesa, que é uma técnica utilizada para simular a execução de um algoritmo usando somente papel e caneta.
Primeiramente será necessário criar uma tabela com linhas e colunas para seu algoritmo. Vamos utilizar como exemplo o algoritmo abaixo:
Algoritmo "somardoisnumeros"
Var
N1, N2, R : Real
Inicio
Escreval ("Este programa soma dois números: ")
Escreva ("Digite o primeiro número: ")
Leia (N1)
Escreva ("Digite o segundo número: ")
Leia (N2)
R <- N1 + N2
Escreval ("O resultado da soma foi: ",R)
Fimalgoritmo
Observe que no algoritmo existe 3 variáveis, então nossa tabela terá 3 colunas e as linhas corresponderão aos passos do algoritmo. Suponha que queremos somar 2+3 com o nosso algoritmo, para isto teremos os seguintes passos:
1º - N1 <- 2 //N1 recebe 2
2º - N2 <- 3 //N2 recebe 3
3º - R <- N1+N2 //R recebe a soma de N1+N2
Então montando a tabela fica assim:
Qual o valor final das variáveis? Resposta: N1 = 2; N2 = 3; R = 5.
Entendeu acima? Agora vamos ver para que serve realmente o teste de mesa.
Pense em um algoritmo que lê dois números (a e b) e que troque/inverta os seus valores.
Suponha que você fez algo assim:
Linha 1 Algoritmo "invertevalor"
Linha 2 Var
Linha 3 a, b : Inteiro
Linha 4 Inicio
Linha 5 Escreval ("Este programa troca valor de dois números")
Linha 6 Escreva ("Digite o valor de a: ")
Linha 7 Leia (a)
Linha 8 Escreva ("Digite o valor de b: ")
Linha 9 Leia (b)
Linha 10 a <- b
Linha 11 b <- a
Linha 12 Escreval ("O valor de a é: ",a)
Linha 13 Escreval ("O valor de b é: ",b)
Linha 14 Fimalgoritmo
Agora vamos utilizar o teste de mesa para conferir se o objetivo do nosso algoritmo será alcançado:
Em azul na imagem acima temos os valores que o usuário digitou, o usuário digitou o valor 12 para a variável "a" e o valor 3 para a variável "b". Depois na linha 10 e 11 o programa fez com que "a" recebesse o valor de "b" e "b" recebesse o valor de "a", trocando assim os números de posição. Já na linha 12 e 13 temos um problema confira abaixo:
Quando copiamos o valor de "a" para "b" na linha 11, percebemos que "a" está valendo 3 e não 12 como pretendido. Sendo assim o teste de mesa cumpriu com o objetivo de detectar algum error.
Para resolver este problemas basta adicionar mais uma variável:
Linha 1 Algoritmo "invertevalor"
Linha 2 Var
Linha 3 a, b, c : Inteiro
Linha 4 Inicio
Linha 5 Escreval ("Este programa troca valor de dois números")
Linha 6 Escreva ("Digite o valor de a: ")
Linha 7 Leia (a)
Linha 8 Escreva ("Digite o valor de b: ")
Linha 9 Leia (b)
Linha 10 c <- a
Linha 11 a <- b
Linha 12 b <- c
Linha 13 Escreval ("O valor de a é: ",a)
Linha 14 Escreval ("O valor de b é: ",b)
Linha 15 Fimalgoritmo
Linha 7: a recebe 12
Linha 9: b recebe 3
Linha 10: c recebe a (12)
Linha 11: a recebe b (3)
Linha 12: b recebe c (12)
Linha 13: resultado de a
Linha 14: resultado de b
Qual o valor final das variáveis? Resposta: a = 3; b = 12.
Espero que tenham compreendido e até mais.
>> Próxima aula, clique aqui
COMENTÁRIOS