Cua II

Volem continuar amb el problema Cua existent en aquesta mateixa llista
d’exercicis. En aquest exercici tenim les cues representades en la
forma:

    cua = Queue [2,8,5] [4,7]

Es demanen els codis de diverses funcions. Seguiu el format dels
exemples que es mostren a sota.

1.  Feu que Queue sigui instance de la classe Functor. Per això
    implementeu la funció @fmap@ que donada una funció de tipus @p -> q@
    i un Queue d’elements de tipus p, retorna un Queue de tipus q
    resultant d’aplicar la funció a tots els elements de la cua.

2.  Feu una funció @translation :: Num b => b -> Queue b -> Queue b@ que
    aplica una translació a tots els punts d’una cua (que serà el segon
    paràmetre).

3.  Feu que Queue sigui instance de la classe Monad. Per a resoldre
    aquest apartat, pot ser útil fer una operació que faci la unió de
    dos cues del mateix tipus.

4.  Feu, amb notació do, una funció @kfilter::(p -> Bool) -> Queue p ->
    Queue p@ que selecciona tots els elements que satisfan la propietat
    donada.

Les dues funcions valen 50 punts.

Observació

Informació del problema

Autoria: Gerard Escudero

Generació: 2026-01-25T13:40:25.036Z

© Jutge.org, 2006–2026.
https://jutge.org
