Lista exercicios Estrutura de Dados 2
Lista de exerc´ ıcios 1
Teste 1, dia 04/09/2014
Obs1.: Em todos os Tipos Abstrato de Dados (TAD), considere dados privados e opera¸˜es co p´ blicas. u Obs2.: Nas opera¸˜es de aloca¸˜o dinˆmica de mem´ria, sempre que um espa¸o for alocado ele co ca a o c deve ser desalocado antes do t´rmino do programa. e (1) Considere o TAD Ponto composto por uma tupla (x, y) ∈ R2 . O TAD tamb´m ser´ composto e a por opera¸˜es para atribuir e obter valores dos pontos (gets e sets) al´m das opera¸˜es: co e co • distancia: recebe um Ponto como parmetro e retorna a distˆncia entre os dois;
ˆ
a
• colineares: recebe dois Pontos como parˆmetros e retorna verdadeiro se os trˆs pontos s˜o a e a colineares ou falso caso contr´rio. a Implemente o TAD Ponto e um int main() para testar suas opera¸˜es. co (2) Considere o TAD Triangulo composto de trˆs Pontos (definidos no exercicio 1) que represene tam seus v´rtices. Al´m disto, as seguintes opera¸˜es s˜o definidas: e e co a
• Construtor: recebe como parmetros 6 valores para definir um Triangulo. Caso os valores
ˆ
passados n˜o possam formar um Triangulo, uma mensagem deve ser informada e todos os a pontos assumirem valor na origem (0, 0);
• perimetro: retorna o per´ ımetro do Triangulo;
• validar: recebe 3 pontos e retorna verdadeiro se eles podem formar um Triangulo ou falso, caso contr´rio. a Implemente o TAD Triangulo, considerando que ser˜o usados ponteiros para armazenar cada um a de seus Pontos (utilizar aloca¸˜o dinˆmica de mem´ria). Implemente tamb´m e um int main() ca a o e para testar as opera¸˜es do TAD. co (3) Considere o TAD Circulo composto de um Ponto que define o seu centro e um valor r ∈ R que define o seu raio. As seguintes opera¸˜es s˜o definidas para o TAD: co a
• Construtor: recebe como parmetros 3 valores: os dois primeiros referentes ao centro e o
ˆ
ultimo para o raio (caso seja negativo, uma mensagem