Skip to content

ochicf/DED-Practica

Repository files navigation

Pàctica Tardor 2017 - Oscar Chic Farré

Introducció

He creat un repositori git per realitzar la pràctica que he pujat a GitHub com a eina addicional. He intentat seguir un ordre lògic i he anat realitzant explicacions a mesura que anava fent commits.

Per tant, crec que pot resultar força aclaridor i una manera de facilitar la feina de correcció al poder veure directament els canvis que he anat fent sobre el codi proporcionat a l'enunciat.

Repositori: ochicf/DED-Practica

En cas de no sigui un lliurable vàlid per ésser corregit, he descrit els canvis i els testos a continuació.

Canvis de disseny respecte PAC1 i PAC2

Usuaris

  • eliminació de la constant ContentManager.U
  • utilització d'un DiccionariAVLImpl tal com està indicat a la sol·lució de la PAC2
  • afegit comparador User.CMP_CLAU_VALOR amb paràmetres ClauValor, tal com el DiccionariAVLImpl necessita

Pel·lícules

  • augmentat el valor de la constant ContentManager.P per tal de complir el requisit de "centenars de milers"
  • utilització d'una TaulaDispersio tal com està indicat a la sol·lució de la PAC2
  • implementació de ContentManagerImpl.getMovie

Pel·lícules en pausa

  • utilització d'una LlistaEncadenada tal com està indicat a la sol·lució de la PAC2
  • implementació del mètode privat User.posicioPausedMovie per tal de recuperar la posició d'una pel·lícula en pausa
  • actualització dels mètodes User.pauseMovie, User.pausedMovie i User.resumeMovie (i les seves signatures quan necèssari) amb el nou TAD
  • actualització dels mètodes ContentManagerImpl.pausedMovie i ContentManagerImple.resumeMovie i les seves signatures amb els nous canvis dels mètodes homònims d'User
  • millora en el mètode User.pauseMovie per evitar repeticions de pel·lícules pausades: quan s'intenta pausar una pel·lícula que ja es troba en la llista de pel·lícules pausades se n'actualitza el minut enlloc de tornar-la afegir

Pel·lícules vistes

  • utilització d'un ArbreAVL tal com està indicat a la sol·lució de la PAC2
  • actualitzar comparador per tal que es llistin de forma ascendent
  • implementació de ContentManagerImpl.getWatchedMovie
  • actualitzar User.toString per mostrar les pel·lícules visualitzades
  • actualitzar WatchedMovie.toString per mostrar la data de visualització amb el format esperat als tests

Valoracions

  • implementació de Movie.rating com a atribut de tipus int
  • implementació de CuaAmbPrioritatActualitzable per tal d'emmagatzemar les pel·lícules ordenades per rating. Bàsicament és una classe que extén CuaAmbPrioritat però que sobreescriu el mètode encuar: comprova si l'element a encuar ja es troba dins de la cua i, en cas que així sigui, la reordena
  • implementació de ContentManagerImpl.rateMovie
  • implementació de ContentManagerImpl.bestRated

Tests

Tests proporcionats per l'enunciat (in2.txt)

El resultat dels testos proporcionats és l'arxiu out2.txt.

Tests afegits (in3.txt)

He afegit un seguit de testos a l'arxiu in3.txt amb les funcionalitats o casos que creia convenient testejar i que no estàven recollits en els tests proporcionats. Cada test té una petita descripció en format de comentari al mateix arxiu de test.

El resultat dels testos es troba a out3.txt.

About

Disseny d'Estructures de Dades - Pràctica

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published