INF1000 - oppgavesett 3 (11-15 sept)

Form?l:

?ve p? innlesing fra terminal og formatert utskrift til terminal. ?ve p? bruk av forgreninger (if og switch).

Teoritimer (plenums?vinger):

  1. Oppgave 1 og 4 i kapittel 3 i l?reboka.
  2. Oppgave 2 og 3 i kapittel 4 i l?reboka.
  3. Lag et program som skal finne ut av om en person er gammel nok til ? f? lov til ? kj?pe en kinobillett med 11-?rsgrense. Programmet skal sp?rre om personens alder, og hvis vedkommende er minst 11 ?r s? skal programmet skrive ut "Kan kj?pe billett", ellers skal programmet skrive ut "Kan ikke kj?pe billett".
  4. Endre programmet ovenfor slik at det gir f?lgende svar:
    • hvis kj?peren er 0-6 ?r: "Kan bare se filmer uten aldersgrense"
    • hvis kj?peren er 7-15 ?r: "Kan se ungdomsfilmer"
    • hvis kj?peren er 16 ?r eller eldre: "Kan se alle filmer"
  5. Lag et program som ber brukeren oppgi hvorvidt han/hun er registrert som student ved UiO. Svaret skal lagres i en boolsk variabel erStudent. Programmet skal s? gj?re f?lgende:
    • Hvis brukeren er registrert som student ved UiO, skal programmet sp?rre brukeren om vedkommende har stemt ved ?rets Studentparlamentsvalg. Hvis brukeren ikke har stemt, skal programmet minne vedkommende p? ? stemme ved neste valg.
    • Hvis brukeren derimot ikke er registrert som student ved UiO, skal programmet oppfordre vedkommende til ? bli det.
    Merk: du m? i denne oppgaven avgj?re hvordan du skal f? overf?rt brukerens svar til den boolske variabelen erStudent. Du kan f.eks. be brukeren svare 'j' eller 'n' og bruke char svar = tast.inChar(); if(svar == 'j') { } else { } String svar = tast.inWord(); if (svar.equals("ja")) { } else { }
  6. Lag en enkel kalkulator som st?tter de fire regneartene (+ - * /). Programmet skal begynne med ? sp?rre brukeren om hvilken regneart han/hun ?nsker ? benytte seg av. Brukeren svarer da f.eks. '*' og programmet leser svaret med inChar og lagrer svaret i en char-variabel.

    Programmet skal s? be om to heltall (disse lagres i hver sin int-variabel).

    Bruk en forgrening (enten en kjedet if-else setning eller en switch-setning) til ? sjekke hvilken regneart brukeren valgte og skriv ut svaret av ? utf?re den valgte regneoperasjonen p? de to tallene. Tenk gjennom hva som skjer ved divisjon (hva slags divisjon f?r vi utf?rt?) og forklar hvordan vi kan modifisere programmet hvis vi ?nsker den andre typen divisjon.

Terminaltimer:

  1. Oppgavene 2 og 3 i kapittel 3 i l?reboka.
  2. Oppgave 1 og 4 i kapittel 4 i l?reboka.
  3. Ta utgangspunkt i programmet VareOversikt.java som du finner i Eksempel 2 p? side 51 i l?reboka og som du kan laste ned fra bokas nettsider: Gj?r f?lgende:
    • Kompiler og kj?r programmet.
    • Endre programmet slik at vareoversikten inkluderer to nye vareslag: Slim?l (pris 2.50) og Kolje (pris 102.00).
    • Endre programmet du n? har laget slik at vareoversikten f?r en ekstra kolonne til h?yre for de to andre. Denne kolonnen skal ha overskrift VAREBEHOLDNING og vi skal tenke oss at varebeholdningen er et heltall som angir antall kilo som er p? lager av en vare. Anta at varebeholdningen er som f?lger: Torsk 50, Uer 20, Sild 150, Slim?l 500, Kolje 17.
  4. Hvis det blir tid til overs: programmer noen av oppgavene til teori?vingene og test dem ut p? maskinen.