DATALOGI 1E. Vejledende løsninger til Skriftlig eksamen fredag d. 16. januar 2004

Størrelse: px
Starte visningen fra side:

Download "DATALOGI 1E. Vejledende løsninger til Skriftlig eksamen fredag d. 16. januar 2004"

Transkript

1 Københavns Universitet Naturvidenskabelig Embedseksamen DATALOGI 1E Vejledende løsninger til Skriftlig eksamen fredag d. 16. januar 2004 Opgaverne vægtes i forhold til tidsangivelsen herunder, og hver opgaves besvarelse bedømmes som en helhed. Vægtningen af de enkelte spørgsmål i en opgave vil ikke være præcist proportional med tidsangivelserne, som altså kun er vejledende. Opgave Tid 1 60 min min min min. Alle de sædvanlige hjælpemidler må benyttes, herunder også lydløse elektroniske lommeregnere og PDA ere (f.eks. Palm Pilot), dog ikke hvis disse har trådløs netadgang eller telefoni. En almindelig bærbar PC vil ikke være tilstrækkelig lydløs p.g.a. blæser, harddisk og støjende tastatur. I tvivlstilfælde gælder eksamensvagtens afgørelse. Det er tilladt at bruge blyant til besvarelsen, såfremt denne er tydeligt læselig.

2 Vejledende løsning til skriftlig eksamen januar 2004 i Datalogi 1E side 1 af 19 Opgave 1: Arkitektur (60 min.) Spørgsmål 1.1 (15 min.) Lad y = f (x) være en logisk funktion, hvor x og y begge er ikke-negative heltal, mindre end 8, og repræsenteret diskret ved 3 bit x 2 x 1 x 0 og y 2 y 1 y 0. Funktionen f er defineret ved: f (x) = 8 2x hvis x er ulige og mindre end 4 2x 8 hvis x er ulige og større end 4 x 1 hvis x er lige og større end 0 don t care hvis x = 0 a) Angiv optimerede logiske udtryk for for de 3 værdier y 2, y 1, og y 0. Sandhedstabellen for f er givet ved: x 2 x 1 x 0 y 2 y 1 y x x x (fortsættes)

3 Vejledende løsning til skriftlig eksamen januar 2004 i Datalogi 1E side 2 af 19 (fortsat) Det fremgår direkte at y 0 = x 0, hvis vi vælger at f (0) skal være ulige. Karnaughkortene for de to andre funktioner er: (x 1 x 0 ) y x (x 2 ) Idet vi vælger x = 1 fås det optimerede udtryk: y 1 = x 1 + x 0 (x 1 x 0 ) y x (x 2 ) Idet vi vælger x = 1 fås det optimerede udtryk: y 2 = x 2 x 1 + x 2 x 1 Spørgsmål 1.2 (15 min.) En maskine, der har en ordlængde på 16 bit benytter en repræsentation af flydende tal, der er identisk med IEEE 754-standarden for normaliserede tal, bortset fra at der kun er afsat 5 bit til eksponenten og 10 bit til mantissen. a) Angiv den decimale værdi af den bias, der benyttes ved repræsentation af eksponentdelen. b) Angiv den binære repræsentation af decimalværdien c) Angiv den uforkortelige brøk der svarer til den binære repræsentation

4 Vejledende løsning til skriftlig eksamen januar 2004 i Datalogi 1E side 3 af 19 Bias er givet ved = 15. Da 2 8 = 256 < 448 < 512 = 2 9 er eksponentværdien lig 8, eller 8+15 = 23 i bias notation. Binært er eksponentværdien lig Fortegnsbitten er 0 da 448 er positivt. Mantisseværdien er lig = 256 = 3 4 = Binært prepræsenteres mantissen derfor ved: Samlet fås repræsentationen: I det sidste spørgsmål er fortegnsbitten 1 så tallet er negativt. Eksponentfeltet er eller 7 decimalt. Mantissefeltet i de sidste 10 bit angiver værdien eller 16. Bitmønsteret repræsenterer derfor tallet: ( ) = = Spørgsmål 1.3 (15 min.) Beskriv kort hvad der forstås ved afbrydelses-styret (eng. interrupt driven) dataoverførsel og DMA-overførsel (eng. Direct Memory Access), samt hvad fordelene og ulemperne ved de to metoder er. Ved afbrydelsesstyret overførsel af data (f.eks. fra disk til lager) forstås en metode hvor processoren initierer overførslen og derefter kan kan afvikle andre opgaver indtil den afbrydes af et interupt (fra den ydre enhed). Afbrydelsen kan eksempelvis angive at den ydre enhed er klar med de data som processoren rekvirerede. Afbrydelsen bevirker afvikling af en (interupt- )rutine, der eksempelvis kan læse de rekvirede data og gemme disse i lageret. Ved returnering fra afbrydelsesrutinen genoptages afviklingen af den opgave som processoren blev afbrudt i. Fordelen ved afbrydelsesstyret dataoverførsel er at processoren er fri til at afvikle andre opgaver medens den ydre enhed arbejder. Ulempen er at der er et vist overhead forbundet med kald af afbrydelsesrutinen, samt at processoren afbrydes hver gang den ydre enhed er klar med en dataenhed (f.eks. et ord). Ved DMA-styret overførsel initierer processoren en DMA-enhed, der selvstændigt foretager dataoverførslen uden at forstyrre processoren undervejs. Processoren afbrydes først (af DMA-enheden) når hele overførslen er afsluttet. Fordelen ved denne metode er at processoren kun afbrydes sjældent.

5 Vejledende løsning til skriftlig eksamen januar 2004 i Datalogi 1E side 4 af 19 Spørgsmål 1.4 (15 min.) En maskine med 1 MB fysisk adresserum og 2 MB virtuelt adresserum benytter paging med en sidestørrelse på 4 KB. Maskinen er udstyret med en TLB på 4 pladser. a) Beskriv hvilke bit der indgår ved oversættelse fra virtuelle til fysiske adresser. En given proces omfatter ialt 8 sider hvorfor sidetabellen for processen har 8 indgange. På et givet tidspunkt har sidetabellen nedenstående indhold (hvor lageradresserne er skrevet på hexadecimal form): index valid adresse disk.page.ref.a 3 1 0A 4 0 disk.page.ref.b 5 0 disk.page.ref.c 6 0 disk.page.ref.d TLB en har på samme tidspunkt udseendet: index valid tag adresse A B Nedenstående angives fire lagerreferencer (skrevet hexadecimalt). ref. adresse 0 003A BC 2 007A A b) Angiv for hver reference om denne vil medføre et TLB-hit, et TLB-fault, og/eller en page-fault. Referencerne skal betragtes isoleret uden hensyn til den rækkefølge som de er opskrevet i.

6 Vejledende løsning til skriftlig eksamen januar 2004 i Datalogi 1E side 5 af 19 De virtuelle hhv. fysiske adresser er på 21 hhv. 20 bit. Af disse udgør offset de 12 mindst betydende bit. I adresseoversættelsen erstattes de 9 mest betydende bit i en virtuel adresse med 8 bit. Ved ekstraktion af de 3 mest betydende hexadecimale cifre i de virtuelle adresser (offset-feltet angiver de 3 mindstbetydende cifre) ses at adresserne tilhører de virtuellse sidenumre 3, 4, 7 og 1. Af indholdet af TLB og sidetabel fås: ref. adresse TLB hit/fault page-hit/fault 0 003A01 hit BC fault fault 2 007A10 hit A fault hit Bemærk at for TLB-hit vil sidetabellen ikke blive undersøgt.

