Exercicis

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

Sumari

  1. Paths
    1. FileExists
      1. Input
      2. Output
    2. GenerateDummyFileStructure
    3. ProfileBackup
    4. RenameAsCapitalLetter
    5. FindFile
      1. Input
      2. Output
  2. File InputOutput
    1. MisileSecretCode
      1. Input
      2. Output
    2. MySecretCode
      1. Input
      2. Output
    3. IWasHere
    4. EssayAnalyser
      1. Input
      2. Output
    5. RadarFile
      1. Input
      2. Output
  3. Serializable
    1. RectangleSizesFile
      1. Output
    2. BcnTrees
      1. Input
      2. Output
    3. BuyListInFile
      1. Input
      2. Output
      3. Input
      4. Output
  4. Consume API
    1. CurrentBcnTrees
      1. RandomQuote
      2. Output
    2. Current Temperature
      1. Output

Paths

FileExists

Demana a l'usuari un path. Retorna true si existeix, false sinó.

Input

 /home

Output

 true

GenerateDummyFileStructure

Crea la carpeta ~/dummyfolders que contingui 100 carpetes numerades del 1 al 100.

Nota Pots obtenir la carpeta home amb la següent comanda

val homePath : String = System.getProperty("user.home");

ProfileBackup

Fes un programa que faci un backup del fitxer .profile.

Guarda el fitxer ~/.profile a la carpeta ~/backup/2021-02-16T09:59:04.343769/.profile

Podeu obtenir la data actual usant:

LocalDateTime.now().toString()

RenameAsCapitalLetter

Demana a l'usuari un path.
Renombra tots els fitxers que hi ha a dins per tal que els noms estiguin amb lletres majuscules.

FindFile

Fes un programa que donat un path i un nom de fitxer, miri si hi ha algun fitxer a dins el path amb aquest nom (mirar a dins de carpetes també).
Per cada ocurrència, imprimeix el path per pantalla.

Input

/home/user/
file.txt

Output

file.txt
gsad1/dsa/file.txt
zsa/file.txt

File InputOutput

MisileSecretCode

Una empresa militar ens contacta per fer un programa que ha de servir per introduïr el codi secret per l'explosió d'un míssil. L'usuari introduirà un text per pantalla i l'haurem de guardar en el fitxer secret.txt de la carpeta actual.
Imprimeix "míssil preparat" quan s'hagi escrit el fitxer.

Input

328df72928s72

Output

míssil preparat

MySecretCode

Volem fer un programa per guardar el codi secret d'un usuari en un fitxer (de forma no segura). L'usuari introduirà un text per pantalla i l'haurem de guardar en el fitxer secret.txt de la carpeta actual.
Imprimeix guardat quan s'hagi escrit el fitxer.

Input

328df72928s72

Output

guardat

IWasHere

Fes un programa que cada cop que s'executi afegeixi una línia al fitxer ~/i_was_here.txt amb el text següent.

I Was Here: 2021-02-16T09:59:04.343769

EssayAnalyser

Volem fer un programa que, donat un fitxer de text ens indiqui quantes línies té i quantes paraules té.

Input

/home/user/somefile.txt

Output

Número de línies: 56
Número de paraules: 524

RadarFile

Un radar de trànsit va guardant les diferents velocitats que registra en un fitxer. Guarda les velocitats en km/hora, separades per un espai. Et pots descarregar un exemple de fitxer aquí

Fes un programa demani a l'usuari la ruta del fitxer i que calculi la velocitat màxima, mitjana i mínima detectada.

Input

/home/sjo/radar.txt

Output

Velocitat màxima: 100km/h
Velocitat mínima: 50km/h
Velocitat mitjana: 75km/h

Serializable

RectangleSizesFile

Volem fer un programa que ens digui l'àrea dels rectangles emmagatzemats en un fitxer json guardat a dins de la carpeta resources.
Et pots descarregar el fitxer aquí.

Imprimeix la superfície dels diferents rectangles.

Output

Un rectangle de 98 x 85 té 8330 d'area.
Un rectangle de 71 x 3 té 213 d'area.
(...)

BcnTrees

El següent fitxer conté la informació dels diferents arbres que hi ha a Barcelona
Fes un programa en el què l'usuari introdueixi el nom científic d'un arbre i l'aplicació ens indiqui quans arbres hi ha d'aquest tipus a la ciutat de Barcelona

Aquesta informació ha estat extreta d'aquesta web: https://opendata-ajuntament.barcelona.cat/resources/bcn/Arbrat/OD_Arbrat_Zona_BCN.json

Input

Chamaerops humilis

Output

218

BuyListInFile

Fes un programa que ens ajudi a crear una llista de la compra.
Quan s'executi l'usuari introduirà les dades d'un producte.
Del producte en guardarà el nom, el preu i la quantitat que en vol comprar.

Després imprimeix el resum de la compra que ha anat afegint en les diferents execucions del programa (guarda la informació en un fitxer json a la carpeta home).

Recorda que vas fer un exercici semblant per la UF2 anomenat BuyList. Pots usar el codi que ja tens.

Input

1 Macarrons 2.35

Output

-------- Compra --------
1 Macarrons (2.35€) - 2.35€
-------------------------
Total: 2.35€
-------------------------

Input

8 Peres 0.35

Output

-------- Compra --------
1 Macarrons (2.35€) - 2.35€
8 Peres (0.35€) - 2.80€
-------------------------
Total: 5.15€
-------------------------

Consume API

CurrentBcnTrees

Fes una aplicació que et digui quants arbres hi ha a Barcelona segons les dades publicades a internet.

RandomQuote

La següent API ens retorna frases famoses de diferents personatges històrics: https://api.quotable.io/random

Fes un programa que cada cop que s'executi ens mostri una frase diferent

Output

Albert Einstein:
Learn from yesterday, live for today, hope for tomorrow.

Current Temperature

La temperatura és en graus Kelvin

http://api.openweathermap.org/data/2.5/weather?lat=41.390205&lon=2.154007&appid=d662e754d0671e1384f22d2d9023795d

Output

Bon dia,
Avui fa 15.3º a la ciutat de Barcelona amb una humitat del 20%.