Exercicis de funcions

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

Sumari

  1. Url
  2. IntLists
    1. IntListReaderSample
      1. Input
      2. Output
    2. CheapestPrice
      1. Input
      2. Output
    3. OldestStudent
      1. Input
      2. Output
    4. AvgTemperature
      1. Input
      2. Output
    5. StudentStats
      1. Input
      2. Output
  3. CovidApp
    1. Exemple
      1. Input
      2. Output
  4. MatchAnalizer
    1. Input
    2. Output

Url

Excriu una funció anomenada url que crea una URL d'un recurs. La funció té dos paràmetres host i port i retorna la URL amb el format següent: https://HOST:PORT. Ambdós, el host i el port són parametres opcionals i tenen un valor per defecte: localhost and 443 respectivament.

IntLists

IntListReaderSample

Crear una fitxer anomenat IntLists.
Defineix la funció readIntList que llegeixi enters d'un scanner passat per paràmetre i retorna una llista amb aquets enters.

Els enters són introduïts amb un espai de separació. El valor -1 indica que ja no hi ha més enters a llegir.

fun readIntList(scanner: Scanner):List<Int>

Fes un programa (en un fitxer nou anomenat IntListReaderSample) que llegeixi una llista d'enters i la imprimeixi per pantalla.

Input

5 3 4 7 8 -1

Output

[5,3,4,7,8]

CheapestPrice

Defineix la funció min dins de l'arxiu anomenat IntegerLists.kt que donada una llista d'enters, retorni el valor mínim.

fun min(list: List<Int>): Int

Fes un programa (dins l'arxiu anomenat CheapestPrice) que donada la llista de preus (sense decimals) de tot de productes, retorni el preu del producte més baix

Input

5 3 4 7 8 -1

Output

El producte més econòmic val: 3€

OldestStudent

Fes un programa que donades diferents edats dels estudiants, retorni l'edat de l'estudiant amb més edat.

Input

25 23 24 17 18 -1

Output

L'alumne més gran té 24 anys

AvgTemperature

Fes un programa que donades diferents temperatures (sense decimals), retorni la temperatura mitjana (amb decimals)

Input

5 3 4 7 8 -1

Output

Ha fet 5.4 graus de mitjana

StudentStats

Després de fer un examen un professor vol veure l'estat general de la classe. Vol conèixer la nota mínima, la màxima i la mitjana dels seus alumnes.
Fes un petit programa que li solucioni la tasca (les notes de l'examen no tenen decimals).

Input

5 3 4 7 8 -1

Output

Nota mínima:  3
Nota màxima:  8
Nota mitjana: 5.4

CovidApp

Volem fer una petita aplicació per fer estadístiques de les dades de les infeccions de COVID a la nostre ciutat. Un centre d'investigació ens ha passat un arxiu amb diferents funcions que podeu descarregar aquí: CovidCalculations.kt

Fes un programa que, donada una llista de casos diaris imprimeixi la informació de:

Exemple

Input

5 6 8 9 7 6 5 -1

Output

Hi ha hagut 46 casos en total.
L'útlim creixement és de -0.17
La mitjana de creixement és de TODO

MatchAnalizer

Volem fer un programa que analitzi els resultats d'un partit de bàsquet. Hem de tenir en compte que en un partit de bàsquet es poden fer 1, 2 o 3 punts.
Donat els diferents resultats analitza que està passant i genera els comentaris

L'usuari introduirà primer el nom dels dos equips i després el resultat actual

Input

Joventut
Manresa
0 2
0 5
2 5
3 5
3 7
-1

Output

Cistella del Manresa
Triple del Manresa
Cistella del Joventut
Tir lliure del Joventut
Cistella del Manresa
Guanya el Manresa