Introdução à Programação: uma Abordagem Funcional Programação I Engenharia de Computação Professores Claudia Boeres e Estefhan Dazzi Wandekoken 2010/1.

Slides:



Advertisements
Apresentações semelhantes
GEOMETRIA DESCRITIVA A
Advertisements

GEOMETRIA DESCRITIVA A
Continuidade: sem interrupções
RECORTE DE FIGURAS Algoritmo proposto para Recorte de Segmentos (atribuído a Ivan Sutherland e Dan Cohen) Para o entendimento do algoritmo a ser proposto,
Departamento de Informática Universidade Federal do Espírito Santo
Introdução à Programação: uma Abordagem Funcional
Introdução à Programação: uma Abordagem Funcional
Introdução à Programação: uma Abordagem Funcional
Introdução à Programação: uma Abordagem Funcional Programação I Engenharia de Computação Prof.ª Claudia Boeres 2009/1.
Introdução à Programação: uma Abordagem Funcional Programação I Engenharia de Computação Prof.ª Claudia Boeres 2009/1.
Projeto de Programação Departamento de Informática – CT XVII Engenharia de Computação Programação I /1 Maria Claudia Boeres MOONLANDER Hudson Martins.
Introdução à Programação: uma Abordagem Funcional PD I – Engenharia Elétrica Prof.ª Claudia Boeres 2008/2.
Introdução à Programação: uma Abordagem Funcional PD I – Engenharia Elétrica Prof.ª Claudia Boeres 2008/2.
Introdução à Programação: uma Abordagem Funcional Programação I Eng. de Computação Prof.ª Claudia Boeres e Prof. Estefhan Dazzi 2010/1.
Introdução à Programação uma Abordagem Funcional Programação I Prof.ª Claudia Boeres CT VII - Sala 34 Departamento de Informática Centro.
Introdução à Programação: uma Abordagem Funcional Programação I Engenharia de Computação Prof.ª Claudia Boeres e Prof. Estefhan Dazzi Wandekoken 2010/1.
Teste de Software 11: Teste baseado em falhas
Distâncias.
Planos.
MÉTODOS QUANTITATIVOS
Introdução à Programação: uma Abordagem Funcional PD I – Eng. Elétrica Prof.ª Claudia Boeres 2008/2.
Introdução à Programação: uma Abordagem Funcional PD I – Engenharia Elétrica Prof.ª Claudia Boeres 2008/2.
Introdução à Programação uma Abordagem Funcional Programação I Prof.ª Claudia Boeres CT VII - Sala 34 Departamento de Informática Centro.
Introdução à Programação uma Abordagem Funcional Programação I Prof.ª Claudia Boeres CT VII - Sala 34 Departamento de Informática Centro.
Introdução à Programação uma Abordagem Funcional Programação I Prof.ª Claudia Boeres CT VII - Sala 34 Departamento de Informática Centro.
Débora da Silva Orientadora: Maria Inés Castiñeira
Técnicas de Teste de Software
Teste de Software.
Aula 02 continuação.
Identificando requisitos
Termologia.
Ludwig Krippahl, 2007 Programação para as Ciências Experimentais 2006/7 Teórica 4.
Equação de um lugar geométrico (LG)
PREDIÇÃO DATA MINING AULA 13 SANDRA DE AMO
Algoritmos para Seleção Simples
Problemas NP-completos
INF Computação Gráfica
Avaliação de Desempenho
Avaliação de Desempenho Introdução Aula 1 Marcos José Santana Regina Helena Carlucci Santana Universidade de São Paulo Instituto de Ciências Matemáticas.
Pesquisa Operacional profa Úrsula Lisbôa Fernandes Ribeiro
1 Professor Rogério B. de Andrade - Aula 001- Dez/2008 Técnicas e Linguagem de Programação.
Exp_P160_00hzCI. sim_P160_00hz exp_P160_45hz sim_P120_20hz.
HIPÓTESE Enunciado geral de relações entre fatos ou fenômenos
Técnicas para algoritmos de superfície visível eficientes (Techniques for efficient visible-surface algorithms) Fabio Utzig Rodrigo Senger.
Lógica para Computação (IF61B) Lógica para Computação Prof. Celso Antônio Alves Kaestner, Dr. Eng.
Lógica para Computação: Especificação e Verificação de Programas
Abordagem Estratégica ao Teste de Software
Divisão e Conquista Análise de algoritmos UNISUL Ciência da Computação
Correcção da Ficha de Avaliação
UNIVERSIDADE FEDERAL DE UBERLÂNDIA FACULDADE DE MATEMÁTICA
Sistemas Inteligentes
UNIVERSIDADE FEDERAL DE UBERLÂNDIA FACULDADE DE MATEMÁTICA
Semana 03: Comandos de desvio de fluxo. Expressões lógicas.
I- Introdução Motivação.
I- Introdução Motivação.
Introdução a Computação e Cálculo Numérico - Lab
Introdução a Computação e Cálculo Numérico
E Ellís Carvalho Luiz Afonso
QUEM VÊ CARA NÃO VÊ CLASSIFICAÇÃO
Semana 03 Comandos de desvio de fluxo. Expressões lógicas.
Aula 3 - Método gráfico Programação Linear
Prof. Ricardo Santos PONTEIROS
Complexidade de Algoritmos
Conceito de Processo A realização de qualquer ação (fim, resultado) é precedido por uma seqüência de ações (causas). É um conjunto de causas que produz.
Trabalho Shell Script Analise e Desenvolvimento de Sistemas
Lógica para Computação Prof. Celso Antônio Alves Kaestner, Dr. Eng. celsokaestner (at) utfpr (dot) edu (dot) br.
O que é? É o processo de investigação técnica com intuito de identificar a qualidade, a segurança e a exatidão do software desenvolvido. A validação do.
ANÁLISE ESTATÍSTICA II
Manutenção TEF Resolvendo problemas com os arquivos REQ e RESP
TESTES DE SOFTWARE – AULA 1 Prof. Me. Ronnison Reges Vidal
Transcrição da apresentação:

