Aula 1.9: Teste de mesa #LTCode

COMPARTILHAR:

Whatsapp Telegram Twitter Facebook Reddit

Aula 1.9 - Teste de mesa: como testar um algoritmo sem computador

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

COMENTÁRIOS

Nome

#ann,25,#HK,30,#LTCode,130,Artigo - Diversos,156,Artigo - Games,201,Artigo - Tecnologia,614,autor-thomaz,7,Coluna - Alternative World,24,Coluna - Fail,12,Coluna - Tec Line,14,Criptomoeda,72,Curiosidades - Diversos,49,Curiosidades - Tecnologia,50,en,2,estudo,8,HN,12,logica,14,Pentest,23,Programar C,29,Programar POO,6,Programar Python,6,Programar Shell,25,Programar verilog,12,qradar,4,Raspberry Pi,15,Redes,3,root,116,Shorty Awards,1,Smartphones - Reviews,33,Teoria,10,Top Nostalgia,2,VPN,19,WhatsApp,46,
ltr
item
Limon Tec: Aula 1.9: Teste de mesa #LTCode
Aula 1.9: Teste de mesa #LTCode
Aula 1.9 - Teste de mesa: como testar um algoritmo sem computador
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgmI65og5X32bSLCmBz3uJnZlmDvzOFWZWoZzyvUhh2rtp8Hr_kolKy02pOjxpkThrz8uHaTu3skUdeDJlkFEKkC2a9EabpwPzbwJ-hm-po0QIaNeNvYm5CJw3k4SbN03V-d2h1dxrW2tz4/s640/ltcode.jpg
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgmI65og5X32bSLCmBz3uJnZlmDvzOFWZWoZzyvUhh2rtp8Hr_kolKy02pOjxpkThrz8uHaTu3skUdeDJlkFEKkC2a9EabpwPzbwJ-hm-po0QIaNeNvYm5CJw3k4SbN03V-d2h1dxrW2tz4/s72-c/ltcode.jpg
Limon Tec
https://www.limontec.com/2017/04/aula-1-9-logica-de-programacao-ltcode.html
https://www.limontec.com/
https://www.limontec.com/
https://www.limontec.com/2017/04/aula-1-9-logica-de-programacao-ltcode.html
false
2157924926610706248
UTF-8
Carregar todos posts Não encontramos nenhum post VER TUDO Ler mais Responder Cancelar resposta Deletar Por Home PÁGINAS POSTS Ver tudo RECOMENDADO PARA VOCÊ LABEL ARQUIVO SEARCH TODOS POSTS Não encontramos nenhum post relacionado a sua requisição VOLTAR PÁGINA INICIAL Domingo Segunda Terça Quarta Quinta Sexta Sábado Dom Seg Ter Qua Qui Sex Sab Janeiro Fevereiro Março Abril Maio Junho Julho Agosto Setembro Outubro Novembro Dezembro Jan Fev Mar Abr Maio Jun Jul Ago Set Out Nov Dez apenas agora 1 minuto atrás $$1$$ minutes ago 1 hora atrás $$1$$ hours ago Ontem $$1$$ days ago $$1$$ weeks ago mais de 5 semanas atrás Seguidores Seguir ESTE CONTEÚDO ESTÁ BLOQUEADO PASSO 1: Compartilhe com seus amigos PASSO 2: Clique no link compartilhado Copiar Todo Código Selecionar Todo Código Todos códigos foram copiados para seu clipboard Não é possível copiar códigos / textos, por favor aperte [CTRL]+[C] (ou CMD+C no Mac) para copiar Tabela de conteúdo