SlideShare uma empresa Scribd logo
1 de 23
Bacharelado em Ciência e Tecnologia
Processamento da Informação
TESTE DE MESA
TESTE DE MESA
Prof. Dr. Edson Pimentel
Centro de Matemática, Computação e
Cognição
Bacharelado em Ciência e Tecnologia
Processamento da Informação
TESTE DE MESA
Objetivos
 Aprender a verificar se o algoritmo (ou
programa) leva a um resultado esperado
através de simulação de valores, utilizando a
técnica de TESTE DE MESA
Bacharelado em Ciência e Tecnologia
Processamento da Informação
TESTE DE MESA
TESTE DE MESA
 O teste de mesa simula a execução de um
algoritmo sem utilizar o computador,
empregando apenas “papel e caneta” (ou
melhor sem utilizar um compilador ou
interpretador).
Bacharelado em Ciência e Tecnologia
Processamento da Informação
TESTE DE MESA
Passos para realizar o teste de mesa
 Identifique as variáveis envolvidas em seu algoritmo;
 Crie uma tabela com linhas e colunas, em que:
 cada coluna representará uma variável a ser
“observada”
 as linhas corresponderão às instruções observadas
pelo teste de mesa e
 a primeira coluna deverá identificar os números das
linhas correspondentes às instruções observadas;
LINHA a b c
5 ? ? ?
7 ? ? ?
Bacharelado em Ciência e Tecnologia
Processamento da Informação
TESTE DE MESA
Passos para realizar o teste de mesa
 De cima para baixo, preencha cada uma das linhas da
tabela com o número da linha que identifica cada
instrução, seguido dos valores assumidos pelas variáveis
do programa após a execução daquela instrução.
LINHA a b c
5
7
11
13
Bacharelado em Ciência e Tecnologia
Processamento da Informação
TESTE DE MESA
Passos para realizar o teste de mesa
 Para indicar que o valor de uma variável foi lido,
envolva-o entre parênteses
 Se o valor foi escrito pela instrução, envolva-o entre
chaves
 Para valores indefinidos, isto é, aqueles que ainda não
foram determinados até uma dada instrução, utilize a
interrogação LINHA a b c
5 (18) ? ?
7
11
13 {7.5}
Bacharelado em Ciência e Tecnologia
Processamento da Informação
TESTE DE MESA
EXEMPLO
Bacharelado em Ciência e Tecnologia
Processamento da Informação
TESTE DE MESA
Exemplo
 Vejamos agora como um “teste de mesa” funciona por
meio de um algoritmo simples:
 Escreva um algoritmo para ler dois números (a e b) e
apresentar o resultado das 4 operações aritméticas
básicas (adição, subtração, multiplicação e divisão)
Bacharelado em Ciência e Tecnologia
Processamento da Informação
TESTE DE MESA
Escreva um algoritmo para ler dois números (a e b) e apresentar o
resultado das 4 operações aritméticas básicas (adição, subtração,
multiplicação e divisão)
 SAÍDA: Quais os resultados que o algoritmo deve fornecer ?
 ENTRADA: Quais os insumos necessários para se obter a saída?
 PROCESSAMENTO: Como transformar os insumos na saída?
 SAÍDA: soma, subtração, produto e divisão
 ENTRADA: dois números (a, b)
 PROCESSAMENTO:
 Soma = a + b
 Subtracao = a - b
 Divisao = a / b
 Produto = a * b
Resolvendo
Bacharelado em Ciência e Tecnologia
Processamento da Informação
TESTE DE MESA
Solução
Declaração de
Variáveis
Bacharelado em Ciência e Tecnologia
Processamento da Informação
TESTE DE MESA
Solução
Entrada de
Dados
Bacharelado em Ciência e Tecnologia
Processamento da Informação
TESTE DE MESA
Solução
Processamento
Bacharelado em Ciência e Tecnologia
Processamento da Informação
TESTE DE MESA
Solução
Saída de Dados
Bacharelado em Ciência e Tecnologia
Processamento da Informação
TESTE DE MESA
Aplicação do Teste de Mesa
Bacharelado em Ciência e Tecnologia
Processamento da Informação
TESTE DE MESA
OUTRO
EXEMPLO
Bacharelado em Ciência e Tecnologia
Processamento da Informação
TESTE DE MESA
Escreva um algoritmo para ler dois números (a e b) e trocar os seus
valores. Exibir os valores de a e b após a troca
 SAÍDA: Quais os resultados que o algoritmo deve fornecer ?
 ENTRADA: Quais os insumos necessários para se obter a saída?
 PROCESSAMENTO: Como transformar os insumos na saída?
 SAÍDA: valores de a e b (trocados)
 ENTRADA: dois números (A, B)
 PROCESSAMENTO:
 A = B
 B = A