Introdução à Programação: uma Abordagem Funcional Programação I Engenharia de Computação Professores Claudia Boeres e Estefhan Dazzi Wandekoken 2010/1

O teste de programas y1 y2 B E x1 x2 F A D C O ponto P(x,y) pertence a qual região?

Passos importantes: Escolher as instâncias apropriadas; determinar, sem o uso do programa, qual o valor que deveria resultar quando o programa for alimentado com essas instâncias; submeter cada instância ao programa e anotar o resultado produzido por ele; comparar cada valor esperado com o valor produzido e descrever qual o tipo de ocorrência.

Quais instâncias escolher? P1 P2 F A D C E B

Quais valores devemos escolher? xy resultado esperado resultado obtido diagnóstico Pontos representantes de classes de equivalência

Qual é o próximo passo? Depois de escolhidas as instâncias, fazer o teste com as mesmas no computador Verificar se todos os valores coincidiram Senão, fazer a depuração no programa

Depuração. Depurar um programa é um processo que consiste em buscar uma explicação para os motivos da falha e posteriormente corrigí-la.

Processo de teste

Atenção Mas lembre-se, isto ainda não garante que seu programa esteja 100% correto! Quando não identificamos erro, apenas podemos concluir que para as instâncias que usamos o nosso programa apresenta os resultados esperados.

Exemplo y1 y2 B E x1 x2 F A D C O ponto P(x,y) pertence a qual região?

Solução qualRegiao x y x1 y1 x2 y2 = if pertenceLosango x y a1 b1 a2 b2 then 'E' else if pertenceRetangulo x y x1 y1 x2 y2 then if x < xc then if y > yc then 'B' else 'C' else if y > yc then 'A' else 'D' else 'F' where a1 = x1 b1 = (y1 + y2)/2 a2 = (x1 + x2)/2 b2 = y2 xc = a2 yc = b1

Continuação do script pert x a b = a =a && x <= b pertenceRetangulo x y a b c d = pert x a c && pert y b d pertenceLosango x y a b c d = acimaReta x y a b e f && acimaReta x y e f g h && abaixoReta x y a b c d && abaixoReta x y c d g h where e = c f = 2*b-d g = 2*c-a h = b

Final do script acimaReta x y a b c d = y >= m * (x-a) + b where m = (d-b)/(c-a) abaixoReta x y a b c d = y <= m * (x-a) + b where m = (d-b)/(c-a)

Quais instâncias escolher? P1 P2 F A D C E B

Quais valores devemos escolher? xy resultado esperado resultado obtido diagnóstico 33EE ok 12.5BB ok 24BBOk 15FF ok Pontos representantes de classes de equivalência

Exercício: faça um script para determinar se um ponto pertence à área cinza. Faça um plano de teste. r r r r C

O ponto P (x, y) pertence a qual das áreas 1, 2, 3 e 4? Faça o plano de teste P (x, y) ? a a/2 C (x1, y1)