Seminaroppgaver IN1010, uke 2

Like dokumenter
Hva er verdien til variabelen j etter at følgende kode er utført? int i, j; i = 5; j = 10; while ( i < j ) { i = i + 2; j = j - 1; }

INF Obligatorisk innlevering 5

Eksamensoppgaver 2014

Eks 1: Binærtre Binærtretraversering Eks 2: Binærtre og stakk

INF1000 Eksamen 2014 (modifisert)

Lenkelister. Lister og køer. Kopi av utvalgte sider fra forelesningen.

Gjøre noe i hele treet = kalle på samme metode i alle objekten. Java datastruktur Klassestruktur

IN Seminaroppgaver til uke 11

IN Notat om I/O i Java

UNIVERSITETET I OSLO

IN1010 V19, Obligatorisk oppgave 2

IN våren 2018 Tirsdag 16. januar

IN1000 Obligatorisk innlevering 7

"behrozm" Oppsummering - programskisse for traversering av en graf (dybde først) Forelesning i INF februar 2009

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

INF våren 2017

UNIVERSITETET I OSLO

Enkle generiske klasser i Java

IN våren 2019 Onsdag 16. januar

UNIVERSITETET I OSLO

2 Om statiske variable/konstanter og statiske metoder.

INF Ekstrainnlevering

Konstruktører. Bruk av konstruktører når vi opererer med "enkle" klasser er ganske ukomplisert. Når vi skriver. skjer følgende:

INF Uke 10. Ukesoppgaver oktober 2012

UNIVERSITETET I OSLO

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

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

INF 1010, vår 2005 Løsningsforslag uke 11

INF1010, 15. januar time. Parametriserte klasser (generiske klasser) Stein Gjessing Inst. for Informatikk Universitetet i Oslo

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

Kom forberedt til tirsdag. INF1000 Tips til obligatorisk oppgave 4. Noen generelle tips. Oblig4: Komme igang

IN1010 våren januar. Objektorientering i Java

INF1010 våren januar. Objektorientering i Java

EKSAMEN. Dato: 9. mai 2016 Eksamenstid: 09:00 13:00

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

Informasjon Prøveeksamen i IN1000 høsten 2018

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

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

Løsningsforslag til eksamen i INF1000 våren 2006

INF1000 Eksamen 2014 (modifisert)

Introduksjon til objektorientert programmering

INF1000: Forelesning 7

UNIVERSITETET I OSLO

INF1010 Binære søketrær ++

INF Seminaroppgaver til uke 3

Forkurs INF1010. Dag 2. Andreas Færøvig Olsen Gard Inge Rosvold Institutt for Informatikk, 14.

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

Endret litt som ukeoppgave i INF1010 våren 2004

Obligatorisk oppgave 5: Labyrint

INF1010 Rekursive metoder, binære søketrær. Algoritmer: Mer om rekursive kall mellom objekter Ny datastruktur: binært tre

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

Fra Python til Java, del 2

INF1000: Forelesning 7. Konstruktører Static

Løse reelle problemer

Hvorfor objektorientert programmering? Objektorientert programmering i Python: Introduksjon. Læringsmål uke 7. Undervisning og pensum IN1000

Dagens forelesning. Java 13. Rollefordeling (variant 1) Rollefordeling (variant 2) Design av større programmer : fordeling av roller.

Eksamen IN1010/INF1010 våren 2018

Jentetreff INF1000 Debugging i Java

Hvorfor objektorientert programmering?

< T extends Comparable<T> > Indre klasser mm. «Det du bør ha hørt om før oblig 4»

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

INF Notat om I/O i Java

Informasjon Eksamen i IN1000 og IN1001 høsten a) 1 poeng. 1b) 1 poeng. Tid. Oppgavene. Tillatte hjelpemidler. 30. november kl. 14.

Obligatorisk oppgave 2: Bilhierarki

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

Innhold uke 9. Objektorientert programmering i Python. Om ukens pensum. Referanser og objekter Tema: Mer komplekse strukturer

UNIVERSITETET I OSLO

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

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

UNIVERSITETET I OSLO

Oblig4 - forklaringer. Arne og Ole Christian

UNIVERSITETET I OSLO

Leksjon 7. Filer og unntak

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

INF1010 våren 2018 tirsdag 23. januar

Objektorientert programmering i Python

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

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

Oblig 4 (av 4) INF1000, høsten 2012 Værdata, leveres innen 9. nov. kl

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

Oppgavesettet består av 7 sider, inkludert denne forsiden. Kontroll& at oppgaven er komplett før du begynner å besvare spørsmålene.

løsningsforslag-uke5.txt

INF1010, 21. januar Klasser med parametre = Parametriserte klasser = Generiske klasser

2 Om statiske variable/konstanter og statiske metoder.

UNIVERSITETET I OSLO

Klasser, objekter, pekere og UML. INF gruppe 13

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

Etter uke 6 skal du. Introduksjon til objektorientert programmering. Hva skjedde ~1967? INF1001. Grunnkurs i objektorientert programmering

TDT4100 Objektorientert programmering

