INF1000 - oppgavesett 2 (4-8 sept)

Form?l:

?ve p? bruk av variable av forskjellige typer og matematiske uttrykk.

Teoritimer (plenums?vinger):

  1. Oppgavene 2-6 i kapittel 2 i l?reboka (Rett p? Java, 2. utgave). I oppgave 6 gj?r en bruk av operasjonen ++, som plasseres enten rett foran eller rett bak en numerisk variabel. Denne operasjonen ?ker variabelens verdi med 1. Hvis vi f.eks. har foretatt deklarasjonen
  2. Avgj?r i hvert av disse tilfellene (uten ? bruke datamaskin) hvilken verdi som blir skrevet ut p? skjermen. Husk at reglene for divisjon i Java avhenger av om vi jobber med heltall eller ikke (se side 36-37 i l?reboka).
    1. System.out.println(10 / 9);
    2. System.out.println(10 / 10);
    3. System.out.println(10 / 11);
    4. System.out.println((int) 3.65 - 4);
    5. System.out.println((int) (3.65 - 4));
    6. System.out.println(1 / 2);
    7. System.out.println(1 / 2.0);
    8. System.out.println(1.0 / 2);
    9. System.out.println((double) 1 / 2);
    10. System.out.println(Math.ceil(3.1415926));
    11. System.out.println(Math.floor(3.1415926));
    12. System.out.println(Math.round(3.1415926));
  3. Avgj?r (uten ? bruke datamaskin) hvilken verdi som blir skrevet ut i hvert av disse tilfellene. For ? svare p? denne oppgaven m? du kjenne reglene for evaluering (utregning) av numeriske uttrykk i Java. Kortversjonen av disse er at uttrykk beregnes fra venstre mot h?yre, men multiplikasjoner og divisjoner utf?res f?r addisjoner og subtraksjoner. Du kan lese mer om dette p? side 37 i l?reboka.
    1. System.out.println(3 * 4 + 5);
    2. System.out.println(3 + 4 * 5);
    3. System.out.println((3+4)*5);
    4. System.out.println(1 + 2 + 3 * 1 + 2 + 3);
    5. System.out.println((1 + 2 + 3) * (1 + 2 + 3));
    6. System.out.println(1 / 2 * 5);
    7. System.out.println(1 / 2 * 5.0);
    8. System.out.println(1.0 / 2 * 5);
    9. System.out.println(5 * 4 / 3 * 2 / 1);
  4. Ved utskrift av desimaltall er det ofte ?nskelig ? kontrollere hvor mange desimaler som skrives ut. Bruker vi System.out.println(x) til ? skrive ut en double-variabel x, f?r vi med alle desimalene som er lagret i x (med unntak av avsluttende nuller i desimalene). I nyere versjoner av Java (JDK 5.0) finnes en beslektet metode som gir oss bedre kontroll over utskriften. Hvis vi skriver
    1. p? 10 plasser og med 0 desimaler
    2. p? 8 plasser og med 4 desimaler
    3. p? 25 plasser og med 20 desimaler
  5. Anta at b er en boolean-variabel som har blitt initialisert. P? forelesningen uke 2 s? vi at b og b==true alltid har samme sannhetsverdi (dvs hvis vi plugger inn true for b, s? har de samme sannhetsverdi, og hvis vi plugger inn false for b s? har de samme sannhetsverdi). Vi sier at de to uttrykkene b og b==true er ekvivalente. Nedenfor ser du noen flere eksempler p? uttrykk som er ekvivalente. Forklar (uten ? bruke datamaskin) for hvert av de tre eksemplene at de to uttrykkene som st?r oppgitt er ekvivalente: (b && !b) og false
  6. Anta at du skal deklarere en variabel som kan brukes til ? holde p? et 11-sifret f?dselsnummer. Du m? da ta stilling til hva slags datatype variabelen b?r ha. Vurder hver av f?lgende muligheter, og kommenter for hver av dem om du anser det som et umulig/d?rlig/godt valg: char, int, double, String.

Terminaltimer:

  1. Oppgave 1 i kapittel 2 i l?reboka.
  2. Lag et program PersonInfo.java som deklarerer variabler for ? ta vare p? navnet ditt, alderen din, bostedskommunen din og hvorvidt du jobber ved siden av studiene. Avgj?r selv hva slags datatype hver av disse variablene b?r ha. Etter at variablene er deklarert legger du inn verdier i dem (navnet ditt, alderen din, osv). Programmet skal deretter skrive ut innholdet av alle variablene og om du er under 20 ?r eller ikke (se Eksempel 3 p? side 40-41 i l?reboka for ? se hvordan du kan gj?re en slik test og lagre resultatet av den med en boolean-variabel).
  3. Lag et program som beregner pris inklusive merverdiavgift (25 %) av en nettopris. Formelen for dette er: totalpris = nettopris * 1.25. La totalpris og nettopris v?re to variable. - hvilke/n typer variable b?r disse v?re?
  4. Ta utgangspunkt i programmet BodyMassIndex.java i Eksempel 3 p? side 40-41 i l?reboka, og som du kan laste ned fra bokas nettsider:
  5. Gj?r ferdig obligatorisk oppgave 1.