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.