Você está na página 1de 10

Atividade 02:

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

criado. void pto_libera(Ponto* p);

//Função acessa

// Retorna os valores das coordenadas de um

ponto void pto_acessa (Ponto* p, float x, float


y);

//Função atribui

//Atribui novos valores às coordenadas de um

ponto void pto_atribui (Ponto* p, float x, float

y);

//Função distancia

//Retorna a distância entre dois pontos

float pto_distancia (Ponto* p1, Ponto* p2);

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

// Libera a memória de um ponto previamente

criado. void pto_libera(Ponto* p);

//Função acessa
// Retorna os valores das coordenadas de um

ponto void pto_acessa (Ponto* p, float x, float

y); //Função atribui

//Atribui novos valores às coordenadas de um

ponto void pto_atribui (Ponto* p, float x, float

y); //Função distancia

//Retorna a distância entre dois pontos

float pto_distancia (Ponto* p1, Ponto* p2);

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

// Libera a memória de um cícurlo previamente criado


Circulo* circ_libera(Circulo* c);

Interface: TAD circulo


//Função area
//Retorna o valor da área do círculo
float circ_area(Circulo* c);

//Função interior
//Verifica se um dado ponto p está dentro do círculo

int circ_interior(Circulo* c, Ponto* p);

Atividade 03
➢ Implemente as funções da interface e o teste da TAD círculo

Você também pode gostar