Resolvendo
Bacharelado em Ciência e Tecnologia
Processamento da Informação
TESTE DE MESA
Solução
Declaração de
Variáveis
Entrada de
Dados
Saída de Dados
Processamento
Bacharelado em Ciência e Tecnologia
Processamento da Informação
TESTE DE MESA
Aplicação do Teste de Mesa
LINHA a b
7 (12) ?
9 (3)
10 3
11 3
12 {3}
13 {3}
Escreva um algoritmo para ler dois números (a e b) e trocar os seus
valores. Exibir os valores de a e b após a troca
Bacharelado em Ciência e Tecnologia
Processamento da Informação
TESTE DE MESA
Aplicação do Teste de Mesa
Nota-se que o RESULTADO exibido pelo programa é INVÁLIDO, ou seja, não
atende ao enunciado. O programa deveria ter exibido 3 e 12.
O teste de mesa cumpriu seu objetivo que foi “detectar” o ERRO.
LINHA a b
7 (12) ?
9 (3)
10 3
11 3
12 {3}
13 {3}
Bacharelado em Ciência e Tecnologia
Processamento da Informação
TESTE DE MESA
Nova solução
Para efetuar a troca necessita-se de uma TERCEIRA variável (auxiliar)
Bacharelado em Ciência e Tecnologia
Processamento da Informação
TESTE DE MESA
Aplicação do Teste de Mesa
LINHA a b aux
7 (12) ? ?
9 (3)
10 12
11 3
12 12
13 {3}
14 {12}
Bacharelado em Ciência e Tecnologia
Processamento da Informação
TESTE DE MESA
Observações
 Os testes de mesa podem ser SIMPLIFICADOS, focando
apenas nas MODIFICAÇÕES das variáveis, sem os
detalhes das linhas em que ocorrem as modificações
 Nesse caso, fica mais difícil reconstituir o “passo a passo”
 Testes de Mesa são essencialmente importantes com
ALGORITMOS COMPLEXOS (com seleção, repetição,
etc)
Bacharelado em Ciência e Tecnologia
Processamento da Informação
TESTE DE MESA
AGORA É
PRATICAR!!!

Mais conteúdo relacionado

Mais procurados

Fluxograma (Lógica de Programação)
Fluxograma (Lógica de Programação)Fluxograma (Lógica de Programação)
Fluxograma (Lógica de Programação)Gercélia Ramos
 
Aula 6 - Estruturas de seleção encadeada - parte 1
Aula 6 - Estruturas de seleção encadeada - parte 1Aula 6 - Estruturas de seleção encadeada - parte 1
Aula 6 - Estruturas de seleção encadeada - parte 1Pacc UAB
 
Banco de Dados II Aula 03 - Modelagem de Dados (Modelo Lógico)
Banco de Dados II Aula 03 - Modelagem de Dados (Modelo Lógico)Banco de Dados II Aula 03 - Modelagem de Dados (Modelo Lógico)
Banco de Dados II Aula 03 - Modelagem de Dados (Modelo Lógico)Leinylson Fontinele
 
Aula 8 - Repetição PARA ATÉ - parte 1
Aula 8 - Repetição PARA ATÉ - parte 1Aula 8 - Repetição PARA ATÉ - parte 1
Aula 8 - Repetição PARA ATÉ - parte 1Pacc UAB
 
Exercicios resolvidos visuAlg
Exercicios resolvidos visuAlgExercicios resolvidos visuAlg
Exercicios resolvidos visuAlgWillians Miyabara
 
1.Introdução Banco de Dados
1.Introdução Banco de Dados1.Introdução Banco de Dados
1.Introdução Banco de Dadosvini_campos
 
Material de Apoio de Algoritmo e Lógica de Programação
Material de Apoio de Algoritmo e Lógica de ProgramaçãoMaterial de Apoio de Algoritmo e Lógica de Programação
Material de Apoio de Algoritmo e Lógica de Programaçãorodfernandes
 
Introdução à programação
Introdução à programação Introdução à programação
Introdução à programação João Piedade
 
Algoritmos - Formas de Representação de Algoritmos
Algoritmos - Formas de Representação de AlgoritmosAlgoritmos - Formas de Representação de Algoritmos
Algoritmos - Formas de Representação de AlgoritmosElaine Cecília Gatto
 
Pseudocódigo ou Portugol (Lógica de Programação)
Pseudocódigo ou Portugol (Lógica de Programação)Pseudocódigo ou Portugol (Lógica de Programação)
Pseudocódigo ou Portugol (Lógica de Programação)Gercélia Ramos
 
Banco de Dados - MySQL Basico
Banco de Dados - MySQL BasicoBanco de Dados - MySQL Basico
Banco de Dados - MySQL BasicoRangel Javier
 

Mais procurados (20)

Fluxograma (Lógica de Programação)
Fluxograma (Lógica de Programação)Fluxograma (Lógica de Programação)
Fluxograma (Lógica de Programação)
 
Aula 6 - Estruturas de seleção encadeada - parte 1
Aula 6 - Estruturas de seleção encadeada - parte 1Aula 6 - Estruturas de seleção encadeada - parte 1
Aula 6 - Estruturas de seleção encadeada - parte 1
 
