Programmering H2014 — obligatorisk innlevering nr. 1
Innleveringsfrist for 1. obligatoriske oppgave mandag 15. september kl.15.
Besvarelser kan leveres av grupper på inntil 3 studenter.
For å få godkjent innleveringen, kreves det at det leveres kjørbare programmer som
oppfyller spesifikasjonene i oppgavene.
Filene med programmenes kildekode sendes på e-post på følgende måte:
Emne på e-posten: Oblig1, 2014
Innhold i e-posten: Gruppemedlemmene med fullt navn, studentnummer og klasse/linje.
Vedlegg: .java-filene. Kompilerte filer (.class-filer)trengs ikke å legges ved.
Oppgaven skal sendes til: programmeringhioa@gmail.com
Pass på at det i
kildekoden er brukt innrykk, layout og kommentarer i samsvar med god
programmeringsstil. På toppen av hver klasse bør det være en kommentar som
forteller hva klassen er ment for, og eventuell annen nyttig info,
samt navn, studentnummer og klasse for gruppemedlemmene.
Dersom det oppdages at en gruppe har kopiert løsningen til
en annen gruppe, vil ingen av de to gruppene få godkjent innleveringen!
(Og derved miste muligheten til å ta eksamen i kurset.)
Det vil
ikke bli gitt karakter på innleveringen, bare Godkjent/Ikke godkjent.
Innleveringen må være godkjent for å kunne gå opp til slutteksamen i faget!
Husk å skrive tydelig gruppemedlemmenes navn, studentnummer og klasse på alle kildefilene som
hører til programmene.
Oppgavene bygger på lærestoffet i kapitlene
1,
2,
3 og
4,
samt eksemplene og ukeoppgavene som er gjennomgått.
Du bør ha lest, og forstått, disse kapitlene og oppgavene før du går i gang med oppgaven.
Oppgave 1:
Finn en eller to studenter du kan danne gruppe med. Hvis du synes det er vanskelig
å finne noen å jobbe med kan du møte opp på labtimene og få hjelp av studentassistenene
til å danne gruppe. (Det er mulig å jobbe alene for dem som absolutt vil det, men det anbefales ikke.)
Oppgave 2
Lag et applikasjonsprogram som beregner og skriver ut summen av alle tall
mellom to grenser som brukeren skriver inn. Programmet skal starte med å lese
inn nedre og øvre grense for summen. Dersom innlest øvre grense er mindre enn
eller lik nedre grense, skal programmet skrive ut en melding til brukeren om dette og
foreta ny innlesing. Når godkjente grenser er lest inn, skal
programmet beregne nevnte sum og summen skal så skrive den ut som en sum.
Hvis f. eks. nedre grense er 2 og øvre grense er 8 skal det skrives ut følgende tekst:
"2 + 3 + 4 + 5 + 6 + 7 + 8 = 35".
Test ut programmet med nedre grense lik 1 og øvre grense lik 100.
Legg inn et linjeskift for hvert 10. tall i summen.
Oppgave 3
Nedenfor ser du en skisse i pseudokode av klassen Sirkel
.
Din oppgave er å erstatte pseudokoden med java-instruksjoner.
NB! Pass på at du velger riktig aksess-form
(private
eller public
) for datafelt og metoder.
public class Sirkel
{
< Datafelt for sirkelens radius. >
< Konstruktør som skal gi startverdi til sirkelens radius.
NB! Hvis startverdien er negativ, skal radius settes til 0. >
< set-metode for sirkelens radius.
NB! Hvis parameterverdien er negativ, skal radius settes til 0. >
< get-metode for sirkelens radius. >
< Metode som beregner og returnerer sirkelens diameter. >
< Metode som beregner og returnerer sirkelens omkrets. >
< Metode som beregner og returnerer sirkelens areal. >
< Metode som returnerer en tekst som inneholder sirkelens radius,
diameter, omkrets og areal. NB! Du SKAL bruke klassens metoder
for å beregne disse verdiene. >
} // end of class Sirkel
Nedenfor ser du en skisse av hovedprogrammet som du skal bruke til å teste ut
klassen Sirkel
.
Din oppgave er også her å erstatte pseudokoden med java-instruksjoner.
< nødvendig(e) import-setning(er) >
public class SirkelTest
{
public static void main(String[] args)
{
< Deklarering og initialisering av nødvendige variabler >
< Les inn sirkelens radius fra brukeren. >
< Så lenge radius er positiv:
Opprett et Sirkel-objekt, som ved opprettelsen blir tilført
den radius som brukeren har skrevet inn.
Summer radiusene ettehvert som de leses inn.
Skriv sirkelens radius, diameter, omkrets og areal ut på skjermen
ved å bruke en eller flere metoder i Sirkel-klassen.
Les inn sirkelens radius på nytt fra brukeren. >
< Skriv ut den gjennomsnittelige radiusen for de innleste sirkelene.
Hvis det ikke er lest inn noen skal programmet gi beskjed om det. >
}
} // end of class SirkelTest
Innlesing av radius og utskrift av radius, diameter, omkrets og areal skal foretas gjentatte ganger,
inntil det leses inn en verdi som gjør betingelsen usann.
Bruk dialogvinduer til både innlesing og utskrift.
(Utskrift av radius, diameter, omkrets og areal kan gjøres i en og samme dialogvindu.)
NB! Klassene må skrives på hver sin fil. Opprett en mappe som heter Sirkel, og legg begge filene i den.
Hvis dere trenger hjelp, kan dere møte opp på datalaben:
tirsdager kl 10:30 - 12:15 på rom PH451 og PH461
torsdager kl 10:30 - 12:15 på rom PH422
PS! Hvis dere får problemer med å rekke fristen må dere ta kontakt studentassistentene
Daniel Reinholdt(daniel_reinholdt@hotmail.com) og Lukas David Larsed (s198569@stud.hioa.no) FØR den går ut.
Lykke til!