mandag 10. september 2007

Oblig 4

OBS: Frist utsatt en uke til 28/9. Oppgave 1: Strøm betales flere ganger i året. Lag et program som beregner strømkostnad (siden siste betaling), basert på prisliste (leses fra fil), samt forbruk (kWh) basert på forrige og nyeste måleravlesning (oppgis av bruker, som også må oppgi type abonnement, "flytende" eller "fastpris"). Bruker skal betale for nettleie og forbruk. Nettleien (for alle) er V0 øre/kWh og F0 kr/år. Forbruket koster V1 øre/kwH og F1 kr/år (for "fastpris") eller V2 øre/kwH og F2 kr/år (for "flytende"). Antallet regninger per år angis i første linje på fil, og fastpris fordeles på disse regningene.

Oppgave 2: Lag et program som a) krever brukernavn og passord (avvises etter et max antall forsøk), og hvis OK, b) lar brukeren velge reisemål og se prisen. Reisemål og pris ligger på tekstfil A (leses bare hvis innlogging gikk greit). Godkjente brukere (med passord og max. antall forsøk) leses fra fil B ved oppstart. Da listen over reisemål og -pris endres stadig må listen holdes (automagisk) oppdatert. Frekvensen ligger som første linje i fil A.

Krav til svaret: Sterk typesjekking, bruk av løkke, forståelige variabelnavn og korrekte prefiks, minst en subprosedyre og en funksjon, korrekt utregning. Frist: Fredag 2128/9.

2 kommentarer:

svenryen sa...

På oblig 4 - oppgave 2 har det kommet noen spørsmål om det skal være samme antall forsøk for innlogging for alle brukere - eller om det skal være individuelt antall forsøk pr bruker.

Vi vil godkjenne begge måter å løse oppgaven på. Hvis du vil ha likt antall forsøk pr bruker (som vi synes er en veldig hensiktsmessig løsning) er det en god ide å legge antall forsøk på første linje i tekstfila som du leser inn.

kd sa...

Greit. Men, hvis en personifiserer max. antall forsøk (som er vanlig i Windows og UNIX) kan en bruke (som jeg har røpet for en gruppe) en utvidet Brukerstruktur:

Structure Bruker
... Dim navn as String
... Dim passord as String
... Dim maxAntForsok as Integer
... Dim antForsok as Integer
End Structure

Når brukeren leses inn (fra fil) er det bare navn, passord og maxAntForsok som får verdi. Den fjerde (antForsok) forblir ikke-initialisert (0). I funksjonen Godkjent(n,p) økes antForsok med 1 hvis brukeren (n) finnes i tabellen over kjente brukere.