Banco de Dados II Aula 03 - Modelagem de Dados (Modelo Lógico)
Banco de Dados II Aula 03 - Modelagem de Dados (Modelo Lógico)Banco de Dados II Aula 03 - Modelagem de Dados (Modelo Lógico)
Banco de Dados II Aula 03 - Modelagem de Dados (Modelo Lógico)
 
Aula 8 - Repetição PARA ATÉ - parte 1
Aula 8 - Repetição PARA ATÉ - parte 1Aula 8 - Repetição PARA ATÉ - parte 1
Aula 8 - Repetição PARA ATÉ - parte 1
 
Exercicios resolvidos visuAlg
Exercicios resolvidos visuAlgExercicios resolvidos visuAlg
Exercicios resolvidos visuAlg
 
1.Introdução Banco de Dados
1.Introdução Banco de Dados1.Introdução Banco de Dados
1.Introdução Banco de Dados
 
Material de Apoio de Algoritmo e Lógica de Programação
Material de Apoio de Algoritmo e Lógica de ProgramaçãoMaterial de Apoio de Algoritmo e Lógica de Programação
Material de Apoio de Algoritmo e Lógica de Programação
 
Algoritmos em portugol
Algoritmos em portugolAlgoritmos em portugol
Algoritmos em portugol
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Introdução à programação
Introdução à programação Introdução à programação
Introdução à programação
 
Algoritmos - Formas de Representação de Algoritmos
Algoritmos - Formas de Representação de AlgoritmosAlgoritmos - Formas de Representação de Algoritmos
Algoritmos - Formas de Representação de Algoritmos
 
Aula 07 - Visualg e Pseudocódigo
Aula 07 - Visualg e PseudocódigoAula 07 - Visualg e Pseudocódigo
Aula 07 - Visualg e Pseudocódigo
 
Algoritmo - tipos de dados
Algoritmo - tipos de dadosAlgoritmo - tipos de dados
Algoritmo - tipos de dados
 
Aula 3 algoritmos
Aula 3   algoritmosAula 3   algoritmos
Aula 3 algoritmos
 
Algoritmo aula 01-f
Algoritmo   aula 01-fAlgoritmo   aula 01-f
Algoritmo aula 01-f
 
Pseudocódigo ou Portugol (Lógica de Programação)
Pseudocódigo ou Portugol (Lógica de Programação)Pseudocódigo ou Portugol (Lógica de Programação)
Pseudocódigo ou Portugol (Lógica de Programação)
 
Web design responsivo e adaptativo - HTML5/CSS3
Web design responsivo e adaptativo - HTML5/CSS3Web design responsivo e adaptativo - HTML5/CSS3
Web design responsivo e adaptativo - HTML5/CSS3
 
Banco de Dados - MySQL Basico
Banco de Dados - MySQL BasicoBanco de Dados - MySQL Basico
Banco de Dados - MySQL Basico
 
Manual de portugol
Manual de portugolManual de portugol
Manual de portugol
 
Aula01 - Logica de Programação
Aula01 - Logica de ProgramaçãoAula01 - Logica de Programação
Aula01 - Logica de Programação
 

Destaque

Regras do projeto final
Regras do projeto finalRegras do projeto final
Regras do projeto finalPacc UAB
 
Aula 2 - Introdução à programação de computadores - parte1
Aula 2 - Introdução à programação de computadores - parte1Aula 2 - Introdução à programação de computadores - parte1
Aula 2 - Introdução à programação de computadores - parte1Pacc UAB
 
Aula 6 - Estruturas de seleção encadeada - parte 2
Aula 6 - Estruturas de seleção encadeada - parte 2Aula 6 - Estruturas de seleção encadeada - parte 2
Aula 6 - Estruturas de seleção encadeada - parte 2Pacc UAB
 
Aula 10 - Equivalência Java x Portugol Studio - parte 1
Aula 10 - Equivalência Java x Portugol Studio - parte 1Aula 10 - Equivalência Java x Portugol Studio - parte 1
Aula 10 - Equivalência Java x Portugol Studio - parte 1Pacc UAB
 
Aula 12 - Exercícios vetores unidimensionais
Aula 12 - Exercícios vetores unidimensionaisAula 12 - Exercícios vetores unidimensionais
Aula 12 - Exercícios vetores unidimensionaisPacc UAB
 
Aula 16 - Modularização - parte 4 - exercícios
Aula 16 - Modularização - parte 4 - exercíciosAula 16 - Modularização - parte 4 - exercícios
Aula 16 - Modularização - parte 4 - exercíciosPacc UAB
 
Pi - aula inaugural
Pi - aula inauguralPi - aula inaugural
Pi - aula inauguralPacc UAB
 
