Exercicis Programació funcional

(*) elteuusuari correspon a la direcció de correu eltectrònic del centre, sense punts, fins a @itb.cat

Sumari

  1. Exercicis
    1. Introducció
      1. ListOperation
        1. Input
        2. Output
      2. CarpentryData
        1. Input
        2. Output
      3. MetersToCentimeters
        1. Input
        2. Output
      4. CountryDataSortByName
        1. Input
        2. Output
      5. CountryDataSortAveragePopulation
        1. Input
      6. CountryDataUpdateNames
        1. Input
        2. Output
      7. EmbassatorsByBiggestCountry
        1. Input
      8. NearestTo100
        1. Input
        2. Output

Exercicis

Introducció

ListOperation

Donada una llista d'enters (el primer número és el nombre d'enters de la llista), elimina els que acaben amb 3, ordena'ls de major a menor, i imprimieix-los per pantalla.

Input
16 43 65 2 75 1 54 73 23 33 65 25 73 425432 65 34 2
Output
425432
75
65
65
65
54
34
25
2
2
1

CarpentryData

Usa les classes i funcions de l'exercici UF4.CarpentryShop i llegeix un conjunt de productes.
Imprimeix per pantalla:

Input
6
Taulell 15 20 12
Taulell 25 20 20
Taulell 15 2 5
Llistó  12 4
Taulell 10 20 12
Llistó  24 6
Output
Preu total llistons: 192
Producte més car té una llargada de : 20
Num productés de més de 100€: 5

MetersToCentimeters

Llegeix una llista de distàncies per la consola (en format enter, usant IntegerLists.readIntegerList). Converteix cada una de les distàncies a cm i imprimeix-les per pantalla.

Input
7 43 65 3246 54329 43 5423 54
Output
43000
65000
3246000
54329000
43000
5423000
54000

CountryDataSortByName

D'un païs ens en volem guardar la següent informació.

Imprimeix els països amb una densitat superior a 5hab/km2 i més de 1000km2 ordenats per ordre alfabètic segons la seva capital.

L'usuari primer introduirà la quantitat de països a llegir.

Input
5
Peru
Lima
1285216
24
Australia
Canberra
7702466
3
Marroc
Casablanca
446650
66
Russia
Moscou
17098242
8
Islandia
Reikiavik
102800
3
Output
Marroc
Peru
Russia

CountryDataSortAveragePopulation

Imprimeix la mitjana de població dels països de menys de 1200000 km2.

Input
5
Peru Lima 1285216 24
Australia Canberra 7702466 3
Marroc Casablanca 446650 66
Russia Moscou 17098242 8
Islandia Reikiavik 102800 3

CountryDataUpdateNames

Llegeix per pantalla una llista de països, modifica'n el nom i la capital per a que estiguin escrites en majúscules i imprimeix-los.

Input
5
Peru Lima 1285216 24
Australia Canberra 7702466 3
Marroc Casablanca 446650 66
Russia Moscou 17098242 8
Islandia Reikiavik 102800 3
Output
PERU LIMA 1285216 24
AUSTRALIA CANBERRA 7702466 3
MARROC CASABLANCA 446650 66
RUSSIA MOSCOU 17098242 8
ISLANDIA REIKIAVIK 102800 3

EmbassatorsByBiggestCountry

Ens volem guardar la informació de diferents embaixadors que hi ha a la nostre ciutat. Cada enbaixador ho és d'un país determinat.

Llegeix els països i els embaixadors.

Imprimeix per pantalla els diferents embaixadors ordenats per la mida del païs que representen (el més gran primer).

Input
3
Peru Lima 1285216 24
Australia Canberra 7702466 3
Marroc Casablanca 446650 66
4
Mar
Puig
Peru
Carla
Matinez
Australia
Ona
Peris
Marroc

NearestTo100

Llegeix una llista d'enters.
Imprimeix per pantalla el número més pròxim a 100, i el més llunyà.

Input
971 6 4878 1354 102 302154 -2
Output
Més proper a 100: 102
Més llunyà a 100: 302154