7 Vejledende løsning til skriftlig eksamen januar 2004 i Datalogi 1E side 6 af 19 Opgave 2: Grammatikker og automater (60 min.) Spørgsmål 2.1 (20 min.) Følgende grammatik beskriver regneudtryk, hvor der er parenteser om hver brug af en operator: E id E ( E ) E (E + E ) E (E E ) a) Lav venstrefaktorisering (left factorisation) på denne grammatik. E id E (E 1 E 1 E ) E 1 E E 2 E 2 +E ) E 2 E ) b) Udvid den venstrefaktoriserede grammatik med en ekstra startproduktion til håndtering af $, og beregn FIRST for hver produktion i den udvidede grammatik. Vink: Der er ikke Nullable produktioner i grammatikken. Produktion FIRST E E {id, (} E id {id} E (E 1 {(} E 1 E ) { } E 1 E E 2 {id, (} E 2 +E ) {+} E 2 E ) { }

8 Vejledende løsning til skriftlig eksamen januar 2004 i Datalogi 1E side 7 af 19 c) Lav en LL(1) syntaksanalysetabel for den udvidede grammatik. Vink: Der er ikke Nullable produktioner i grammatikken, så det er unødvendigt at beregne FOLLOW. id + ( ) $ E E E$ E E$ E E id E (E 1 E 1 E 1 E E 2 E 1 E) E 1 E E 2 E 2 E 1 +E) E 1 E) d) Er grammatikken entydig? Begrund svaret. Der er ingen konflikter i LL(1) tabellen, så grammatikken er LL(1) og dermed entydig. Spørgsmål 2.2 (40 min.) Vi definerer to funktioner even og odd over regulære udtryk: Givet et regulært udtryk r er even(r) et regulært udtryk, som genkender alle de tegnfølger i L(r), som har et lige antal tegn og odd(r) et regulært udtryk, som genkender alle de tegnfølger i L(r), som har et ulige antal tegn. Da der muligvis slet ikke findes nogle tegnfølger af lige/ulige længde, bliver vi nødt til at have et regulært udtryk φ, der genkender den tomme mængde af tegnfølger, jvf. opgave 2.10 i Basics of Compiler Design. F.eks. er odd(ε) = φ, da den tomme tegnfølge har længden 0 (som er lige). Andre eksempler er: even(ab) = ab odd(ab) = φ even(a ) = (aa) odd(a ) = a(aa) even((a bb) ) = (bb a(bb) a) Det bemærkes, at even(s) er defineret modulo ækvivalens af regulære udtryk, så for eksempel vil ethvert regulært udtryk ækvivalent med a(aa) være en korrekt værdi for odd(s). Det gælder bl.a. (aa) a og a(aa) + a. a) Find regulære udtryk for følgende:

9 Vejledende løsning til skriftlig eksamen januar 2004 i Datalogi 1E side 8 af 19 even((a ε)) odd((a ε)) even((a ε)(b ε)) odd((a ε)(b ε)) even(a b ) odd(a b ) even((a ε)) = ε odd((a ε)) = a even((a ε)(b ε)) = ε ab odd((a ε)(b ε)) = a b even(a b ) = (aa) (bb) (aa) ab(bb) odd(a b ) = (aa) a(bb) (aa) b(bb) b) Herunder er en ukomplet definition af even og odd som gensidigt rekursive funktioner. a repræsenterer et vilkårligt alfabetsymbol. even(ε) =??? even(a) =??? even(s t) =??? even(st) =??? even(s ) = (even(s) odd(s)(even(s)) odd(s)) odd(ε) = φ odd(a) = a odd(s t) =??? odd(st) =??? odd(s ) = even(s )odd(s)even(s ) Gør definitionen færdig ved at erstatte forekomsterne af??? med regulære udtryk, der kan indeholde even(s), even(t), odd(s) og odd(t) som deludtryk. Vink: Tænk på de mængder af tegnfølger, de forskellige regulære udtryk definerer, og hvordan man kan beskrive delmængder med lige/ulige antal tegn.

10 Vejledende løsning til skriftlig eksamen januar 2004 i Datalogi 1E side 9 af 19 even(ε) = ε even(a) = φ even(s t) = even(s) even(t) even(st) = even(s)even(t) odd(s)odd(t) even(s ) = (even(s) odd(s)(even(s)) odd(s)) odd(ε) = φ odd(a) = a odd(s t) = odd(s) odd(t) odd(st) = even(s)odd(t) odd(s)even(t) odd(s ) = even(s )odd(s)even(s ) c) Brug den rekursive definition til at beregne even((a ε)(b ε)(c ε)), og vis det resulterende regulære udtryk inklusive evt. mellemregninger. Brug evt. de algebraiske regler fra figur 2.2 og opgave 2.10 i Basics of Compiler Design til at reducere udtrykkene undervejs. even((a ε)(b ε)(c ε)) = even((a ε)(b ε))even(c ε) odd((a ε)(b ε))odd(c ε) = even((a ε)(b ε))(even(c) even(ε)) odd((a ε)(b ε))(odd(c) odd(ε)) = even((a ε)(b ε))(φ ε) odd((a ε)(b ε))(c φ) = even((a ε)(b ε)) odd((a ε)(b ε))c = (even(a ε)even(b ε) odd(a ε)odd(b ε)) (odd(a ε)even(b ε) even(a ε)odd(b ε))c = (εε ab) (aε εb)c = ε ab ac bc

11 Vejledende løsning til skriftlig eksamen januar 2004 i Datalogi 1E side 10 af 19 Opgave 3: Oversætterteknik (60 min.) Spørgsmål 3.1 (15 min.) Definitionen af interferens (definition 8.2 i Basics of Compiler Design) er: A variable x interferes with a variable y if x is at the left-hand side of an assignment-instruction i, where y out[i] and the assignment isn t of the form x := y. a) Argumenter for at følgende definition er ækvivalent: A variable x interferes with a variable y if there is an instruction i, where x kill[i], y out[i] and the instruction i isn t of the form x := y. I figur 8.1, som definerer kill[i], er x kill[i] netop når x er venstresiden af en tildelingssætning. b) I afsnit 9.6 i Basics of Compiler Design (s. 193 i 2003-udgaven) nævnes det, at man kan sikre at variabler, der er levende henover funktionskald, bliver allokeret til callee-saves registre ved at lade disse variabler interferere med alle caller-saves registre. Beskriv en nem måde at sørge for at variabler, der er levende henover funktionskald, interfererer med alle caller-saves registre. Vink: Man kan med fordel bruge den modificerede interferensdefinition herover. Et funktionskald skal dræbe alle caller-saves registre. Det sker ved i reglen for x := CALL f (args) i figur 8.1 i Basics of Compiler Design at sætte kill[i] til {x} callersaves, hvor callersaves er mængden af alle caller-saves registre. Spørgsmål 3.2 (25 min.) Vi modificerer sætningssproget fra Grammar 6.4 i Basics of Compiler design sådan at produktionen erstattes med produktionen Stat id := Exp Stat Ids := Exps

12 Vejledende løsning til skriftlig eksamen januar 2004 i Datalogi 1E side 11 af 19 hvor Exps er beskrevet i Grammar 6.2 og Ids er defineret ved produktionerne Ids id Ids id, Ids Semantikken af den nye tildelingssætning er, at alle udtrykkene beregnes fra venstre mod højre, hvorefter alle variablerne tildeles de tilsvarende værdier. For eksempel vil sætningen x, y := y, x bytte om på indholdet af variablerne x og y, og sætningen x, y, n := x + y, x, n 1 vil kunne bruges i en løkke til beregning af fibonacci-tal. a) Givet at Exps bliver oversat med funktionen Trans Exps fra figur 6.3, modificer da Trans Stat fra figur 6.5 til at oversætte den nye tildelingssætning (vis kun den ændrede del af funktionen). Vink: Definer og brug en funktion Trans Ids. Trans Stat (Stat,vtable, ftable) = case Stat of Ids := Exps (code 1,vars) = Trans Exps (Exps,vtable, ftable) code 2 = Trans Ids (Ids,vtable,vars) code 1 ++code 2 Trans Ids (Ids,vtable,vars) = case Ids of id place = lookup(vtable, name(id)) t := head(vars) [place := t] id, Ids place = lookup(vtable, name(id)) t := head(vars) code 1 := Trans Ids (Ids,vtable,tail(vars)) [place := t]++code 1 b) Vis koden for x, y, n := x + y, x, n 1 givet at vtable binder variablerne til mellemkodevariabler af samme navn.

13 Vejledende løsning til skriftlig eksamen januar 2004 i Datalogi 1E side 12 af 19 Spørgsmål 3.3 (20 min.) t 1 := x t 2 := y t 0 := t 1 +t 2 t 3 := x t 5 := n t 6 := 1 t 4 := t 5 t 6 x := t 0 y := t 3 n := t 4 Vi vil generere kode til en 32-bit processor HYP, der bruger aritmetiske flag. Et flag er et et-bits register, der sættes ved aritmetiske operationer og læses ved betingede hop. En addition eller subtraktion af 32-bit tokomplementtal vil sætte flagene Z,N,V ud fra følgende regler: Z sættes til 1, hvis resultatet af additionen/subtraktionen er lig med 0, og sættes til 0 ellers. N er en kopi af bit 31 af resultatet af additionen/subtraktionen. V sættes til 1, hvis additionen/subtraktionen gav aritmetisk overflow (se COD s. 222), og sættes til 0 ellers. Indholdet af flagene bevares indtil næste aritmetiske operation. De aritmetiske instruktioner er: ADD a, b, c udfører a := b + c. SUB a, b, c udfører a := b c. Betingede hop i HYP tester kombinationer af flagværdier: B l hopper ubetinget til l. BEQ l hopper til l, hvis Z = 1. BLT l hopper til l, hvis N V.