Aula 10 - Equivalência Java x Portugol Studio - parte 2
Aula 10 - Equivalência Java x Portugol Studio - parte 2Aula 10 - Equivalência Java x Portugol Studio - parte 2
Aula 10 - Equivalência Java x Portugol Studio - parte 2Pacc UAB
 
Aula 14 - Exercícios matrizes
Aula 14 - Exercícios matrizesAula 14 - Exercícios matrizes
Aula 14 - Exercícios matrizesPacc UAB
 
Aula 2 - Introdução à programação de computadores - parte 2
Aula 2 - Introdução à programação de computadores - parte 2Aula 2 - Introdução à programação de computadores - parte 2
Aula 2 - Introdução à programação de computadores - parte 2Pacc UAB
 
Aula 8 - Validação - parte 1
Aula 8 - Validação - parte 1Aula 8 - Validação - parte 1
Aula 8 - Validação - parte 1Pacc UAB
 
Aula 5 - Estruturas de seleção encadeada - parte 2
Aula 5 - Estruturas de seleção encadeada - parte 2Aula 5 - Estruturas de seleção encadeada - parte 2
Aula 5 - Estruturas de seleção encadeada - parte 2Pacc UAB
 
Aula 11 - Vetores unidimensionais - parte 2
Aula 11 - Vetores unidimensionais - parte 2Aula 11 - Vetores unidimensionais - parte 2
Aula 11 - Vetores unidimensionais - parte 2Pacc UAB
 
Aula 11 - Vetores unidimensionais - parte 1
Aula 11 - Vetores unidimensionais - parte 1Aula 11 - Vetores unidimensionais - parte 1
Aula 11 - Vetores unidimensionais - parte 1Pacc UAB
 
Aula 15 - Modularização -parte1
Aula 15 - Modularização -parte1Aula 15 - Modularização -parte1
Aula 15 - Modularização -parte1Pacc UAB
 
Aula 13 - Matrizes
Aula 13 - MatrizesAula 13 - Matrizes
Aula 13 - MatrizesPacc UAB
 
Aula 16 - Modularização - parte 3 - exercícios
Aula 16 - Modularização - parte 3 - exercíciosAula 16 - Modularização - parte 3 - exercícios
Aula 16 - Modularização - parte 3 - exercíciosPacc UAB
 

Destaque (17)

Regras do projeto final
Regras do projeto finalRegras do projeto final
Regras do projeto final
 
Aula 2 - Introdução à programação de computadores - parte1
Aula 2 - Introdução à programação de computadores - parte1Aula 2 - Introdução à programação de computadores - parte1
Aula 2 - Introdução à programação de computadores - parte1
 
Aula 6 - Estruturas de seleção encadeada - parte 2
Aula 6 - Estruturas de seleção encadeada - parte 2Aula 6 - Estruturas de seleção encadeada - parte 2
Aula 6 - Estruturas de seleção encadeada - parte 2
 
Aula 10 - Equivalência Java x Portugol Studio - parte 1
Aula 10 - Equivalência Java x Portugol Studio - parte 1Aula 10 - Equivalência Java x Portugol Studio - parte 1
Aula 10 - Equivalência Java x Portugol Studio - parte 1
 
Aula 12 - Exercícios vetores unidimensionais
Aula 12 - Exercícios vetores unidimensionaisAula 12 - Exercícios vetores unidimensionais
Aula 12 - Exercícios vetores unidimensionais
 
Aula 16 - Modularização - parte 4 - exercícios
Aula 16 - Modularização - parte 4 - exercíciosAula 16 - Modularização - parte 4 - exercícios
Aula 16 - Modularização - parte 4 - exercícios
 
Pi - aula inaugural
Pi - aula inauguralPi - aula inaugural
Pi - aula inaugural
 
Aula 10 - Equivalência Java x Portugol Studio - parte 2
Aula 10 - Equivalência Java x Portugol Studio - parte 2Aula 10 - Equivalência Java x Portugol Studio - parte 2
Aula 10 - Equivalência Java x Portugol Studio - parte 2
 
Aula 14 - Exercícios matrizes
Aula 14 - Exercícios matrizesAula 14 - Exercícios matrizes
Aula 14 - Exercícios matrizes
 
Aula 2 - Introdução à programação de computadores - parte 2
Aula 2 - Introdução à programação de computadores - parte 2Aula 2 - Introdução à programação de computadores - parte 2
Aula 2 - Introdução à programação de computadores - parte 2
 
Aula 8 - Validação - parte 1
Aula 8 - Validação - parte 1Aula 8 - Validação - parte 1
Aula 8 - Validação - parte 1
 
Aula 5 - Estruturas de seleção encadeada - parte 2
Aula 5 - Estruturas de seleção encadeada - parte 2Aula 5 - Estruturas de seleção encadeada - parte 2
Aula 5 - Estruturas de seleção encadeada - parte 2
 
Aula 11 - Vetores unidimensionais - parte 2
Aula 11 - Vetores unidimensionais - parte 2Aula 11 - Vetores unidimensionais - parte 2
Aula 11 - Vetores unidimensionais - parte 2
 
