TESTE DE MESA. Prof. João Henrique Kleinschmidt Material elaborado pelos professores de PI

Documentos relacionados
Estruturas de Repetição Parte I ENQUANTO-FAÇA

Estruturas de Seleção Parte I Seleção Simples e Composta

Algoritmos Computacionais

Bacharelado em Ciência e Tecnologia Processamento da Informação TESTE DE MESA TESTE DE MESA

Estruturas de Seleção Parte II Seleção Encadeada

Conceitos básicos de algoritmos

Estruturas de Seleção Seleção Simples e Composta (parte 1)

Estruturas de Seleção Seleção Simples e Composta (parte 2)

Portugol. Tiago Alves de Oliveira

Algoritmo e Programação. Capítulo 2 Tópicos Preliminares

Introdução a programação Visão geral

Prof. Jorge Cavalcanti

Estruturas de Repetição Parte I ENQUANTO

ALGORITMOS AULA 1. Profª Amanda Gondim

LÓGICA DE PROGRAMAÇÃO. PROFª. M.Sc. JULIANA H Q BENACCHIO

Informática Fundamentos em C++ Revisão 1

Métodos para a construção de algoritmo

Algoritmos e Programação. Ederson Luiz da Silva Ciência da Computação

Lógica e Linguagem de Programação Aula 03 - Estruturas de controle Exercícios de Fixação 2 - RESPOSTAS Professor: Danilo Giacobo

Conceitos Básicos de Algoritmos

Estruturas Condicionais. Tiago Alves de Oliveira

Estruturas de Seleção Seleção Encadeada

Estruturas de Repetição Parte I ENQUANTO-FAÇA

Aula 4B. Lógica e Algoritmos. Profª. Fabiany

Lógica para programação II Seção 1 - Histórico e Introdução Primeiros Programas

EXERCÍCIOS Seleção Simples e Composta (parte 3)

CAI Fluxograma Revisão 7

Algoritmo e Programação Matemática

Fundamentos de Programação em Python

AEDI Fundamentos Revisão 1

Introdução a Programação. Curso: Sistemas de Informação Programação I José R. Merlin

CADERNO DE EXERCÍCIOS ALGORITMOS

PROGRAMAÇÃO COMPUTACIONAL I

LISTA DE EXERCÍCIOS. 2) Explique a diferença entre algoritmo computacional e não computacional.

Estruturas de Seleção Parte II Seleção Encadeada

Pseudocódigo Exercício 2

PC Fluxograma Revisão 8

Capítulo 1 Conceitos Básicos

Fluxograma. Conjunto de símbolos utilizados em fluxogramas

Introdução a Computação

Introdução à Programação. Operadores, Expressões Aritméticas e Entrada/Saída de Dados

Aula 4 Estruturas Condicionais

Prof. Tiago Alves de Oliveira. Tiago Alves de Oliveira - 1

CONCEITOS DE ALGORITMOS

INFORMÁTICA APLICADA AULA 02 ALGORITMOS

EXPRESSÕES ARITMÉTICAS PARTE 1

Entrada/Saída, Operadores. Curso: Técnico em Informática Disciplina: Algoritmos Prof. Abrahão Lopes

Lista de Exercícios - 1 Prof: Yuri Frota

Algoritmos e Programação

EXERC EXAME DISCIPLINA: ALG ESTRUTURA DE DADOS I

Algoritmos e Estrutura de Dados I Conceitos de Algoritmos. Prof. Elyssandro Piffer

ESTRUTURAS DE CONTROLE ESTRUTURAS DE REPETIÇÃO

LÓGICA DE PROGRAMAÇÃO. Algoritmos Computacionais. Sérgio Carlos Portari Júnior

Universidade Federal de Uberlândia - UFU Faculdade de Computação - FACOM Lista de exercícios de programação em linguagem Python

Algoritmos e Programação

Introdução à Lógica de Programação

Introdução à Lógica de Programação

Apontadores/ponteiros

Noções de algoritmos - Aula 1

Conhecendo a Linguagem de Programação C

Oficina de Introdução de Programação usando Linguagem Python Prof. Ms. Perini

