Oblig 1 - obligatorisk oppgave nr. 1 i INF1000 høsten 2012.
Leveringsfrist: Fredag 7. september kl. 16.00 i Joly-systemet (åpner for levering i løpet av onsdag 5. september).
Denne oppgaven består av to deler (program), A og B, som begge må løses for å få oppgaven godkjent. Oppgaven skal løses og leveres individuelt. Løsningen trenger ikke være "perfekt", men du må ha gjort et grundig og selvstendig forsøk. Det som skal leveres i Joly er to filer - en med det ferdige programmet fra oppgave A (både A.1 og A.2) og en med det ferdige programmet fra oppgave B (både B.1 og B.2). Bruk Javas muligheter for kommentarer øverst i filene for å gi eventuelle ekstrabeskjeder til gruppelærer.
Les også generell informasjon om obliger i INF1000 (viktig!), inkludert informasjon om Joly.
Målet med obligen er å vise at du behersker grunnleggende programmering med variable, forgreninger (if-else) og innlesning fra terminal, slik at du er klar for å fortsette med å lære blant annet metoder uken etter fristen.
Oppgave A
Oppgave A.1
Denne oppgaven forutsetter at du kan:
- Deklarere og bruke heltallsvariable i enkle beregninger.
- Enkel utskrift til skjerm.
''Alle'' sier at det har vært dårlig sommervær i år. Stemmer egentlig det? I denne oppgaven skal du bruke Java til å regne på noen værdata fra
Meteorologisk Institutt (met.no).
Det viser seg at for Blindern 2012 var det:
- i mai 13 dager med nedbør og det falt totalt 59mm nedbør den måneden
- i juni 20 dager med nedbør og det falt totalt 94mm nedbør den måneden
- i juli 21 dager med nedbør og det falt totalt 149mm nedbør den måneden
Du skal lage et Java-program hvor du i noen variable skriver inn opplysningene ovenfor og som så beregner i andre variable og skriver
ut på skjermen følgende tre opplysninger (med passende tekster foran tallene):
- Hvor mye nedbør var det totalt sommeren 2012 (= mai + juni + juli)
- Hvor mye nedbør falt det i gjennomsnitt (per dag) de dagene det regnet sommeren 2012.
- Normalnedbøren for en gjennomsnittlig juli måned på Blindern er 81mm. Hvor stor prosent av normalnedbøren regnet det i juli måned 2012?
Du skal lage et Java-program, kompilere det og kjøre det, samt forsikre deg om at det regner riktig (ved å beregne de samme tallene for hånd).
Oppgave A.2
Denne oppgaven forutsetter at du kan:
- if-setninger og enkle boolske uttrykk
i tillegg til elementene nevnt under oppgave A.1.
Deklarér tre variabler til. Programmet skal regne ut gjennomsnittsnedbør per regndag for hver av månedene (mai, juni, juli) og lagre det i de tre nye variablene. Utvid programmet slik at det finner og skriver ut den høyeste av disse tre gjennomsnittene. Ta med både gjennomsnittsverdien og månedsnavnet i utskriften. Med andre ord skal du finne måneden som hadde de våteste regndagene i sommer.
Sjekk at programmet finner den høyeste av tre verdier riktig ved å teste også med andre nedbørsverdier enn de som er oppgitt i oppgaveteksten. I leveringen skal imidlertid verdiene fra oppgaveteksten brukes.
Oppgave B
Oppgave B.1
Denne oppgaven krever i tillegg til det som er angitt under oppgave A at du kan:
- Enkel input av tekst og tall.
Du skal nå skrive et Java-program som beregner ukelønn for en gitt ansatt. Programmet skal lese inn den ansattes navn, timelønn (i hele kroner) og antall timer jobbet forrige uke. Ved arbeid utover 40 timer per uke skal det betales et overtidstillegg på 50% av ordinær timelønn.
Etter å ha beregnet lønnen, skal programmet skrive ut en "lønnsslipp" hvor det fremgår hvilken ansatt dette gjelder, totallønnen for forrige uke og hvordan denne fordeler seg mellom ordinær lønn og overtidsbetaling.
Oppgave B.2
Vi anbefaler at du bruker en eller flere enkle løkker for å løse denne oppgaven, men det er også mulig å løse oppgaven uten løkker.
Utvid programmet slik at det beregner lønn for de siste fire ukene i stedet for bare forrige uke. Programmet skal lese inn hvor mye som er jobbet hver av de fire siste ukene separat, og beregne lønn for hver uke som beskrevet under oppgave B.1. I tillegg skal totallønn for alle fire ukene skrives ut.