Aula 11 - Vetores unidimensionais - parte 1
Aula 11 - Vetores unidimensionais - parte 1Aula 11 - Vetores unidimensionais - parte 1
Aula 11 - Vetores unidimensionais - parte 1
 
Aula 15 - Modularização -parte1
Aula 15 - Modularização -parte1Aula 15 - Modularização -parte1
Aula 15 - Modularização -parte1
 
Aula 13 - Matrizes
Aula 13 - MatrizesAula 13 - Matrizes
Aula 13 - Matrizes
 
Aula 16 - Modularização - parte 3 - exercícios
Aula 16 - Modularização - parte 3 - exercíciosAula 16 - Modularização - parte 3 - exercícios
Aula 16 - Modularização - parte 3 - exercícios
 

Semelhante a Aula 4 - Teste de mesa

Algoritmo e lógica de programação - Aula 1
Algoritmo e lógica de programação - Aula 1Algoritmo e lógica de programação - Aula 1
Algoritmo e lógica de programação - Aula 1engenhariadecomputacao
 
Lógica de programação em ppt
Lógica de programação em pptLógica de programação em ppt
Lógica de programação em pptAndrei Bastos
 
Apresentação 20130805 algoritmos
Apresentação 20130805 algoritmos Apresentação 20130805 algoritmos
Apresentação 20130805 algoritmos João moreira
 
algoritmo-m03-tiposdedados-151221150545.pptx
algoritmo-m03-tiposdedados-151221150545.pptxalgoritmo-m03-tiposdedados-151221150545.pptx
algoritmo-m03-tiposdedados-151221150545.pptxGustavoMaciel67
 
Prova algoritmos
Prova algoritmosProva algoritmos
Prova algoritmospronatecvja
 
Alg aula 03 - construcao algoritmos2 tp1
Alg   aula 03 - construcao algoritmos2 tp1Alg   aula 03 - construcao algoritmos2 tp1
Alg aula 03 - construcao algoritmos2 tp1Thalles Anderson
 
4-Introducao programacao-convertido.pptx
4-Introducao programacao-convertido.pptx4-Introducao programacao-convertido.pptx
4-Introducao programacao-convertido.pptxPatrícia Melo
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmosjormad
 
Excell avançado atualizada
Excell avançado   atualizadaExcell avançado   atualizada
Excell avançado atualizadaSilvio Soares
 
Conceitos e técnicas de programação aula 2
Conceitos e técnicas de programação aula 2Conceitos e técnicas de programação aula 2
Conceitos e técnicas de programação aula 2Robson Ferreira
 
Algoritmos e linguagem pascal
Algoritmos e linguagem pascalAlgoritmos e linguagem pascal
Algoritmos e linguagem pascalangelicamenegassi
 
Algoritmos e linguagem pascal
Algoritmos e linguagem pascalAlgoritmos e linguagem pascal
Algoritmos e linguagem pascalangelicamenegassi
 
Descritiva Narrativa (Lógica de Programação)
Descritiva Narrativa (Lógica de Programação)Descritiva Narrativa (Lógica de Programação)
Descritiva Narrativa (Lógica de Programação)Gercélia Ramos
 

Semelhante a Aula 4 - Teste de mesa (20)

Algoritmo e lógica de programação - Aula 1
Algoritmo e lógica de programação - Aula 1Algoritmo e lógica de programação - Aula 1
Algoritmo e lógica de programação - Aula 1
 
Aula 5 algoritimos(continuacao)
Aula 5   algoritimos(continuacao)Aula 5   algoritimos(continuacao)
Aula 5 algoritimos(continuacao)
 
Sap prova a
Sap prova aSap prova a
Sap prova a
 
Algop - aula 03
Algop - aula 03Algop - aula 03
Algop - aula 03
 
Introducao logica
Introducao logicaIntroducao logica
Introducao logica
 
Lógica de programação em ppt
Lógica de programação em pptLógica de programação em ppt
Lógica de programação em ppt
 
Apresentação 20130805 algoritmos
Apresentação 20130805 algoritmos Apresentação 20130805 algoritmos
Apresentação 20130805 algoritmos
 
algoritmo-m03-tiposdedados-151221150545.pptx
algoritmo-m03-tiposdedados-151221150545.pptxalgoritmo-m03-tiposdedados-151221150545.pptx
algoritmo-m03-tiposdedados-151221150545.pptx
 
Prova algoritmos
Prova algoritmosProva algoritmos
Prova algoritmos
 
Alg aula 03 - construcao algoritmos2 tp1
Alg   aula 03 - construcao algoritmos2 tp1Alg   aula 03 - construcao algoritmos2 tp1
Alg aula 03 - construcao algoritmos2 tp1
 
4-Introducao programacao-convertido.pptx
4-Introducao programacao-convertido.pptx4-Introducao programacao-convertido.pptx
4-Introducao programacao-convertido.pptx
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Excell avançado atualizada
Excell avançado   atualizadaExcell avançado   atualizada
Excell avançado atualizada
 
