( & ( &/ 2& , )-. &* &/ ),* 0, &/ 2 ) *

Like dokumenter
INF1000 (Uke 12) Sortering

(! )! #!! *#+,$&!! &#$

3 #$ *#+,$&!! &#$ (! )! #! 6 &#)%#. / 5$ #%#.67 / "## #&! %# # & #!!& %&$ # $!!!!# $#

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

INF Uke 10. Løsningsforslag ukesoppgaver oktober 2012

Hva skal vi lære i dag? Inf1000 (Uke 9) UML og enda mer om klasser. Hvilke lesemetoder finnes? Filbehandling. Repetisjon om filbehandling UML

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

INF1000: Forelesning 7. Konstruktører Static

INF1010 Sortering. Marit Nybakken 1. mars 2004

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

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

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

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

Innhold. INF1000 (Uke 11) Programmering. Rep: Metoder. Rep: Hva er en metode? Litt repetisjon. To måter å programmere på

UNIVERSITETET I OSLO

INF1000: Forelesning 7

UNIVERSITETET I OSLO

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

INF1010 våren januar. Objektorientering i Java

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

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

UNIVERSITETET I OSLO

IN1010 våren januar. Objektorientering i Java

Eksamen i emnet INF100 Grunnkurs i programmering (Programmering I) Løsningsforslag

Objekter. Uke 8 - Objekter, klasser og pekere. Verden består av mange objekter, noen ganske like, noen ulike. Klasser og objekter i verden

OBJEKTER SOM EN PROGRAMMERINGS-TEKNIKK

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

INF1000: Forelesning 6. Klasser og objekter del 1

UNIVERSITETET I OSLO

En implementasjon av binærtre. Dagens tema. Klassestruktur hovedstruktur abstract class BTnode {}

Løsningsforslag INF desember 2007

Generelt om oblig 3. Oppgaveteksten kort sammendrag. Deloppgaver/menyvalg 15/03/2010. INF1000 Forelesning 9

Løsningsforslag til eksamen i INF1000 våren 2006

1. Separatorer (skilletegn) i easyio

Gjennomgang av eksamen H99

INF1010 våren Arv, subklasser og grensesnitt - del 2

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

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

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

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

IN1010 våren 2018 Tirsdag 15. mai. Repetisjon av subklasser og tråder. Stein Gjessing Institutt for informatikk Universitetet i Oslo

UNIVERSITETET I OSLO

INF1010 våren Grensesnitt

PRØVEEKSAMEN (rettet versjon 27/11)

