Helsingin yliopisto
/
Tietojenkäsittelytieteen
laitos
/
Ohjelmoinnin perusteet
/
Copyright © 2001
Arto Wikla.
581325-0 Introduktion till programmering, kursförhör 12.11.2001/AW
Skriv namnet på kursen och datumet för tenten, ditt namn, personnummer
och din namnteckning på varje svarspapper.
Skriv varje svar på sitt eget papper!
Maximipoängen för varje uppgift är 10.
- Förklara kort och exakt följande begrepp:
uttryck, sats, konstruktör, accessor, index.
- Ett skepp har riktningen 0...359 grader och hastigheten -5.0...30.0
knop.
Negativ hastighet betyder att skeppet backar. För att implementera
skepp,
gör klassen Skepp som används med följande verktyg:
- public Skepp() gör ett skeppobjekt, vars riktning är 0 och
hastighet 0.0
- public void styrRoder(int grader) styr skeppet i den riktning
som bestäms
av antalet grader man gett som parameter, en positiv parameter styr
skeppet
åt höger (styrbord) och en negativ åt vänster (babord); då skeppet
backar är
riktningarna de motsatta, då skeppet står stilla påverkar rodret inte
riktningen
(observera att om riktningen är 359 och rodret fortfarande
vänds t.ex. mot höger, så blir de följande graderna 0, 1, 2,...).
- public void ställHastighet(double hastighet) ställer in den nya
hastigheten enligt numret som getts som parameter.
- public String toString() ger skeppets tillstånd som märkessträng.
Skeppsklassens datastrukturer visas inte för användaren.
- Använd klassen i föregående uppgift för att göra applikationen
Skeppare
som kan "styra skeppet". Skeppet styrs från tangentbordet på följande sätt:
- 1 vänder skeppet till vänster, programmet frågar efter gradantalet
- 2 vänder skeppet till höger, programmet frågar efter gradantalet
- 3 justerar hastigheten, programmet frågar efter den nya hastigheten
- alla andra tal avslutar seglatsen
Programmet ger skeppets tillstånd efter varje operation.
- "Vad i all världen är dedär
metoderna för något?",
utbrister din kompis
när du talar om dina upplevelser under kursen Introduktion till
programmering. Din kompis har programmerat såpass mycket att han känner
till enkla variabler, uttryck och satser.
"Vad för jäkla 'parametrar',
vem
'kallar' vem, varför?",
fortsätter han desperat. Hjälp din kompis att förstå
vad det riktigt är frågan om. Ställ alltså upp en skriftlig förklaring
(högst 1 konceptark )
där du förklarar det.
Kom ihåg att exempel hjälper
inlärningsprocessen.
Då svaren utvärderas tar vi i beaktande den tilltänkta
läsaren. Skriv alltså inte för provets granskare, som redan känner till
saken, utan för den där kompisen.
- Implementera följande service som ett interaktivt program.
Om morgnarna matas teckensträngar (String-värden) in i programmet
i slumpvis ordning.
Att
teckensträngarna tagit slut uttrycks med sluttecknet "slut". Det finns
aldrig mer än tusen strängar. Under dagens lopp frågas programmet ofta
om en
viss sträng (String-värde) är bland de strängar som matats in på
morgonen.
På kvällen stängs programmet av genom att mata in strängen "gonatt" som
sluttecken.
Av effektivitetsskäl måste sökningen av strängar programmeras
som en binärsökning.