#ToTheMoon

27 abril 2017

Aula 1.9: Teste de mesa #LTCode

Este artigo faz parte do projeto #LTCode

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



~ Artigos recomendados para você:









Please Donate To Bitcoin Address: [[address]]





Donation of [[value]] BTC Received. Thank You.


[[error]]