14 Vejledende løsning til skriftlig eksamen januar 2004 i Datalogi 1E side 13 af 19 a) Lav kodesekvenser i HYP for hver af følgende mellemkodeinstruktioner: IF a = b THEN label t ELSE label f IF a b THEN label t ELSE label f IF a < b THEN label t ELSE label f Brug evt. et ekstra register t. Opskriv sekvenserne i en tabel i stil med figur 7.1 i Basics of Compiler Design. SUB t, a, b BEQ label t B label f SUB t, a, b BEQ label f B label t SUB t, a, b BLT label t B label f IF a = b THEN label t ELSE label f IF a b THEN label t ELSE label f IF a < b THEN label t ELSE label f b) Find korte sekvenser af mellemkode, hvor man kan generere kortere HYP kode end den man får ved at generere kode for hver mellemkodeinstruktion for sig. Beskriv oversættelsen af disse sekvenser i en tabel i stil med figur 7.1 i Basics of Compiler Design. Fokuser på sekvenser, der indeholder mellemkodeinstruktionerne fra delspørgsmål a.

15 Vejledende løsning til skriftlig eksamen januar 2004 i Datalogi 1E side 14 af 19 Herunder er et par oplagte forslag: label f : label f : label t : label t : label f : label f : SUB c, a, b BEQ label t SUB t, a, b BEQ label t SUB c, a, b BEQ label t B label f SUB c, a, b BEQ label f SUB t, a, b BEQ label f SUB c, a, b BEQ label f B label t SUB c, a, b BLT label t SUB t, a, b BLT label t SUB c, a, b BLT label t B label f c := a b IF a = b THEN label t ELSE label f LABEL label f IF a = b THEN label t ELSE label f LABEL label f c := a b IF a = b THEN label t ELSE label f c := a b IF a b THEN label t ELSE label f LABEL label t IF a b THEN label t ELSE label f LABEL label t c := a b IF a b THEN label t ELSE label f c := a b IF a < b THEN label t ELSE label f LABEL label f IF a < b THEN label t ELSE label f LABEL label f c := a b IF a < b THEN label t ELSE label f

16 Vejledende løsning til skriftlig eksamen januar 2004 i Datalogi 1E side 15 af 19 Opgave 4: Maskinsprog og ydelse (60 min.) Spørgsmål 4.1 (25 min.) Vi har fået udleveret en assembler-procedure, der kan tælle antallet af nuller i et array med heltaller. Arrayet ligger fortløbende i arbejdslageret, og hvert element fylder 4 bytes. Input til proceduren er adressen på første element i arrayet samt antallet af elementer i arrayet ialt. Det følgende er en ufuldstændig og ikkekommenteret udgave af assembler-proceduren. 1 zerocount: add $t0, $a0, $zero 2 add $t1, $a1, $zero 3 add $v0, $zero, $zero 4 loop: beq $t1, $zero,?? 5 lw $t2, 0($t0) 6 bne $t2, $zero,?? 7 addi $v0, $v0, 1 8 continue: addi $t0, $t0, 4 9 subi $t1, $t1, 1 10 j loop 11 end: jr $ra a) De to betingede hop i hhv. linje 4 og 6 mangler en label. Angiv hvad de rigtige labels er. Argumenter for dit valg. Register $t1 angiver antallet af elementer som endnu ikke er undersøgt. Når dette register er 0, afsluttes proceduren, dvs. labelen i linje 4 skal være end: beq $t1, $zero, end Linje 6 7 tæller antallet af nuller. Hvis det netop indlæste element, som findes i registret $t2 er 0, skal $v0 tælles en op. Den korrekte label til linje 6 er derfor continue: bne $t2, $zero, continue b) Proceduren benytter en række forskellige registre. Beskriv detaljeret hvilken funktion de enkelte registre har i proceduren.

17 Vejledende løsning til skriftlig eksamen januar 2004 i Datalogi 1E side 16 af 19 $a0 Første argument til proceduren, der indeholder adressen på første element i arrayet. $a1 Andet argument til proceduren, der indeholder antallet af elementer i arrayet. $t0 Adresse på element som skal undersøges; itererer igennem hele arrayet. $t1 Antallet af ikke-undersøgte elementer, initielt lig med det samlede antal elementer i arrayet. $v0 Retur-register, hvori antallet af nuller i arrayet bliver talt op. $t2 Indhold af aktuelt element (heltal) i arrayet. $ra Retur-adresse. c) Skriv en procedure i et højniveausprog (f.eks. Java eller C/C++), der udfører samme funktion som assembler-proceduren. Proceduren skal så vidt muligt foretage det samme som assembler-proceduren. Her er en mulig C-procedure: int zerocount(int* A, int n) { int* p = A; /* pegepind til aktuelt element */ int i = n; /* antal elementer er skal behandles */ int z = 0; /* antal nuller i array */ while (i!= 0) { if (*p == 0) z++; p++; i--; } return z; }

18 Vejledende løsning til skriftlig eksamen januar 2004 i Datalogi 1E side 17 af 19 Spørgsmål 4.2 (20 min.) Assembler-proceduren zerocount fra opgave 4.1 udføres på en pipelinet maskine M 1 med en klokfrekvens på 2 GHz. Det vides at arrayet indeholder 5 millioner elementer. Desuden vides, at det gennemsnitlige CPI (Cycles Per Instruction) ved udførelsen af proceduren er 1.5. a) Er det muligt at beregne den samlede udførelsestid på baggrund af disse oplysninger? Begrund svaret. Antallet af udførte ordrer afhænger af antallet af nuller i arrayet. Idet vi derfor ikke kender det samlede antal udførte ordrer kan vi heller ikke beregne udførelsestiden. b) Det oplyses nu at 70% af elementerne i arrayet er nuller. Hvad bliver udførelsestiden? (Det er ikke nødvendigt at tælle ordrer, som kun bliver udført en gang.) I hvert gennemløb af løkken udføres 6 ordrer, hvis det indlæste element ikke er 0, ellers 7 ordrer, dvs. i gennemsnit = 6.7 ordrer. Det samlede antal klokcykler er derfor Køretiden er: = / s = s = ms c) Proceduren udføres nu med samme input på en anden maskine M 2 (med samme ordresæt), der har en klokfrekvens på 2.5 GHz. Maskinen M 2 har et dårligt ydende lagerhierarki, hvilket betyder at CPI for hent-ordren i gennemsnit er 3.2. Dette CPI er dobbelt så højt som CPI for hent-ordren ved udførelse på maskinen M 1. CPI for alle andre ordrer er uændrede. Hvad bliver udførelsestiden af proceduren på maskinen M 2?

19 Vejledende løsning til skriftlig eksamen januar 2004 i Datalogi 1E side 18 af 19 Maskinen M 2 udfører (3.2/2) = flere klokcykler end M 1. Udførelsestiden bliver derfor ( )/ s = s = 23.3 ms Spørgsmål 4.3 (15 min.) Vi ønsker nu at forbedre ydelsen af assembler-proceduren zerocount fra opgave 4.1. a) Beskriv hvordan vi helt kan slippe for at anvende register $t1, således at det kun er register $t0, der inkrementeres i hver eneste iteration af løkken. Dette kan eksempelvis gøres ved først at udregne slutadressen på arrayet, mere præcist adressen lige efter slutadressen. Dette gøres ved at gange antallet af elementer med 4 og addere dette til startadressen. Lad os antage at denne adresse gemt i registret $t3. Herefter kan vi slette linje 9 i programmet og ændre linje 4 til beq $t0, $t3, end b) Det viser sig nu at alle arrays der skal behandles af zerocount kun indeholder elementerne 0 og 1. Angiv hvordan man i dette tilfælde yderligere kan forbedre udførelsestiden for proceduren.

20 Vejledende løsning til skriftlig eksamen januar 2004 i Datalogi 1E side 19 af 19 I dette tilfælde kan man helt enkelt summere alle elementerne i arrayet. Altså skal linje 6 7 erstattes med add $v0, $v0, $t2 Dette giver så det samlede antal 1-taller. Derfor skal man til sidst trække dette tal fra det samlede antal elementer for at få antallet af nuller: sub $v0, $a1, $v0

DATALOGI 1E. Skriftlig eksamen fredag d. 16. januar 2004

DATALOGI 1E. Skriftlig eksamen fredag d. 16. januar 2004 Københavns Universitet Naturvidenskabelig Embedseksamen DATALOGI 1E Skriftlig eksamen fredag d. 16. januar 2004 Opgaverne vægtes i forhold til tidsangivelsen herunder, og hver opgaves besvarelse bedømmes

Læs mere

DATALOGI 1E. Skriftlig eksamen mandag den 23. juni 2003

DATALOGI 1E. Skriftlig eksamen mandag den 23. juni 2003 Københavns Universitet Naturvidenskabelig Embedseksamen DATALOGI 1E Skriftlig eksamen mandag den 23. juni 2003 Opgaverne vægtes i forhold til tidsangivelsen herunder, og hver opgaves besvarelse bedømmes