Conceitos e técnicas de programação aula 2
Conceitos e técnicas de programação aula 2Conceitos e técnicas de programação aula 2
Conceitos e técnicas de programação aula 2
 
Ap1(gabarito)
Ap1(gabarito)Ap1(gabarito)
Ap1(gabarito)
 
Algoritmos e linguagem pascal
Algoritmos e linguagem pascalAlgoritmos e linguagem pascal
Algoritmos e linguagem pascal
 
Algoritmos e linguagem pascal
Algoritmos e linguagem pascalAlgoritmos e linguagem pascal
Algoritmos e linguagem pascal
 
Series lab
Series labSeries lab
Series lab
 
Descritiva Narrativa (Lógica de Programação)
Descritiva Narrativa (Lógica de Programação)Descritiva Narrativa (Lógica de Programação)
Descritiva Narrativa (Lógica de Programação)
 
Aula 3-lógica.pptx
Aula 3-lógica.pptxAula 3-lógica.pptx
Aula 3-lógica.pptx
 

Último

Cartão de crédito e fatura do cartão.pptx
Cartão de crédito e fatura do cartão.pptxCartão de crédito e fatura do cartão.pptx
Cartão de crédito e fatura do cartão.pptxMarcosLemes28
 
O que é arte. Definição de arte. História da arte.
O que é arte. Definição de arte. História da arte.O que é arte. Definição de arte. História da arte.
O que é arte. Definição de arte. História da arte.denisecompasso2
 
Sistema de Bibliotecas UCS - Cantos do fim do século
Sistema de Bibliotecas UCS  - Cantos do fim do séculoSistema de Bibliotecas UCS  - Cantos do fim do século
Sistema de Bibliotecas UCS - Cantos do fim do séculoBiblioteca UCS
 
P P P 2024 - *CIEJA Santana / Tucuruvi*
P P P 2024  - *CIEJA Santana / Tucuruvi*P P P 2024  - *CIEJA Santana / Tucuruvi*
P P P 2024 - *CIEJA Santana / Tucuruvi*Viviane Moreiras
 
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...azulassessoria9
 
3 2 - termos-integrantes-da-oracao-.pptx
3 2 - termos-integrantes-da-oracao-.pptx3 2 - termos-integrantes-da-oracao-.pptx
3 2 - termos-integrantes-da-oracao-.pptxMarlene Cunhada
 
Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!
Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!
Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!Centro Jacques Delors
 
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdfApresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdfcomercial400681
 
M0 Atendimento – Definição, Importância .pptx
M0 Atendimento – Definição, Importância .pptxM0 Atendimento – Definição, Importância .pptx
M0 Atendimento – Definição, Importância .pptxJustinoTeixeira1
 
Apresentação | Símbolos e Valores da União Europeia
Apresentação | Símbolos e Valores da União EuropeiaApresentação | Símbolos e Valores da União Europeia
Apresentação | Símbolos e Valores da União EuropeiaCentro Jacques Delors
 
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...MariaCristinaSouzaLe1
 
Sistema articular aula 4 (1).pdf articulações e junturas
Sistema articular aula 4 (1).pdf articulações e junturasSistema articular aula 4 (1).pdf articulações e junturas
Sistema articular aula 4 (1).pdf articulações e junturasrfmbrandao
 
O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...
O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...
O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...azulassessoria9
 
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...marcelafinkler
 
Os editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptxOs editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptxTailsonSantos1
 
Sopa de letras | Dia da Europa 2024 (nível 2)
Sopa de letras | Dia da Europa 2024 (nível 2)Sopa de letras | Dia da Europa 2024 (nível 2)
Sopa de letras | Dia da Europa 2024 (nível 2)Centro Jacques Delors
 
AULÃO de Língua Portuguesa para o Saepe 2022
AULÃO de Língua Portuguesa para o Saepe 2022AULÃO de Língua Portuguesa para o Saepe 2022
AULÃO de Língua Portuguesa para o Saepe 2022LeandroSilva126216
 
Educação Financeira - Cartão de crédito665933.pptx
Educação Financeira - Cartão de crédito665933.pptxEducação Financeira - Cartão de crédito665933.pptx
Educação Financeira - Cartão de crédito665933.pptxMarcosLemes28
 
6ano variação linguística ensino fundamental.pptx
6ano variação linguística ensino fundamental.pptx6ano variação linguística ensino fundamental.pptx
6ano variação linguística ensino fundamental.pptxJssicaCassiano2
 
aprendizagem significatica, teórico David Ausubel
aprendizagem significatica, teórico David Ausubelaprendizagem significatica, teórico David Ausubel
aprendizagem significatica, teórico David Ausubeladrianaguedesbatista
 

Último (20)

Cartão de crédito e fatura do cartão.pptx
Cartão de crédito e fatura do cartão.pptxCartão de crédito e fatura do cartão.pptx
Cartão de crédito e fatura do cartão.pptx
 
