Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

FSaraiva

Definir um novo tipo, exercicio

Mensagens Recomendadas

FSaraiva

Boa tarde, ando a estudar para um exame onde a linguagem é Haskell e estou com duvidas na parte de definir novos tipos e instanciar que são das classes Eq.

Agradecia que me pudessem ajudar, é que do exercício que se encontra imediatamente abaixo só sei fazer  a definição do tipo novo

data Figura = Rect Float Float |Circle Float

Exercicio

Defina o tipo Figura capaz de representar rectângulos e círculos.

Torne-o uma instância da classe Eq. Assuma que, de modo geral, duas figuras são

iguais se são da mesma natureza e se têm a mesma área e perímetro. Considere

ainda que dois rectângulos precisam de ter o mesmo rácio entre a largura e o

comprimento para serem considerados iguais. Defina quaisquer funções de que

precise.

Agradecia imenso é que preciso dos valores deste exercício que calha sempre no exame.

Obrigado desde já

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Baderous

Defines as funções área e perímetro para esse tipo:

area :: Figura -> Float
perimetro :: Figura -> Float

De seguida declaras o tipo como instância de Eq:

instance Eq Figura where
a@(Rect x1 y1) == b@(Rect x2 y2) = ...
a@(Circle _) == b@(Circle _) = ...
_ == _ = ...

E defines, usando as funções anteriores, bem como a restrição do rácio, um critério de igualdade entre elementos desse tipo.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.