Leksjon 6. Objekt. Evt. importsetninger. public class Klasse { Konstruktør. Objektmetoder. Innkapsling (private): set-og get-metoder

Kapittel 9: Sortering og søking Kort versjon

Repetisjon. INF gruppe 13

Forelesning inf Java 5

INF Uke 10. Ukesoppgaver oktober 2012

Forelesning inf Java 5

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

Seminaroppgaver IN1010, uke 2

UNIVERSITETET I OSLO

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

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

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

Eksamensrelevant repetisjonsstoff. Deklarasjoner og variabeltyper. Konstanter

Hva er en metode? INF1000 Forelesning 8. Hva skjer når vi kaller en metode? Hvorfor bruke metoder?

Transkript:

! " ##$ % "&&

' ( & % )* +, )-. &* &/ ),* 0, 1 1 ( &/ 2& 2 &/ 2 ) *

', 0, 4 2, &/ &, & &/ &,, &/" 3

class C { int skrivantall(int i){ System.out.println(" Du har kalt meg med:" + i); return i+10; }} class D { static int dobbel( int k) { return 2*k; } }} void gjørmye(c cc, int v) { System.out.println(" gjørmye kalt"); int j = cc.skrivantall(v); System.out.println(" 1.verdien av j:" + j); j = dobbel(j); System.out.println(" 2.verdien av j:" + j); System.out.println(" 3.verdien av skrivantall(j):" + cc.skrivantall(j) ); } public static void main ( String[] args) { C c = new C(); D megselv = new D(); megselv.gjørmye(c,2); 5 4 67 42 " " $ 42 $ 3"% )*3$

'& 9 & 0 & 9 /:3#)2 * '/& &, & 7 & & 7, """"""" 8

;/ 0,2 2& 1 1, 2 7 9,, 2 7 7. 7 &"" 9, 2 &/ " 92 ) * /7 /, /)27 * 4,,, 2 7 7" (. &, /77 )& /*&,,!

' (2 7, " 2& = 0 """&+ 7, &> 2 && 2& = 9,)*;,()*""+?& )*& ()*""> <

+ 0,)-. &* 1 1 0,, 1 1 4, & ) * &/ A/,new, &, 2 2 &) = * 0,B / &/,& B 7 @

class Konto1 { String eier; int kontonum, saldo = 0; } Konto1(String e) { eier = e; } void settinn(int beløp) { saldo = saldo + beløp; } boolean taut(int beløp) { // moderne bank med muligheter for overtrekk saldo = saldo - beløp; return saldo > 0; } class Bank1 { Konto1 [] kontiene = new Konto1[100000]; } } public static void main( String[] args) { Bank1 b = new Bank1(); for (int i = 0; i < b.kontiene.length; i++) { b.kontiene[i] = new Konto1("kunde nr." + i); b.kontiene[i].settinn(100); }

A >, ( &, 211 & ( new & 2 ),, * 2, 7 )"* #

/:7& 7 9/& 7 int saldo /: settinn() taut() " 9, private public protected &

A1,C1 7 2" &, &, + &D, & &, &,7D &, &," private &D, 7 & 7D & protected &D, 7 7, &, 7D ), &,*" public, D7&" + : & 2"

, '& +D 7 % / &/, 7E (, = 2 2 )7 * ) # 7:* 3

9 7 7,,2&,, " 9 7 $

F ) * F & )* 0& % & ) : * 0, ", 8

% ; ;7!

(( G4 9/, 7 7 &, 2, G4, ###G4"92& &, 7G4 +/ ) * + 2 '2 1G41 0&H <

G4G4 9 &/ ) H* 922& ) G4&, 27 B 2"""G42 & " @

( 2 92+, &&/ 22&, 2 2 ) 2 *" 9 &/ =, I

& "4 ) 7*2

class Student { String navn; Kurs [] minekurs = new Kurs[3]; Student(){mineKurs = new Kurs[0];} Student(String navn, Kurs [] k){ this.navn = navn; for (int i = 0; i<k.length; i++ ){ } } minekurs[i] = k[i]; minekurs[i].antstudenter++;!"#!"# }} void skrivut() { System.out.println("Student med navn:"+ navn+ ",og kurs:"); for (int i = 0;i < minekurs.length; i ++) System.out.println(mineKurs[i].kurskode); class Kurs { String kurskode ; int antstudenter = 0; Kurs(String k) { kurskode = k; }}

class StudentRegister2{ public static void main(string args []) { String [] kurskode = {"INF1000","INF1040","MAT1030"}; // lag kurs Kurs [] infkurs = new Kurs[3]; for (int i = 0 ; i< infkurs.length; i++) infkurs[i] = new Kurs(kurskode[i]); //lag studenter på informatikk bachelor Student [] stud = new Student[3]; stud[0] = new Student("Ola N", infkurs); stud[1] = new Student("Åsne S",infKurs); stud[3] = new Student(); for (int i = 0 ; i< stud.length; i++) stud[i].skrivut(); }}

(,, 2 +& )7*&2 )&*", " A2 2 % 2 )*" 3

F)&*& +7&72 )& * J K L 0& ) * 9& ) * " 7 & ( ) & * $

7, )* )J """"* 2,, 8

A2 $% & 9 &2 22, / 2 &/&, &, 92, :, 2 &2 +( (: 7!

0, & + ( A& ( 2 &(M %

+ 3= 2 + ( 2, 32 @

+

&,, &2 " %, )&* " ', 3" 4 )&" *, $" 4,, &,, "3 3#

'&22 +&22 2, "" & 4 &/&, &,, " 4 1 1 2&22 22/,:,," 3

:, / + = 2 + 2 ' F ( ) * &/ ( & ), * : 0,2/ / :, 1&&1, ) /7*& '.= F ' 3

+ 7 F F )&-&/, * F 9, 2 )&, *& 4 & )2 * & 4:, &, N8# 33

'& A, &, &/ + ) * + 72/" +, 7" ("F& &, 3$

9&/ :, 2 4,, + 7 ) * +27 7 )27 * (F& navn adr. postnr. tlf. 38

9/ ' 7), "* public class ISort { public static void sorter(int [] a) { } public static void sorter(string [] a) { } public static void sorteretterkol1(string [] [] a) { } } // end class ISort 3!

class TestInnstikkSortering { F & public static void main ( String[] args) { int [] a = {3,1,7,14,2,156,77}; String [] navn = {"Ola", "Kari", "Arne", "Jo"}; String [][] telefonliste = { {"Per","22852451"}, {"Arne","33445566"}, {"Kari","44452611"}, {"Jo","55010102"}}; // sorter heltall - skriv ut ISort.sorter(a); for (int i = 0; i < a.length; i++) System.out.println("b[" + i +"]= " + a[i]); System.out.println("\n Test tekst-sortering:"); // sorter Stringer - skriv ut ISort.sorter(navn); for (int i = 0; i < navn.length; i++) System.out.println("navn[" + i +"]= " + navn[i]); System.out.println("\n Test 2dim tekst-sortering:"); // sorter Tabell - skriv ut ISort.sorterEtterKol1(telefonliste); for (int i = 0; i < navn.length; i++) System.out.println("navn[" + i +"]= " + telefonliste[i][0] + ", med tlf.: " + telefonliste[i][1] ); }} 3<

2 7 3 < $ 8! << OM OM O%M O.O + 7 O;M O @8 $8O + 7 & O%M OM O33$$88!!O O$$$8!O ;& O.M ;&2 "3 M88### M

5 + P#Q-3 PQ- PQ-< P3Q-$ P$Q- P8Q-8! P!Q-<< F F P#Q- PQ- PQ-% P3Q-. F & P#Q-; &" @8 $8 & PQ-% &"33$$88!! & PQ- &"$$$8! & P3Q-. &"88### 3I

( &, 2 = 3 < $ 8! << +, 7 & & + 2 2, ' 7, &2 2, F )t* +7, 2, 2 2/7 t, " 42 )& * 0,2, 27 4 &/ &2 $#

+, &2 3 3 < $ 8! << 3 3 < $ 8! << 3 3 < $ 8! <<

<$, +, &2 3<$ $ 3 < $ 8! << 8 3 < $ 8! <<! 3 < $ 8! << flytt: 3,7,14 ett hakk til høyre < 3 3 < $ 8! << @ 3 < $ 8! <<

J &, &7, 3 < $ 8! << // a[k +1 ] står muligens på // feil plass, ta den ut int t = a[k + 1], i = k; J 3 < $8! << 3 // skyv a[i] mot høyre ett hakk til // vi finner riktig plass til t while (i >= 0 && a[i] > t) { a[i + 1] = a[i]; i--; } 3 < $8! << // sett t inn på riktig plass a[i + 1] = t;

public class ISort { public static void sorter(int [] a) { for (int k = 0 ; k < a.length-1; k++) { // a[k +1 ] står muligens på feil plass, ta den ut int t = a[k + 1], i = k; // skyv a[i] mot høyre ett hakk til // vi finner riktig plass til t while (i >= 0 && a[i] > t) { a[i + 1] = a[i]; i--; } // sett t inn på riktig plass a[i + 1] = t; } } // end heltall-sortering

5 + P#Q- 2 PQ- PQ-3 P3Q-< P$Q-$ P8Q-<< P!Q-8! F P#Q- PQ- PQ-% P3Q-. F & P#Q-; &" @8 $8 & PQ-% &"33$$88!! & PQ- &"$$$8! & P3Q-. &"88###

+ )+ * OM OM O%M O.O 9, 7, ) P#Q, M%M""* $!

+ &/, 7 OM OM O%M O.O t = a[1]; OM OM O%M O.O a[1]= a[0]; OM OM O%M O.O a[0]= t;

public static void sorter(int [] a) { // Sorterer heltallsarrayaen 'a'. for (int k = 0 ; k < a.length-1; k++) { int t = a[k + 1], i = k; while (i >= 0 && a[i] > t) { a[i + 1] = a[i]; i--; } a[i + 1] = t; } } // end heltall-sortering public static void sorter(string [] a) { // Sorterer String-arrayen 'a'. for (int k = 0 ; k < a.length-1; k++) { String t = a[k + 1]; int i = k; while (i >= 0 && ( a[i].compareto(t) > 0) ){ a[i + 1] = a[i]; i--; } a[i + 1] = t; } } // end String-sortering

5 + P#Q- PQ- F 2 + PQ-3 P3Q-< P$Q-$ P8Q-<< P!Q-8! F P#Q-% PQ-. PQ- P3Q- F & P#Q-; &" @8 $8 & PQ-% &"33$$88!! & PQ- &"$$$8! & P3Q-. &"88###

+ + 7 O;M O @8 $8O O%M O33$$88!!O OM O$$$8!O O.M M88### M 9,, >7, )P#Q, M%M""* ( >7, 2 2 7 8#

public static void sorter(string [] a) { // Sorterer String-arrayen 'a'. for (int k = 0 ; k < a.length-1; k++) { String t = a[k + 1]; int i = k; while (i >= 0 && ( a[i].compareto(t) > 0) ){ a[i + 1] = a[i]; i--; } a[i + 1] = t; } } // end String-sortering public static void sorteretterkol1(string [] [] a) { // Sorterer den 2-dim String-arrayen 'a ettter verdi i kol.1. for (int k = 0 ; k < a.length-1; k++) { String [] trad = a[k + 1]; int i = k; while (i >= 0 && ( a[i][0].compareto(trad[0]) > 0) ){ a[i + 1] = a[i]; i--; } a[i + 1] = trad; } } // end 2-dim String-sortering

R0A###R 5 + P#Q- PQ- PQ-3 P3Q-< P$Q-$ P8Q-<< P!Q-8! % F P#Q-% PQ-. PQ- P3Q- F & P#Q-% &"33$$88!! & PQ-. &"88### & PQ- &"$$$8! & P3Q-; &" @8 $8

.= && )2 * / 11 2 & 83

/** Klasse for sortering etter 'innstikk-metoden', se Rett på Java - kap.5.7. Sortering av heltallsarray, tekster og en to-dimensjonal tekst-array sortert etter verdiene i første kolonne.<br> N.B. Bare velegnet for mindre enn 100 elementer. * Copyright : A.Maus, Univ. i Oslo, 2003 **********************************************************/ public class ISort { /** Sorterer heltall i stigende rekkefølge @param a heltallsarrayen som sorteres * Endrer parameter-arrayen. ********************************************/ public static void sorter(int [] a) { } /** * Sorterer String-arrayer i stigende leksikografisk orden. @param a arrayen som sorteres * Endrer parameter-arrayen ********************************************/ public static void sorter(string [] a) { } /** * Sorterer en to-dimensjonale String-array * etter verdiene i første kolonne. * Nytter pekerombytting av radpekerne. * Antar at alle radene har minst ett element * @param a en to-dimensjonal array som sorteres * Endrer parameter-arrayen. ******************************************************/ public static void sorteretterkol1(string [] [] a) { } } // end class ISort

4 '( ) '&(( *' +'&(,'(( - '.(%( / &%0' '( / 1&%0' '( - 2.(%( - 1.(%( - 0'.(%( / 1&'( - '.&(%( - '.&(%( - 1(%( - 0' (%( - (%( - 0'. ( - %0.'(%( - 3%('( 88