Trabalho Prático 1

DAS 5102 - 2004-2

Execução:

Grupos de até três participantes.

Tarefas:

1. Procure na biblioteca um livro que descreva a matemática intervalar (em geral livros de cálculo numérico têm seções sobre este tema, por exemplo: Dacídio Moraes Cláudio e Jussara Maria Marins, Cálculo numérico computacional, Editora Atlas S.A., São Paulo, pp. 413-424, 1989. Existe também um livro da série didática da UFRGS só sobre o tema: "Fundamentos da Matemática Intervalar", P.W. de Oliveira, T.A. Divério e D.M. Cláudio). Pesquisa na Internet também é válida, por exemplo: Matemática Intervalar com Aplicações no Maple (Graçaliz Pereira Dimuro e Aurélio Magalhães Dias, Universidade Católica de Pelotas) e Interval Computations.

2. Projete e implemente em Scheme um pacote para aritmética intervalar. O pacote deve permitir a definição de intervalos, tanto através de seus extremos quanto através do centro e de uma margem de erro (em percentagem), além das seguintes operações aritméticas: soma, diferença, multiplicação e divisão. O resultado destas operações deve ser um intervalo. Todas as funções devem aceitar também números "normais". Implementar ainda os predicados (funções que retornam #t ou #f): igual, menor, maior e contido.

Especificação:

1. Construtores

(define (faz-infsup inf sup) "cria um intervalo a partir dos limites")

(define (faz-cenerr cen err) "cria um intervalo a partir do centro e erro")

2. Seletores

(define (inf int) "limite inferior de int")

(define (sup int) "limite superior de int")

(define (cen int) "centro de int")

(define (err int) "percentagem de erro de int")

3. Operações aritiméticas:

(define (soma-i int1 int2) "soma de intervalos")

(define (dif-i int1 int2) "diferença de intervalos")

(define (mult-i int1 int2) "multiplicação de intervalos")

(define (div-i int1 int2) "divisão de intervalos")

4. Predicados:

(define (igual-i int1 int2) "igualdade entre intervalos")

(define (menor-i int1 int2) "comparação menor entre intervalos")

(define (maior-i int1 int2) "comparação maior entre intervalos")

(define (sub-i int1 int2) "comparação contido entre intervalos")

Resultados:

1. Referência completa do texto encontrado na biblioteca ou a URL da página consultada na Internet a respeito da matemática intervalar.

2. Breve descrição do uso do pacote, listagem do programa (documentada) e arquivo de testes. O arquivo de testes deve ser .scm e conter as seguintes chamadas de funções:
a. criação de alguns intervalos por início e fim e por centro e erro.
b. seleção do início, fim, centro e erro dos intervalos criados.
c. operações aritméticas utilizando os intervalos criados.
d. predicados utilizando os intervalos criados.

Observações:

1. Respeitar os nomes das funções definidos na especificação acima para que as operações de um grupo possam ser testadas com as definições de outro grupo.

2. Os resultados podem ser enviados por e-mail.