Introduktion till programmering, kursförhör den 21.10 2009/AW Skriv upptill på varje konceptpapper namnet på kursen, datum för förhöret, samt ditt namn, studienummer (eller din personbeteckning) och din underskrift. Varje svar (1, 2, 3) bör skrivas på sitt eget pappersark! Du får svara på finska, svenska eller engelska. Om det behövs, får du använda alla dessa språk, så länge svaren är förståeliga. 1. En fond har två pengabingar. Den ena bingen är till för pengar som fonden själv har skaffat, och den andra för stödpengar från staten. Vi kallar bingarna "resursbingen" och "stödbingen". Stödbingen får inte vara negativ. Däremot får resursbingen vara negativ: ett negativt värde betyder att fonden har skulder, positivt att fonden har resurser som den skaffat själv. Programmera klassen Fond för att implementera fonden. * public Fond(double resurser, double stöd) skapar objektet Fond. Startkapitalet för bingarna anges som parameter. * public double getResurser() ger värdet för resursbingen * public double getStöd() ger värdet för stödbingen * public double getBalans() ger fondens helhetsbild, balansen, alltså summan av bingarna * public void resursförändring(double belopp) förändrar innehållet i resursbingen enligt parametern, parametern får vara negativ * public boolean statligtStöd(double belopp) ökar innehållet i stödbingen enligt parametern; endast positiva stöd duger. Om staten försöker ta pengar av fonden genom "negativa stöd" ger metoden värdet false, annars true. * public double överförStödTillResurser(double belopp) överför pengar från stödbingen till resursbingen enligt parametern. Om det inte finns så mycket tillgångar att överföra som man bett om, överförs så mycket man kan. Om parametern är negativ, görs ingen överföring -- inte kan man ju kalla resurserna stöd, heller. Som sitt värde ger metoden det angivna beloppet. * public String toString() ger som sitt värde en teckensträng i klartext som beskriver fondens tillstånd Illustrera hur man använder klassen Fond med ett litet huvudprogram. Detta program behöver inte och bör inte läsa nånting. Försök inte söka efter en verklig motsvarighet till klassen Fond i onödan! Programmera bara som "API" säger. (16 poäng) 2. Förklara kort och koncist begreppen parameter, konstruktör, accessor, inkapsling. (ā 4 poäng, sammanlagt 16 poäng) 3. Implementera följande gissningsspel interaktivt, alltså som ett program med växelverkan: Varje morgon matas exakt tusen lyckonummer i slumpmässig ordning i spelet. Lyckonumren är positiva heltal. Samma tal kan förekomma flera gånger. Under dagens lopp går spelarna in och försöker gissa tal. Om en spelare lyckas gissa rätt något tal som matats in samma morgon, gratulerar programmet spelaren. Om spelaren misslyckas, beklagar programmet. Programmet avslutas om en spelare matar in noll eller ett negativt tal. Då matar programmet ut antalet korrekta och inkorrekta gissningar. För effektivitetsskäl måste sökningen efter tal ur tabellen programmeras med en binärsökning. Du kan utgå ifrån att alla inmatade tal är godtagbara helhetstal. (18 poäng)