Læs mere

DATALOGI 1E. Skriftlig eksamen fredag den 7. juni 2002

DATALOGI 1E. Skriftlig eksamen fredag den 7. juni 2002 Københavns Universitet Naturvidenskabelig Embedseksamen DATALOGI 1E Skriftlig eksamen fredag den 7. juni 2002 Opgaverne vægtes i forhold til tidsangivelsen, og hver opgaves besvarelse bedømmes som en helhed.

Læs mere

DATALOGI 1E. Skriftlig eksamen torsdag den 3. juni 2004

DATALOGI 1E. Skriftlig eksamen torsdag den 3. juni 2004 Københavns Universitet Naturvidenskabelig Embedseksamen DATALOGI 1E Skriftlig eksamen torsdag den 3. juni 2004 Opgaverne vægtes i forhold til tidsangivelsen herunder, og hver opgaves besvarelse bedømmes

Læs mere

Oversættere Skriftlig eksamen onsdag d. 24. januar 2007

Oversættere Skriftlig eksamen onsdag d. 24. januar 2007 Københavns Universitet Naturvidenskabelig Embedseksamen Oversættere Skriftlig eksamen onsdag d. 24. januar 2007 Eksamenstiden er to timer. Opgavernes vægt i procent er angivet ved hver opgave. Den skriftlige

Læs mere

Oversættere Skriftlig eksamen onsdag d. 25. januar 2006

Oversættere Skriftlig eksamen onsdag d. 25. januar 2006 Københavns Universitet Naturvidenskabelig Embedseksamen Oversættere Skriftlig eksamen onsdag d. 25. januar 2006 Eksamenstiden er to timer. Opgavernes vægt i procent er angivet ved hver opgave. Den skriftlige

Læs mere

Oversættere. Vejledende løsninger til Skriftlig eksamen onsdag d. 20. april 2005

Oversættere. Vejledende løsninger til Skriftlig eksamen onsdag d. 20. april 2005 Københavns Universitet Naturvidenskabelig Embedseksamen Oversættere Vejledende løsninger til Skriftlig eksamen onsdag d. 20. april 2005 Eksamenstiden er to timer. Opgavernes vægt i procent er angivet ved

Læs mere

Oversættere. Vejledende løsninger til Skriftlig eksamen onsdag d. 18. april 2007

Oversættere. Vejledende løsninger til Skriftlig eksamen onsdag d. 18. april 2007 Københavns Universitet Naturvidenskabelig Embedseksamen Oversættere Vejledende løsninger til Skriftlig eksamen onsdag d. 18. april 2007 Eksamenstiden er to timer. Opgavernes vægt i procent er angivet ved

Læs mere

DATALOGI 1E. Vejledende løsninger til Skriftlig eksamen fredag den 7. juni 2002

DATALOGI 1E. Vejledende løsninger til Skriftlig eksamen fredag den 7. juni 2002 Københavns Universitet Naturvidenskabelig Embedseksamen DTLOGI 1E Vejledende løsninger til Skriftlig eksamen fredag den 7. juni 2002 Opgaverne vægtes i forhold til tidsangivelsen, og hver opgaves besvarelse

Læs mere

Oversættere Vejledende løsninger til Skriftlig eksamen onsdag d. 24. januar 2007

Oversættere Vejledende løsninger til Skriftlig eksamen onsdag d. 24. januar 2007 Københavns Universitet Naturvidenskabelig Embedseksamen Oversættere Vejledende løsninger til Skriftlig eksamen onsdag d. 24. januar 2007 Eksamenstiden er to timer. Opgavernes vægt i procent er angivet

Læs mere

Oversættere Skriftlig eksamen onsdag d. 19. april 2006

Oversættere Skriftlig eksamen onsdag d. 19. april 2006 Københavns Universitet Naturvidenskabelig Embedseksamen Oversættere Skriftlig eksamen onsdag d. 19. april 2006 Eksamenstiden er to timer. Opgavernes vægt i procent er angivet ved hver opgave. Den skriftlige

Læs mere

Oversættere Skriftlig eksamen onsdag d. 20. april 2005

Oversættere Skriftlig eksamen onsdag d. 20. april 2005 Københavns Universitet Naturvidenskabelig Embedseksamen Oversættere Skriftlig eksamen onsdag d. 20. april 2005 Eksamenstiden er to timer. Opgavernes vægt i procent er angivet ved hver opgave. Den skriftlige

Læs mere

DATALOGI MASKINARKITEKTUR Blok 2 samt Reeksamination i DATALOGI MASKINARKITEKTUR Blok 1 og arkitekturdelen af DATALOGI 1E

DATALOGI MASKINARKITEKTUR Blok 2 samt Reeksamination i DATALOGI MASKINARKITEKTUR Blok 1 og arkitekturdelen af DATALOGI 1E Københavns Universitet Naturvidenskabelig Embedseksamen DATALOGI MASKINARKITEKTUR Blok 2 samt Reeksamination i DATALOGI MASKINARKITEKTUR Blok 1 og arkitekturdelen af DATALOGI 1E Vejledende løsninger til

Læs mere

DATALOGI 1E. Vejledende løsninger til Skriftlig eksamen mandag den 28. maj 2001. 1 60 min. 2 60 min. 3 60 min. 4 60 min.

DATALOGI 1E. Vejledende løsninger til Skriftlig eksamen mandag den 28. maj 2001. 1 60 min. 2 60 min. 3 60 min. 4 60 min. Københavns Universitet Naturvidenskabelig Embedseksamen DATALOGI 1E Vejledende løsninger til Skriftlig eksamen mandag den 28. maj 2001 Opgaverne vægtes i forhold til tidsangivelsen, og hver opgaves besvarelse

Læs mere

DATALOGI 1E. Vejledende løsninger til Skriftlig eksamen torsdag den 16. januar 2003

DATALOGI 1E. Vejledende løsninger til Skriftlig eksamen torsdag den 16. januar 2003 Københavns Universitet Naturvidenskabelig Embedseksamen DATALOGI 1E Vejledende løsninger til Skriftlig eksamen torsdag den 16. januar 2003 Opgaverne vægtes i forhold til tidsangivelsen herunder, og hver

Læs mere

Oversættere / Datalogi 1E

Oversættere / Datalogi 1E Københavns Universitet Naturvidenskabelig Embedseksamen Oversættere / Datalogi 1E Skriftlig eksamen onsdag d. 26. januar 2005 Eksamenstiden er to timer. Opgavernes vægt i procent er angivet ved hver opgave.

Læs mere

DATALOGI 1E. Vejledende løsninger til Skriftlig eksamen mandag den 23. juni 2003

DATALOGI 1E. Vejledende løsninger til Skriftlig eksamen mandag den 23. juni 2003 Københavns Universitet Naturvidenskabelig Embedseksamen DATALOGI 1E Vejledende løsninger til Skriftlig eksamen mandag den 23. juni 2003 Opgaverne vægtes i forhold til tidsangivelsen herunder, og hver opgaves

Læs mere

Oversættere. Vejledende løsninger til Skriftlig eksamen onsdag d. 25. januar 2006

Oversættere. Vejledende løsninger til Skriftlig eksamen onsdag d. 25. januar 2006 Københavns Universitet Naturvidenskabelig Embedseksamen Oversættere Vejledende løsninger til Skriftlig eksamen onsdag d. 25. januar 2006 Eksamenstiden er to timer. Opgavernes vægt i procent er angivet

Læs mere

DATALOGI MASKINARKITEKTUR

DATALOGI MASKINARKITEKTUR Københavns Universitet Natrvidenskabelig Embedseksamen DATALOGI ASKINARKITEKTUR Skriftlig eksamen fredag den 29. oktober 24 kl. -2 Frederiksholms kanal 4B Der er fem opgaver i alt og disse giver følgende

Læs mere

dcomnet-nr. 8 Simpel aritmetik på maskinniveau Computere og Netværk (dcomnet)

dcomnet-nr. 8 Simpel aritmetik på maskinniveau Computere og Netværk (dcomnet) dcomnet-nr. 8 Simpel aritmetik på maskinniveau Computere og Netværk (dcomnet) Efterår 2009 1 Simpel aritmetik på maskinniveau I SCO, appendix A, er det beskrevet, hvordan man adderer ikke-negative heltal

Læs mere

Sproget Six. Til brug i rapportopgaven på kurset Oversættere. Vinter 2006. Abstract

Sproget Six. Til brug i rapportopgaven på kurset Oversættere. Vinter 2006. Abstract Sproget Six Til brug i rapportopgaven på kurset Oversættere Vinter 2006 Abstract Six er baseret på det sprog, der vises i figur 6.2 og 6.4 i Basics of Compiler Design. Den herværende tekst beskriver basissproget

