Forelesning inf Java 3
|
|
|
- Siw Viken
- 8 år siden
- Visninger:
Transkript
1 Forelesning inf Java 3 Tema: Mer om forgreninger Løkker Arrayer Litt om easyio Ole Christian Lingjærde, 5. september 2012 Ole Chr. Lingjærde Institutt for informatikk, 29. august
2 Eksempel: Body Mass Index (BMI) Vi skal lage et program som beregner BMI ut fra høyde og vekt og gir melding om hvilken vektstatus det tilsvarer: BMI Under 18.5 Vektstatus Undervekt Normalvekt Overvekt 30.0 eller høyere Ekstrem overvekt Vi må kjenne formelen for å regne ut BMI. La vekt hoyde = personens vekt i kg = personens høyde i m Da er BMI = vekt / (hoyde*hoyde) Ole Chr. Lingjærde Institutt for informatikk 5. september
3 Ferdig program (første del) import java.util.*; class BodyMassIndex { public static void main(string[] args) { Scanner tast = new Scanner(System.in); System.out.print("Høyde (i cm): "); double høyde = tast.nextint() / 100.0; System.out.print("Vekt (i kg): "); double vekt = tast.nextdouble(); double bmi = vekt / (høyde*høyde); Ole Chr. Lingjærde Institutt for informatikk 5. september
4 Ferdig program (siste del) if (bmi < 18.5) { System.out.println("Undervekt"); else if (bmi <= 24.9) { System.out.println("Normalvekt"); else if (bmi <= 29.9) { System.out.println("Overvekt"); else { System.out.println("Ekstrem overvekt"); // end of main // end of class Test programmet Ole Chr. Lingjærde Institutt for informatikk 5. september
5 Eksempel: beregne pulssoner Det har i media vært mye fokus på hvordan man kan sikre at fysisk trening foregår med riktig intensitet. Ett hjelpemiddel i den forbindelse er å beregne sine egne pulssoner og sørge for å ligge i riktig sone når man trener. Sone Puls fra Puls til Forklaring % % % % % aerob trening anaerob trening Ole Chr. Lingjærde Institutt for informatikk 5. september
6 Utregningen Hvilken puls svarer til 50% av makspulsen? double svar = hvilepuls + (maxpuls-hvilepuls) * 0.50; Hvis vi ønsker svaret som et heltall: int svar = (int) (hvilepuls + (maxpuls-hvilepuls)*0.60); Ole Chr. Lingjærde Institutt for informatikk 5. september
7 import java.util.*; class Pulssoner { public static void main (String[] args) { Scanner tast = new Scanner(System.in); System.out.print("Oppgi hvilepuls: "); int hvilepuls = tast.nextint(); System.out.print("Oppgi makspuls: "); int maxpuls = tast.nextint(); Ole Chr. Lingjærde Institutt for informatikk 5. september
8 System.out.println("Sone\tMin\tMax\tBeskrivelse"); int sone = 1; String beskrivelse = "50-60% av maksimum"; int fra = (int) (hvilepuls + (maxpuls-hvilepuls)*0.50); int til = (int) (hvilepuls + (maxpuls-hvilepuls)*0.60); System.out.print(sone); System.out.print("\t" + fra); System.out.print("\t" + til); System.out.println("\t" + beskrivelse);... tilsvarende for sone 2, 3, 4 og 5... // Slutt på main-metoden // Slutt på class Pulssoner Test programmet Ole Chr. Lingjærde Institutt for informatikk 5. september
9 Alternativ til if-else: switch En sammensetning av flere if-setninger kan i noen tilfeller erstattes med en switch-setning: Et uttrykk som gir en verdi som er av en switch (uttrykk) { av typene char eller int (evt. byte eller short) case verdi1: <instruksjoner> break;... case verdin: <instruksjoner> break; default: <instruksjoner> Nøkkelordet break avbryter utførelsen av switch-setningen. Når break mangler, fortsetter utførelsen på neste linje (det er sjelden ønskelig). Ole Chr. Lingjærde Institutt for informatikk 5. september
10 Eksempel 1 class BrukAvSwitch { public static void main (String [] args) { char c = 'b'; switch(c) { case 'a': System.out.println("Tegnet var en a"); break; case 'b': System.out.println("Tegnet var en b"); break; default : System.out.println("Tegnet var ikke a eller b"); Ole Chr. Lingjærde Institutt for informatikk 5. september
11 Eksempel 2 Dette virker ikke (hvorfor?): class FeilBrukAvSwitch { public static void main (String [] args) { String s = "hovedstad"; switch(s) { case "Paris": System.out.println("Vi er i Frankrike"); break; case "Moskva": System.out.println("Vi er i Russland"); break; case "Kathmandu" : System.out.println("Vi er i Nepal"); Ole Chr. Lingjærde Institutt for informatikk 5. september
12 Oppgave 1 Hva blir skrevet ut av dette programmet? class IfTest { public static void main (String [] args) { String s = "Petter"; if (s.equ als("jens")); { System.out.println("Ordet var " + s); Ordet var Petter Her er s.equals("jens") en test på om teksten s er lik Jens. Ole Chr. Lingjærde Institutt for informatikk 5. september
13 Hva blir skrevet ut av dette programmet? class IfTest2 { public static void main (String [] args) { double x = -0.5; double y = 0.5; Oppgave 2 if (Math.ceil(x) == Math.ceil(y)) { System.out.println("A"); if ((int) x == (int) y) { System.out.println("B"); if (x < y) { if (x < 0) { if (y < 0) { System.out.println("C"); else { System.out.println("D"); Ole Chr. Lingjærde Institutt for informatikk 5. september 2012 B 13
14 Oppgave 3 Hva blir skrevet ut av dette programmet? class Divisjon { public static void main (String [] args) { if (1/2 > 0) { System.out.println("A"); else { System.out.println("B"); B Ole Chr. Lingjærde Institutt for informatikk 5. september
15 Oppgave 4 Hva blir skrevet ut av dette programmet? class TestSwitch { public static void main (String [] args) { char svar = '@'; switch(svar) { case '@': System.out.println("Svaret er en alfakrøll"); case '!': System.out.println("Svaret er et utropstegn"); default : System.out.println("Svaret er eller!"); Ole Chr. Lingjærde Institutt for informatikk 5. september 2012 Svaret er en alfakrøll Svaret er et utropstegn Svaret er eller! 15
16 Litt mer om uttrykk: ++ og -- Instruksjon Alternativ 1 Alternativ 2 Prefiks-operator Postfiks-operator i = i i i++ i = i i i-- ++i, i++, --i og i-- endrer ikke bare på verdien til i, de er dessuten uttrykk som selv har en verdi. Dermed kan vi f.eks. skrive: System.out.println(i++); // Skriv ut i og øk deretter i med 1 System.out.println(++i); // Øk i med 1 og skriv deretter ut i Prefiks-operatorene endrer verdien til variabelen før uttrykket er evaluert. Postfiks-operatorene endrer verdien etter at uttrykket er evaluert. Ole Chr. Lingjærde Institutt for informatikk 5. september
17 Oppgave Fyll ut de tomme feltene i tabellen: Programkode Verdien til k Verdien til m Verdien til n int k = 0; int m; int n; k = k + 1; m = ++k; n = k++; Ole Chr. Lingjærde Institutt for informatikk 5. september
18 Blokker En blokk er en samling instruksjoner omgitt av krøllparenteser: { instruksjon 1; instruksjon 2;... instruksjon n; Alle steder i et Java-program hvor det kan stå en instruksjon, kan vi om ønskelig i stedet sette en blokk. Ole Chr. Lingjærde Institutt for informatikk 5. september
19 Deklarasjoner inne i blokker Vi har lov til å deklarere variabler inne i en blokk, forutsatt at de ikke allerede er deklarert utenfor blokken. Eksempel: double x = 0.3; if (x < 0) { double y; y = -x; // Her er y deklarert inne i en blokk Variabler deklarert inne i en blokk eksisterer ikke utenfor blokken. double x = 0.3; if (x < 0) { double y; y = -x; x = y; // Ulovlig, siden y ikke eksisterer her Ole Chr. Lingjærde Institutt for informatikk 5. september
20 while-løkker Vi kan utføre en instruksjon/blokk flere ganger ved hjelp av en while-løkke: while (logisk uttrykk) { setning 1; setning 2;... setning n; Hvis det logiske uttrykket er true, utføres setningene i while-løkka. Dette gjentas inntil det logiske uttrykket er false. Da avsluttes løkka. Ole Chr. Lingjærde Institutt for informatikk 5. september
21 Eksempel class SkrivLinjer { public static void main (String [] args) { int k = 1; while (k <= 5) { System.out.println("Nå har k verdien " + k); k = k + 1; System.out.println("Nå er k lik " + k); Ole Chr. Lingjærde Institutt for informatikk 5. september
22 Kompilering og kjøring > javac SkrivLinjer.java > java SkrivLinjer Nå har k verdien 1 Nå har k verdien 2 Nå har k verdien 3 Nå har k verdien 4 Nå har k verdien 5 Nå er k lik 6 Ole Chr. Lingjærde Institutt for informatikk 5. september
23 Oppgave Hva blir utskriften fra dette programmet? class LokkeTest { public static void main (String [] args) { int k = 3; while (k > 0) { System.out.print("Nå er k = "); System.out.println(k); k = k - 1; Ole Chr. Lingjærde Institutt for informatikk 5. september
24 Oppgave 2 Hva blir utskriften fra dette programmet? class LokkeTest2 { public static void main (String [] args) { int i = 1; int j = 6; while (i < j) { System.out.println("i = " + i); System.out.println("j = " + j); System.out.println(); i = i + 1; j = j 1; i j Ole Chr. Lingjærde Institutt for informatikk 5. september
25 Eksempel: gangetabell Problem: Lag et program som bruker en while-løkke til å beregne "tregangen" og lage en slik utskrift på skjermen: 1 * 3 = 3 2 * 3 = 6 3 * 3 = 9 4 * 3 = 12 5 * 3 = 15 6 * 3 = 18 7 * 3 = 21 8 * 3 = 24 9 * 3 = * 3 = 30 Ole Chr. Lingjærde Institutt for informatikk 5. september
26 Løsningsskisse class TreGangen { public static void main (String[] args) { <deklarasjoner> <initialisering av variable> <while-løkke, hvor hvert gjennomløp regner ut og skriver ut en ny linje på skjermen> Ole Chr. Lingjærde Institutt for informatikk 5. september
27 while-løkka while (ikke ferdig) { <finn svaret på neste regnestykke> <skriv ut svaret> For å finne svaret på neste regnestykke, må vi holde rede på de to tallene som skal ganges sammen. Vi trenger bare en variabel for dette, siden annen faktor alltid er lik 3: int k = 1; Dermed blir svaret på neste regnestykke: int svar = k * 3; Ole Chr. Lingjærde Institutt for informatikk 5. september
28 while-løkka forts. int k = 1; while (ikke ferdig) { int svar = k * 3; System.out.print(k + " * 3 = " + svar); Vi må i tillegg huske å endre verdien til k i slutten av hvert gjennomløp (ellers gjør vi samme regnestykke igjen og igjen): k = k + 1; Hvor lenge skal while-løkka løpe? Vi kan bruke denne testen: k <= 10 Ole Chr. Lingjærde Institutt for informatikk 5. september
29 Ferdig program class TreGangen { public static void main (String[] args) { int k = 1; while (k <= 10) { int svar = k * 3; System.out.println(k + " * 3 = " + svar); k = k + 1; Ole Chr. Lingjærde Institutt for informatikk 5. september
30 Kompilering og test > javac TreGangen.java > java TreGangen 1 * 3 = 3 2 * 3 = 6 3 * 3 = 9 4 * 3 = 12 5 * 3 = 15 6 * 3 = 18 7 * 3 = 21 8 * 3 = 24 9 * 3 = * 3 = 30 Ole Chr. Lingjærde Institutt for informatikk 5. september
31 Eksempel: innlesning med sjekk Problem: Lag et program som leser et heltall mellom 1 og 100 fra terminal. Hvis det innleste tallet ikke ligger i det lovlige intervallet, skal programmet be om nytt tall. Dette gjentas inntil brukeren skriver et lovlig tall. Ole Chr. Lingjærde Institutt for informatikk 5. september
32 Ferdig program import java.util.*; class LesVerdi { public static void main (String[] args) { Scanner tast = new Scanner(System.in); System.out.print("Oppgi verdi (1,2,...,100): "); int verdi = tast.nextint(); while (!(verdi >= 1 && verdi <= 100)) { System.out.println("Ulovlig verdi!"); System.out.print("Prøv igjen: "); verdi = tast.nextint(); System.out.println("Du oppga verdien " + verdi); Ole Chr. Lingjærde Institutt for informatikk 5. september
33 Evig løkke Dersom testen i while-løkka aldri blir usann (false), vil utførelsen av while-løkka aldri stoppe. Dette kalles en evig løkke. To eksempler: class EvigLokke1 { public static void main (String [] args) { while (true) { System.out.println("INF 1000"); class EvigLokke2 { public static void main (String [] args) { int i = 1, j = 2; while (i < j) { System.out.println("Nå er i < j"); Ole Chr. Lingjærde Institutt for informatikk 5. september
34 Kompilering og kjøring > javac EvigLokke1.java > java EvigLokke1 INF 1000 INF 1000 INF 1000 INF 1000 INF 1000 INF (osv) > javac EvigLokke2.java > java EvigLokke2 Nå er i < j Nå er i < j Nå er i < j Nå er i < j Nå er i < j Nå er i < j (osv) Ole Chr. Lingjærde Institutt for informatikk 5. september
35 Variant av while: do-while Formen på en do-while løkke: do { <setning 1> <setning 2>... <setning n> while (logisk uttrykk); Noen foretrekker denne fremfor while-løkker når løkke-innmaten alltid skal utføres minst en gang. Ole Chr. Lingjærde Institutt for informatikk 5. september
36 for-løkker En annen måte å få utført en instruksjon (eller blokk) mange ganger er ved hjelp av en for-løkke: initialisering løkketest løkkeoppdatering for (int i=1; i<=antall; i++) { <setning 1> <setning 2>... <setning n> Ole Chr. Lingjærde Institutt for informatikk 5. september
37 Hvordan for-løkka virker - flytdiagram int i = 1 i++ i <= antall? NEI avslutt for-løkka JA <setning 1> <setning 2>... <setning n> Ole Chr. Lingjærde Institutt for informatikk 5. september
38 Nesting av løkker Det er ofte behov for å neste løkke-setninger inne i hverandre; vi kommer til å se mange eksempler etterhvert. Eksempel på nestet for-løkke: for (int i=0; i<10; i++) { for (int j=0; j<10; j++) { int produkt = i * j; System.out.println( i * j = + produkt); Ole Chr. Lingjærde Institutt for informatikk 5. september
39 Arrayer Hittil har vi sett på variable som kan holde en enkelt verdi: en int-variabel har plass til ett heltall en String-variabel har plass til en enkelt tekststreng osv. Arrayer er "variable" som kan holde på mange verdier: en int-array har plass til mange heltall en String-array har plass til mange tekststrenger osv. Verdiene som ligger i en array har hver sin posisjon (= indeks): 0, 1, 2,..., K-1 hvor K = lengden til arrayen En array x med lengde 4 kan visualiseres slik: x[0] x[1] x[2] x[3] i hver av disse boksene er det plass til en verdi Ole Chr. Lingjærde Institutt for informatikk 5. september
40 Deklarere og opprette arrayer Deklarere en array (gi den et navn): datatype[] arraynavn; f.eks. int, double, boolean eller String Opprette en array (sette av plass i hukommelsen): arraynavn = new datatype[k]; // K er ønsket lengde Deklarere og opprette i en operasjon: Eksempler: datatype[] arraynavn = new datatype[k]; int[] a = new int[10]; double[] x = new double[100]; String[] s = new String[1000]; Ole Chr. Lingjærde Institutt for informatikk 5. september
41 Verdiene i en array Anta at vi har deklarert og opprettet følgende array: int[] tlf = new int[600]; For å få tak i de enkelte verdiene i arrayen: tlf[0], tlf[1], tlf[2],..., tlf[599] For å få tak i lengden på arrayen: tlf.length // NB: ingen parenteser til slutt For å sortere elementene i en array (i stigende rekkefølge): java.util.arrays.sort(tlf); Ole Chr. Lingjærde Institutt for informatikk 5. september
42 Eksempel på bruk av arrayer Anta at vi ønsker å lagre navn, adresse og telefonnr for de som følger et bestemt kurs med maksimalt 600 studenter: String[] navn = new String[600]; String[] adresse = new String[600]; int[] telefonnr = new int[600]; Resultatet kan visualiseres slik: navn adresse telefonnr Ole Chr. Lingjærde Institutt for informatikk 5. september
43 Eksempel: lese og skrive ut Program som leser tre ord fra terminal og skriver dem ut igjen: import java.util.*; class LesOgSkriv { public static void main (String [] args) { Scanner tastatur = new Scanner(System.in); String[] s = new String[3]; for (int i=0; i<3; i++) { System.out.print("Ord: "); s[i] = tastatur.next(); for (int i=0; i<3; i++) { System.out.println(s[i]); Ole Chr. Lingjærde Institutt for informatikk 5. september
44 Eksempel: lese og skrive ut sortert Program som leser tre navn fra terminal og skriver dem ut i sortert rekkefølge: import java.util.*; class LesOgSorter { public static void main (String [] args) { Scanner tastatur = new Scanner(System.in); String[] s = new String[3]; for (int i=0; i<3; i++) { System.out.print("Navn: "); s[i] = tastatur.next(); java.util.arrays.sort(s); for (int i=0; i<3; i++) { System.out.println(s[i]); Ole Chr. Lingjærde Institutt for informatikk 5. september
45 Automatisk initialisering av arrayer Når en array blir opprettet, blir den automatisk initialisert (dvs verdiene er ikke udefinerte når den er opprettet). int[] k = new int[100]; // Nå er alle k[i] == 0 double[] x = new double[100]; // Nå er alle x[i] == 0.0 boolean[] b = new boolean[100]; // Nå er alle b[i] == false char[] c = new char[100]; // Nå er alle c[i] == '\u0000' String[] s = new String[100]; // Nå er alle s[i] == null Merk: String-arrayer initialiseres med den spesielle verdien null. Dette er ikke en tekststreng og må ikke blandes sammen med en tom tekst:. For å kunne bruke verdien s[i] til noe fornuftig må du først sørge for å gi s[i] en tekststreng-verdi, f.eks. s[i] = Per eller s[i] =. Ole Chr. Lingjærde Institutt for informatikk 5. september
46 Egendefinert initialisering av en array Det er ikke alltid den automatiske initialiseringen av en array gir det vi ønsker. Vi kan da initialisere arrayen med våre egne verdier, slik som i disse eksemplene: int[] primtall = {2, 3, 5, 7, 11, 13; double[] halve = {0.0, 0.5, 1.0, 1.5, 2.0; String[] ukedager = { Mandag, Tirsdag, Onsdag, Torsdag, Fredag, Lørdag, Søndag ; Ole Chr. Lingjærde Institutt for informatikk 5. september
47 Fra Scanner til easyio Innlesing fra tastatur kan også gjøres med pakken easyio. Tabellen nedenfor viser hvordan man kan oversette fra Scanner til easyio: Scanner import java.util.*; Scanner tast = new Scanner(System.in); int k = tast.nextint(); double x = tast.nextdouble(); String s = tast.next(); String s = tast.nextline(); easyio import easyio.*; In tast = new In(); int k = tast.inint(); double x = tast.indouble(); String s = tast.inword(); String s = tast.readline(); Begge verktøyene inneholder også endel andre leseverktøy; vi kommer nærmere tilbake til dette (for easyio) i forbindelse med lesing fra fil. Ole Chr. Lingjærde Institutt for informatikk 5. september
Eksempel: Body Mass Index (BMI)
Ole Chr. Lingjærde 1 Forelesning inf1000 - Java 3 Tema: Forgreninger Løkker Arrayer Ole Christian Lingjærde, 5. september 2013 1 Eksempel: Body Mass Index (BMI) Vi skal lage et program som beregner BMI
Eksempel: Body Mass Index (BMI) Forelesning inf1000 - Java 3. Ferdig program (første del) Ferdig program (siste del)
Forelesning inf1000 - Java 3 Eksempel: Body Mass Index (BMI) Tema: Mer om forgreninger Løkker Arrayer Litt om easyio Ole Christian Lingjærde, 5. september 2012 Ole Chr. Lingjærde Institutt for informatikk,
Forelesning inf Java 3
Forelesning inf1000 - Java 3 Tema: Forgreninger Løkker Arrayer Ole Christian Lingjærde, 5. september 2013 Ole Chr. Lingjærde Institutt for informatikk, 5. september 2013 1 Eksempel: Body Mass Index (BMI)
Litt mer om uttrykk: ++ og -- INF1000 : Forelesning 4. Oppgave. Blokker. 0 udefinert udefinert. Alternativ 2 Postfiks-operator
Litt mer om uttrykk: ++ og -- INF : Forelesning Løkker og arrayer Mye og viktig stoff. Du MÅ løse oppgaver selv for å lære!. september 6 Ole Christian Lingjærde Gruppen for bioinformatikk Institutt for
INF1000 (Uke 4) Mer om forgreninger, While-løkker
INF1000 (Uke 4) Mer om forgreninger, While-løkker Grunnkurs i programmering Institutt for Informatikk Universitet i Oslo Are Magnus Bruaset og Anja B. Kristoffersen I dag Repetisjon easyio Enkle if-setninger
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 Grunnkurs i programmering Institutt for Informatikk Universitet i Oslo Repetisjon easyio Enkle if-setninger Mer om forgrening While-løkker Are Magnus
Tre måter å lese fra terminal. Java 4. Eksempel. Formatert utskrift til skjerm
Mer om easyio Mer om forgreninger Løkker 7. september 2004 Ole Christian Lingjærde Gruppen for bioinformatikk Institutt for informatikk Universitetet i Oslo Java 4 1 Tre måter å lese fra terminal Først:
Repetisjon: operatorene ++ og -- Java 5. Nøtt. Oppgave 1 (fra forrige gang) 0 udefinert udefinert. Alternativ 1 Prefiks-operator
Litt mer om løkker Arrayer le Christian Lingjærde Gruppen for bioinformatikk Institutt for informatikk Universitetet i slo Java Repetisjon: operatorene ++ og -- Instruksjon i = i + i = i - Alternativ Prefiks-operator
INF1000 Uke 4. Innlesning fra terminal. Uttrykk og presedens. Oversikt
Oversikt INF1000 Uke 4 Forgreininger, løkker og arrayer Litt repetisjon Blokker og forgreininger if-setninger if-else-setninger switch-setninger Løkker while-løkker do-while-løkker for-løkker Arrayer Opprette,
INF1000 (Uke 5) Mer om løkker, arrayer og metoder
INF1000 (Uke 5) Mer om løkker, arrayer og metoder Grunnkurs i programmering Institutt for Informatikk Universitetet i Oslo Anja Bråthen Kristoffersen og Are Magnus Bruaset Praktisk informasjon Når disse
INF1000 høst Forelesning 2: Innlesning fra terminal Boolean-variable if-setninger Løkker Litt mer om heltall: divisjon og modulo Arrayer
INF1000 høst 2010 Forelesning 2: Innlesning fra terminal Boolean-variable if-setninger Løkker Litt mer om heltall: divisjon og modulo Arrayer 1 Innlesning fra tastatur med easyio Vi må først skrive i toppen
Forelesning inf Java 4
Forelesning inf1000 - Java 4 Tema: Løkker Arrayer Metoder Ole Christian Lingjærde, 12. september 2012 Ole Chr. Lingjærde Institutt for informatikk, 29. august 2012 1 Repetisjon: arrayer Deklarere og opprette
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
Forelesning inf - Java 4 Repetisjon: arrayer Tema: Løkker Arrayer Metoder Ole Christian Lingjærde,. september Deklarere og opprette array - eksempler: int[] a = new int[]; String[] a = new String[]; I
Innlesning fra tastatur med easyio. INF1000 høst 2010. Vi må først skrive i toppen av programmet: import easyio.*;
Innlesning fra tastatur med easyio INF1000 høst 2010 Forelesning 2: Innlesning fra terminal Boolean-variable if-setninger Løkker Litt mer om heltall: divisjon og modulo Vi må først skrive i toppen av programmet:
Forelesning inf Java 4
Forelesning inf1000 - Java 4 Tema: En første titt på metoder Løkker og arrayer Lese fra fil og skrive til fil Ole Christian Lingjærde, 12. september 2013 Ole Chr. Lingjærde Institutt for informatikk, 12.
for (int i=0; i<3; i++) { for (int j=0; j<5; j++) { System.out.print(i*j); System.out.println();
Repetisjon: nesting av løkker Kort repetisjon av doble (nestede) løkker Mer om 1D-arrayer Introduksjon til 2D-arrayer Metoder Ole Christian Lingjærde Biomedisinsk forskningsgruppe Institutt for informatikk
13.09.2012 LITT OM OPPLEGGET. INF1000 EKSTRATILBUD Stoff fra uke 1-3 12. September 2012 Siri Moe Jensen EKSEMPLER
.9.22 LITT OM OPPLEGGET INF EKSTRATILBUD Stoff fra uke - 2. September 22 Siri Moe Jensen Målgruppe: De som mangler forståelse for konseptene gjennomgått så langt. Trening får du ved å jobbe med oppgaver,
INF1000 oppgaver til uke 38 (17 sep 23 sep)
INF1000 oppgaver til uke 38 (17 sep 23 sep) Formål: Øve på programmering med forgreninger, løkker og arrayer. Teoritimer (plenumsøvinger): 1. Oppgave 4 og 6 i kapittel 4 i læreboka. 2. En blokk er en samling
Forelesning inf Java 5
Ole Chr. Lingjærde 1 Forelesning inf1000 - Java 5 Tema: Mer om metoder 2D-arrayer String Ole Christian Lingjærde, 26. september 2013 Ole Chr. Lingjærde Institutt for informatikk, 26. september 2013 1 Strukturen
Forelesning inf Java 5
Forelesning inf1000 - Java 5 Tema: Mer om metoder 2D-arrayer String Ole Christian Lingjærde, 26. september 2013 Ole Chr. Lingjærde Institutt for informatikk, 26. september 2013 1 Strukturen til et Java-program
Oversikt. INF1000 Uke 3. Repetisjon Program. Repetisjon Program. Litt repetisjon Program Variabler og Uttrykk Presedens Matematiske funksjoner
Oversikt INF1000 Uke 3 Innlesing fra terminal, formatert utskrift og forgreininger Litt repetisjon Program Variabler og Uttrykk Presedens Matematiske funksjoner Innlesing Formatert utskrift Repetisjon
INF1000 EKSTRATILBUD. Stoff fra uke 1-5 (6) 3. oktober 2012 Siri Moe Jensen
INF1000 EKSTRATILBUD Stoff fra uke 1-5 (6) 3. oktober 2012 Siri Moe Jensen PLAN FOR DAGEN gjennomgå stoff fra uke 1-5(6), men med en litt annen tilnærming kun gjennomgått stoff, men vekt på konsepter og
INF1000 undervisningen INF 1000 høsten 2011 Uke september
INF1000 undervisningen INF 1000 høsten 2011 Uke 2 30. september Grunnkurs i Objektorientert Programmering Institutt for Informatikk Universitetet i Oslo Siri Moe Jensen og Arne Maus Forelesningene: Første
Forelesning inf Java 2
Ole Chr. Lingjærde 1 Forelesning inf1000 - Java 2 Tema: Enkle feilsituasjoner Beregning av matematiske og logiske uttrykk Terminal I/O Forgreninger Ole Christian Lingjærde, 29. august 2013 Ole Chr. Lingjærde
Oppgave 1. INF1000 Uke 13. Oppgave 2. Oppgave 3. Er dette lovlige deklarasjoner (når de foretas inni en metode)? JA NEI
Oppgave 1 INF1000 Uke 13 Gjennomgang av prøveeksamen fra høsten 2004 Er dette lovlige deklarasjoner (når de foretas inni en metode)? JA NEI int i; int k = i; int i, j = 4; int k = j; double[] x = new double[1];
Prøveeksamen i INF1000. Ole Christian og Arne. 23. november 2004
Prøveeksamen i INF1000 Ole Christian og Arne 23. november 2004 Oppgave 1 Er dette lovlige deklarasjoner (når de foretas inni en metode)? JA NEI int i; int k = i; int i, j = 4; int k = j; double[] x = new
INF1000: Forelesning 11. Oppgave 2. Oppgave 1. Husk å melde deg på prøveeksamen i INF1000! Ole Christian Lingjærde 7.november 2006
Husk å melde deg på prøveeksamen i INF1000! INF1000: Forelesning 11 Ole Christian Lingjærde 7.november 2006 Frist påmelding: 16. november Arrangementet er torsdag 23. november kl 1420 og omfatter: Oppgaven
Forkurs INF1010. Dag 1. Andreas Færøvig Olsen Tuva Kristine Thoresen
Forkurs INF1010 Dag 1 Andreas Færøvig Olsen ([email protected]) Tuva Kristine Thoresen ([email protected]) Institutt for Informatikk, 6. januar 2014 Forkurs INF1010 - dag 1 Hello, World! Typer Input/output
løsningsforslag-uke5.txt
INF 1000 LØSNINGSFORSLAG TIL UKEOPPGAVER FOR UKE 5 1) Setningen er kompakt skrivemåte for int[] a; a = new int[50]; hvor den første setningen deklarerer arrayen a, og den andre setningen oppretter et array-objekt
Lese fra fil. INF1000 : Forelesning 5. Eksempel. De vanligste lesemetodene. Metoder:
Lese fra fil Filbehandling Tekster Ole Christian Lingjærde Gruppen for bioinformatikk Institutt for informatikk Universitetet i Oslo INF1000 : Forelesning 5 Vi må først importere pakken easyio Vi åpner
Dagens forelesning. Java 13. Rollefordeling (variant 1) Rollefordeling (variant 2) Design av større programmer : fordeling av roller.
Dagens forelesning Java 13 Design av større programmer : fordeling av roller INF 101-13. mars 2003 Flere eksempler på bruk av objekter MVC-prinsippet MVC-prinsippet Flere eksempler på programmer med objekter
Repetisjon INF 1000 våren 2006
Repetisjon INF 1000 våren 2006 Grunnkurs i programmering Institutt for Informatikk Universitet i Oslo Are Magnus Bruaset og Anja B. Kristoffersen Mål for INF1000 Gi grunnleggende forståelse av noen sentrale
Forelesning inf Java 2
Forelesning inf1000 - Java 2 Tema: Enkle feilsituasjoner Beregning av matematiske og logiske uttrykk Terminal I/O Forgreninger Ole Christian Lingjærde, 29. august 2012 Ole Chr. Lingjærde Institutt for
De neste ukene. INF1000 Uke 12. Prøveeksamen. Nå - Prøveeksamen. Forelesning om IT og samfunn neste uke (13/11).
De neste ukene Forelesning om IT og samfunn neste uke (13/11). INF1000 Uke 12 Gjennomgang av prøveeksamen fra høsten 2004 Ukeoppgave: Blir en gammel eksamensoppgave Uken etter er det prøveeksamen. Den
Løsningsforslag ukeoppg. 6: 28. sep - 4. okt (INF1000 - Høst 2011)
Løsningsforslag ukeoppg. 6: 28. sep - 4. okt (INF1000 - Høst 2011) Løsningsforslag til oppgave 7, 8, og 9 mangler Klasser og objekter (kap. 8.1-8.14 i "Rett på Java" 3. utg.) NB! Legg merke til at disse
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
Eksempel med to-dimensjonal array Filbehandling Tekster Ole Christian Lingjærde Gruppen for bioinformatikk Institutt for informatikk Universitetet i Oslo Java 6 Vi skal lage et program som illustrerer
INF1000: Forelesning 4. Mer om arrayer Metoder
INF1000: Forelesning 4 Mer om arrayer Metoder MER OM ARRAYER 2 Array som en samling verdier Anta at vi ønsker å lagre en liste med navnene på alle INF1000-studentene: String[] studenter = new String[500];
Programmering Høst 2017
Programmering Høst 2017 Tommy Abelsen Ingeniørfag - Data Innledning Dette er et dokument med litt informasjon og eksempler om kontrollstrukturer, samt oppgaver til forskjellige kontrollstrukturer. Spør
Kort om meg. INF1000 Uke 2. Oversikt. Repetisjon - Introduksjon
Kort om meg INF1000 Uke 2 Variable, enkle datatyper og tilordning Fredrik Sørensen Kontor: Rom 4311-NR, Informatikkbygget Brukernavn/e-post: [email protected] Utdanning: Dataingeniør, 2000 Cand.Scient,
Mål for INF1000. Repetisjon INF 1000 våren Representasjon av data. Programvareutvikling - oversikt
Repetisjon INF 1000 våren 2007 Grunnkurs i programmering Institutt for Informatikk Universitet i Oslo Anne Landro, Are Magnus Bruaset og Arild Waaler Mål for INF1000 Gi grunnleggende forståelse av noen
UNIVERSITETET I OSLO
UNIVERSITETET I OSLO BOKMÅL Det matematisk-naturvitenskapelige fakultet Eksamen i : Eksamensdag : Torsdag 2. desember 2004 Tid for eksamen : 09.00 12.00 Oppgavesettet er på : Vedlegg : Tillatte hjelpemidler
Mer om arrayer Metoder
Arrayer Inf1000 uke 4 Mer om arrayer Metoder Hittil har vi sett på variable som kan holde en enkelt verdi: en int-variabel har plass til ett heltall en String-variabel har plass til en enkelt tekststreng
Oversikt. INF1000 Uke 1 time 2. Repetisjon - Introduksjon. Repetisjon - Program
Oversikt INF1000 Uke 1 time 2 Variable, enkle datatyper og tilordning Litt repetisjon Datamaskinen Programmeringsspråk Kompilering og kjøring av programmer Variabler, deklarasjoner og typer Tilordning
Blokker og metoder INF1000 (Uke 6) Metoder
Blokker og metoder INF1000 (Uke 6) Metoder Grunnkurs i programmering Institutt for Informatikk Universitetet i Oslo Are Magnus Bruaset og Arild Waaler En blokk er en samling instruksjoner omgitt av krøllparenteser:
Java. Java 3. Ulike varianter for ulike behov
Litt om Java-teknologien Fortsette innføringen i språket Java Idag: variable, uttrykk, lese fra terminal, forgreninger 31. august 2004 Ole Christian Lingjærde Gruppen for bioinformatikk Institutt for informatikk
INF1000 : Forelesning 1 (del 2)
INF1000 : Forelesning 1 (del 2) Java Variable og tilordninger Heltall, desimaltall og sannhetsverdier Utskrift på skjerm Ole Christian Lingjærde Gruppen for bioinformatikk Institutt for informatikk Universitetet
Oversikt. INF1000 Uke 2. Repetisjon - Program. Repetisjon - Introduksjon
Oversikt INF1000 Uke 2 Variable, enkle datatyper og tilordning Litt repetisjon Datamaskinen Programmeringsspråk Kompilering og kjøring av programmer Variabler, deklarasjoner og typer Tilordning Uttrykk
Løsningsforslag ukeoppg. 2: 31. aug - 6. sep (INF Høst 2011)
Løsningsforslag ukeoppg. 2: 31. aug - 6. sep (INF1000 - Høst 2011) Variabler, uttrykk, fogreninger (if-else) (kapittel 2 og 4.1-4.2 i læreboka, "Rett på Java" 3. utg.) Mål Få trening i teorien du trenger
Eksamensrelevant repetisjonsstoff. Deklarasjoner og variabeltyper. Konstanter
Eksamensrelevant repetisjonsstoff Uke 13 Litt repetisjon 22 november 2005, Arild Waaler Inst. for informatikk, UiO datatyper og konvertering mellom datatyper returtyper til metoder løkkekonstruksjoner:
INF1000 (Uke 6) Mer om metoder, tekster
INF1000 (Uke 6) Mer om metoder, tekster Grunnkurs i programmering Institutt for Informatikk Universitetet i Oslo Anja Bråthen Kristoffersen og Are Magnus Bruaset Rep: Metoder Java-programmene så langt
UNIVERSITETET I OSLO
FASIT UNIVERSITETET I OSLO BOKMÅL Det matematisk-naturvitenskapelige fakultet Kontinuasjonseksamen i : Eksamensdag : INF1000 Grunnkurs i objektorientert programmering Fredag 7. januar Tid for eksamen :
INF1000 (Uke 15) Eksamen V 04
INF1000 (Uke 15) Eksamen V 04 Grunnkurs i programmering Institutt for Informatikk Universitetet i Oslo Anja Bråthen Kristoffersen og Are Magnus Bruaset 22-05-2006 2 22-05-2006 3 22-05-2006 4 Oppgave 1a
INF1000 (Uke 15) Eksamen V 04
INF1000 (Uke 15) Eksamen V 04 Grunnkurs i programmering Institutt for Informatikk Universitetet i Oslo Anja Bråthen Kristoffersen og Are Magnus Bruaset 22-05-2006 2 22-05-2006 3 22-05-2006 4 Oppgave 1a
UNIVERSITETET I OSLO
UNIVERSITETET I OSLO BOKMÅL Det matematisk-naturvitenskapelige fakultet Kontinuasjonseksamen i : Eksamensdag : INF1000 Grunnkurs i objektorientert programmering Fredag 7. januar Tid for eksamen : 09.00
Forelesning inf Java 1
Forelesning inf1000 - Java 1 Tema: Javas historie Bestanddelene i et Java-program Programvariabler Ole Christian Lingjærde, 22. august 2012 Litt Java-historikk The Green Team I 1991 opprettet Sun Microsystems
UNIVERSITETET I OSLO
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i : Eksamensdag : Fredag 5. desember 2003 Tid for eksamen : 09.00 12.00 Oppgavesettet er på : Vedlegg : Tillatte hjelpemidler :
UNIVERSITETET I OSLO
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF1000 Grunnkurs i objektorientert programmering Eksamensdag: 11. juni 2004 Tid for eksamen: 9.00 12.00 Oppgavesettet er på 8
INF 1000 Prøveeksamen. 23. november Ole Christian og Arne. Oppgave 1 (10 poeng) Er disse programsetningene lovlige i Java? Oppgave 2 (10 poeng)
Oppgave 1 (1 poeng) Er disse programsetningene lovlige i Java? INF 1 Prøveeksamen 3. november 6 Ole Christian og Arne x int i, j = i+1; x int j=3, while(j-->) i = j; x int[]int[] int = new int[8]int[9];
Gjennomgang prøveeksamen oppgave 1, 2, 4, 5, 7
Gjennomgang prøveeksamen 2014 oppgave 1, 2, 4, 5, 7 1a: Hva er verdien til tall etter at følgende kode er utført: 17 int tall = 5; tall = (tall*3) + 2; 5 15 17 1b: Anta at følgende programsetninger utføres.
3 emner i dag! INF1000 Uke 5. Objekter og pekere. null. Litt om objekter, pekere og null Filer og easyio Litt mer om tekster
3 emner i dag! INF1000 Uke 5 Litt om objekter, pekere og null Filer og easyio Litt mer om tekster Litt om objekter, filer med easyio, tekst 1 2 Objekter og pekere Vi lager pekere og objekter når vi bruker
Java 6. Eksempel med to-dimensjonal array Filbehandling Tekster
Java 6 Eksempel med to-dimensjonal array Filbehandling Tekster Ole Christian Lingjærde Gruppen for bioinformatikk Institutt for informatikk Universitetet i Oslo 1 Ta inn og ut av 2D-array Vi skal lage
22.02.2009. Spørsmål fra forrige forelesning. INF1000 Forelesning 7. Oppførselen til inword()/inint()/etc. Operator-presedens i Java
Spørsmål fra forrige forelesning INF1000 Forelesning 7 Operator-presedens i Java? Hvordan virker metodene inword()/inint()/etc. i In-klassen i easyio når vi skriver inn flere verdier på tastaturet? Litt
INF1000 - Uke 10. Ukesoppgaver 10 24. oktober 2012
INF1000 - Uke 10 Ukesoppgaver 10 24. oktober 2012 Vanlige ukesoppgaver De første 4 oppgavene (Oppgave 1-4) handler om HashMap og bør absolutt gjøres før du starter på Oblig 4. Deretter er det en del repetisjonsoppgaver
