Escolar Documentos
Profissional Documentos
Cultura Documentos
TAD Ponto
▪ Tipo abstrato: Ponto
▪ Operações:
▪ Cria: operação que cria um ponto com coordenadas x e y;
▪ Libera: operação que libera a memória alocada por um ponto; ▪ Acessa:
operação que retorna as coordenadas de um ponto; ▪ Atribui: operação que
atribui novos valores às coordenadas de um ponto; ▪ Distância: operação
que calcula a distância entre dois pontos
Interface: ponto.h
// TAD: Ponto (x,y)
// Tipo exportação
typedef struct ponto Ponto;
// Funções exportadas
// Função cria
//Aloca e retorna um ponto com coordenadas
(x,y) Ponto* pto_cria (float x, float y);
Interface:
ponto.h //
Função libera
// Libera a memória de um ponto previamente
//Função acessa
//Função atribui
y);
//Função distancia
Interface: ponto.c
// TAD: Ponto (x,y)
// Tipo exportação
typedef struct ponto Ponto;
// Funções exportadas
// Função cria
//Aloca e retorna um ponto com coordenadas
(x,y) Ponto* pto_cria (float x, float y);
Interface: ponto.c
// Função libera
//Função acessa
// Retorna os valores das coordenadas de um
Atividade 02
➢ Implemente as funções da interface e o teste da TAD ponto e acrescente novas
operações ao TAD ponto, como soma e subtração de pontos.
Atividade 3:
TAD Círculo
▪ Tipo abstrato: Círculo
▪ Operações:
▪ Cria: operação que cria um circulo com centro (x, y) e raio r;
▪ Libera: operação que libera a memória alocada por um circulo;
▪ Área: operação que calcula a área do círculo;
▪ Interior: operação que verifica se um dado ponto está dentro do
circulo.
Interface: TAD
circulo
// TAD: Círculo
// Dependência de módulos
#include "ponto.h“
// Tipo exportado
typedef struct circulo Circulo;
//Funções expotadas
//Função cria
//Aloca e retorna um círculo com centro (x,y) e raio r
Circulo* circ_cria(float x, float y, float r);
//Função libera
//Função interior
//Verifica se um dado ponto p está dentro do círculo
Atividade 03
➢ Implemente as funções da interface e o teste da TAD círculo