Læs mere

MIPS, registerallokering og MARS

MIPS, registerallokering og MARS MIPS, registerallokering og MARS Torben Mogensen 2011 Resumé Vi beskriver modulerne Mips.sml og RegAlloc.sml, samt hvordan de bruges sammen med MIPS-emulatoren MARS. 1 MIPS modulet Modulet Mips.sml indeholder

Læs mere

INSTITUT FOR DATALOGI, AARHUS UNIVERSITET. Det Naturvidenskabelige Fakultet EKSAMEN. Grundkurser i Datalogi

INSTITUT FOR DATALOGI, AARHUS UNIVERSITET. Det Naturvidenskabelige Fakultet EKSAMEN. Grundkurser i Datalogi INSTITUT FOR DATALOGI, AARHUS UNIVERSITET Det Naturvidenskabelige Fakultet EKSAMEN Grundkurser i Datalogi Antal sider i opgavesættet (incl. forsiden): 12 (tolv) Eksamensdag: Torsdag den 21. marts 2013,

Læs mere

Repræsentation af tal

Repræsentation af tal Repræsentation af tal DM534 Rolf Fagerberg 1 / 18 Mål Målet for disse slides er at beskrive, hvordan tal repræsenteres som bitmønstre i computere. Dette emne er et uddrag af kurset DM548 Computerarkitektur

Læs mere

DATALOGI 1F. Skriftlig eksamen tirsdag den 10. juni 2003 1 25 % 2 10 % 3 25 % 4 10 % 5 30 %

DATALOGI 1F. Skriftlig eksamen tirsdag den 10. juni 2003 1 25 % 2 10 % 3 25 % 4 10 % 5 30 % Københavns Universitet Naturvidenskabelig Embedseksamen DATALOGI 1F Skriftlig eksamen tirsdag den 10. juni 2003 Opgave Vægtning 1 25 % 2 10 % 3 25 % 4 10 % 5 30 % Alle de sædvanlige hjælpemidler må benyttes,

Læs mere

Skriftlig Eksamen Algoritmer og Datastrukturer (DM507)

Skriftlig Eksamen Algoritmer og Datastrukturer (DM507) Skriftlig Eksamen Algoritmer og Datastrukturer (DM507) Institut for Matematik og Datalogi Syddansk Universitet, Odense Mandag den 7. juni 00, kl. 9 Alle sædvanlige hjælpemidler (lærebøger, notater, osv.)

Læs mere

Sider og segmenter. dopsys 1

Sider og segmenter. dopsys 1 Sider og segmenter dopsys 1 Lokal vs global sideallokering (1) Med (a) som udgangspunkt giver (b) lokal hhv. (c) global allokering forskellige resultater dopsys 2 Lokal vs global sideallokering (2) Den

Læs mere

Skriftlig Eksamen DM507 Algoritmer og Datastrukturer

Skriftlig Eksamen DM507 Algoritmer og Datastrukturer Skriftlig Eksamen DM507 Algoritmer og Datastrukturer Institut for Matematik og Datalogi Syddansk Universitet, Odense Mandag den 6. juni 2016, kl. 15:00 19:00 Besvarelsen skal afleveres elektronisk. Se

Læs mere

Sproget Rascal (v. 2)

Sproget Rascal (v. 2) Sproget Rascal (v. 2) Til brug i K1 på kurset Oversættere Opdateret 29/11 2004 Abstract Rascal er et simpelt Pascal-lignende imperativt sprog. Dette dokument beskriver uformelt Rascals syntaks og semantik

Læs mere

Skriftlig Eksamen Algoritmer og Datastrukturer (DM507)

Skriftlig Eksamen Algoritmer og Datastrukturer (DM507) Skriftlig Eksamen Algoritmer og Datastrukturer (DM507) Institut for Matematik og Datalogi Syddansk Universitet, Odense Onsdag den 0. juni 009, kl. 9 Alle sædvanlige hjælpemidler (lærebøger, notater, osv.)

Læs mere

Sider og segmenter. dopsys 1

Sider og segmenter. dopsys 1 Sider og segmenter dopsys 1 Lokal vs global sideallokering (1) Med (a) som udgangspunkt giver (b) lokal hhv. (c) global allokering forskellige resultater dopsys 2 Lokal vs global sideallokering (2) Den

Læs mere

Maskinsprog. Martin Zachariasen, DIKU. Programmer og ordrer. Ordretyper. Operander og deres placering. Ordreformat. Procedurekald. Andre arkitekturer

Maskinsprog. Martin Zachariasen, DIKU. Programmer og ordrer. Ordretyper. Operander og deres placering. Ordreformat. Procedurekald. Andre arkitekturer Maskinsprog Martin Zachariasen, DIKU Litteratur: Patterson & Hennessy, kap. 3 Programmer og ordrer Ordretyper Operander og deres placering Ordreformat Procedurekald Andre arkitekturer 1 Stored-program

Læs mere

INSTITUT FOR DATALOGI, AARHUS UNIVERSITET EKSAMEN. Grundkurser i Datalogi. Algoritmer og Datastrukturer 1 (2003-ordning)

INSTITUT FOR DATALOGI, AARHUS UNIVERSITET EKSAMEN. Grundkurser i Datalogi. Algoritmer og Datastrukturer 1 (2003-ordning) INSTITUT FOR DATALOGI, AARHUS UNIVERSITET EKSAMEN Grundkurser i Datalogi Antal sider i opgavesættet (incl. forsiden): 12 (tolv) Eksamensdag: Fredag den 10. august 2012, kl. 9.00-11.00 Eksamenslokale: Finlandsgade

Læs mere

MIPS modulet og registerallokatoren

MIPS modulet og registerallokatoren MIPS modulet og registerallokatoren Værktøjer til oversætterdelen af K1 Dat1E 2001 MIPS modulet Den vigtigste del af modulet MipsData.sml er datatypen mips, som beskriver MIPS ordrer, se figur 1. Alle

Læs mere

INSTITUT FOR DATALOGI, AARHUS UNIVERSITET. Det Naturvidenskabelige Fakultet EKSAMEN. Grundkurser i Datalogi

INSTITUT FOR DATALOGI, AARHUS UNIVERSITET. Det Naturvidenskabelige Fakultet EKSAMEN. Grundkurser i Datalogi INSTITUT FOR DATALOGI, AARHUS UNIVERSITET Det Naturvidenskabelige Fakultet EKSAMEN Grundkurser i Datalogi Antal sider i opgavesættet (incl. forsiden): 12 (tolv) Eksamensdag: Fredag den 16. august 2013,

Læs mere

Sproget Limba. Til brug i G1 og K1. Dat1E 2003

Sproget Limba. Til brug i G1 og K1. Dat1E 2003 Sproget Limba Til brug i G1 og K1 Dat1E 2003 Abstract Limba er et simpelt imperativt sprog med hoballokerede tupler. Dette dokument beskriver uformelt Limbas syntaks og semantik samt en fortolker for Limba,

Læs mere

DATALOGISK INSTITUT, AARHUS UNIVERSITET. Det Naturvidenskabelige Fakultet EKSAMEN. Grundkurser i Datalogi

DATALOGISK INSTITUT, AARHUS UNIVERSITET. Det Naturvidenskabelige Fakultet EKSAMEN. Grundkurser i Datalogi DATALOGISK INSTITUT, AARHUS UNIVERSITET Det Naturvidenskabelige Fakultet EKSAMEN Grundkurser i Datalogi Antal sider i opgavesættet (incl. forsiden): 12 (tolv) Eksamensdag: Tirsdag den 20. marts 2012, kl.

Læs mere

DATALOGISK INSTITUT, AARHUS UNIVERSITET. Det Naturvidenskabelige Fakultet EKSAMEN. Grundkurser i Datalogi

DATALOGISK INSTITUT, AARHUS UNIVERSITET. Det Naturvidenskabelige Fakultet EKSAMEN. Grundkurser i Datalogi DATALOGISK INSTITUT, AARHUS UNIVERSITET Det Naturvidenskabelige Fakultet EKSAMEN Grundkurser i Datalogi Antal sider i opgavesættet (incl. forsiden): 1 (tretten) Eksamensdag: Tirsdag den 8. april 2008,

Læs mere

DATALOGISK INSTITUT, AARHUS UNIVERSITET. Det Naturvidenskabelige Fakultet EKSAMEN. Grundkurser i Datalogi

DATALOGISK INSTITUT, AARHUS UNIVERSITET. Det Naturvidenskabelige Fakultet EKSAMEN. Grundkurser i Datalogi DATALOGISK INSTITUT, AARHUS UNIVERSITET Det Naturvidenskabelige Fakultet EKSAMEN Grundkurser i Datalogi Antal sider i opgavesættet (incl. forsiden): 12 (tolv) Eksamensdag: Torsdag den 11. august 2011,