O que é arte. Definição de arte. História da arte.
O que é arte. Definição de arte. História da arte.O que é arte. Definição de arte. História da arte.
O que é arte. Definição de arte. História da arte.
 
Sistema de Bibliotecas UCS - Cantos do fim do século
Sistema de Bibliotecas UCS  - Cantos do fim do séculoSistema de Bibliotecas UCS  - Cantos do fim do século
Sistema de Bibliotecas UCS - Cantos do fim do século
 
P P P 2024 - *CIEJA Santana / Tucuruvi*
P P P 2024  - *CIEJA Santana / Tucuruvi*P P P 2024  - *CIEJA Santana / Tucuruvi*
P P P 2024 - *CIEJA Santana / Tucuruvi*
 
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
 
3 2 - termos-integrantes-da-oracao-.pptx
3 2 - termos-integrantes-da-oracao-.pptx3 2 - termos-integrantes-da-oracao-.pptx
3 2 - termos-integrantes-da-oracao-.pptx
 
Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!
Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!
Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!
 
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdfApresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
 
M0 Atendimento – Definição, Importância .pptx
M0 Atendimento – Definição, Importância .pptxM0 Atendimento – Definição, Importância .pptx
M0 Atendimento – Definição, Importância .pptx
 
Apresentação | Símbolos e Valores da União Europeia
Apresentação | Símbolos e Valores da União EuropeiaApresentação | Símbolos e Valores da União Europeia
Apresentação | Símbolos e Valores da União Europeia
 
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...
 
Sistema articular aula 4 (1).pdf articulações e junturas
Sistema articular aula 4 (1).pdf articulações e junturasSistema articular aula 4 (1).pdf articulações e junturas
Sistema articular aula 4 (1).pdf articulações e junturas
 
O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...
O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...
O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...
 
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...
 
Os editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptxOs editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptx
 
Sopa de letras | Dia da Europa 2024 (nível 2)
Sopa de letras | Dia da Europa 2024 (nível 2)Sopa de letras | Dia da Europa 2024 (nível 2)
Sopa de letras | Dia da Europa 2024 (nível 2)
 
AULÃO de Língua Portuguesa para o Saepe 2022
AULÃO de Língua Portuguesa para o Saepe 2022AULÃO de Língua Portuguesa para o Saepe 2022
AULÃO de Língua Portuguesa para o Saepe 2022
 
Educação Financeira - Cartão de crédito665933.pptx
Educação Financeira - Cartão de crédito665933.pptxEducação Financeira - Cartão de crédito665933.pptx
Educação Financeira - Cartão de crédito665933.pptx
 
6ano variação linguística ensino fundamental.pptx
6ano variação linguística ensino fundamental.pptx6ano variação linguística ensino fundamental.pptx
6ano variação linguística ensino fundamental.pptx
 
aprendizagem significatica, teórico David Ausubel
aprendizagem significatica, teórico David Ausubelaprendizagem significatica, teórico David Ausubel
aprendizagem significatica, teórico David Ausubel
 

