Helsingin yliopisto
/
Tietojenkäsittelytieteen
laitos
/
Copyright © 2008 Arto Wikla.
Introduktion till programmering, kursprov 15.10 2008/AW
Skriv namnet på kursen, datum för provet, ditt eget namn och ditt
studentnummer (eller din personbeteckning) samt din underskrift upptill
på varje svarskoncept.
Varje svar (1, 2, 3) skall skrivas på sitt eget
konceptpapper!
-
Det finns två pengabingar i en bank. Den ena bingen är för egna pengar,
den andra för inlånade och utlånade pengar. Vi kallar bingarna
"egna_bingen" och "lånebalansbingen". Egna bingen får inte vara negativ.
Däremot får lånebalansbingen vara det: om den har negativt värde betyder
det att banken är skylding pengar, positivt betyder att andra är
skyldiga banken pengar.
Programmera klassen FyrkeBanken
för att implementera banken.
- public FyrkeBanken(double egna, double lånade) skapar objektet
FyrkeBanken. Bingarnas startkapital ges som parametrar.
- public double getKapital() ger värdet på egna bingen
- public double getLån() ger värdet på lånebalansbingen
- public double getBalans() ger bankens helhetssituation, balansen,
d.v.s. summan av bingarna
- public void deponering(double mängd) lägger pengar till egna bingen
- public boolean uttag(double mängd) subtraherar pengar från egna_bingen.
Om man försöker lyfta mera pengar än det finns i bingen, lyfts
ingenting och metoden ger värdet false som utmatning. Om uttaget lyckas
ger metoden värdet true som utmatning.
- public boolean låneförändring(double mängd) försöker lägga värdet på
parametern till lånebalansbingen. Parametern kan också vara negativ,
vilket alltså betyder att banken lånar in mera pengar. Om bankens
balans, d.v.s. summan av bingarna, är negativ före låneförändringen får
banken inte låna in mera pengar. Metoden ger true om låneförändringen
lyckas, false om banken inte fick låna mera.
- ublic String toString() ger som värde en teckensträng i klartext som
beskriver bankens tillstånd.
Visa hur man använder klassen FyrkeBanken med hjälp av ett litet
huvudprogram. Programmet behöver inte läsa någonting och skall inte
heller göra det.
Försök inte söka efter en verklig motsvarighet till
FyrkeBanken i onödan! Programmera bara det som "API" säger.
(16 poäng)
- "Objekt, vad för jäkla objekt? Och vad för konstig kapsylering?",
frågar din kompis som hört dig tala om kursen Introduktion till
programmering. Din kompis har programmerat så pass mycket att han känner
till enkla variabler, uttryck, satser, metoder och parametrar, men han
vet ingenting om objektsprogrammering. Hjälp din kompis förstå vad
objekt är, hur man programmerar med dem och använder dem, vad för nytta
och nöje man kan ha av dem. Skriv alltså en förklaring
(på max. 1 konceptark).
Kom ihåg att exempel och bilder stöder inlärningsprocessen.
Då svaret betygsätts kommer den tilltänkta läsaren att tas i beaktande.
Skriv alltså inte för granskaren, som redan kan det här med objekt, utan
för din kompis!
(16 poäng)
-
Lotto är ett nummerspel där man drar 7 nummer och 3 tilläggsnummer av 39
nummer. Vinstklasserna i Lotto är 7 rätt, 6 rätt och ett tilläggsnummer,
6 rätt, 5 rätt, och 4 rätt. Gör ett program som först lottar ut den
rätta raden. Sedan kan man fråga programmet om det finns en korrekt
lottorad. Det kan förekomma flera förfrågningar. Avgör själv hur
programmet slutför sin funktion. Du kan välja slumpmässiga tal mellan 1
och 39 t.ex. på följande sätt:
int dragna = (int)(39*Math.random()) + 1;
(18 poäng)