Løsningsforslag ukeoppg. 3: sep (INF Høst 2011)

Like dokumenter
Ukeoppgaver 2: sep (INF Høst 2010)

Løsningsforslag ukeoppg. 4: sep (INF Høst 2011)

Løsningsforslag ukeoppg. 6: 28. sep - 4. okt (INF Høst 2011)

INF1000 (Uke 4) Mer om forgreninger, While-løkker

I dag INF1000 (Uke 4) Mer om forgreninger, While-løkker. Tre måter å lese fra terminal. Repetisjon. Mer om forgrening While-løkker

I dag INF1000 (Uke 4) Mer om forgreninger, While-løkker. Tre måter å lese fra terminal. Tre måter å lese fra terminal.

Løsningsforslag ukeoppg. 2: 31. aug - 6. sep (INF Høst 2011)

INF1000 oppgaver til uke 38 (17 sep 23 sep)

INF Uke 10. Ukesoppgaver oktober 2012

UNIVERSITETET I OSLO

Java 4. Mer om easyio Mer om forgreninger Løkker. 7. september 2004

Hvis en person har inntekt < , så betaler han 10% skatt på alt, og ellers betaler han 10% skatt på de første og 30% på resten.

Hvis en person har inntekt < , så betaler han 10% skatt på alt, og ellers betaler han 10% skatt på de første og 30% på resten.

Tre måter å lese fra terminal. Java 4. Eksempel. Formatert utskrift til skjerm

TEMA: Kommunikasjon med Bruker INF1000 Plenumsgruppe 1, formatert utskrift

INF 1000 høsten 2011 Uke september

switch: - terminal-i/o (bruker-i/o)

INF1000 undervisningen INF 1000 høsten 2011 Uke september

Eksempel: Body Mass Index (BMI) Forelesning inf Java 3. Ferdig program (første del) Ferdig program (siste del)

INF1000 (Uke 5) Mer om løkker, arrayer og metoder

INF 1000 høsten 2011 Uke 3 6. september

Ukeoppgaver INF1000: 12. feb 16. feb

Løsningsforslag ukeoppg. 9: okt (INF Høst 2011)

Oversikt. INF1000 Uke 2. Repetisjon - Program. Repetisjon - Introduksjon

Innhold uke 3. INF 1000 høsten 2011 Uke 3 6. september. Uttrykk. Variabel: En plass i hukommelsen

I dag. Rep: Oppsummering - variabler. Rep: Datatyper. INF1000 (Uke 3) Mer om uttrykk, terminal I/O, forgreninger

Litt mer om uttrykk: ++ og -- INF1000 : Forelesning 4. Oppgave. Blokker. 0 udefinert udefinert. Alternativ 2 Postfiks-operator

INF1000 : Forelesning 3

Mer om uttrykk, terminal I/O, forgreninger. Grunnkurs i programmering Institutt for Informatikk Universitet i Oslo

LITT OM OPPLEGGET. INF1000 EKSTRATILBUD Stoff fra uke September 2012 Siri Moe Jensen EKSEMPLER

Oversikt. INF1000 Uke 3. Repetisjon Program. Repetisjon Program. Litt repetisjon Program Variabler og Uttrykk Presedens Matematiske funksjoner

INF1000 : Forelesning 4

Body Mass Index (BMI) INF1000 : Forelesning 3. Ferdig program (forts.) Ferdig program

i=0 i=1 Repetisjon: nesting av løkker INF1000 : Forelesning 4 Repetisjon: nesting av løkker Repetisjon: nesting av løkker j=0 j=1 j=2 j=3 j=4

Blokker. Uke 4, INF 1000, 13 sept Løkker og arrayer. Eksempel. Deklarasjoner inne i blokker. Institutt for Informatikk Universitet i Oslo

Innlesning fra tastatur med easyio. INF1000 høst Vi må først skrive i toppen av programmet: import easyio.*;

Forelesning inf Java 4

i=0 Repetisjon: arrayer Forelesning inf Java 4 Repetisjon: nesting av løkker Repetisjon: nesting av løkker 0*0 0*2 0*3 0*1 0*4

Eksempel: Body Mass Index (BMI)

INF1000 Uke 4. Innlesning fra terminal. Uttrykk og presedens. Oversikt

Ukeoppgaver 1: 30. aug 3. sep (INF Høst 2010)

Kort om meg. INF1000 Uke 2. Oversikt. Repetisjon - Introduksjon