INF1000 Behandling av tekster

UNIVERSITETET I OSLO

Oblig 4 (av 4) INF1000, høsten 2009 Værdata, leveres innen 6. nov. kl

Dagens tema: 12 gode råd for en kompilatorskriver

Hva er en metode. Hva skjer når vi kaller en metode

Programmering Høst 2017

Innhold uke 7. Objektorientert programmering i Python: Introduksjon. Lite tilbakeblikk: Programflyt og skop. Lite tilbakeblikk: Funksjoner er uttrykk

INF1000 (Uke 15) Eksamen V 04

INF1000 (Uke 15) Eksamen V 04

UNIVERSITETET I OSLO

Transkript:

Seminaroppgaver IN1010, uke 2 1.a: Skriv en klasse HeiVerden.java. Klassen skal inneholde en main- metode (se på notatet fra tidligere). Inne i main -metoden skal programmet først la brukeren oppgi en tekststreng med navnet sitt. ( hint : Bruk et Scanner-objekt til dette - husk å importere nødvendig klasse). Endre deretter utskriften til bruker slik at navnet brukes. Eksempel på utskrift: > Hei! Hva heter du? > Trude > Hei Trude! Velkommen til IN1010. 2: Følgende program er skrevet i Python. Skriv programmet på nytt med Java-syntaks (merk at alle metodene i dette tilfellet skal være offentlige): class Person: def init ( self, alder, navn, hobbier ): self. _alder = alder self. _navn = navn def skrivut ( self ): print ( self. _navn, self. _alder) def habursdag ( self ): self. _alder +=1

3.a: Skriv en klasse Motorsykkel.java. Klassen skal inneholde følgende instansvariabler: private int kilometerstand private String registreringsnummer private int produksjonsnummer Klassen skal også inneholde en konstruktør som tar inn registreringsnummeret. Instansvariabelen kilometerstand skal starte med verdien 0. I tillegg skal klassen inneholde en private static int teller, som starter med verdien 0. Denne skal dere ta i bruk i konstruktøren, slik at hvert nye Motorsykkel-objekt får et unikt produksjonsnummer. 3.b: Skriv en metode public int hentkilometerstand. Metoden tar ikke imot noen parametere, men skal returnere antall kilometer motorsykkelen har kjørt. Skriv deretter en tilsvarende metode public int hentproduksjonsnummer.

3.c: Skriv en metode public void kjoer som tar imot et parameter int antallkilometer. Metoden skal legge antallkilometer til instansvariabelen int kilometerstand. 3.d: Skriv en klasse MotorsykkelProgram.java. Klassen skal inneholde en main -metode. Opprett et objekt av klassen Motorsykkel inne i main -metoden med et registreringsnummer. Deretter skal dere skrive en while-løkke som skal gå 5 ganger. For hver gjennomkjøring av løkken skal dere kalle på Motorsykkel-objektets kjoer -metode med 10 som parameter. 3.e: Hvis vi kalte på Motorsykkel-objektets hentkilometerstand -metode nå, hvilket resultat får vi? 3.f: Vi tenker oss at vi oppretter to Motorsykkel-objekter til. Hvilke produksjonsnummere vil de ha?

4.a: Hvilke feil finnes i følgende klasse? class Baat { private String regnr; private int kilometer; public Baaten ( String regnr ){ this. regnr = regnr; this. kilometerstand = 0; //Skriver info om baaten public void skrivbaat () { print ( regnr ); print ( kilometerstand ); 4.b: Gitt følgende variabler: int a = 3; String b = "4"; double c = 10.2; Er følgende kodesnutter lovlige? Hvis ja, hva skrives ut? System. out. println ( a + 5 ); System. out. println ( a + b ); int sum = a + b; System. out. println ( sum ); int sum = a + c; System. out. println ( sum );

5: Følgende klasseskjelett ble presentert i forelesningen på tirsdag: class Kaningaard { private Kanin [] kaniner = new Kanin[100]; public boolean full() {... public boolean tom () {... public Kanin finnen(string navn) {... public void settinn (Kanin kanin) {... public void fjern(string navn) {... 5.a: Skriv ferdig klassen Kaningaard ved å fylle ut metodene. Dere kan gå ut fra at alle kaniner skal ha forskjellig navn, og derfor må dere ta høyde for at det ikke er lov å sette inn en kanin to ganger (altså med samme navn som en i lista). Dere skal også ta høyde for noen andre problemer som kan oppstå og gi gode feilmeldinger. To eksempler er dersom man forsøker å sette inn en eller når man forsøker å fjerne en kanin som ikke er i listen. Dere kan anta at klassen Kanin inneholder en metode hentnavn. 5.b: Skriv et hovedprogram der dere gjør minst tre tester av de forskjellige delene av klassen Kaningaard. Test for eksempel tilfeller som innsetting av kanin ved full kaningård eller fjerning av ikke-eksisterende kanin. 5.c: Tegn datastrukturen slik den ser ut etter at dere har kjørt hovedprogrammet deres. ( Tips : Se notatet om datastrukturtegninger på emnets semesterside).