Datatyper og typesjekking
|
|
|
- Torild Dahle
- 8 år siden
- Visninger:
Transkript
1 Datatyper og typesjekking Om typer generelt Hva er typer? Statisk og dynamisk typing Hvordan beskrive typer syntaktisk? Hvordan lagre dem i kompilatoren? Gjennomgang av noen typer Grunntyper Type-konstruktører Verdisett og operasjoner Lagring under utførelse (mer i kap 7) Run-time tester og spesielle problemer: array/record/union/peker/... Hva vil det si at to variableuttrykk har samme type? Hvordan utføre selve type-sjekkingen? 3110/ IN F /13/2009 1
2 Generelt om typer Hva er en type En mengde verdier Assosierte operasjoner Statisk/dynamisk typing integer +, -, *, /,... real +, -, *, /,... array[0..9] of real a[i+2] record integer i; r.x real x end Hvordan beskrive typer i et program: Bygge opp type-uttrykk Kan lagres i kompilatoren som abstrakte syntaksetrær Blad-nodene er grunntyper Indre noder er type-konstruktører Kan man gi typer egne navn (type deklarasjoner)? 3110/ IN F /13/2009 2
3 Type-uttrykk representert som (abstrakt) syntakstre 3110/ /13/2009 3
4 Array array [<indekstype>] of <komponent-type> Verdier: Mengden av funksjoner fra indeks-typen til komponent-typen Indekstypen: Bare heltal, fra...til? Andre typer: oppramstyper, character Operasjoner: indeksering A[i+2] Ting å tenke på Indeksering uten for grensene Er grensene kompilator-kjente? Implementasjon En-dimensjonale To og flere dimensjoner array [1..4] of array [1..3] of real array [1..4, 1..3] of real Vanlig 3110/ IN F Fortran 3/13/2009 4
5 Record/Struct struct { } real r; int i Verdier: Alle verdier av det tilsvarende kartesiske product (real * int) Operasjoner: attributt aksess (dot-notasjon) x.i Ting å tenke på: Lite Implementasjon Layout der attributene ligger etter hverandre r i Attributene får faste relativadresse, som gjør attributt-aksess enkelt 3110/ IN F /13/2009 5
6 Union-typer union { } real r; int i Verdier: Unionen av alle par (variant, verdi af tilhørende type) Operasjon: aksess (dot-notasjon) u.i Ting å tenke på Hvordan sikre at verdier settes inn og leses av som samme alternativ? Mange språk overlater det til brukeren Pascal har variant-record med angivelse av alternativ Hva med klasser/subklasser? Implementasjon r 3110/ IN evt. alternativ angivelse Alle alternativer får samme relativ-adresse, gjerne 0 i F /13/2009 6
7 Variant record 3110/ /13/2009 7
8 Peker-typer ^ integer Pascal integer* C Verdier: Adresser til objekter/verdier av den aktuelle typen Operasjoner: dereferencing, dvs gi objektet/verdien som det pekes til var a: ^integer; var b: integer... a:= &i eller a:= new integer; b:= a^ + b; Avh. av språket blir dereferencing ofte forenklet og slått sammen med dot-notasjon Ting å tenke på Må test på none (nil, null,...) Fri peking til variable kan gi problemer i blokk-strukturerte språk 3110/ IN F /13/2009 8
9 Peker-typer, eksempel { } ^int a; int b; void p(){ int c;... a = &c;... }... P();... b = a^ + 1 Flere kall som bruker samme areal som P() Løsning: gjør forskjell på Vanlige deklarerte variable (på stakken) Variable generert ved new (på heapen) Og, det er bare den siste typen man kan ha pekere til 3110/ IN F /13/2009 9
10 Funksjon/prosedyre/metode/subrutine Generelt kan man lage en type av headig på en funksjon var f: procedure (integer): integer; Modula 2 int (*f)(int) C Verdier Alle funksjons-deklarasjoner (med setninger) som stemmer med headingen. Ting å tenke på Vanlige prosedyre/funksjons-deklarasjoner er da å betrakte som konstanter av denne typen Problemer med blokk-struktur kt og helt frie prosedyre-variable 3110/ IN F /13/
11 Funksjon/..., eksempel program var pv: procedure (integer); procedure Q(); var a: integer; procedure P(integer i) a := a + i; end;... pv := p... end;... Q(); pv(3); end a finnes ikke Men: Prosedyrer som parametre til prosedyrer gir ingen slike problemer 3110/ IN F /13/
12 Klasser og subklasser Som type brukes klasser mest til å type pekere class A { int i; void f() {...} } class B extends A { class C extends A { int i; int i; void f() void f() {...} {...} } } A ra Klasser ligner på records, med følgende tillegg Kan ha lokale metoder/prosedyrer/funksjoner Kan ha subklasser Objekter kan ofte bare dannes dynamisk, og ingen peking inn i stakken Polymorfi: A-pekere kan også peke til B-objekter og til C-objekter To aksess-måter ved ra.id Vanlig (ikke-virtuell): ra.i og ra.f() gir begge i og f i A, uavh. av hva ra peker på Virtuell aksess: ra.f() gir f i klassen for det aktuelle objekt, som ra peker på Spesielle problemer: merkelig få 3110/ IN F /13/
13 Rekursive datatyper ML C 3110/ /13/
14 Når er to typer like? var a,b: record int i; double d end var c: record int i; double d end typedef idrecord:record int i; double d end a:= c; a:= d; a:= b d:= e Avgjørende: Finnes det en type-definisjon? var d: idrecord; var e: idrecord; Om ikke: Må bruke struktur-likhet Om de finnes: Kan kreve full navnelikhet, eller en blanding 3110/ IN F /13/
15 Eksempel I Grammatikk uten typedef, med strukturlikhet av typer 3110/ /13/
16 Eksempel II / /13/
17 Test av at to typer er like (struktur-likhet) 3110/ /13/
18 Navne-likhet Alle typer må gis navn, og type-likhet krever samme navn type-dekl Bare navnelikhet (eller samme basaltype) gir likhet 3110/ /13/
19 Struktur-likhet, hvor man også tillater navn tilføyes som siste alternativ i strktur-likhets-testen Da skal her t1 og t2 være samme typen: NB: Når man kommer til samme rekursive kallet som man er inne i må man si at det er OK 3110/ IN F /13/
20 Type-deklarasjon ekvivalens t li (P l C) type alias (Pascal, C) 3110/ /13/
21 Sjekking av type-riktighet for uttrykk, program, etc exp exp + exp exp or exp exp [ exp ] 3110/ IN F /13/
22 Sjekking av type Her er rekkefølgen ventre -> høyre viktig Kunne også ha -record - pointer -... NB: Må initialisere type-attributtet til error. Forsøker å unngå følgefeil. Gir nå typen på gjeldende dekl av dette navnet 3110/ IN F /13/
23 Kommentarer til tabell 6.10 Bruker synboltabell, som man setter inn i (men forblir samme tabell) Mer realistisk enn i tabell 6.9. Der ga en innsetting en helt ny tabell Til gjengjeld blir rekkefølge viktig: Den følger ikke av noen avhengighetsgraf f.eks. for insert(...) Rekkefølge: dybde-først, venstre -> høyre Attributter exp: type type-exp: type Funksjoner Insert(navn,type) --- typeequal(type1, type2) boolean Lookup(navn) type Type-error(tre-node) --- Skriver ut feilmelding, med mindre et subtre har type=error 3110/ IN F /13/
24 Diverse Overloading Vanlig for standard-operasjonene Ved egen def. av funskjoner Implementasjon: to greie muligheter Legge parametertypene inni navnet La lookup levere en mengde med alternativer Type-konvertering Kan gi problemer sammen med overloading Polymorfisme void f(int i, double d) void f(double d, int i) f(i1,i2) 3110/ IN F /13/
Datatyper og typesjekking
Datatyper og typesjekking Om typer generelt Hva er typer? Statisk og dynamisk typing Hvordan beskrive typer syntaktisk? Hvordan lagre dem i kompilatoren? Gjennomgang av noen typer Grunntyper Type-konstruktører
Anatomien til en kompilator - I
Anatomien til en kompilator - I program Symboltabell tekst tokens syntaks-tre beriket syntaks-tre Finne struktur i programmet OK i henhold til grammatikk? Preprocessor Makroer Betinget kompilering Filer
Repetisjon: Statiske språk uten rekursive metoder (C1 og C2) Dagens tema Kjøresystemer (Ghezzi&Jazayeri 2.6, 2.7)
Dagens tema Kjøresystemer (Ghezzi&Jazayeri.6,.7) Repetisjon Språk med rekursjon (C3) og blokker (C4) Statisk link Dynamisk allokering (C5) Parameteroverføring 1/5 Repetisjon: Statiske språk uten rekursive
Dagens tema Kjøresystemer (Ghezzi&Jazayeri 2.6, 2.7)
Dagens tema Kjøresystemer (Ghezzi&Jazayeri 2.6, 2.7) Repetisjon Språk med rekursjon (C3) og blokker (C4) Statisk link Dynamisk allokering (C5) Parameteroverføring 1/25 Forelesning 11 5.11.2003 Repetisjon:
Plan: Parameter-overføring Alias Typer (Ghezzi&Jazayeri kap.3 frem til 3.3.1) IN 211 Programmeringsspråk
Plan: Parameter-overføring Alias Typer (Ghezzi&Jazayeri kap.3 frem til 3.3.1) Funksjonelle språk (Ghezzi&Jazayeri kap.7 frem til 7.4) Neste uke: ML Ark 1 av 16 Forelesning 16.10.2000 Parameteroverføring
Statisk semantisk analyse - Kap. 6
Statisk semantisk analyse - Kap. 6 Generelt om statisk semantisk analyse Attributt-grammatikker Symboltabell Datatyper og typesjekking 3/15/11 1 Generelt om semantisk analyse Oppgave: Sjekke alle krav
Runtime-omgivelser Kap 7 - II
Runtime-omgivelser Kap 7 - II Dynamisk lager-allokering/når trenger vi en heap For objekter/recorder som allokeres dynamisk (new) og som man kan ha pekere til Gjelder ofte også array-objekter Under visse
Diverse eksamensgaver
Diverse eksamensgaver Noen har fått den idé å lage et språk hvor klasser kan ha noe tilsvarende byvalue-result -parametere. Klasser har ingen konstruktører, og by-value-result parametere spesifiseres som
Semantisk Analyse del I
Semantisk Analyse del I Attributtgrammatikker Kapittel 6.1-6.2 26.02.2013 1 Statisk semantisk analyse kapittel 6: Innhold Generelt om statisk semantisk analyse Attributt-grammatikker (kapittel 6.1-6.2)
UNIVERSITETET I OSLO
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i : INF5110 Eksamensdag : Tirsdag 6. juni 2006 Tid for eksamen : 09.00-12.00 Oppgavesettet er på : 5 sider Vedlegg : Intet Tillatte
Runtimesystemer - II. Parameteroverføring Call by value Call by reference Call by value-result Call by name INF 3110/ INF
Runtimesystemer - II Parameteroverføring Call by value Call by reference Call by value-result Call by name 3110/4110-2004 5110-2009 4/14/2009 1 by value parameteroverføring (verdioverføring) Kall: inc2(&y)
Konstruktører. Bruk av konstruktører når vi opererer med "enkle" klasser er ganske ukomplisert. Når vi skriver. skjer følgende:
Konstruktører Bruk av konstruktører når vi opererer med "enkle" klasser er ganske ukomplisert. Når vi skriver Punkt p = new Punkt(3,4); class Punkt { skjer følgende: int x, y; 1. Det settes av plass i
Dagens tema: Sjekking
Dagens tema Dagens tema: Sjekking Navnebinding (obligatorisk oppgave 3) Biblioteket Logging Riktig bruk av navn (frivillig) Typesjekking (frivillig) Hele prosjektet Strukturen til kompilatoren vår f.pas
2 Om statiske variable/konstanter og statiske metoder.
Litt om datastrukturer i Java Av Stein Gjessing, Institutt for informatikk, Universitetet i Oslo 1 Innledning Dette notatet beskriver noe av det som foregår i primærlageret når et Javaprogram utføres.
OPPGAVE 1 OBLIGATORISKE OPPGAVER (OBLIG 1) (1) Uten å selv implementere og kjøre koden under, hva skriver koden ut til konsollen?
OPPGAVESETT 4 PROSEDYRER Oppgavesett 4 i Programmering: prosedyrer. I dette oppgavesettet blir du introdusert til programmering av prosedyrer i Java. Prosedyrer er også kjent som funksjoner eller subrutiner.
Løsnings forslag i java In115, Våren 1996
Løsnings forslag i java In115, Våren 1996 Oppgave 1a For å kunne kjøre Warshall-algoritmen, må man ha grafen på nabomatriseform, altså en boolsk matrise B, slik at B[i][j]=true hvis det går en kant fra
INF5110. Oblig 2 presentasjon
INF5110 Oblig 2 presentasjon Informasjon Oppgaven Semantikksjekk Kodegenerering Bytecode-biblioteket Ant-targets Oppsummering Oversikt Informasjon Oblig 2 tilgjengelig på kurssiden Patch med testfiler
Dagens tema. Mer om C Enkle datatyper Sammensatte datatyper: Vektorer og matriser Tekster Mengder Strukturer Unioner Ringbuffere
Dagens tema Mer om C Enkle datatyper Sammensatte datatyper: Vektorer og matriser Tekster Mengder Strukturer Unioner Ringbuffere Formål: Nyttige å bruke under programmeringen Trening i programmering i C
Variable Man kan bruke variable i ML. ML (kap 5 og 6) Nye datatyper INF3110/4110 INF3110/4110 INF3110/4110 INF3110/4110. Variable i ML.
ML (kap 5 og 6) Variable i ML Nye datatyper Currying Avanserte listeoperatorer Typeanalyse Variable Man kan bruke variable i ML - val = ref 1; val = ref 1 : int ref - := 3*(!)+5; val it = () : unit -!;
Typer. 1 Type: boolean. 2 Verdimengde: {true, false} 3 Operatorer: NOT, AND, OR... 1/19. Forelesning Forelesning
Dagens tema Typer (Kapittel 3 frem til 331) Innføring i ML (Kapittel 743 & ML-kompendiet) Typer En (data-)type består av: en mengde verdier en mengde operasjoner man kan anvende på disse verdiene Eksempel:
Eksamen i IN 110, 18. mai 1993 Side 2 Del 1 (15%) Vi skal se på prioritetskøer av heltall, der vi hele tiden er interessert i å få ut den minste verdi
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i Eksamensdag: 18. mai 1993 Tid for eksamen: 9.00 15.00 Oppgavesettet er på 7 sider. Vedlegg: Tillatte hjelpemidler: IN 110 Algoritmer
Obligatorisk Innlevering 2
Obligatorisk Innlevering 2 INF5110 - Kompilatorteknikk Våren 2017 Frist 07.05.2017 23:59 Dette er den andre av to oppgaver våren 2017. Den bygger videre på det som er gjort i den første innleveringen.
2 Om statiske variable/konstanter og statiske metoder.
Gaustadbekkdalen, januar 22 Litt om datastrukturer i Java Av Stein Gjessing, Institutt for informatikk, Universitetet i Oslo Innledning Dette notatet beskriver noe av det som foregår i primærlageret når
Del 4 Noen spesielle C-elementer
Del 4 Noen spesielle C-elementer 1 RR 2016 Header-filer inneholder Prototypene til funksjonene i standard biblioteket Verdier og definisjoner som disse funksjonene bruker #include #include
Dagens tema. INF Algoritmer og datastrukturer. Binærtrær. Generelle trær
Dagens tema INF2220 - Algoritmer og datastrukturer HØSTEN 2007 Institutt for informatikk, Universitetet i Oslo INF2220, forelesning 2: Binærtrær og abstrakte datatyper (ADT) Kort repetisjon Generelle trær
Dagens tema INF1070. Signaturer. Typekonvertering. Pekere og vektorer. struct-er. Definisjon av nye typenavn. Lister
Dagens tema Signaturer Typekonvertering Pekere og vektorer struct-er Definisjon av nye typenavn Lister Dag Langmyhr,Ifi,UiO: Forelesning 24. januar 2005 Ark 1 av 20 Signaturer I C gjelder alle deklarasjoner
INF110 Algoritmer og datastrukturer TRÆR. Vi skal i denne forelesningen se litt på ulike typer trær:
TRÆR Vi skal i denne forelesningen se litt på ulike typer trær: Generelle trær (kap. 4.1) Binærtrær (kap. 4.2) Binære søketrær (kap. 4.3) Den siste typen trær vi skal behandle, B-trær (kap. 4.7) kommer
INF1010 Rekursive metoder, binære søketrær. Algoritmer: Mer om rekursive kall mellom objekter Ny datastruktur: binært tre
INF1010 Rekursive metoder, binære søketrær Algoritmer: Mer om rekursive kall mellom objekter Ny datastruktur: binært tre public void skrivutmeg ( ) { System. out. println (navn + " er venn med " + minbestevennheter
Gjøre noe i hele treet = kalle på samme metode i alle objekten. Java datastruktur Klassestruktur
Godkjent oblig 1? Les e-post til din UiO-adresse Svar på e-post fra lablærer Ingen godkjenning før avholdt møte med lablærer Godkjentlistene brukes ikke til å informere om status for obligene Ta vare på
156C. Algoritmer og maskinspråk. IT1101 Informatikk basisfag. Maskinspråk: det maskinen forstår. Assembler / assemblerspråk
IT1101 Informatikk basisfag I dag Programmeringsspråk Problemer med maskinspråk I dag: 5.1-5.3 Fra lavnivå til høynivå programmeringsspråk - utvikling Kompilator / tolker Programmeringsparadigmer Tradisjonelle
UNIVERSITETET I OSLO
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF3110/4110 Programmeringsspråk Eksamensdag: 3. desember 2004 Tid for eksamen: 9.00 12.00 Oppgavesettet er på 8 sider. Vedlegg:
INF1000: Forelesning 7
INF1000: Forelesning 7 Klasser og objekter del 2 Konstruktører Static UML REPETISJON 2 Repetisjon Repetisjon forts. Verden består av objekter av ulike typer (klasser). Ofte er det mange objekter av en
Repitisjonskurs. Arv, Subklasser og Grensesnitt
Repitisjonskurs Arv, Subklasser og Grensesnitt Subklasser Klasser i OO-programmering representerer typer av objekter som deler et sett med egenskaper. En subklasse har egenskapene til en klasse + ett sett
Løsnings forslag i java In115, Våren 1998
Løsnings forslag i java In115, Våren 1998 Oppgave 1 // Inne i en eller annen klasse private char S[]; private int pardybde; private int n; public void lagalle(int i) if (i==n) bruks(); else /* Sjekker
IN 147 Program og maskinvare
Dagens tema Mer om C Cs preprosessor Allokering av variable Separat kompilering Programmet make Pekere i C Operasjoner på pekere Pekere og vektorer Referanseparametre Pekere til «alt» og «ingenting» Dynamisk
Eks 1: Binærtre Binærtretraversering Eks 2: Binærtre og stakk
Godkjent oblig 1? Les e-post til din UiO-adresse Svar på e-post fra lablærer Ingen godkjenning før avholdt møte med lablærer Godkjentlistene brukes ikke til å informere om status for obligene Ta vare på
Kapittel 1 En oversikt over C-språket
Kapittel 1 En oversikt over C-språket RR 2015 1 Skal se på hvordan man En innføring i C Skriver data til skjermen Lese data fra tastaturet Benytter de grunnleggende datatypene Foretar enkle matematiske
Syntaksanalyse. Dagens tema: Språkdiagrammene Jernbanediagrammene er et ypperlig utgangspunkt for å analysere et program: INF2100 INF2100 INF2100
Syntaksanalyse På skolen hadde vi grammatikkanalyse: Dagens tema: Syntaksanalyse Hva annet gjør en kompilator? Sjekking av navnebruk Testutskrifter Fanger krabber så lenge de orker Syntaksanalyse er på
Oversikt. Introduksjon Kildekode Kompilering Hello world Hello world med argumenter. 1 C programmering. 2 Funksjoner. 3 Datatyper. 4 Pekere og arrays
Oversikt C programmering 1 C programmering Introduksjon Kildekode Kompilering Hello world Hello world med argumenter 2 Funksjoner 3 Datatyper 4 Pekere og arrays 5 Kontrollstrukturer Lars Vidar Magnusson
Oppsummering. Kort gjennomgang av klasser etc ved å løse halvparten av eksamen Klasser. Datastrukturer. Interface Subklasser Klasseparametre
Oppsummering Kort gjennomgang av klasser etc ved å løse halvparten av eksamen 2012. Klasser Interface Subklasser Klasseparametre Datastrukturer Hva er problemet? Oppgaven Emballasjefabrikken Renpakk skal
INF2220: Forelesning 1. Praktisk informasjon Analyse av algoritmer (kapittel 2) (Binær)trær (kapittel )
INF2220: Forelesning 1 Praktisk informasjon Analyse av algoritmer (kapittel 2) (Binær)trær (kapittel 4.1-4.3 + 4.6) PRAKTISK INFORMASJON 2 Praktisk informasjon Kursansvarlige Ragnhild Kobro Runde ([email protected])
INF1000: Forelesning 7. Konstruktører Static
INF1000: Forelesning 7 Klasser og objekter del 2 Konstruktører Static UML REPETISJON 2 Repetisjon Verden består av objekter av ulike typer (klasser). Ofte er det mange objekter av en bestemt type. Objekter
KONTINUASJONSEKSAMEN
Høgskolen i Gjøvik Avdeling for elektro- og allmennfag KONTINUASJONSEKSAMEN FAGNAVN: Algoritmiske metoder ( vekttall) Algoritmiske metoder I (3 vekttall) FAGNUMMER: LO 164 A ( vektall) L 171 A (3 vekttall)
INF1010 Binære søketrær ++
INF1010 Binære søketrær ++ Programeksempler med insetting, gjenfinning av noder i et binært søketre samt eksempler på hvordan lage en liste av et binærtre. Hva må du kunne om binære søketrær i INF1010
Programmeringsspråket C Del 3
Programmeringsspråket C Del 3 Michael Welzl E-mail: [email protected] 29.08.13 inf1060 1 Dynamisk allokering Ofte trenger man å opprette objekter under kjøringen i tillegg til variablene. Standardfunksjonen
Dagens tema: INF2100. Syntaksanalyse. Hva annet gjør en kompilator? Sjekking av navnebruk. Testutskrifter
Dagens tema: Syntaksanalyse Hva annet gjør en kompilator? Sjekking av navnebruk Testutskrifter Dag Langmyhr,Ifi,UiO: Forelesning 4. oktober 2005 Ark 1 av 20 Syntaksanalyse På skolen hadde vi grammatikkanalyse:
Del 1 En oversikt over C-programmering
Del 1 En oversikt over C-programmering 1 RR 2016 Starten C ble utviklet mellom 1969 og 1973 for å re-implementere Unix operativsystemet. Er et strukturert programmeringsspråk, hvor program bygges opp av
Litt om Javas class-filer og byte-kode
Litt om Javas class-filer og byte-kode INF 5110, 11/5-2010, Stein Krogdahl (Dessverre litt få figurer) Disse formatene ble planlagt fra start som en del av hele Java-ideen Bt Byte-koden gir portabilitet
Repetisjon: Binære. Dagens plan: Rød-svarte trær. Oppgave (N + 1)!
Repetisjon: Binære søketrær Dagens plan: Rød-svarte trær (kap. 12.2) B-trær (kap. 4.7) bstrakte datatyper (kap. 3.1) takker (kap. 3.3) For enhver node i et binært søketre gjelder: lle verdiene i venstre
Kompilering Statiske Syntaksanalyse Feilsjekking Eksempel Oppsummering
Dagens tema Hva er kompilering? Hvordan foreta syntaksanalyse av et program? Hvordan programmere dette i Java? Statiske metoder og variabler Hvordan oppdage feil? Kildekode Hva er kompilering? Anta at
PG4200 Algoritmer og datastrukturer Forelesning 5 Implementasjon av lister
PG4200 Algoritmer og datastrukturer Forelesning 5 Implementasjon av lister Lars Sydnes, NITH 5. februar 2014 I. Implementasjoner Tabell-implementasjon av Stakk Tabellen er den lettest tilgjengelige datastrukturen
Generiske mekanismer i statisk typede programmeringsspråk
Generiske mekanismer i statisk typede programmeringsspråk Stein Krogdahl INF-5110, 27 april 2006 Temaer: Hva er generiske mekanismer, og hvorfor har vi dem? Hovedtyper av generiske mekanismer Hovedstrategier
E K S A M E N. Algoritmiske metoder I. EKSAMENSDATO: 11. desember HINDA / 00HINDB / 00HINEA ( 2DA / 2DB / 2EA ) TID:
Høgskolen i Gjøvik Avdeling for Teknologi E K S A M E N FAGNAVN: FAGNUMMER: Algoritmiske metoder I L 189 A EKSAMENSDATO: 11. desember 2001 KLASSE: 00HINDA / 00HINDB / 00HINEA ( 2DA / 2DB / 2EA ) TID: 09.00-14.00
Programmering i C++ Løsningsforslag Eksamen høsten 2005
Programmering i C++ Eksamen høsten 2005 Simen Hagen Høgskolen i Oslo, Avdeling for Ingeniørutdanning 7. desember 2005 Generelt Denne eksamensoppgaven består av tre oppgaver, pluss en ekstraoppgave. Det
INF3110 Programmeringsspråk. Velkommen til kurset INF 3110/4110. Programmeringsspråk 1/24
Velkommen til kurset INF 3110/4110 Programmeringsspråk 1/24 Forelesning 1 20.8.2003 Først det praktiske Foreleser: Roger Antonsen E-post: [email protected] Kontor: rom 3403 Treffetid: etter avtale Undervisning
INF 3110/4110. Velkommen til kurset. Programmeringsspråk. Først det praktiske
Velkommen til kurset INF 3110/4110 Programmeringsspråk 1/24 Først det praktiske Foreleser: Roger Antonsen E-post: [email protected] Kontor: rom 3403 Treffetid: etter avtale Undervisning Forelesninger:
Definisjon. I et binært tre har hver node enten 0, 1 eller 2 barn
Binære trær Definisjon I et binært tre har hver node enten 0, 1 eller 2 barn Rekursiv definisjon: Et binært tre er enten tomt, eller: Består av en rotnode og to binære trær som kalles venstre subtre og
