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

Like dokumenter
INF1000 : Forelesning 4

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

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

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

Forelesning inf Java 5

Forelesning inf Java 5

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

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

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

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

Ole Christian Lingjærde, 12. september 2013

Forelesning inf Java 4

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

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

En klasse er noe - en metode gjør noe (! / # <= (! * +!! ",-' %. "- -/ %.!#) )! " 0'%! * *$! "1-)) '' % '. 22!'( 7/ /! * 2 2! "*"% 8"%% 9 - -!

INF1000: Forelesning 4. Mer om arrayer Metoder

MER OM ARRAYER. INF1000: Forelesning 4. Anta at vi ønsker å lagre en liste med navnene på alle INF1000-studentene:

Inf1000 uke 5 18.sept. 2007

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

Blokker og metoder INF1000 (Uke 6) Metoder

Mer om arrayer Metoder

Oversikt. INF1000 Uke 5. Hva er for-løkker - repetisjon. Spørsmål forrige uke. Svar på spm. fra forrige uke. Litt mer om arrayer.

Teste om to tekster er like. Inf1000 uke 6 26.sept Alfabetisk ordning. Inneholder en tekst en annen? Litt om tekster Metoder

INF1000 (Uke 6) Mer om metoder, tekster

Rep: Metoder. INF1000 (Uke 6) Mer om metoder, tekster. Rep: Metoder. 3 typer variable: Klassevariable. Java-programmene så langt i kurset:

Oversikt. INF1000 Forelesning 6. Variable Deklarasjon. Variabel en plass i lageret int radius;

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

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

INF1000 (Uke 6) Mer om metoder, tekster

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

Orakeltjeneste på Abel Hjelp til Obligatorisk oppgave 2. INF1000 (Uke 6) Mer om metoder, tekster. Rep: Metoder. Rep: Metoder

INF1000 : Forelesning 3

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

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

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

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

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

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

Eksempel: Body Mass Index (BMI)

Repetisjon INF 1000 våren 2006

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

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

INF 1000 høsten 2011 Uke september

INF1000 undervisningen INF 1000 høsten 2011 Uke september

Forelesning inf Java 3

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

INF 1000 høsten 2011 Uke 3 6. september

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

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

Forelesning inf Java 3

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

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

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

Mål for INF1000. Repetisjon INF 1000 våren Representasjon av data. Programvareutvikling - oversikt

Eksamensrelevant repetisjonsstoff. Deklarasjoner og variabeltyper. Konstanter

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

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

INF1000 : Forelesning 1 (del 2)

Forelesning inf Java 5

Inf1000 (Uke 5) Arrayer, filer og tekst

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

Forelesning inf Java 1

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

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

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

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

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

løsningsforslag-uke5.txt

INF1000 : Forelesning 5

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

INF1000 Metoder. Marit Nybakken 16. februar 2004

UNIVERSITETET I OSLO

Løsningsforslag ukeoppg. 3: 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

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

2 Om statiske variable/konstanter og statiske metoder.

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

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

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

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

som jobbet nærmest døgnet rundt i 18 måneder i Menlo Park i California for å forberede den neste bølgen innen computing.

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.

Litt Java-historikk. Litt Java-historikk. Ulike varianter for ulike behov. Litt Java-historikk. The Green Team

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

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

INF1000 : Forelesning 2

Endret litt som ukeoppgave i INF1010 våren 2004

Ukeoppgaver 2: sep (INF Høst 2010)

Java 6. Eksempel med to-dimensjonal array Filbehandling Tekster

INF1000 oppgaver til uke 38 (17 sep 23 sep)

UNIVERSITETET I OSLO

Repetisjon: Statiske språk uten rekursive metoder (C1 og C2) Dagens tema Kjøresystemer (Ghezzi&Jazayeri 2.6, 2.7)

INF Uke 10. Ukesoppgaver oktober 2012

Dagens tema Kjøresystemer (Ghezzi&Jazayeri 2.6, 2.7)

INF1000: noen avsluttende ord

To måter å programmere på. Java 12. Programmering med objekter. Statisk programmering

Transkript:

Repetisjon: nesting av løkker Kort repetisjon av doble (nestede) løkker Mer om D-arrayer Introduksjon til D-arrayer Metoder Ole Christian Lingjærde Biomedisinsk forskningsgruppe Institutt for informatikk Universitetet i Oslo INF000 : Forelesning 4 for (int ; i<3; i++) { for (int j=0; j<5; j++) { System.out.print(i*j); System.out.println(); i= j=0 j= j= j=3 j=4 Ole Chr. Lingjærde Institutt for informatikk 9. september 008 Repetisjon: nesting av løkker Repetisjon: nesting av løkker for (int ; i<3; i++) { for (int j=0; j<5; j++) { System.out.print(i*j + "\t"); System.out.println(); i= j=0 j= j= j=3 j=4 0 0 0 0 0 0*0 0* 0*3 0* 0*4 i= for (int ; i<3; i++) { for (int j=0; j<5; j++) { System.out.print(i*j + "\t"); System.out.println(); *0 * * *3 *4 i= j=0 j= j= j=3 j=4 0 0 0 0 0 0 3 4 Ole Chr. Lingjærde Institutt for informatikk 9. september 008 3 Ole Chr. Lingjærde Institutt for informatikk 9. september 008 4

Repetisjon: nesting av løkker Repetisjon: arrayer for (int ; i<3; i++) { for (int j=0; j<5; j++) { System.out.print(i*j + "\t"); System.out.println(); *0 * * *3 *4 i= j=0 j= j= j=3 j=4 0 0 0 0 0 0 3 4 0 4 6 8 Deklarere og opprette array - eksempler: int[] a = new int[00]; String[] a = new String[00]; I begge tilfellene over får arrayen 00 elementer, nummerert 0,,..., 99. Bruke array - eksempler: for (int ; i<00; i++) { a[i] = i; for (int ; i<a.length; i++) { a[i] = "Posisjon nr " + i; Ole Chr. Lingjærde Institutt for informatikk 9. september 008 5 Ole Chr. Lingjærde Institutt for informatikk 9. september 008 6 Er denne lovlig? Er denne lovlig? Må alltid ha med [K] hvor K er antall elementer arrayen skal ha int[] a = new int; Må ha med [ ] for å angi at det er en array int a = new int[5]; Ole Chr. Lingjærde Institutt for informatikk 9. september 008 7 Ole Chr. Lingjærde Institutt for informatikk 9. september 008 8

Er denne lovlig? Er denne lovlig? int[] a = new int[]; Må ha med antall ønskede elementer int[] a = new int[99]; a[99] = (int) 3.4; Ulovlig indeks. Lovlige indekser er 0,,..., 98 Ole Chr. Lingjærde Institutt for informatikk 9. september 008 9 Ole Chr. Lingjærde Institutt for informatikk 9. september 008 0 Er denne lovlig? Er denne lovlig? Det er ikke samsvar mellom arraytypene på venstre side og høyre side double[] a = new int[00]; String[] s = new String[3]; s = {"juni", "juli", "august"; Initialisering av arrayer med {... må alltid skje i samme setning som arrayen deklareres. Ole Chr. Lingjærde Institutt for informatikk 9. september 008 Ole Chr. Lingjærde Institutt for informatikk 9. september 008

Er denne lovlig? Finne minste verdi i en array String[] s = new String[3]; s = new String[]{"juni", "juli", "august"; Lovlig Vi kan initialisere arrayer med {... hvor vi vil i et program, men må da skrive new datatype[ ]{... double minste = a[0]; for (int i=; i<6; i++) { if (a[i] < minste) { minste = a[i]; minste: -3 i= i=3 i=4 i=5 5-3 5????? Ole Chr. Lingjærde Institutt for informatikk 9. september 008 3 Ole Chr. Lingjærde Institutt for informatikk 9. september 008 4 Utvidelse - hvor ligger minste verdi? Fullstendig program double minste = a[0]; minpos = 0; for (int i=; i<6; i++) { if (a[i] < minste) { minste = a[i]; minpos = i; Ole Chr. Lingjærde Institutt for informatikk 9. september 008 5 import easyio.*; class MinsteVerdi { In tastatur = new In(); double[] a = new double[5]; for (int ; i<a.length; i++) { System.out.print( Oppgi en verdi: "); a[i] = tastatur.indouble(); double minste = a[0]; int minpos = 0; for (int i=; i<a.length; i++) { if (a[i] < minste) { minste = a[i]; minpos = i; System.out.println( Minste verdi er + minste); System.out.println( Den ligger på plass + minpos); Ole Chr. Lingjærde Institutt for informatikk 9. september 008 6

En array-variabel er en adresse Når du har opprettet en array så inneholder arrayvariabelen adressen til stedet i hukommelsen hvor verdiene ligger lagret. Eksempel: resultatet etter at vi har utført int[] primtall = {, 3, 5, 7,, 3, 7, 9, 3, 9; kan visualiseres slik: 0 3 5 3 7 4 5 3 6 7 7 9 8 3 9 9 Hva blir utskriften fra følgende program? Oppgave (viktig å forstå!) class ToArrayer { public static void main (String [] args) { int[] x = new int[0]; int[] y = x; for (int ; i<0; i++) { x[i] = i; y[i] = 0-i; primtall for (int ; i<0; i++) { System.out.println(x[i] + "\t" + y[i]); Ole Chr. Lingjærde Institutt for informatikk 9. september 008 7 Ole Chr. Lingjærde Institutt for informatikk 9. september 008 8 Kompilering og kjøring Hva som skjedde > javac ToArrayer.java > java ToArrayer 0 0 9 9 8 8 7 7 6 6 5 5 4 4 3 3 Merk: samme innhold i de to arrayene x og y!! Etter å ha utført instruksjonen...... så er situasjonen denne: int[] x = new int[0]; x int[] y = x; x y 0 9 0 9 Ole Chr. Lingjærde Institutt for informatikk 9. september 008 9 Ole Chr. Lingjærde Institutt for informatikk 9. september 008 0

Hva som skjedde Kopiering av arrayer class ToArrayer { public static void main (String [] args) { int[] x = new int[0]; int[] y = x; for (int ; i<0; i++) { x[i] = i; y[i] = 0-i; Denne tilordningen overskriver det vi gjør i setningen over for (int ; i<0; i++) { System.out.println(x[i] + "\t" + y[i]); Ole Chr. Lingjærde Institutt for informatikk 9. september 008 Vi kan ikke lage en kopi av en array x ved å skrive int[] y = x; siden dette bare medfører at adressen til arrayen kopieres til y. Skal vi lage en kopi, må vi først opprette en array til (f.eks. y), og så kopiere over verdiene en for en, for eksempel slik: double[] y = new double[x.length]; for (int ; i<x.length; i++) { y[i] = x[i]; Tips: det finnes også ferdige verktøy for å kopiere arrayer, bl.a. int[] y = (int[]) x.clone(); Ole Chr. Lingjærde Institutt for informatikk 9. september 008 Flerdimensjonale arrayer Ta inn og ut av D-array Eksempel (fra oblig ): Resultat: final int ANT_RADER = ; final int ANT_KOLONNER = 7; String[][] eier = new String[ANT_RADER][ANT_KOLONNER]; eier Eksempel på bruk: 0 3 4... 30 6 0 3 4 5 6 7 8 9 0. 0 for (int ; i<ant_rader; i++) { for (int j=0; j<ant_kolonner; j++) { <gjør noe med eier[i][j]> Ole Chr. Lingjærde Institutt for informatikk 9. september 008 3 Vi skal lage et program som illustrerer hvordan man deklarerer og oppretter en to-dimensjonal array legger inn verdier i arrayen henter ut verdier fra arrayen Programmet skal: be om og lese inn 9 desimaltall og legge tallene inn i en doublearray med 3 rader og 3 kolonner skrive ut double-arrayen som en 3x3-tabell, men slik at verdiene i tabellen har fått fratrukket gjennomsnittet av alle de 9 innleste verdiene. Ole Chr. Lingjærde Institutt for informatikk 9. september 008 4

Det ferdige programmet Eksempel: finne antall solgte oljefelt i oblig import easyio.*; class ArrayEksempel { In tast = new In(); Out skjerm = new Out(); double[][] x = new double[3][3]; double sum = 0; for (int ; i<3; i++) { for (int j=0; j<3; j++) { skjerm.out("x[" + i + "][" + j + "]="); x[i][j] = tast.indouble(); sum += x[i][j]; double snitt = sum / 9; for (int ; i<3; i++) { for (int j=0; j<3; j++) { skjerm.out(x[i][j] - snitt,, 7); skjerm.outln(); Test programmet Ole Chr. Lingjærde Institutt for informatikk 9. september 008 5 int antallfelter = <totalt antall oljefelter>; int antallsolgte = 0; for (int ; i<; i++) { for (int j=0; j<7; j++) { if (eier[i][j]!= null) { <skriv ut en "x"> antallsolgte++; else { <skriv ut en "."> Hvis et felt ikke er solgt: eier[i][j] = = null Hvis et felt er solgt: eier[i][j]! = null double prosentsolgte = 00.0 * antallsolgte / antallfelter; <skriv ut antall solgte felter og prosent solgte felter> Ole Chr. Lingjærde Institutt for informatikk 9. september 008 6 Metodedeklarasjoner Metodekall En metode er en navngitt blokk med instruksjoner som vi kan få utført hvor som helst i et program ved å angi metodens navn. En metodedeklarasjon er en spesifikasjon/definisjon av en metode: mer om denne senere modifikatorer returverditype minmetode (parametre) { instruksjon ; instruksjon ;... instruksjon n; beskrivelse av hva slags output metoden gir, f.eks. void, int, double, char,... et navn som vi velger beskrivelse av hva slags input metoden skal ha - gis i form av variabel-deklarasjoner separert av komma Ole Chr. Lingjærde Institutt for informatikk 9. september 008 7 En metode kan kreve input og den kan returnere en verdi, men ingen av delene er nødvendig. I enkleste tilfelle er det ingen input og ingen output. Når vi benytter en metode sier vi at vi kaller på metoden. Kall på metode uten input (=parametre) - eksempel: minmetode(); Kall på metode med input (=parametre) - eksempel: minmetode(34., 53, 6); Kall på metode som returnerer en verdi - eksempel: int alder = minmetode(5.3, 5); Ole Chr. Lingjærde Institutt for informatikk 9. september 008 8

Plassering i programmet Metode uten parametre/returverdi Vi plasserer metodene i en egen klasse (eller flere klasser): Filen MittProgram.java : class MittProgram { public static void main(string[] args) { Hjelpeklasse hj = new Hjelpeklasse(); hj.minmetode(); Følgende metode skriver ut fire linjer på skjermen: void skrivstjerner () { String s = "****"; System.out.println(s); System.out.println(s+s); System.out.println(s+s+s); System.out.println(s+s+s+s); class Hjelpeklasse { void minmetode() {... innholdet i metoden... Forklaring: void forteller at metoden ikke gir noe output. skrivstjerner er det navnet vi har valgt å gi metoden Ole Chr. Lingjærde Institutt for informatikk 9. september 008 9 Ole Chr. Lingjærde Institutt for informatikk 9. september 008 30 Eksempel på bruk Kompilering og kjøring class Stjerner { Hjelpeklasse hj = new Hjelpeklasse(); hj.skrivstjerner(); class Hjelpeklasse { void skrivstjerner() { String s = "****"; System.out.println(s); System.out.println(s+s); System.out.println(s+s+s); System.out.println(s+s+s+s); > javac Stjerner.java > java Stjerner **** ******** ************ **************** Ole Chr. Lingjærde Institutt for informatikk 9. september 008 3 Ole Chr. Lingjærde Institutt for informatikk 9. september 008 3

Metode med returverdi Følgende metode leser et positivt desimaltall fra terminal og returnerer det: double lespositivttall() { In tastatur = new In(); double x; do { System.out.println("Gi et positivt tall: "); x = tastatur.indouble(); while (x <= 0); return x; Forklaring: return x betyr at metoden slutter å eksekvere og at verdien til variabelen x returneres til kallstedet. Ole Chr. Lingjærde Institutt for informatikk 9. september 008 33 Eksempel på bruk import easyio.*; class LesPositivtTall { Hjelpeklasse hj = new Hjelpeklasse(); double tall = hj.lespositivttall(); System.out.println("Tallet var " + tall); class Hjelpeklasse { double lespositivttall () { In tastatur = new In(); double x; do { System.out.print("Gi et positivt tall: "); x = tastatur.indouble(); while (x <= 0); return x; Test programmet Ole Chr. Lingjærde Institutt for informatikk 9. september 008 34 Eksempel: metode med input og output Eksempel på bruk Følgende metode finner summen av elementene i en double-array: double finnsum (double[] x) { double sum = 0.0; for (int ; i<x.length; i++) { sum += x[i]; return sum; Forklaring: Når metoden kalles vil input-parameteren x bli tilordnet en verdi (= den verdien som benyttes i kallet på metoden). Metoden summerer elementene i arrayen, og returnerer så denne summen tilbake til kallstedet. Ole Chr. Lingjærde Institutt for informatikk 9. september 008 35 class Lengde { double[] lengder = {.0, 5., 7.5,.0, 3.8; Kalkulator k = new Kalkulator(); double total = k.finnsum(lengder); System.out.println("Samlet lengde: " + total); class Kalkulator { double finnsum (double[] x) { double sum = 0.0; for (int ; i<x.length; i++) { sum += x[i]; return sum; Test programmet Ole Chr. Lingjærde Institutt for informatikk 9. september 008 36

Parametre og argumenter Overføring av verdi til parametere class MittProgram { Kalkulator k = new Kalkulator(); double pris = 00.0; double beløp = k.trekkfrarabatt(pris); System.out.println("Utsalgspris: " + beløp); class Kalkulator { Argument double trekkfrarabatt (double x) { return x * 0.8; Parameter Merk: i noen bøker kalles argumenter aktuelle parametre, mens parametre kalles formelle parametre. Ole Chr. Lingjærde Institutt for informatikk 9. september 008 37 Anta at følgende eksekveres: double beløp = k.trekkfrarabatt(pris); Metoden som kalles: double beløp = k.trekkfrarabatt(pris); double beløp = 80.0; double trekkfrarabatt (double x) { return x * 0.8; Eksekveringsrekkefølgen (blått angir ting som skjer "bak kulissene"): argumentet pris overføres metodekallet returnerer med beregnet verdi x = pris; return x * 0.8; Ole Chr. Lingjærde Institutt for informatikk 9. september 008 38 Parametre og argumenter Parametre: Deklareres mellom parentesene i toppen (= den første linja) av metode-deklarasjonen. De er "vanlige variable" som bare eksisterer inne i metoden og så lenge denne eksekverer. Argumenter: Verdier som oppgis mellom parentesene når vi kaller på en metode. Antall argumenter: MÅ samsvare med antall parametre i metoden, ellers oppstår feil under kompilering av programmet. Argumentenes datatyper: MÅ samsvare med datatypen til tilsvarende parameter. (eller kunne tilordnes til parameteren) Ole Chr. Lingjærde Institutt for informatikk 9. september 008 39