Aula 4 - Teste de mesa

  • 1. Bacharelado em Ciência e Tecnologia Processamento da Informação TESTE DE MESA TESTE DE MESA Prof. Dr. Edson Pimentel Centro de Matemática, Computação e Cognição
  • 2. Bacharelado em Ciência e Tecnologia Processamento da Informação TESTE DE MESA Objetivos  Aprender a verificar se o algoritmo (ou programa) leva a um resultado esperado através de simulação de valores, utilizando a técnica de TESTE DE MESA
  • 3. Bacharelado em Ciência e Tecnologia Processamento da Informação TESTE DE MESA TESTE DE MESA  O teste de mesa simula a execução de um algoritmo sem utilizar o computador, empregando apenas “papel e caneta” (ou melhor sem utilizar um compilador ou interpretador).
  • 4. Bacharelado em Ciência e Tecnologia Processamento da Informação TESTE DE MESA Passos para realizar o teste de mesa  Identifique as variáveis envolvidas em seu algoritmo;  Crie uma tabela com linhas e colunas, em que:  cada coluna representará uma variável a ser “observada”  as linhas corresponderão às instruções observadas pelo teste de mesa e  a primeira coluna deverá identificar os números das linhas correspondentes às instruções observadas; LINHA a b c 5 ? ? ? 7 ? ? ?
  • 5. Bacharelado em Ciência e Tecnologia Processamento da Informação TESTE DE MESA Passos para realizar o teste de mesa  De cima para baixo, preencha cada uma das linhas da tabela com o número da linha que identifica cada instrução, seguido dos valores assumidos pelas variáveis do programa após a execução daquela instrução. LINHA a b c 5 7 11 13
  • 6. Bacharelado em Ciência e Tecnologia Processamento da Informação TESTE DE MESA Passos para realizar o teste de mesa  Para indicar que o valor de uma variável foi lido, envolva-o entre parênteses  Se o valor foi escrito pela instrução, envolva-o entre chaves  Para valores indefinidos, isto é, aqueles que ainda não foram determinados até uma dada instrução, utilize a interrogação LINHA a b c 5 (18) ? ? 7 11 13 {7.5}
  • 7. Bacharelado em Ciência e Tecnologia Processamento da Informação TESTE DE MESA EXEMPLO
  • 8. Bacharelado em Ciência e Tecnologia Processamento da Informação TESTE DE MESA Exemplo  Vejamos agora como um “teste de mesa” funciona por meio de um algoritmo simples:  Escreva um algoritmo para ler dois números (a e b) e apresentar o resultado das 4 operações aritméticas básicas (adição, subtração, multiplicação e divisão)
  • 9. Bacharelado em Ciência e Tecnologia Processamento da Informação TESTE DE MESA Escreva um algoritmo para ler dois números (a e b) e apresentar o resultado das 4 operações aritméticas básicas (adição, subtração, multiplicação e divisão)  SAÍDA: Quais os resultados que o algoritmo deve fornecer ?  ENTRADA: Quais os insumos necessários para se obter a saída?  PROCESSAMENTO: Como transformar os insumos na saída?  SAÍDA: soma, subtração, produto e divisão  ENTRADA: dois números (a, b)  PROCESSAMENTO:  Soma = a + b  Subtracao = a - b  Divisao = a / b  Produto = a * b Resolvendo
  • 10. Bacharelado em Ciência e Tecnologia Processamento da Informação TESTE DE MESA Solução Declaração de Variáveis
  • 11. Bacharelado em Ciência e Tecnologia Processamento da Informação TESTE DE MESA Solução Entrada de Dados
  • 12. Bacharelado em Ciência e Tecnologia Processamento da Informação TESTE DE MESA Solução Processamento
  • 13. Bacharelado em Ciência e Tecnologia Processamento da Informação TESTE DE MESA Solução Saída de Dados
  • 14. Bacharelado em Ciência e Tecnologia Processamento da Informação TESTE DE MESA Aplicação do Teste de Mesa
  • 15. Bacharelado em Ciência e Tecnologia Processamento da Informação TESTE DE MESA OUTRO EXEMPLO
  • 16. Bacharelado em Ciência e Tecnologia Processamento da Informação TESTE DE MESA Escreva um algoritmo para ler dois números (a e b) e trocar os seus valores. Exibir os valores de a e b após a troca  SAÍDA: Quais os resultados que o algoritmo deve fornecer ?  ENTRADA: Quais os insumos necessários para se obter a saída?  PROCESSAMENTO: Como transformar os insumos na saída?  SAÍDA: valores de a e b (trocados)  ENTRADA: dois números (A, B)  PROCESSAMENTO:  A = B  B = A Resolvendo
  • 17. Bacharelado em Ciência e Tecnologia Processamento da Informação TESTE DE MESA Solução Declaração de Variáveis Entrada de Dados Saída de Dados Processamento
  • 18. Bacharelado em Ciência e Tecnologia Processamento da Informação TESTE DE MESA Aplicação do Teste de Mesa LINHA a b 7 (12) ? 9 (3) 10 3 11 3 12 {3} 13 {3} Escreva um algoritmo para ler dois números (a e b) e trocar os seus valores. Exibir os valores de a e b após a troca
  • 19. Bacharelado em Ciência e Tecnologia Processamento da Informação TESTE DE MESA Aplicação do Teste de Mesa Nota-se que o RESULTADO exibido pelo programa é INVÁLIDO, ou seja, não atende ao enunciado. O programa deveria ter exibido 3 e 12. O teste de mesa cumpriu seu objetivo que foi “detectar” o ERRO. LINHA a b 7 (12) ? 9 (3) 10 3 11 3 12 {3} 13 {3}
  • 20. Bacharelado em Ciência e Tecnologia Processamento da Informação TESTE DE MESA Nova solução Para efetuar a troca necessita-se de uma TERCEIRA variável (auxiliar)
  • 21. Bacharelado em Ciência e Tecnologia Processamento da Informação TESTE DE MESA Aplicação do Teste de Mesa LINHA a b aux 7 (12) ? ? 9 (3) 10 12 11 3 12 12 13 {3} 14 {12}
  • 22. Bacharelado em Ciência e Tecnologia Processamento da Informação TESTE DE MESA Observações  Os testes de mesa podem ser SIMPLIFICADOS, focando apenas nas MODIFICAÇÕES das variáveis, sem os detalhes das linhas em que ocorrem as modificações  Nesse caso, fica mais difícil reconstituir o “passo a passo”  Testes de Mesa são essencialmente importantes com ALGORITMOS COMPLEXOS (com seleção, repetição, etc)
  • 23. Bacharelado em Ciência e Tecnologia Processamento da Informação TESTE DE MESA AGORA É PRATICAR!!!