Læs mere

DATALOGISK INSTITUT, AARHUS UNIVERSITET. Det Naturvidenskabelige Fakultet EKSAMEN. Grundkurser i Datalogi

DATALOGISK INSTITUT, AARHUS UNIVERSITET. Det Naturvidenskabelige Fakultet EKSAMEN. Grundkurser i Datalogi DATALOGISK INSTITUT, AARHUS UNIVERSITET Det Naturvidenskabelige Fakultet EKSAMEN Grundkurser i Datalogi Antal sider i opgavesættet (incl. forsiden): 12 (tolv) Eksamensdag: Onsdag den 31. marts 2010, kl.

Læs mere

Lageradministration Paging og segmentering

Lageradministration Paging og segmentering Lageradministration Paging og segmentering 1 Re: Logiske/fysiske adresser... Proces-struktur = kode og data for en proces 4G En proces tilgår sin proces-struktur via et logisk/virtuelt adresserum, fx 0,

Læs mere

Repræsentation af tal

Repræsentation af tal Repræsentation af tal DM534 Rolf Fagerberg Mål Målet for disse slides er at beskrive, hvordan tal repræsenteres som bitmønstre i computere. Dette emne er et uddrag af kurset DM548 Computerarkitektur og

Læs mere

Repræsentation af tal

Repræsentation af tal Repræsentation af tal DM534 Rolf Fagerberg Bitmønstre 01101011 0001100101011011... Bitmønstre skal fortolkes for at have en betydning: Tal (heltal, decimaltal (kommatal)) Bogstaver Computerinstruktion

Læs mere

Skriftlig Eksamen Algoritmer og Datastrukturer 1. Datalogisk Institut Aarhus Universitet

Skriftlig Eksamen Algoritmer og Datastrukturer 1. Datalogisk Institut Aarhus Universitet Side af 1 sider Skriftlig Eksamen Algoritmer og Datastrukturer 1 Datalogisk Institut Aarhus Universitet Dette eksamenssæt består af en kombination af små skriftlige opgaver og multiplechoice-opgaver. Opgaverne

Læs mere

DATALOGISK INSTITUT, AARHUS UNIVERSITET. Det Naturvidenskabelige Fakultet EKSAMEN. Grundkurser i Datalogi

DATALOGISK INSTITUT, AARHUS UNIVERSITET. Det Naturvidenskabelige Fakultet EKSAMEN. Grundkurser i Datalogi DATALOGISK INSTITUT, AARHUS UNIVERSITET Det Naturvidenskabelige Fakultet EKSAMEN Grundkurser i Datalogi Antal sider i opgavesættet (incl. forsiden): 12 (tolv) Eksamensdag: Torsdag den 26. marts 2009, kl.

Læs mere

Selvstudium 1, Diskret matematik

Selvstudium 1, Diskret matematik Selvstudium 1, Diskret matematik Matematik på første studieår for de tekniske og naturvidenskabelige uddannelser Aalborg Universitet I dette selfstudium interesserer vi os alene for tidskompleksitet. Kompleksitet

Læs mere

DATALOGISK INSTITUT, AARHUS UNIVERSITET

DATALOGISK INSTITUT, AARHUS UNIVERSITET DATALOGISK INSTITUT, AARHUS UNIVERSITET Det Naturvidenskabelige Fakultet EKSAMEN Grundkurser i Datalogi Antal sider i opgavesættet (incl. forsiden): 12 (tolv) Eksamensdag: Fredag den 1. april 200, kl..00-11.00

Læs mere

Repræsentation af tal

Repræsentation af tal Repræsentation af tal DM526 Rolf Fagerberg, 2009 Bitmønstre 01101011 0001100101011011... Bitmønstre skal fortolkes for at have en betydning: Tal (heltal, kommatal) Bogstaver Computerinstruktion (program)

Læs mere

DATALOGISK INSTITUT, AARHUS UNIVERSITET. Det Naturvidenskabelige Fakultet EKSAMEN. Grundkurser i Datalogi

DATALOGISK INSTITUT, AARHUS UNIVERSITET. Det Naturvidenskabelige Fakultet EKSAMEN. Grundkurser i Datalogi DATALOGISK INSTITUT, AARHUS UNIVERSITET Det Naturvidenskabelige Fakultet EKSAMEN Grundkurser i Datalogi Antal sider i opgavesættet (incl. forsiden): 1 (tolv) Eksamensdag: Fredag den 7. august 009, kl.

Læs mere

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet side af sider Danmarks Tekniske Universitet Skriftlig prøve, den. maj 00. Kursusnavn Algoritmer og datastrukturer Kursus nr. 06. Tilladte hjælpemidler: Alle hjælpemidler. Vægtning af opgaverne: Opgave

Læs mere

Opskriv følgende funktioner efter stigende orden med hensyn til O-notationen: n 7 n 1 7 7/n. 7nlogn. 7n 7nlogn n7

Opskriv følgende funktioner efter stigende orden med hensyn til O-notationen: n 7 n 1 7 7/n. 7nlogn. 7n 7nlogn n7 Side af 0 sider Opgave (%) Ja Nej /n er O(n )? n (logn) er O(n 3 )? n + n er O(3 n )? n er O((logn) 3 )? nlogn er Ω(n)? Opgave (%) Opskriv følgende funktioner efter stigende orden med hensyn til O-notationen:

Læs mere

Lageradministration. dopsys

Lageradministration. dopsys Lageradministration 1 Lageret i maskinarkitekturen Beregningsenhed, lagre (registre, RAM, disk), ydre enheder 2 Abstraktion over typerne: et hierarki En maskine har flere forskellige lagre Operativsystemet

Læs mere

Indhold. Maskinstruktur... 3. Kapitel 1. Assemblersprog...3. 1.1 Indledning...3 1.2 Hop-instruktioner... 7 1.3 Input og output...

Indhold. Maskinstruktur... 3. Kapitel 1. Assemblersprog...3. 1.1 Indledning...3 1.2 Hop-instruktioner... 7 1.3 Input og output... Indhold Maskinstruktur... 3 Kapitel 1. Assemblersprog...3 1.1 Indledning...3 1.2 Hop-instruktioner... 7 1.3 Input og output... 9 Kapitel 2. Maskinkode... 13 2.1 Den fysiske maskine... 13 2.2 Assemblerens

Læs mere

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet side af sider Danmarks Tekniske Universitet Skriftlig prøve, den. maj 00. Kursusnavn Algoritmer og datastrukturer I Kursus nr. 005. Tilladte hjælpemidler: Alle skriftlige hjælpemidler. Vægtning af opgaverne:

Læs mere

It og informationssøgning Forelæsning november 2006 Nils Andersen. Regulære udtryk og formelle sprog

It og informationssøgning Forelæsning november 2006 Nils Andersen. Regulære udtryk og formelle sprog It og informationssøgning Forelæsning 11 22. november 2006 Nils Andersen Regulære udtryk og formelle sprog Regulært udtryk Forening, sammenstilling og Kleene-gentagelse Andre notationer og operatorer Modulet

Læs mere

INSTITUT FOR DATALOGI, AARHUS UNIVERSITET. Science and Technology EKSAMEN. Grundkurser i Datalogi. Algoritmer og Datastrukturer 1 (2003-ordning)

INSTITUT FOR DATALOGI, AARHUS UNIVERSITET. Science and Technology EKSAMEN. Grundkurser i Datalogi. Algoritmer og Datastrukturer 1 (2003-ordning) INSTITUT FOR DATALOGI, AARHUS UNIVERSITET Science and Technology EKSAMEN Grundkurser i Datalogi Antal sider i opgavesættet (incl. forsiden): 1 Eksamensdag: Tirsdag den 7. juni 16, kl. 9.-11. Tilladte medbragte

Læs mere

Skriftlig Eksamen Algoritmer og Datastrukturer (dads)

Skriftlig Eksamen Algoritmer og Datastrukturer (dads) Skriftlig Eksamen Algoritmer og Datastrukturer (dads) Datalogisk Institut Aarhus Universitet Mandag den 27. maj 2002, kl. 9.00 13.00 Opgave 1 (25%) Denne opgave handler om multiplikation af positive heltal.

Læs mere

Algoritmeskabeloner: Sweep- og søgealgoritmer C#-version

Algoritmeskabeloner: Sweep- og søgealgoritmer C#-version Note til Programmeringsteknologi Akademiuddannelsen i Informationsteknologi Algoritmeskabeloner: Sweep- og søgealgoritmer C#-version Finn Nordbjerg 1/9 Indledning I det følgende introduceres et par abstrakte

Læs mere