Spørsmål fra forrige forelesning. INF1000 Forelesning 7. Oppførselen til inword()/inint()/etc. Operator-presedens i Java

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

Kort repetisjon av doble (nestede) løkker Mer om 1D-arrayer Introduksjon til 2D-arrayer Metoder

Lese fra fil. INF1000 : Forelesning 5. Eksempel. De vanligste lesemetodene. Metoder:

Forelesning inf Java 5

Forelesning inf Java 5

UNIVERSITETET I OSLO

INF1000 EKSTRATILBUD. Stoff fra uke 1-5 (6) 3. oktober 2012 Siri Moe Jensen

INF1000 Uke 3. Innlesning fra terminal. Uttrykk og presedens. Oversikt. Litt repetisjon Blokker og forgreininger

Praktisk informasjon. Repetisjon: While-løkker. I dag. INF1000 (Uke 5) Mer om løkker, arrayer og metoder. Oblig 2 er lagt ut

Forelesning inf Java 3

INF1000 : Forelesning 2

Blokker og metoder INF1000 (Uke 6) Metoder

Praktisk informasjon. I dag. Repetisjon: While-løkker. INF1000 (Uke 5) Mer om løkker, arrayer og metoder

Repetisjon Program. INF1000 Uke 2. Repetisjon Program Prosedyren main Alt inne i klasser. Repetisjon Variable og uttrykk

Fullstendige programeksempler. INF1000 : Forelesning 2. Eksempel 1. Eksempel 2. Vi skal nå se på endel programeksempler.

Ole Christian Lingjærde, 12. september 2013

Forelesning inf Java 4

UNIVERSITETET I OSLO

Oppgave 1. Oppgave 2. Oppgave 3. Prøveeksamen i INF1000. Ole Christian og Arne. 23. november 2004

TDT4100 Objektorientert programmering

Forkurs INF1010. Dag 1. Andreas Færøvig Olsen Tuva Kristine Thoresen

