Salta el contingut
 

Pràctica 2: Estructures de dades

Joan Puigcerver Ibáñez

j.puigcerveribanez@edu.gva.es

Llicència: CC BY-NC-SA 4.0

(Reconeixement - NoComercial - CompartirIgual) 🅭

Estructura del projecte

Tots els exercicis han de complir amb la següent estructura:

  • Cada exercici ha d'anar dins del directori corresponent.
  • El nom del fitxer ha de coincidir amb el títol de l'exercici.
  • El format de l'eixida del programa ha de ser consistent amb el format demanat.
  • La lògica del programa ha d'estar ben estructurada i s'ha d'extraure en funcions sempre que siga possible.

Lliurament

El lliurament d'aquesta pràctica s'ha de fer mitjançant GitHub.

  • Crea una etiqueta anomenada P2 a l'últim commit on està la versió definitiva de la pràctica.
    git tag P2
    
  • Publica la etiqueta al repositori remot.

    git push --tags
    

  • Entrega a Aules l'enllaç al document de la pràctica a la etiqueta creada.

    https://github.com/fpmislata-asix2-ip/CognomNom-ASGBD/tree/P2/ud3/practices/
    

Exercicis

ud3/practices

text_analyzer.py

Crea un programa que analitze un text introduït per l'usuari.

El programa ha de llegir un text i mostrar les següents estadístiques:

  • Nombre total de paraules.
  • Nombre total de caràcters (sense comptar espais).
  • Paraula més llarga.
  • Paraula més curta.
  • Nombre de paraules úniques.
  • Nombre d'aparicions de cada paraula.
Exemple d'entrada i eixida
Entrada
Python és un llenguatge de programació molt potent i fàcil d'aprendre
Eixida
Nombre de paraules: 11
Nombre de caràcters: 59
Paraula més llarga: programació
Paraula més curta: i
Nombre de paraules úniques: 11
Aparicions de cada paraula:
- Python: 1
- és: 1
- un: 1
- llenguatge: 1
- de: 1
- programació: 1
- molt: 1
- potent: 1
- i: 1
- fàcil: 1
- d'aprendre: 1

parse_groups.py

Crea un programa que reba les línies del fixer /etc/group per entrada estàndard i cree un diccionari amb els grups de cada usuari.

El programa ha de llegir les línies fins que l'usuari introduïsca una línia buida.

Exemple d'entrada i eixida
Entrada
root:x:0:
adm:x:4:syslog,carla
docker:x:999:carla,pep
Eixida
{
    'carla': ['adm', 'docker'],
    'pep': ['docker']
    'syslog': ['adm']
}
📌 Aquest document pot quedar desactualitzat després d’imprimir-lo. Pots consultar la versió més recent a la pàgina web.
🌿 Abans d’imprimir aquest document, considera si és realment necessari. Redueix el consum de paper i ajuda a protegir el nostre entorn.