Opskriv følgende funktioner efter stigende orden med hensyn til O-notationen: (logn) 2 2 n 1/n (logn) n. n 2

Opskriv følgende funktioner efter stigende orden med hensyn til O-notationen: (logn) 2 2 n 1/n (logn) n. n 2 Side af sider Opgave (%) Ja Nej n er O(n n)? n er O(n+n )? ( n ) er O( n )? logn er O(n / )? n +n er O(n)? Opgave (%) Opskriv følgende funktioner efter stigende orden med hensyn til O-notationen: (logn)

Læs mere

DATALOGISK INSTITUT, AARHUS UNIVERSITET. Det Naturvidenskabelige Fakultet EKSAMEN. Grundkurser i Datalogi

DATALOGISK INSTITUT, AARHUS UNIVERSITET. Det Naturvidenskabelige Fakultet EKSAMEN. Grundkurser i Datalogi DATALOGISK INSTITUT, AARHUS UNIVERSITET Det Naturvidenskabelige Fakultet EKSAMEN Grundkurser i Datalogi Antal sider i opgavesættet (incl. forsiden): 12 (tolv) Eksamensdag: Fredag den 13. august 2010, kl.

Læs mere

DM507 Algoritmer og datastrukturer

DM507 Algoritmer og datastrukturer DM507 Algoritmer og datastrukturer Forår 2016 Projekt, del III Institut for matematik og datalogi Syddansk Universitet 20. april, 2016 Dette projekt udleveres i tre dele. Hver del har sin deadline, således

Læs mere

Skriftlig Eksamen DM507 Algoritmer og Datastrukturer

Skriftlig Eksamen DM507 Algoritmer og Datastrukturer Skriftlig Eksamen DM507 Algoritmer og Datastrukturer Institut for Matematik og Datalogi Syddansk Universitet, Odense Tirsdag den 24. juni 2014, kl. 10:00 14:00 Besvarelsen skal afleveres elektronisk. Se

Læs mere

Opskriv følgende funktioner efter stigende orden med hensyn til O-notationen: n+logn logn (logn) 7 (3/2) n

Opskriv følgende funktioner efter stigende orden med hensyn til O-notationen: n+logn logn (logn) 7 (3/2) n Side af sider Opgave (%) Ja Nej n er O( n )? n er O(log n)? n er O(n )? n + er O(0n)? nlogn er O(n / )? Opgave (%) Opskriv følgende funktioner efter stigende orden med hensyn til O-notationen: nlogn logn

Læs mere

To mikroarkitekturer til MIPS Karakteropgave på Maskinarkitektur 1B

To mikroarkitekturer til MIPS Karakteropgave på Maskinarkitektur 1B To mikroarkitekturer til MIPS Karakteropgave på Maskinarkitektur 1B Martin Zachariasen 10. september 2004 1 Introduktion Dette er den karaktergivende rapportopgave på kurset Maskinarkitektur 1B, efterår

Læs mere

Grådige algoritmer. Et generelt algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer.

Grådige algoritmer. Et generelt algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer. Grådige algoritmer Grådige algoritmer Et generelt algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer. Grådige algoritmer Et generelt algoritme-konstruktionsprincip ( paradigme ) for

Læs mere

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet Eksamen 02105, F14 side 1 af 14 Danmarks Tekniske Universitet Skriftlig prøve, den 22. maj 2014. Kursusnavn: Algoritmer og datastrukturer 1 Kursusnummer: 02105 Hjælpemidler: Skriftlige hjælpemidler. Det

Læs mere

Noter til C# Programmering Selektion

Noter til C# Programmering Selektion Noter til C# Programmering Selektion Sætninger Alle sætninger i C# slutter med et semikolon. En sætning kontrollerer sekvensen i programafviklingen, evaluerer et udtryk eller gør ingenting Blanktegn Mellemrum,

Læs mere

CPUer og maskinkode DM534. Rolf Fagerberg

CPUer og maskinkode DM534. Rolf Fagerberg CPUer og maskinkode DM534 Rolf Fagerberg CPUers opbygning En CPU er bygget op af elektriske kredsløb (jvf. sidste forelæsning), som kan manipulere bits. En CPU manipulerer flere bits ad gangen, deres antal

Læs mere

Lageret i maskinarkitekturen. Beregningsenhed, lagre (registre, RAM, disk), ydre enheder

Lageret i maskinarkitekturen. Beregningsenhed, lagre (registre, RAM, disk), ydre enheder Lageradministration Lageret i maskinarkitekturen Beregningsenhed, lagre (registre, RAM, disk), ydre enheder Abstraktion over typerne: et hierarki En maskine har fl ere forskellige lagre Operativsystemet

Læs mere

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet side af sider Danmarks Tekniske Universitet Skriftlig prøve, den 6. maj 0. Kursusnavn: Algoritmer og datastrukturer I Kursus nr. 005. Tilladte hjælpemidler: Skriftlige hjælpemidler. Varighed: timer Vægtning

Læs mere

22 Hobe. Noter. PS1 -- Hobe. Binære hobe. Minimum-hob og maximum-hob. Den abstrakte datatype minimum-hob. Opbygning af hobe. Operationen siv-ned.

22 Hobe. Noter. PS1 -- Hobe. Binære hobe. Minimum-hob og maximum-hob. Den abstrakte datatype minimum-hob. Opbygning af hobe. Operationen siv-ned. 22 Hobe. Binære hobe. Minimum-hob og maximum-hob. Den abstrakte datatype minimum-hob. Opbygning af hobe. Operationen siv-ned. Indsættelse i hobe. Sletning af minimalt element i hobe. Repræsentation. 327

Læs mere

Grådige algoritmer. Et generelt algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer.

Grådige algoritmer. Et generelt algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer. Grådige algoritmer Grådige algoritmer Et generelt algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer. Grådige algoritmer Et generelt algoritme-konstruktionsprincip ( paradigme ) for

Læs mere

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet side af 2 sider Danmarks Tekniske Universitet Skriftlig prøve, den 2. maj 200. Kursusnavn Algoritmer og datastrukturer I Kursus nr. 0205. Tilladte hjælpemidler: Alle skriftlige hjælpemidler. Vægtning af

Læs mere

Grundlæggende køretidsanalyse af algoritmer

Grundlæggende køretidsanalyse af algoritmer Grundlæggende køretidsanalyse af algoritmer Algoritmers effektivitet Størrelse af inddata Forskellige mål for køretid Store -notationen Klassiske effektivitetsklasser Martin Zachariasen DIKU 1 Algoritmers

Læs mere

Iteration af et endomorft kryptosystem. Substitutions-permutations-net (SPN) og inversion. Eksklusiv disjunktion og dens egenskaber

Iteration af et endomorft kryptosystem. Substitutions-permutations-net (SPN) og inversion. Eksklusiv disjunktion og dens egenskaber Produktsystemer, substitutions-permutations-net samt lineær og differentiel kryptoanalyse Kryptologi, fredag den 10. februar 2006 Nils Andersen (Stinson 3., afsnit 2.7 3.4 samt side 95) Produkt af kryptosystemer

Læs mere

Grådige algoritmer. Et generelt algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer.

Grådige algoritmer. Et generelt algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer. Grådige algoritmer Grådige algoritmer Et generelt algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer. Grådige algoritmer Et generelt algoritme-konstruktionsprincip ( paradigme ) for

Læs mere

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet side af 2 sider Danmarks Tekniske Universitet Skriftlig prøve, den 2. maj 200. Kursusnavn Algoritmer og datastrukturer Kursus nr. 02326. Tilladte hjælpemidler: Alle hjælpemidler. Vægtning af opgaverne:

Læs mere

Operativsystemer of C Efterår 2013 Virtuel hukommelse (kap. 9)

Operativsystemer of C Efterår 2013 Virtuel hukommelse (kap. 9) Operativsystemer of C Efterår Virtuel hukommelse (kap. 9) 8// Planen for idag q Virtuel hukommelse. q Demand paging / page faults. q Sideudskiftningsalgoritmer. q Rammeallokering til processer. Ø Øvelser:

Læs mere

Løsningsforslag Skriftlig eksamen 9. januar 2012

Løsningsforslag Skriftlig eksamen 9. januar 2012 Løsningsforslag Skriftlig eksamen 9. januar 2012 Version 1, 2012-01-09 Spørgsmål 1 Spørgsmål 1.1 Først laver vi indlysende korrekt NFAer for hver af de to dele (ddd ddd) og (_ddd)* af det givne regulære

Læs mere

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet side af sider Danmarks Tekniske Universitet Skriftlig prøve, den 6. maj 0. Kursusnavn: Algoritmer og datastrukturer Kursus nr. 06. Tilladte hjælpemidler: Skriftlige hjælpemidler. Varighed: timer Vægtning

Læs mere