for (int i=0; i<3; i++) { for (int j=0; j<5; j++) { System.out.print(i*j); System.out.println();

Prøveeksamen i INF1000. Ole Christian og Arne. 23. november 2004

Forelesning inf Java 3

Innhold uke 4. INF 1000 høsten 2011 Uke 4: 13. september. Deklarasjon av peker og opprettelse av arrayobjektet. Representasjon av array i Java

Oppgave 1. INF1000 Uke 13. Oppgave 2. Oppgave 3. Er dette lovlige deklarasjoner (når de foretas inni en metode)? JA NEI

Gjennomgang prøveeksamen oppgave 1, 2, 4, 5, 7

3 emner i dag! INF1000 Uke 5. Objekter og pekere. null. Litt om objekter, pekere og null Filer og easyio Litt mer om tekster

Øvingsforelesning 1 Python (TDT4110)

INF1000 : Forelesning 5

INF1000 (Uke 15) Eksamen V 04

INF1000 (Uke 15) Eksamen V 04

Oversikt. INF1000 Uke 1 time 2. Repetisjon - Introduksjon. Repetisjon - Program

INF1000: Forelesning 11. Oppgave 2. Oppgave 1. Husk å melde deg på prøveeksamen i INF1000! Ole Christian Lingjærde 7.november 2006

MAT-INF 1100: Obligatorisk oppgave 1

Ta inn og ut av 2D-array. Java 6. Liste over ulike verdier i 2D-array. Det ferdige programmet. Vi skal lage et program som illustrerer hvordan man

Beregning av med svært mange desimaler

UNIVERSITETET I OSLO

Programmering Høst 2017

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

INF1000 høst Forelesning 2: Innlesning fra terminal Boolean-variable if-setninger Løkker Litt mer om heltall: divisjon og modulo Arrayer

INF1010 våren 2019 Onsdag 30. januar. Mer om unntak i Java (med litt repetisjon av I/O først)

MAT-INF 1100: Obligatorisk oppgave 1

Programmeringsspråket C

Feilmeldinger, brukerinput og kontrollflyt

Fra Python til Java. En introduksjon til programmeringsspråkenes verden. Dag Langmyhr

Repetisjon: operatorene ++ og -- Java 5. Nøtt. Oppgave 1 (fra forrige gang) 0 udefinert udefinert. Alternativ 1 Prefiks-operator

TDT4105 Informasjonsteknologi, grunnkurs. Introduksjon til programmering i Matlab. Rune Sætre / Anders Christensen {satre, anders}@idi.ntnu.

Uke 8 Eksamenseksempler + Ilan Villanger om studiestrategier. 11. okt Siri Moe Jensen Inst. for informatikk, UiO

Repetisjon INF 1000 våren 2006

Løsningsforslag ukeoppg. 5: sep (INF Høst 2011)

De neste ukene. INF1000 Uke 12. Prøveeksamen. Nå - Prøveeksamen. Forelesning om IT og samfunn neste uke (13/11).

UNIVERSITETET I OSLO

Forelesningsquiz. Forelesning inf Java 5. Sett dere to (eller tre) sammen og besvar de fire spørsmålene på utdelt ark. Tid: 15 min.

INF1000 (Uke 6) Mer om metoder, tekster

Transkript:

Løsningsforslag ukeoppg. 3: 7. - 13. sep (INF1000 - Høst 2011) Utskrift/ lesing med easyio, arrayer, løkker (kapittel 3-4 i læreboka, "Rett på Java" 3. utg.) NB! Legg merke til at disse er løsningsforslag. Løsningene dine trenger ikke å være like med disse forslag for å være riktige. Det er vanlig i programmering at samme oppgave kan løses på mange vidt forskjellige måter, og alle fremgangsmåter er ok i INF1000 så lenge de leder fram til riktig resultat og oppfyller kravene som står i oppgaveteksten. Mål Øve på bruk av uttrykk, innlesing og utskrift til terminal, løkker, og arrayer. Oppgave merket med nøkkelsymbol er plukket ut som spesielt representativ for de viktigste temaene fra ukens forelesning, og alle bør ha som minimumsmål å løse denne selvstendig. Oppgaver 1. Presedensregler i hvilken rekkefølge utføres regneoperasjonene? Avgjør i hvert av disse tilfellene, uten å bruke datamaskin, hvilken verdi som blir skrevet ut på skjermen. 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 39 i læreboka. 1. System.out.println(3 * 4 + 5); // 17 2. System.out.println(3 + 4 * 5); // 23 3. System.out.println((3 + 4) * 5); // 35 4. System.out.println(1 / 2 * 5); // 0 5. System.out.println(1 / 2 * 5.0); // 0.0 6. System.out.println(1.0 / 2 * 5); // 2.5 7. System.out.println(4 * 2 * 2 * 1); // 16 8. System.out.println(4 / 2 / 2 / 1); // 1 < Unngå slike uttrykk!, 9. System.out.println(5 * 4 / 3 * 2 / 1); // 12 < bruk heller parenteser! Hvis du ønsker mer info kan du se følgende oversikt med presedens for alle operatorene. Jo høyere oppe på denne lista operatoren står jo før blir den utført, mens de som står på samme nivå er likestilt og utføres fra venstre til høyre. Tabellen er tatt fra www.janeg.ca/scjp/oper/precedence.html, og er basert på side 378 i The Java Programming Language: Operator type Postfix Operators []. (params) expr++ expr-- Unary ++expr --expr +expr -expr ~! Creation or Cast Multiplicative * / % Additive + - new (type)expr Shift << >> >>> Relational Equality ==!= Bitwise AND Bitwise exclusive OR ^ Bitwise inclusive OR Logical AND < > >= <= instanceof & && Logical OR Ternary?: Assignment = += -= *= /= %= >>= <<= >>>= &= ^= = 1/8

2. Logiske uttrykk: (tabell 2.5, side 41) Avgjør hvilken verdi den boolske variabelen b får etter hver av disse tilordningssetningene, når vi antar at heltallsvariablene x, y, og z har fått verdier som følger: int x = 3, y = 4, z = 1; 1. b = (x < y) && (y < z); // false 2. b = (x < y) (y < z); // true 3. b =! (x < y); // false 4. b = x < y; // true 5. b = x <= y; // true 6. b = (x == y); // false 7. b = (x!= y); // true Hint: Eksempel på hvordan man kan bruke slike boolske uttrykk i et program: int x = 3, y = 4, z = 1; if ((x < y) && (y < z)) { System.out.println("Det stemmer at x < y < z."); // Blir dette skrevet ut? 3. Innlesing fra terminal: kap. 3, oppg. 3 (side 72) Lag et program som ber om og leser inn to flyttall. Programmet skal deretter regne ut produktet av de to tallene og skrive ut svaret. Her er et eksempel på hvordan en kjøring av programmet kan se ut: Oppgi verdien til x: 9 Oppgi verdien til y: 10 Produktet av x og y er 90.0 Hint: Innlesing fra terminal bør gjøres i to steg, først en utskrift som sier til bruker hva hun skal taste inn (det kalles for ledetekst), og så kommer selve setningen som henter input fra tastaturet, til dette kan du bruke enten EasyIO eller Javas innebygde funksjoner: EasyIO: Følg malen fra eksemplet på side 58. Bruk tast.indouble() og ikke tast.inint() slik at bruker kan taste inn et flyttall. Scanner: NB! Dette er bare ment for spesielt interesserte som vil prøve uten EasyIO. Se denne tabellen i bloggen med programsetninger i Java 1.5 som tilsvarer EasyIO. I begge tilfeller så vil programsetningen som leser inn tallet (tast.inint() eller scan.nextint()) stoppe kjøringen av programmet midlertidig inntil bruker har tastet inn et svar. Når bruker har gjort det, blir tallet lagret i den angitte variabelen, og kjøringen av programmet fortsetter med neste setning. Løsningsforslag med EasyIO: Opprett filen Produkt.java med følgende linjer som innhold: class Produkt { skjerm.out("oppgi verdien til x: "); double x = tast.indouble(); skjerm.out("oppgi verdien til y: "); double y = tast.indouble(); double produkt = x * y; skjerm.outln("produktet av x og y er: " + produkt); > java Produkt Oppgi verdien til x: 9.123 Oppgi verdien til y: 10 Produktet av x og y er: 91.22999999999999 KOMMENTAR: Grunnen til at det ikke blir nøyaktig 91.23 er at Java internt lagrer slike double-verdier i det binære tallsystemet, som ikke kan representere helt nøyaktig visse desimalsifre etter komma. Når så Java konverterer tilbake til det desimale tallsystemet ved utskrift, så kan det derfor bli små feil som vist 2/8

over. To løsninger på dette er vist i neste oppgave. Løsningsforslag med Scanner: Kommer... 4. Utskrift med 2 desimaler på to måter: easyio og printf Ved utskrift av desimaltall er det ofte ønskelig å kontrollere hvor mange desimaler som skrives ut. Bruker vi System.out.println(tall) til å skrive ut en double-variabel tall, får vi med alle desimalene som er lagret i tall (med unntak av avsluttende nuller i desimalene). To måter å kontrollere antall desimaler som skrives ut er: EasyIO: Hvis pakken EasyIO er installert på maskinen du bruker så kan man få skrevet ut variabelen tall med 2 desimaler etter komma, og evt. på akkurat 7 plasser ved hjelp av følgende setninger. I det andre eksemplet så fyller Java på med blanke tegn til venstre slik at hele utskriften tar 7 plasser (eller så mange plasser som er nødvendig): skjerm.outln(tall, 2); skjerm.outln(tall, 2, 7); For å kunne bruke dette må programmet ha setningnen "" øverst, og setningen "" plassert på et passende sted i programmet før de ovennevnte skjerm.outln()-linjene, se eksemplet på side 52 i læreboka. I tillegg må easyio være installert på datamaskinen (mer om dette kan du lese i bloggen). For info om andre muligheter for formatert utskrift med easyio se oversikten på side 54. Ledeteksten "Tall: " kan skrives ut vha. en egen skjerm.out("tall: ")-setning som du kan plassere før de ovennevnte skjerm.outln-setningene. Printf: NB! Dette er bare ment for spesielt interesserte som vil prøve uten EasyIO. I de vanligste brukte versjoner av Java (5.0, 6, og 7, også kalt 1.5, 1.6, og 1.7) finnes en metode kalt "printf" som gir oss god kontroll over utskriften, følgende setninger gir samme resultat som EasyIO-setningene ovenfor: System.out.printf("Tall: %.2f\n", tall); System.out.printf("Tall: %7.2f\n", tall); Koden \n (omvendt-skråstrek etterfulgt av n) gir et linjeskift, og kan tas bort i setningene over hvis du ikke ønsker linjeskift. Flere eksempler på bruk av printf kan du se her (PDF) [Y.D. Liang "Introduction to Java Programming" 5. utg., side 64], og på Wikipedia. Oppgave: Bruk dette til å endre programmet fra forrige oppgave (oppgave 3 ovenfor) til å skrive ut produktet med 2 desimaler, og igjen med 3 desimaler på 10 plasser. class Produkt2 { double x; double y; double produkt; skjerm.out("oppgi verdien til x: "); x = tast.indouble(); skjerm.out("oppgi verdien til y: "); y = tast.indouble(); produkt = x * y; // easyio: skjerm.out("produktet av x og y er: "); skjerm.out(produkt, 2); skjerm.out(" = "); skjerm.outln(produkt, 3, 10); // printf: skjerm.out("produktet av x og y er: "); System.out.printf("%.2f", produkt); System.out.printf(" = %10.3f\n", produkt); > java Produkt2 Oppgi verdien til x: 9.123 Oppgi verdien til y: 10 Produktet av x og y er: 91.23 = 91.230 Produktet av x og y er: 91.23 = 91.230 3/8

5. Valuta-omregning: kap. 3, oppg. 4 (side 73) Lag et program som leser inn et kronebeløp fra tastaturet, og omregner beløpet til amerikanske dollar, euro, og svenske kroner; og skriver ut resultatet på skjermen med to desimaler. Omregningen er etter følgende kurser: 1 USD = 5.435 kr; 1 EUR = 7.682 kr; 1 SEK = 0.8462 kr. (NB! Vekslingskursene er oppdatert 6. sep 2011, det står andre kurs og valutaer i læreboka.) [Valutakurser]. Hint: Hvis brukeren taster 100 skal resultatet i USD bli $18.40. class Valuta { public static void main (String[] args) { // Valutakurser 29. aug 2008: final double NOK_PR_USD = 5.435; final double NOK_PR_EUR = 7.682; final double NOK_PR_SEK = 0.8462; // Leser input fra bruker: System.out.print("Angi antall kr: "); // Ledetekst double antallkr = tast.indouble(); double antallusd = antallkr / NOK_PR_USD; double antalleur = antallkr / NOK_PR_EUR; double antallsek = antallkr / NOK_PR_SEK; // 2 desimaler vha. easyio: skjerm.out("det tilsvarer i USD: $"); skjerm.outln(antallusd, 2); skjerm.out(" i euro: EUR"); skjerm.outln(antalleur, 2); // 2 desimaler vha. printf: System.out.printf(" i svenske kroner: SEK %.2f\n", antallsek); > java Valuta Angi antall kr: 100 Det tilsvarer i USD: $18.40 i euro: EUR13.02 i svenske kroner: SEK 118.18 6. For-løkke: kap. 4, oppg. 4 (side 85) Lag et program som skriver ut på skjermen omkretsene til sirkler med radiusene r = 1, 2,..., 10 (omkretsen O beregnes etter formelen O = 2 π r. Sett π = 3.14). Utskriften skal følge mønsteret: Radius = 1 gir omkrets = 6.28 Radius = 2 gir omkrets = 12.57..osv.. class Omkrets1 { double omkrets; for (int radius = 1; radius <= 10; radius++) { omkrets = 2.0 * 3.14 * radius; skjerm.out("radius = " + radius + " gir omkrets = "); skjerm.outln(omkrets, 2); > java Omkrets Radius = 1 gir omkrets = 6.28 Radius = 2 gir omkrets = 12.57 Radius = 3 gir omkrets = 18.85 Radius = 4 gir omkrets = 25.13 Radius = 5 gir omkrets = 31.42 Radius = 6 gir omkrets = 37.70 Radius = 7 gir omkrets = 43.98 Radius = 8 gir omkrets = 50.27 Radius = 9 gir omkrets = 56.55 Radius = 10 gir omkrets = 62.83 4/8

7. While-løkke: (b): kap. 4, oppg. 5 (side 85) (a) Gjenta forrige oppgave, men bruk while-løkke i stedet. class Omkrets2 { double omkrets; int radius = 1; while (radius <= 10) { omkrets = 2.0 * 3.14 * radius; skjerm.out("radius = " + radius + " gir omkrets = "); skjerm.outln(omkrets, 2); radius++; (b) Som forrige oppgave, men utskriften skal nå først stoppe når omkretsen overstiger 1000. Tips: Bruk while-løkken til å kontrollere O. class Omkrets3 { double omkrets = 0; int radius = 1; while (omkrets <= 1000) { omkrets = 2.0 * 3.14 * radius; skjerm.out("radius = " + radius + " gir omkrets = "); skjerm.outln(omkrets, 2); radius++; 8. Summerings-løkke: kap. 4, oppg. 6 (side 85) (a) Skriv et program som leser ett heltall n fra terminal, og som deretter summerer tallene fra 1 til n, dvs. 1 + 2 + + n, og skriver ut hver av mellomresultatene (1; 1+2; 1+2+3; osv.), og sluttsummen. Utskriften skal følge dette mønsteret (når n = 5): 1 1 2 3 3 6 4 10 5 15 class Heltallssum { skjerm.out("angi n: "); int n = tast.inint(); int sum = 0; for (int i = 1; i <= n; i++) { sum = sum + i; skjerm.out(i, 3); skjerm.outln(sum, 5); > java Heltallssum Angi n: 5 1 1 2 3 3 6 4 10 5 15 5/8

(b) Det finnes også en formel som gir summen av tallene 1, 2, 3,..., n direkte: n * (n + 1) / 2. Utvid programmet slik at det til slutt sammenligner siste sum med resultatet av formelen, og gir en melding til bruker på om de to svarene var like eller ikke. if (sum == n * (n + 1) / 2) { System.out.println("Formelen stemmer!"); else { System.out.println("Formelen stemmer ikke."); 9. Løkker: Hva blir skrevet ut? Anta at følgende programsetninger utføres. Hva skrives ut på skjermen? class Ukeoppg2_8 { //(a) int a = 1; while (a < 5) { a = a + 1; System.out.println("a = " + a); a = 5 //(b) int b = 11; while (b < 14) { b++; System.out.println(b); 12 13 14 //(c) int c = 1; while (c < 10) { c = -2 * c; System.out.println("c = " + c); c = 16 //(d) for (int d = 0; d < 3; d++) { System.out.println(d); 0 1 2 //(e) //(f) for (int e = 1; e <= 3; e++) { for (int f = 1; f <= 2; f++) { System.out.println(e + " " + f); for (int ytre = 0; ytre < 2; ytre++) { System.out.print("["); for (int indre = 0; indre < 3; indre++) { System.out.print("."); System.out.println("]"); 1 1 1 2 2 1 2 2 3 1 3 2 [...] [...] 10. En enkel array: int[] a = new int[20]; (a) Når setningen over utføres, skjer det både en deklarasjon og en oppretting av et array-objekt. Forklar hvilken del av setningen som gjør hva, og vis hvordan setningen kunne vært splittet opp i to setninger: en deklarasjonssetning og en setning som oppretter array-objektet. int[] a; a = new int[20]; 6/8

(b) Her er eksempler på bruk av ovennevnte array. Hva blir skrevet ut på skjermen? int[] a = new int[20]; a[0] = 100; a[1] = a[0] * 2; System.out.println(a[1]); a[0]++; System.out.println(a[0]); System.out.println(a.length); 200 101 20 11. Array med tall: (a) Lag et program som ber bruker taste inn tre heltall og lagrer disse i en array kalt tall: int[] tall = new int[3]; (b) Sum av array: Utvid programmet slik at det regner ut summen av tallene ved hjelp av en løkke, og skriver ut resultatet. (c) Minste verdi: Utvid programmet slik at det finner og skriver ut det minste tallet i arrayen. (d) Lave verdier: Legg til programkode som skriver ut alle verdiene i arrayen som er mindre enn 10. (e) Søk: Legg til programkode som skriver ut en beskjed om verdien 5 finnes eller ikke finnes i arrayen. class Ukeoppg3_3 { int[] tall = new int[3]; // (a) Lese 3 tall fra tastatur: // Ledetekst: skjerm.out("angi tall[" + i + "]: "); // Les et tall fra tastatur og lagre det i arrayen tall[]: tall[i] = tast.inint(); // (b) Sum av array: int sum = 0; sum += tall[i]; skjerm.outln("(b) Sum av tallene = " + sum); // (c) Minste verdi: int minste = tall[0]; if (tall[i] < minste) { minste = tall[i]; skjerm.outln("(c) Minste verdi = " + minste); // (d) Lave verdier: skjerm.out("(d) Lave verdier (< 10): "); if (tall[i] < 10) { skjerm.out(tall[i] + " "); skjerm.outln(); // (e) Søk: boolean funnet = false; if (tall[i] == 5) { funnet = true; skjerm.out("(e) Verdien 5 finnes "); if (! funnet) { skjerm.out("ikke "); skjerm.outln("i arrayen"); > java Ukeoppg3_3 7/8

Angi tall[0]: 2 Angi tall[1]: 7 Angi tall[2]: 11 (b) Sum av tallene = 20 (c) Minste verdi = 2 (d) Lave verdier (< 10): 2 7 (e) Verdien 5 finnes ikke i arrayen Tibakemelding om dette oppgavesettet kan du skrive i bloggen eller sende på mail til josek [a] ifi.uio.no 8/8