[ Foro de Python ]

python funciones

17-Jan-2024 14:30
Invitado (Alejandro)
0 Respuestas

tengo un examen de programacion el dia 2 de febrero y nos enviaron un ejercicio para repasar dissenyo modular, pero no se ni por donde cogerlo si alguien me ayuda :D
La biblioteca de l’institut necessita una aplicació per a poder gestionar els seus
llibres, usuaris i préstecs. Els bibliotecaris necessiten poder registrar llibres així
com controlar els préstecs i la seva gestió, per tot això demanen als alumnes
d’ASIC1, experts programadors en Python, que realitzin l’aplicació.
Per a facilitar l’ús, l’aplicació haurà de funcionar com un intèrpret de comandes
Mostrarà un angulet '> ' i esperarà que l'usuari introdueixi una comanda.
Executarà l'acció indicada per la comanda (veieu la descripció de les comandes
possibles a continuació) i tornarà a mostrar l'angulet i a esperar una nova
comanda, fins que s'introdueixi la comanda 'quit', que farà que s'acabi el
programa.
Generalitat de Catalunya
Departament d’Educació
Institut El Calamot
Gavà
Nom i cognom
Versió 02
Entrada en vigor: 28-01-2020
Pàgina: 2
En totes les comandes s’ha de verificar que el nº de paràmetres i les dades siguin
correctes i s’haurà de donar sempre feedback a l’usuari:
Comandes acceptades
addLlibre-[codi]-[títol]-[autor]-[gènere]-[número de pàgines]
Si totes les dades són correctes, l’aplicació registrarà el llibre i informarà a l’usuari.
El codi és alfanumèric i el posa el bibliotecari quan etiqueta el llibre. No pot haver
dos llibres amb el mateix codi. El número de pàgines ha de ser més gran que 0. Si
no es posen totes les dades o alguna dada és incorrecte s’haurà d’informar a
l’usuari. Quan es dona d’alta un llibre no està en préstec per defecte.
startPrestec-[codi del llibre]-[nom de l’alumne]-[data del préstec]
Comanda per a registrar que un llibre està en préstec. El llibre ha d’existir, el nom
d’alumne per simplificar serà únicament un nom i la data de préstec ha de ser
vàlida. Si totes les dades són correctes el préstec es registrarà guardant també la
data en la que s’ha de tornar el llibre que haurà de ser 15 dies posteriors a la data
del préstec. S’haurà d’informar al bibliotecari de la següent manera: “Préstec
registrat. El llibre s’ha de retornar: 2023-04-26” (per exemple). No es pot registrar
el préstec d’un llibre que ja està en préstec. El format de la data ha de ser
“dd/mm/aaaa”.
endPrestec-[codi del llibre]-[data de retorn]
Comanda per a registrar que un llibre es retorna a la biblioteca i que, per tant,
queda disponible per a donar en préstec un altre cop. El llibre ha d’existir i ha
d’estar en préstec per a poder-se retornar. La data de retorn no pot ser anterior a
la data d’inici del préstec.
Si la data de retorn és posterior a la que havia enregistrada per a retornar s’haurà
de registrar la incidència. La incidència quedarà enregistrada amb el nom de
l’alumne, codi del llibre i les 3 dates del préstec: data en la que se’n va endur el
llibre, data en el que l’havia de retornar i data en la que l’ha retornat finalment.
listLlibres
Ha de mostrar totes les dades de tots els llibres registrats, tal i com es mostra a
l’execució d’exemple que es pot veure més endavant a l’enunciat. S’ha de
respectar el format de sortida indicat. Si no es mostra com indica l’enunciat no es
valorarà l’exercici.
listPrestecs
Ha de mostrar les dades dels llibres que estan en préstec. Ha d’indicar els que
estiguin fora de termini, és a dir, que ja ha passat la data de devolució i encara no
s’han tornat. S’ha de mostrar tal i com es mostra a l’execució d’exemple que es
pot veure més endavant a l’enunciat. S’ha de respectar el format de sortida indicat.
Si no es mostra com indica l’enunciat no es valorarà l’exercici.
Generalitat de Catalunya
Departament d’Educació
Institut El Calamot
Gavà
Nom i cognom
Versió 02
Entrada en vigor: 28-01-2020
Pàgina: 3
listGenere-[gènere]
Ha de mostrar les dades dels llibres del gènere indicat, tal i com es mostra a
l’execució d’exemple que es pot veure més endavant a l’enunciat. S’ha de
respectar el format de sortida indicat. Si no es mostra com indica l’enunciat no es
valorarà l’exercici.
maxLlibre
Ha de mostrar les dades del llibre que té més pàgines de la biblioteca.
stats
Ha de mostrar número de llibres registrats. Número d’incidències registrades. I
mitjana de pàgines per llibre de la biblioteca.
info-[nom de l’alumne]
Ha de mostrar els llibres que té en préstec l’alumne (si els té) i les incidències que
ha tingut (si les ha tingut).
A totes les comandes s’ha de respectar el format de sortida que es mostra en
l’exemple d’execució que hi ha a l’enunciat.
El codi ha d’estar organitzat en tres mòduls:
- Mòdul principal: serà on s’inicia l’execució del programa.
- Mòdul intèrpret (sense accent): on haurà les funcions que tinguin a veure
amb la gestió de cada comanda i comprovació de dades de la mateixa.
- Mòdul biblioteca: on es guardaran les dades i haurà totes les funcions del
nucli de funcionament amb les dades.
- Al mòdul principal només pot haver l’import d’intèrpret (sense accent).
- Al mòdul intèrpret només pot haver l’import de datetime i biblioteca.
- Al mòdul biblioteca només pot haver l’import de datetime.
Per aprovar la pràctica cal haver organitzat correctament el codi, seguir les
instruccions de l’enunciat i que l’exemple d’execució doni una sortida igual a la
mostrada a continuació.
Exemple d’execució (fet en data 31/03/2023):
> listLlibres
No hi ha cap llibre registrat.
> addLlibre-001-La Historia Interminable-Michael Ende-Fantasia-420
Llibre registrat.
> info-Aitor Tilla
Llibres en préstec:
L'alumne indicat no té cap llibre en préstec.
Incidències:
Generalitat de Catalunya
Departament d’Educació
Institut El Calamot
Gavà
Nom i cognom
Versió 02
Entrada en vigor: 28-01-2020
Pàgina: 4
L'alumne indicat no té cap incidència registrada.
> STARTPRESTEC-001-Aitor Tilla-1/3/2023
Préstec registrat. El llibre s’ha de retornar: 2023-03-16
> addllibre-002-El princitpio
Error: nº d'arguments incorrecte
> addllibre-002-El principito-Antoine de Saint-Exupéry-Infantil-120
Error: nº d'arguments incorrecte
> addllibre-002-El principito-Antoine de Saint Exupéry-Infantil-120
Llibre registrat.
> addllibre-003-Nacidos de la Bruma: El imperio final-Brandon Sanderson-fantasia541
Llibre registrat.
> listllibres
001 : La Historia Interminable , Michael Ende - ESTAT: en préstec
002 : El principito , Antoine de Saint Exupéry - ESTAT: disponible
003 : Nacidos de la Bruma: El imperio final , Brandon Sanderson - ESTAT:
disponible
> listgenere-fantasia
001 : La Historia Interminable , Michael Ende - ESTAT: en préstec
003 : Nacidos de la Bruma: El imperio final , Brandon Sanderson - ESTAT:
disponible
> startprestec-001-Aitor Menta-30/03/2023
Error: El llibre indicat ja està en préstec
> startprestec-003-Aitor Menta-30/03/2023
Préstec registrat. El llibre s’ha de retornar: 2023-04-14
> addllibre-004-Piensa en Java-Bruce Eckel-Programació-958
Llibre registrat.
> addllibre-005-Nacidos de la Bruma: El pozo de la ascensión-Brandon Sandersonfantasia-800
Llibre registrat.
> endprestec-002-31/3/2023
Error: El llibre no està en préstec
> endprestec-003-1/3/2023
Error: La data de retorn no pot ser anterior a la data d'inici del préstec.
> maxllibre
El llibre amb més pàgines de la biblioteca és: Piensa en Java , amb 958 pàgines
> listPrestecs
Llibre: 001 La Historia Interminable Alumne: Aitor tilla Data inici: 2023-03-01
Data fi: 2023-03-16 * FORA DE TERMINI *
Llibre: 003 Nacidos de la Bruma: El imperio final Alumne: Aitor menta Data inici:
2023-03-30 Data fi: 2023-04-14
> info-Aitor Menta
Llibres en préstec:
Llibre: 003 - Nacidos de la Bruma: El imperio final Inici: 2023-03-30 Data fi:
2023-04-14
Incidències:
L'alumne indicat no té cap incidència registrada.
> endprestec-003-31/3/2023
El llibre ha quedat disponible.
> startprestec-003-Aitor Tilla-31/3/2023
Préstec registrat. El llibre s’ha de retornar: 2023-04-15
> startprestec-004-Aitor Tilla-31/3/2023
Préstec registrat. El llibre s’ha de retornar: 2023-04-15
> endprestec-001-31/3/2023
El llibre s'ha retornat amb retard. Incidència registrada.
El llibre ha quedat disponible.
> stats
Número de llibres registrats: 5
Número d'incidències registrades: 1
Mitjana de pàgines per llibre: 567.8
Generalitat de Catalunya
Departament d’Educació
Institut El Calamot
Gavà
Nom i cognom
Versió 02
Entrada en vigor: 28-01-2020
Pàgina: 5
> addllibre-001-El mundo de Sofía-Jostein Gaarder-Filosofia-656
Error: Ja existeix un llibre amb aquest codi
> addllibre-006-El mundo de Sofía-Jostein Gaarder-Filosofia-656
Llibre registrat.
> starprestec-001
Error: Comanda incorrecte
> startPrestec-008-Alba Cete-10/3/2023
Error: No hi ha cap llibre registrat amb el codi indicat
> startPrestec-005-Alba Cete-10/3/2023
Préstec registrat. El llibre s’ha de retornar: 2023-03-25
> startprestec-001-Paloma Leta-15/3/2023
Préstec registrat. El llibre s’ha de retornar: 2023-03-30
> endprestec-001-Alba Cete-01/04/2023
Error: nº d'arguments incorrecte
> endPrestec-001-27/3/2023
El llibre ha quedat disponible.
> listllibres
001 : La Historia Interminable , Michael Ende - ESTAT: disponible
002 : El principito , Antoine de Saint Exupéry - ESTAT: disponible
003 : Nacidos de la Bruma: El imperio final , Brandon Sanderson - ESTAT: en
préstec
004 : Piensa en Java , Bruce Eckel - ESTAT: en préstec
005 : Nacidos de la Bruma: El pozo de la ascensión , Brandon Sanderson - ESTAT: en
préstec
006 : El mundo de Sofía , Jostein Gaarder - ESTAT: disponible
> listgenere-Matemàtiques
No hi ha cap llibre del gènere indicat.
> startPrestec-001-Alba Cete-31/3/2023
Préstec registrat. El llibre s’ha de retornar: 2023-04-15
> listPrestecs
Llibre: 001 La Historia Interminable Alumne: Alba cete Data inici: 2023-03-31 Data
fi: 2023-04-15
Llibre: 003 Nacidos de la Bruma: El imperio final Alumne: Aitor tilla Data inici:
2023-03-31 Data fi: 2023-04-15
Llibre: 004 Piensa en Java Alumne: Aitor tilla Data inici: 2023-03-31 Data fi:
2023-04-15
Llibre: 005 Nacidos de la Bruma: El pozo de la ascensión Alumne: Alba cete Data
inici: 2023-03-10 Data fi: 2023-03-25 * FORA DE TERMINI *
> endprestec-005-31/3/2023
El llibre s'ha retornat amb retard. Incidència registrada.
El llibre ha quedat disponible.
> info-Aitor Tilla
Llibres en préstec:
Llibre: 003 - Nacidos de la Bruma: El imperio final Inici: 2023-03-31 Data fi:
2023-04-15
Llibre: 004 - Piensa en Java Inici: 2023-03-31 Data fi: 2023-04-15
Incidències:
Llibre: 001 Data Inici Préstec: 2023-03-01 Data Fi: 2023-03-16 Data Retorn: 2023-
03-31
> info-Aitor Menta
Llibres en préstec:
L'alumne indicat no té cap llibre en préstec.
Incidències:
L'alumne indicat no té cap incidència registrada.
> stats
Número de llibres registrats: 6
Número d'incidències registrades: 2
Mitjana de pàgines per llibre: 582.5
> quit




(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)