Skriftlig eksamen, Programmer som Data Onsdag 6. januar Spørgsmål 1 (20 %): Regulære udtryk og automater

Skriftlig eksamen, Programmer som Data Onsdag 6. januar Spørgsmål 1 (20 %): Regulære udtryk og automater Skriftlig eksamen, Programmer som Data Onsdag 6. januar 2010 Dette eksamenssæt har 5 sider. Tjek med det samme at du har alle siderne. Eksamens varighed er 4 timer. Der er fire spørgmål. For at få fuldt

Læs mere

Med TI-89 / TI-92 Plus kan du også sammenligne eller manipulere binære tal bit for bit.

Med TI-89 / TI-92 Plus kan du også sammenligne eller manipulere binære tal bit for bit. Kapitel 20: Talsystemer 20 Resumé af talsystemer... 344 Indtastning og omregning af talsystemer... 345 Udførelse af matematiske beregninger med hexadecimale og binære tal... 346 Sammenligning eller manipulation

Læs mere

Skriftlig eksamen i Datalogi

Skriftlig eksamen i Datalogi Roskilde Universitetscenter side 1 af 11 sider Skriftlig eksamen i Datalogi Modul 1 Sommer 2000 Opgavesættet består af 6 opgaver, der ved bedømmelsen tillægges følgende vægte: Opgave 1 10% Opgave 2 10%

Læs mere

Python programmering. Per Tøfting. MacFest

Python programmering. Per Tøfting. MacFest Python programmering MacFest 2005 Per Tøfting http://pertoefting.dk/macfest/ Indhold Måder at afvikle Python program på Variabler Data typer Tal Sekvenser Strenge Tupler Lister Dictionaries Kontrolstrukturer

Læs mere

BRP Tal. Om computer-repræsentation og -manipulation. Logaritmer

BRP Tal. Om computer-repræsentation og -manipulation. Logaritmer BRP 13.9.2006 Tal. Om computer-repræsentation og -manipulation. Logaritmer 1. Opgaverne til i dag dækker det meste af stoffet 2. Resten af stoffet logaritmer binære træer 3. Øvelse ny programmeringsopgave

Læs mere

DM507 Algoritmer og datastrukturer

DM507 Algoritmer og datastrukturer DM507 Algoritmer og datastrukturer Forår 2017 Projekt, del III Institut for matematik og datalogi Syddansk Universitet 6. april, 2017 Dette projekt udleveres i tre dele. Hver del har sin deadline, således

Læs mere

DATALOGISK INSTITUT, AARHUS UNIVERSITET

DATALOGISK INSTITUT, AARHUS UNIVERSITET DATALOGISK INSTITUT, AARHUS UNIVERSITET Det Naturvidenskabelige Fakultet EKSAMEN Grundkurser i Datalogi Algoritmer og Datastrukturer 1 (003-ordning) Antal sider i opgavesættet (incl. forsiden): 10 (ti)

Læs mere

Computerarkitektur Eksamen 2014Q3. Niels Olof Bouvin. Studienummer Navn

Computerarkitektur Eksamen 2014Q3. Niels Olof Bouvin. Studienummer Navn Computerarkitektur Eksamen 2014Q3 Niels Olof Bouvin Studienummer Navn Vejledning Eksamen varer en time fra kl. 9 til kl. 10. Husk at skrive studienummer og navn tydeligt på forsiden, inden eksamen afsluttes.

Læs mere

Opskriv følgende funktioner efter stigende orden med hensyn til O-notationen: 4 n n 3n n 2 /logn 5 n n (logn) 3n n 2 /logn 4 n n 5 n

Opskriv følgende funktioner efter stigende orden med hensyn til O-notationen: 4 n n 3n n 2 /logn 5 n n (logn) 3n n 2 /logn 4 n n 5 n Side af 0 sider Opgave (%) Ja Nej n er O(0n logn)? n er O(n )? n +n er O(n )? n logn er O(n )? n logn er O(n)? Opgave (%) Opskriv følgende funktioner efter stigende orden med hensyn til O-notationen: n

Læs mere

Algoritmer og invarianter

Algoritmer og invarianter Algoritmer og invarianter Iterative algoritmer Algoritmen er overordnet set een eller flere while eller for-løkker. Iterative algoritmer Algoritmen er overordnet set een eller flere while eller for-løkker.

Læs mere

Opskriv følgende funktioner efter stigende orden med hensyn til O-notationen: n 3/2. n logn (3/2) n. 2 3logn (3/2) n

Opskriv følgende funktioner efter stigende orden med hensyn til O-notationen: n 3/2. n logn (3/2) n. 2 3logn (3/2) n Side af 0 sider Opgave (4%) Ja Nej n er O(n / )? n +n er O(n )? (logn) er O( logn )? n er O()? /n er O(logn)? Opgave (4%) Opskriv følgende funktioner efter stigende orden med hensyn til O-notationen: logn

Læs mere

Oversigt. Operativsystemer [6]: Virtuelt lager. Virtuel lager. Virtuelt lager. Virkemåde. Virtuelt lager eksempel virtuelt lager

Oversigt. Operativsystemer [6]: Virtuelt lager. Virtuel lager. Virtuelt lager. Virkemåde. Virtuelt lager eksempel virtuelt lager Operativsystemer [6]: Virtuelt lager Datalogi 1F Forår 2003 Jørgen Sværke Hansen cyller@diku.dk Oversigt Hvad er virtuelt lager Mekanismen bag tvungent sideskift Politikker (strategier) for tvungent sideskift:

Læs mere

Opskriv følgende funktioner efter stigende orden med hensyn til O-notationen: (logn) 5. 5n 2 5 logn. 2 logn

Opskriv følgende funktioner efter stigende orden med hensyn til O-notationen: (logn) 5. 5n 2 5 logn. 2 logn Eksamen august 0 Algoritmer og Datastrukturer (00-ordning) Side af sider Opgave (%) n +n er O(n )? Ja Nej n er O(n )? n+n er O(n. )? n+n er O(8n)? n logn er O(n )? Opgave (%) Opskriv følgende funktioner

Læs mere

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet ksamen 06, side af sider anmarks Tekniske Universitet Skriftlig prøve, den 6. maj 0. ursusnavn: lgoritmer og datastrukturer ursus nr. 06. Tilladte hjælpemidler: Skriftlige hjælpemidler. Varighed: timer

Læs mere

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet Eksamen 0205, Forår 205 side af 5 Danmarks Tekniske Universitet Skriftlig prøve, den 22. maj 205. Kursusnavn: Algoritmer og datastrukturer Kursusnummer: 0205 Hjælpemidler: Skriftlige hjælpemidler. Det

Læs mere

DATALOGISK INSTITUT, AARHUS UNIVERSITET

DATALOGISK INSTITUT, AARHUS UNIVERSITET DATALOGISK INSTITUT, AARHUS UNIVERSITET Det Naturvidenskabelige Fakultet EKSAMEN Grundkurser i Datalogi Antal sider i opgavesættet (incl. forsiden): 6 (seks) Eksamensdag: Fredag den 25. juni 200, kl. 9.00-.00

Læs mere

DM507 Algoritmer og datastrukturer

DM507 Algoritmer og datastrukturer DM507 Algoritmer og datastrukturer Forår 2019 Projekt, del III Institut for matematik og datalogi Syddansk Universitet 10. april, 2019 Dette projekt udleveres i tre dele. Hver del har sin deadline, således

Læs mere

Skriftlig Eksamen Kombinatorik, sandsynlighed og randomiserede algoritmer (DM528)

Skriftlig Eksamen Kombinatorik, sandsynlighed og randomiserede algoritmer (DM528) Skriftlig Eksamen Kombinatorik, sandsynlighed og randomiserede algoritmer (DM528) Institut for Matematik & Datalogi Syddansk Universitet Mandag den 3 Januar 2011, kl. 9 13 Alle sædvanlige hjælpemidler

Læs mere

Niveauer af abstrakte maskiner

Niveauer af abstrakte maskiner Mikroarkitektur Niveauer af abstrakte maskiner Spørgsmål... Hvordan realiseres IJVM maskinen (lev. 2), eller hvordan ser en IJVM-CPU ud? Opbygning (mikroarkitekturen Mic-1) Anvendelse (mikroprogrammet

Læs mere

Martin Olsen. DM507 Projekt Del I. 19. marts 2012 FOTO: Colourbox

Martin Olsen. DM507 Projekt Del I. 19. marts 2012 FOTO: Colourbox Martin Olsen DM0 Projekt 0 Del I. marts 0 FOTO: Colourbox Indhold Indledning... Opgave... Opgave... Opgave... Opgave... Opgave... Opgave... Opgave... Kildekode til SimpleInv.java... Kildekode til MergeSort.java...

Læs mere