GestioNotesGuiat¶
Resoleu l’exercici GestioNotes seguint el desenvolupament guiat següent:
Dissenyeu una funció, anomenada extreureDNI, que, donat un string format pels 8 caràcters del DNI, un espai en blanc i una nota, retorni el substring del DNI. Per exemple, extreureDNI(“34566784 5.5”) ha de retornar “34566784”.
Dissenyeu una funció, anomenada extreureNota, que, donat un string format pels 8 caràcters del DNI, un espai en blanc i una nota, retorni un real que sigui la nota continguda al string. Per exemple, extreureNota(“34566784 5.5”) ha de retornar el real 5.5.
Dissenyeu una funció, anomenada calcularNota, que, donada una llista de 5 reals que representen notes de lliuraments, retorni la nota final calculada com la mitjana aritmètica de les quatre millors notes. Recordeu que podeu utilitzar la funció min(llista) que retorna el mínim d’una llista i que la funció sum(llista) retorna la suma dels seus elements.
Dissenyeu una funció, anomenada nomFitxer, que donat un enter, retorni el string «L#.txt» on # és el valor de l’enter donat. Per exemple, per i=0, la funció ha de retornar «L0.txt» i per i=4, «L4.txt».
Dissenyeu una funció anomenada obrirFitxers, que obri els cinc fitxers «L#.txt» en mode lectura i retorni una llista amb els seus 5 identificadors. Cal utilitzar la funció nomFitxer.
Dissenyeu una funció, anomenada tancarFitxers, que, donada una llista d’identificadors de fitxers, els tanqui.
Dissenyeu una funció, anomenada escriureFitxer, que, donat un identificador de fitxer, un string que representa un dni i un real que representa una nota, escrigui una línia al fitxer formada per dni, un espai en blanc i la nota. Per exemple, per l’identificador g, el dni “34566784” i la nota 5.5, la funció ha d’escriure al fitxer d’identificador g, la línia: “34566784 5.5”.
Dissenyeu la funció principal, anomenada tractarFitxers, que fa el següent:
Obrir els cinc fitxers amb la funció obrirFitxers
Obrir el fitxer «NF.txt» en mode escriptura
Recorre sequencialment el fitxer L0.txt i, per cada línia:
extreure el dni,
crear una llista amb la nota de L0,
llegir la línia corresponent en els 4 altres fitxers per extreure’n les 4 notes i afegir-les a la llista de notes,
calcular la nota final a partir de la llista de notes,
escriure al fitxer NF.txt el dni i la nota calculada.
Tancar tots els fitxers