Pensions

Tenim:

    data Avi = Avi {
        nom :: [Char],
        edat :: Int,
        despeses :: [Int]
        } deriving (Show)

per emmagatzemar les dades d’un pensionista, on el camp despeses
correspon a una sèrie de despeses mensulas enregistrades. A continuació
tenim un exemple amb l’inicialització per a quatre pensionistes.

    [ Avi { nom = "Joan", edat = 68, despeses = [640, 589, 573]}, 
      Avi { nom = "Pepa", edat = 69, despeses = [710,550,570,698,645,512]}, 
      Avi { nom = "Anna", edat = 72, despeses = [530,534]}, 
      Avi { nom = "Pep", edat = 75, despeses = [770,645,630,650,590,481,602]} ]

Es demanen els codis de diverses funcions. Seguiu el format dels
exemples que es mostren a sota. En tots els enunciats podeu suposar que
sempre hi ha dades.

1.  Feu una funció @promigDespeses :: Avi -> Int@ en que, donat un Avi,
    retorni el promig de les despeses arrodonit a Int.

2.  Feu una funció @edatsExtremes :: [Avi] -> (Int, Int)@ en que, donada
    una llista com la mostrada en l’exemple, retorni l’edat màxima i la
    mínima dels pensionistes.

3.  Feu una funció @sumaPromig :: [Avi] -> Int@ en que, donada una
    llista com la mostrada en l’exemple, retorni la suma del promig de
    les despeses de tots els pensionistes de la llista.

4.  Feu una funció @maximPromig :: [Avi] -> Int@ en que, donada una
    llista com la mostrada en l’exemple, retorni del promig de les
    despeses més gran de tots els pensionistes de la llista.

5.  Feu una funció @despesaPromigSuperior :: [Avi] -> Int -> ([Char],
    Int)@ en que, donada una llista com la mostrada en l’exemple i una
    despesa, retorni una altra llista amb el nom i l’edat de la primera
    persona que tingui una mitjana de despesa superior a la despesa. En
    cas de que no n’hi hagi cap, la funció retornarà @("",0)@.

Les dues primeres funcions valen 15 punts, les dues següents 20 y
l’última 30.

Observació

Aquest problema està basat en el problema "Pensions" creat per
professors del departament de Ciències de la Computació amb docència a
l’ETSEIB. Podeu consultar l’original a:
http://gie.cs.upc.edu/fi/temes/llistes/Pensions.html

Informació del problema

Autoria: Gerard Escudero i professors de l&#x27;ETSEIB del departament
de CS

Generació: 2026-01-25T10:37:46.556Z

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