University stuff.
您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. * Jeg synes oppgaven gikk greit.
  2. * Jeg vet ikke hvor lang tid jeg brukte paa oppgaven.
  3. # Antakelser:
  4. Jeg har gjort noen antakelser om ting som ikke var helt klart i oppgaven:
  5. * Jeg antar at det i parenteser i datafila ikke skal ha noen betydning for
  6. programmet, og at verdiene alltid kommer i samme rekkefolge. Dette er
  7. fordi det gjor parsingen mye lettere, og fordi det er noen tegn paa at
  8. det er skrevet for mennesker og ikke datamaskiner
  9. ( e.g "avtalenr / 0 hvis ingen avtale", og Resepter har "hvit/blå" (med
  10. norske tegn, ikke utf-8 engang), mens innholdet alltid bruker "hvit" og "blaa".
  11. * I oblig 4 fikk vi beskjed om aa ha IDer som automatisk teller opp i ting som
  12. legemidler og resepter, men filformatet gir IDen direkte.
  13. Jeg har lost dette ved aa sette IDen til det som er gitt i fila,
  14. men holde styr paa den storste IDen, og bruke den storste IDen + 1 naar
  15. noe settes inn manuelt.
  16. Dette hadde vaert et problem hvis ting skulle kunne slettes, men det skal
  17. det ikke. Alternativet hadde vaert aa skrive inn alle IDer manuellt, eller aa
  18. utvide filformatet til aa ta vare paa den storste IDen, slik at sletting ikke
  19. hadde blitt et problem.
  20. # Tillegsinformasjon:
  21. ### Her er kommentaren jeg skrev i Oblig7.java for sporringer om narkotisk
  22. ### misbruk, lagt til fordi det kan vaere vanskelig aa finne i koden:
  23. /*
  24. * Hva bor gjores hvis disse sporringene utfores veldig ofte?
  25. *
  26. * Disse sporringene er veldig tunge, fordi
  27. * vi maa gaa igjennom alle legemidler for hver resept
  28. * for baade hver lege og hver pasient.
  29. *
  30. * Hvis disse sporringene blir utfort veldig ofte, bor vi finne
  31. * en maate aa gjore at de gaar raskere. Her er noen maater
  32. * en kunne gjort det paa:
  33. *
  34. * 1. Cache resultatene.
  35. * Saa lenge vi ikke endrer paa legemidler, resepter, leger,
  36. * eller personer, vil resultatene alltid vaere det samme.
  37. * Det er derfor ikke noe vits i aa kalkulere alt paa nytt
  38. * hver gang; en kunne ha lagret resultatet, og kun vist frem
  39. * det lagrede resultatet hvis ingenting har endret seg.
  40. * Viktig aa passe paa at det lagrede resultatet slettes
  41. * slik at det rekalkuleres hver gang noe viktig endrer seg.
  42. *
  43. * 2. Bruke en database.
  44. * Relasjonelle databaser er laget for denne typen sporringer.
  45. * Aa gaa over fra et hjemmesnekret filformat til en form for
  46. * relasjonell database hadde nok vaert den beste losningen
  47. * hvis dette hadde vaert et ekte program for en ekte klient.
  48. * Naar en forst har gaatt over til en relasjonell database
  49. * finnes det ogsaa en del optimaliseringsteknikker
  50. * (indekser, etc.) som jeg ikke gaar in paa her.
  51. */
  52. ### En gjennomgang av hvordan en oppnaar det oppgaven spor om:
  53. ### Aa skrive "hjelp" gir en kortere versjon av alle kommandoene.
  54. * Lese all data fra fil: Dette skjer naar programmet starter.
  55. * Skrive alle data til fil: Dette skjer automatisk hver gang noe endrer seg.
  56. * Skrive ut all data:
  57. 1. Skriv "skriv ut"
  58. * Opprette og legge til et nytt legemiddel:
  59. 1. Skriv "nytt legemiddel"
  60. * Opprette og legge inn en ny lege:
  61. 1. Skriv "ny lege"
  62. * Opprette og legge inn en ny person:
  63. 1. Skriv "ny person"
  64. * Opprette og legge inn en ny resept:
  65. 1. Skriv "ny resept"
  66. * Hente legemiddel paa en resept:
  67. 1. Skriv "hent legemiddel"
  68. * Skriv ut hvor mange vanedannende resepter som finnes totalt:
  69. 1. Skriv "antall resepter"
  70. 2. Skriv "b", for vanedannende
  71. 3. Skriv "*", for alle steder
  72. * Skriv ut hvor mange vanedannende resepter som finnes til personer i Oslo:
  73. 1. Skriv "antall resepter"
  74. 2. Skriv "b", for vanedannende
  75. 3. Skriv "oslo"
  76. * For en gitt person, skriv ut alle dens blaa resepter:
  77. 1. Skriv "vis resepter til person"
  78. 2. Skriv inn ID eller fodselsnummer
  79. 3. Skriv inn "blaa"
  80. * For en lege med et gitt navn, skriv ut alle legens resepter etc:
  81. 1. Skriv "vis resepter til lege"
  82. 2. Skriv legens navn
  83. 3. Skriv "mikstur"
  84. * For aa finne misbruk av narkotika:
  85. 1. Skriv "finn narkotisk misbruk"