Llicència
Pots copiar i redistribuir aquest material seguint la llicència Attribution-NonCommercial-ShareAlike 4.0 International CC BY-NC-SA 4.0, indicant-ne autors originals, l'origen (aquesta web), sense fins comercials i mantenint-ne aquesta la llicència
Autors:
Exercicis Estrutures de dades
- Usa el mateix projecte que l'usat als exercicis
- Crea un package cat.itb.elteuusuari(*).dam.m03.uf5.exercices.tads
- La classe de cada exercici ha de ser el nom de l'exercici
(*) elteuusuari correspon a la direcció de correu eltectrònic del centre, sense punts, fins a @itb.cat
Sumari
Exercicis
Map
Crea un package cat.itb.elteuusuari(*).dam.m03.uf5.exercices.tads.maps
RoadSigns
Volem tenir registrats els diferents cartells que té una carretera. La carretera fa més del 1000km, i volem registrar el metre al que hi ha al cartell.
Posteriorment volem poder obtenir el cartell que hi ha a un metre determinat.
L'usuari primer introduirà el número de cartells, i per cada cartell el metre i el text.
Després introduirà el nombre de consultes i, per cada consulta un metre. S'ha d'imprimir el cartell o no hi ha cartell.
Input
3
103 Lorem
164829 Ipsum
36837 Dolor
3
97362
164829
103
Output
no hi ha cartell
Ipsum
Lorem
EmployeeById
Una empresa vol tenir enregistrada la informació els seus empleats. De cada empleat en vol tenir el seu dni, nom, cognoms i adreça. Vol poder accedir ràpidament a les dades dels empleats segons el seu DNI.
Fes un programa que llegeixi un conjunt d'empleats per pantalla (primer introduirà la quantitat d'empleats).
Després imprimeix les dades del empleats pel DNI entrat.
Acaba el programa quan introdueixi END.
Input
2
12345678Z
Mar
Puig
Av. Pi 42
87654321T
Ot
Pi
C. Mar 33
12345678Z
87654321T
87654321T
END
Output
Mar Puig - 12345678Z, Av. Pi 42
Ot Pi - 87654321T, C. Mar 33
Ot Pi - 87654321T, C. Mar 33
SchoolDelegatVoting
S'ha de votar el delegat de la classe, i per fer-ho has decidit fer un petit programa que conti els vots i imprimeixi el resultat.
Cada usuari introduirà el nom de l'estudiant al que vota. Quan ja no hi hagi més vots escriurà END.
Imprimeix els total de vots.
Input
Mar
Mar
Ot
Iu
Ona
Iu
Mar
Mar
END
Output
Mar: 4
Ot: 1
Iu: 2
Ona: 1
CarByPlateNumber
Un concessionari de cotxes de segona ma vol tenir la informació dels cotxes que té en estoc. De cada cotxe en vol guardar la matrícula, el model i el color.
Vol poder accedir ràpidament a la informació del cotxe usant la matrícula del cotxe.
Input
3
2322UUY Opel Blanc
4738URP Seat Groc
3798YHT Opel Verd
4738URP
3798YHT
END
Output
4738URP Seat Groc
3798YHT Opel Verd
Set
Crea un package cat.itb.elteuusuari(*).dam.m03.uf5.exercices.tads.sets
RepeatedAnswer
Volem fer un petit joc tipus Scatergories o "Un, Dos tres", on els diferents jugadors han de dir respostes a una pregunta, però no es poden fer repeticions.
Fes un programa que llegeixi la resposta per l'input i printi "MEEEC!" quan hi hagi una repetició. El programa s'acaba quan l'usuari escriu END
Input
poma
pera
ciera
pera
cindria
meró
cirera
END
Output
MEEEC!
MEEEC!
Bingo
Després de molts diumenges acompanyant a la teva àvia al bingo de la residència decideixes fer un petit programa que t'ajudi. Al Bingo de la residència no es canta línia, només Bingo.
L'usuari primer itrodueix 10 números, que són els de la targeta.
Després introdueix els números que es van cantant.
Després que cada número cantat indica quants t'en queden.
Quan s'hagin cantat tots els números imprimeix BINGO i finialitza el programa
Input
1 2 3 4 5 6 7 8 9 10
1 3 50 66 2 4 5 6 84 98 7 8 9 10
Output
Em queden 9 números
Em queden 8 números
Em queden 8 números
Em queden 8 números
Em queden 7 números
Em queden 6 números
Em queden 5 números
Em queden 4 números
Em queden 4 números
Em queden 4 números
Em queden 3 números
Em queden 2 números
Em queden 1 números
BINGO
Queue
Crea un package cat.itb.elteuusuari(*).dam.m03.uf5.exercices.tads.queues
HospitalQueue
Un hospital ens ha demanat que els hi fem un programa per a gestionar la cua d'accés a urgències. Cada pacient tindrà un nom i una prioritat de tipus enter (un valor més alt indica més prioritat).
Si la línia comença amb un 1 és que ha entrat un pacient a l'hospital.
Si la línia comença amb un 0 és que s'atén a un pacient.
Si la línia comença amb un -1 és que s'acaba el programa
Imprimeix per pantalla les crides dels diferents pacients
Input
1 25 Mar
1 60 Ot
0
1 10 Ona
0
-1
Output
Ot passi a consulta
Mar passi a consulta
HospitalQueueSimple
Degut a un problema en l'assignació de prioritats l'hospital ens demana que modifiquem el programa per a què l'ordre sigui estricte per arribada, sense a tenir en compte la prioritat (crea una copia de l'exercici anterior).
Input
1 25 Mar
1 60 Ot
0
1 10 Ona
0
-1
Output
Mar passi a consulta
Ot passi a consulta
Generals
CountWords
Conta quantes paraules diferents hi ha en un text.
Quan s'introdueixi la línia END és que s'ha acabat l'input.
Input
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Lorem Maecenas Lorem eu faucibus velit.
sit amet consectetur
END
Output
12 paraules