Introdução à Pseudo-código PROGRAMAÇÃO I (COM06842) LÓGICA E TÉCNICA DE PROGRAMAÇÃO (COM06039)

Pseudolinguagem (ou Portugol) Profº Elton Rodrigo

Introdução à Ciência da Computação

ESTRUTURAS DE CONTROLE ESTRUTURAS DE REPETIÇÃO

Introdução à Lógica de Programação. Adaptação de Luis Otavio Alvares

MATEMÁTICA PROF. JOSÉ LUÍS NÚMEROS DECIMAIS

Fluxogramas e variáveis

Programação Estruturada Aula VisualG

Matrizes (Vetores Bidimensionais)

Exercícios Repetição

Técnicas de Programação

Teoria da Computação e Algoritmos. Introdução à Linguagem Pascal. ALGORITMO <Nome do algoritmo>; <definições>; INÍCIO <Comandos>; FIM.

Programação para Games I

Introdução à Programação. slides de Deise Sacol

Variáveis, Expressões Aritméticas e Entrada e Saída de Dados

Processamento de Dados aplicado à Geociências. AULA 4:Comando de Entrada Comando de Saída Comando de Atribuição

1. Faça um algoritmo que receba dois números e exiba o resultado da sua soma. subtração, multiplicação e a divisão dos números lidos.

Algoritmos e Programação I

Fábio Rodrigues / Israel Lucania

ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO

1. [VETOR][SALA] Cálculo da média aritmética de 10 valores armazenados em um vetor.

Programação Básica. Estrutura de um algoritmo

Linguagem de Descrição de algoritmos

Estruturas de Controle de Fluxo Estruturas de Seleção. Givanaldo Rocha

Unidade 4: Introdução à Lógica de Programação - Parte II

ALGORITMOS E LÓGICA DE PROGRAMAÇÃO PRÉ AULA DIAGNÓSTICO 22/10/2015. Analise o algoritmo a seguir e depois assinale a alternativa correspondente:

Algoritmo e Introdução a Programação. Prof. Josino Rodrigues

Introdução à Algoritmos. Professora: Fabíola Gonçalves.

Método para Construção de Algoritmos

Oficina de Python Prof. Me. José Carlos Perini

CCO 016 / COM 110 Fundamentos de Programação

Programação de Computadores:

PROGRAMA HelloWorld.java ESTRUTURA SEQUENCIAL. Programa HelloWorld.java

Sabe-se que as unidades de entrada e saída são dos dispositivos que possibilitam a comunicação entre o usuário e o computador.

PORTUGUÊS ESTRUTURADO: INTRODUÇÃO INTRODUÇÃO À PROGRAMAÇÃO PROF. ALEXANDRO DOS SANTOS SILVA

AULA 07. HABILIDADES TRABALHADAS: Desenvolver algoritmos utilizando laços a partir da leitura de fluxogramas ou algoritmos em portugol.

Transcrição:

Prof. João Henrique Kleinschmidt Material elaborado pelos professores de PI

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

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).

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???

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

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}

EXEMPLO

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)

Resolvendo 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

Solução Declaração de Variáveis

Solução Entrada de Dados

Solução Processamento

Solução Saída de Dados

Aplicação do Teste de Mesa

OUTRO EXEMPLO

Resolvendo 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?

Resolvendo 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

Solução Declaração de Variáveis Entrada de Dados Processamento Saída de Dados

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

Aplicação do Teste de Mesa LINHA a b 7 (12)? 9 (3) 10 3 11 3 12 {3} 13 {3} 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.

Nova solução Para efetuar a troca necessita-se de uma TERCEIRA variável (auxiliar)

Aplicação do Teste de Mesa LINHA a b aux 7 (12)?? 9 (3) 10 12 11 3 12 12 13 {3} 14 {12}

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)

Exercício: fazer o teste de mesa

Linha X y aux1 aux2 aux3 8 10 11 12 13 14 15 16 17 18 19 20 21 22

Exercício Escreva um algoritmo em PORTUGOL que calcule o IMC (índice de massa corporal). IMC=peso/(altura) 2 Faça o teste de mesa.

AGORA É PRATICAR!!!