DATALOGI 1E. Vejledende løsninger til Skriftlig eksamen mandag den 28. maj min min min min.

Størrelse: px
Starte visningen fra side:

Download "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."

Transkript

1 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 bedømmes som en helhed. Tidsangivelser til de enkelte spørgsmål er vejledende og svarer ikke til vægtningen af spørgsmålene indenfor en opgave. Opgave Tid 1 60 min min min min. Alle de sædvanlige hjælpemidler må benyttes, herunder også lydløse elektroniske lommeregnere. Ingen kommunikationsmidler, som f.eks. mobiltelefoner, trådløse modem eller røgsignaler er tilladt.

2 Vejledende løsning til skriftlig eksamen maj 2001 i Datalogi 1E side 1 af 17 Opgave 1: Regulære og kontekstfri sprog (60 min.) Spørgsmål 1.1 (35 min.) Man har ofte brug for at beskrive en (muligvis tom) følge af symboler adskilt af et bestemt skilletegn. Et eksempel er følger af heltal adskilt med skråstreger, hvilket kan beskrives ved følgende regulære udtryk: ([0 9] + /) [0 9] + ε a) Lav en NFA for dette regulære udtryk ved at bruge metoden beskrevet i afsnit 2.4 af Basics of Compiler Design ε ε 0 ε ε 9 ε ε ε / ε ε ε ε ε ε. Som det ses skal det regulære udtryk for heltal skrives to gange, hvilket medfører at det tilsvarende NFA-fragment også forekommer to gange i NFA en. For at undgå dette, definerer vi en ny konstruktion for regulære udtryk: s a, hvor s er et regulært udtryk og a er et alfabetsymbol. s a defineres til at være ækvivalent med (sa) s ε. b) Udvid metoden beskrevet i afsnit 2.4 af Basics of Compiler Design så NFA-fragmentet for s a bliver konstrueret direkte fra NFA-fragmentet for s, uden at dette kopieres.

3 Vejledende løsning til skriftlig eksamen maj 2001 i Datalogi 1E side 2 af 17 s ε a ε ε ε ε c) Lav med den udvidede metode en NFA for udtrykket ([0 9] + ) / ε ε ε ε ε / ε ε ε ε

4 Vejledende løsning til skriftlig eksamen maj 2001 i Datalogi 1E side 3 af 17 Spørgsmål 1.2 (25 min.) Vi definerer en ny variant af binære tal, som adskiller sig fra de normale på to måder: De mindst betydende bit er mod venstre, dvs. at cifferfølgen c 0 c 1...c n har værdien c c n c n. Cifrene er henholdsvis 2 og -3 ( -3 betragtes som et tegn). Ligesom for almindelige binære tal definerer vi den tomme tegnfølge til at have værdien 0. Her er nogle eksempler på tegnfølger og værdier i det nye talsystem: tegnfølge værdi ε Vi definerer nu et sprog indeholdende tegnfølger af formen v = w, hvor v er en følge af cifrene 2 og -3 og hvor w er en følge af cifrene 0 og 1. Desuden kræves det at v = w (dvs. at antallet af cifre i v og w er ens) og at værdien af v (læst som tal i det herover definerede talsystem) er den samme som værdien af w (læst som et almindeligt binært tal, hvor den tomme tegnfølge har værdien 0). a) Lav en grammatik for dette sprog. Vink: Lav produktioner, der tager et ciffer fra hver ende og kalder en anden (eller samme) nonterminal med resten. Der er brug for nonterminaler der beskriver talpar, hvor venstresiden afviger fra højresiden med en konstant. Udnyt endvidere at ethvert lige tal i det nye talsystem starter med 2 og ethvert ulige tal med -3. Dermed bestemmer det bit man tager fra højresiden entydigt det ciffer man tager fra venstresiden.

5 Vejledende løsning til skriftlig eksamen maj 2001 i Datalogi 1E side 4 af 17 E = E 2L 1 0 E 3G 2 1 G 1 3G 2 0 G 1 2E1 L 1 3G 1 0 L 1 2L 1 1 G 2 2E0 G 2 3G 3 1 G 3 3G 3 0 G 3 2G 1 1 I G I er venstresiden i større end højresiden og i L 1 er venstresiden 1 mindre end højresiden. b) Vis en afledning af E =0000. E 2L G G E =0000

6 Vejledende løsning til skriftlig eksamen maj 2001 i Datalogi 1E side 5 af 17 Opgave 2: Arkitektur (60 min.) Spørgsmål 2.1 (20 min.) Under udvikling af en arkitektur opstår et ønske om en enhed til multiplikation af to binære tal A = (a 1 a 0 ) og B = (b 1 b 0 ). Lad P = A B = (p 3 p 2 p 1 p 0 ) være resultatet af multiplikationen. a) Opstil optimerede logiske udtryk for p 3, p 2, p 1 og p 0. b) Angiv en PLA (Programmerbar Logisk Array), der implementerer enheden. I denne løsning benyttes Karnaugh-kort til optimering af de boolske funktioner for p 3, p 2, p 1 og p 0. Dette letter optimeringen, men er på ingen måde et krav for korrekt besvarelse. Decimalt kan karnaughkortet opskrives med rækkeindgang A og søjleindgang B som: P Opskrives bitmønstrene for tallene i ovenstående kort ses let at karnaughkortene for p 3, p 2, p 1 og p 0 bliver: p p

7 Vejledende løsning til skriftlig eksamen maj 2001 i Datalogi 1E side 6 af 17 p p Heraf fås de optimerede udtryk : p 0 = a 0 b 0 p 1 = a 1 a 0 b 1 + a 1 a 0 b 0 + a 1 b 1 b 0 + a 0 b 1 b 0 p 2 = a 1 a 0 b 1 + a 1 b 1 b 0 p 3 = a 1 a 0 b 1 b 0 En PLA, der implementerer ovennævnte udtryk (bemærk at der ingen fælles minitermer er i de 4 boolske udtryk) er skitseret i nedenstående figur: Spørgsmål 2.2 (10 min.) En given maskine kan fortolke et 16-bits tal som: Et heltal uden fortegn. Et to-komplement heltal med fortegn. Et flydende tal med eksplicit fortegnbit (bit nr. 15), en eksponent på 4 bit (bit 14-11) i base 2 og bias 7, samt an mantisse på 11 bit (bit nr. 10-0).

8 Vejledende løsning til skriftlig eksamen maj 2001 i Datalogi 1E side 7 af 17 I alle tilfælde bruges big-endian bitrækkefølge indenfor en gruppe af bit, dvs. at det mest betydende bit har højest nummer. Angiv decimalværdien ved de tre fortolkninger af bitmønsteret: bit nr værdi Som heltal uden fortegn angiver tallet decimalt: = 512 ( ) = = Som 2-komplement heltal med fortegn angiver tallet: 1 [( ) 2 ] = [ ] = 512 ( ) = = Som flydende tal (som specificeret) angiver tallet: ( 1) 1 ( ) 29 7 = ( 7 4 ) 22 = Spørgsmål 2.3 (30 min.) Et system er konfigureret med en CPU der i gennemsnit afvikler 800 millioner instruktioner pr. sec. og en backplane bus med en maksimal vedvarende overførselshastighed på 133 MB/sec. På bussen sidder 4 disk-controllere. Hver af disse kan overføre 20 MB/sec. og kontrollerer hver 8 diske. Hver disk roterer med 7500 omdrejninger i minuttet, har en gennemsnitlig søgetid på 10 ms, en overførselshastighed på 8 MB/sec., og organiserer data i sektorer a 512 byte. Hver i/o-operation kræver et kontroller overhead på 2 ms. Antag i det følgende at hver i/o-operation vil involvere læsning/skrivning af en blok på 32 KB organiseret sekventielt i sektorer på en disk. a) Hvor mange i/o-operationer pr. sec. kan hver disk understøtte? Systemet afvikler et operativsystem, der kræver instruktioner pr. i/ooperation. Brugerprogrammer vil maksimalt kræve instruktioner pr. i/ooperation. b) Vil bussen kunne udgøre en flaskehals ved afvikling af programmer, der intensivt foretager i/o-operationer? Begrund svaret.

9 Vejledende løsning til skriftlig eksamen maj 2001 i Datalogi 1E side 8 af 17 Et konkret program udfører i gennemsnit 2000 i/o-operationer pr. sec. Disse vil tilgå data, der er ligeligt fordelt på diskene i systemet. c) Angiv og begrund hvorvidt (og i givet fald hvor) der vil kunne opstå flaskehalse ved afvikling af programmet. Da data antages sekventielt organiseret kan tiden for access til de 32 KB data beregnes ved summen af latenstid, contoller overhead, gennemsnitstiden for for flytning af diskhovede samt 64 gange tiden for overførsel af data for en sektor. Dette bliver: T ID = 10ms + 2ms ms rot rot B 8MB/sec 32KB 512B = 10ms. + 2ms. + 4ms. + 4ms. = 20ms. På 1000 ms. kan en disk altså afvikle = 50 i/o-operationer. Det maksimale antal i/o-operationer pr. sec. er givet ved: inst./sec. ( ) 10 3 inst./io = 4000 i/o operationer sec. Da hver i/o-operation involverer overførsel af 32 KB er den maksimale busbelastning lig: 32KB/io 4000io/sec = 128MB/sec. Da 128 MB/sec. er mindre end buskapaciteten på 133 MB/sec. vil bussen ikke udgøre nogen flaskehals io/sec svarer til en overførselshastighed på 2000*32MB/sec = 64 MB/sec. < 133MB/sec. Bussen udgør derfor ingen flaskehals. Da de tilgåede data er fordelt ligeligt på de 4 controllere vil hver kontroller i gennemsnit skulle levere 64/4 MB/sec = 16 MB/sec. hvilket er mindre end deres maksimale kapacitet på 20 MB/sec. Disse udgør derfor ingen flaskehals. Da der er 8 diske pr. controller skal hver disk kunne levere data med en hastighed på gennemsnitlig 16/8 MB/sec = 2 MB/sec. Jvf. spørgsmål a) kan hver disk kun levere 50 i/o a 32 KB data pr. sec. svarende til 1.6 MB/sec. Derfor vil der kunne opstå en flaskehals fordi diskene ikke kan læse/skrive data i den hastighed hvormed de bliver tilgået.

10 Vejledende løsning til skriftlig eksamen maj 2001 i Datalogi 1E side 9 af 17 Opgave 3: Oversættere (60 min.) Spørgsmål 3.1 (22 min.) Teleselskabet L.M. Ericsson lavede engang i 70 erne deres eget sprog PLEX, som de brugte til at programmere telefoncentralsystemer, som også var baseret på deres egen hardware, APZ. Man havde altså en PLEX til APZ oversætter, som blev brugt til at skrive den nødvendige software. Nu er Ericsson ved at flytte deres systemer over på en ny platform baseret på Alpha-processorer, og de er ved at fase PLEX ud til fordel for et andet sprog Erlang (også designet hos Ericsson). Når en kunde vil opgradere deres central, vil APZ maskinen blive erstattet med en Alpha maskine, og al software vil blive flyttet til den nye maskine. Den oprindelige plan var at genoversætte PLEX programmerne til den nye arkitektur ved at bruge en PLEX til Alpha oversætter. Men det viste sig, at diverse konsulenter og programmører havde rettet i den oversatte APZ kode i stedet for at rette i kildeteksten og genoversætte denne. Derfor kan man ikke bruge de oprindelige kildetekster, men må flytte APZ koden over til det nye system. Der er foreslået forskellige måder at gøre dette: 1. Man skriver i Erlang en fortolker for APZ kode og oversætter denne til Alpha med en Erlang oversætter for Alpha maskiner. 2. Man laver i Erlang en oversætter fra APZ kode til Alpha kode. 3. Man laver i Erlang en oversætter fra APZ kode til PLEX, som så kan oversættes til Alpha med en PLEX oversætter for Alpha maskiner. 4. Man laver i Erlang en oversætter fra APZ kode til Erlang, som så kan oversættes til Alpha med en Erlang oversætter for Alpha maskiner. Overvej fordele og ulemper ved de forskellige forslag. Du kan bruge følgende fakta i dine overvejelser: PLEX er et lavniveausprog, som er oversat direkte til assemblerkode på de forskellige maskiner uden komplicerede optimeringer eller transformationer. Erlang er et højniveau funktionsprogrammeringssprog, og ligner ikke PLEX ret meget.

11 Vejledende løsning til skriftlig eksamen maj 2001 i Datalogi 1E side 10 af 17 Løsning 1 vil være ret enkel, men fortolkningen vil gøre kørslen langsom. En yderligere fordel er, at APZ programmerne kan flyttes uændret til den nye platform. Løsning 2 vil give hurtigere end løsning 1, men APZ programmerne skal oversættes før de kan køre. Endvidere kan Alphakoden være svær at læse, så rettelser vil sandsynligvis ske i APZ koden. Løsning 3 gør vedligeholdelse lettere, da rettelser kan ske i den genererede PLEX kode. Man vil til gengæld tabe lidt fart ved ikke at oversætte direkte, men tabet er lille da PLEX er tæt ved maskinkode. Da PLEX er ved at blive faset ud, er denne løsning dog ikke helt fremtidssikret. Løsning 4 vil være mest fremtidssikret, men da Erlang er ret fjern fra maskinkode vil man tabe en del fart ved ikke at oversætte direkte. De programmer, der opnås ved at oversætte APZ kode til Erlang vil endvidere næppe ligne typiske Erlangprogrammer, og derfor vil de ikke være så lette at forstå for en typisk Erlangprogrammør. Spørgsmål 3.2 (25 min.) Nogle processorer bruger en meget simpel statisk hopforudsigelse (evt. i kombination med en dynamisk hopforudsiger): Hvis et betinget hop går baglæns i koden, antages det tage, og hvis det går forlæns i koden antages det ikke taget. Begrundelsen er, at gentagelse i en repeat-until løkke sker ved et baglæns betinget hop, og gentagelse ses som det mest sandsynlige udfald. Ved en while løkke sker gentagelse ved et ubetinget baglæns hop, mens løkken forlades med et betinget forlæns hop. Da gentagelse også her ses som mest sandsynligt, antages det at det forlæns betingede hop ikke tages. Men betingede forlæns hop bruges også i if-then-else sætninger, hvor der ikke a priori er nogen grund til at tro at et udfald er mere sandsynligt end det andet. Figur 6.5 i Basics of Compiler Design viser kodegenerering for (bl.a.) if-then-else sætninger. Den relevante del er vist herunder.

12 Vejledende løsning til skriftlig eksamen maj 2001 i Datalogi 1E side 11 af 17 Trans Stat (Stat,vtable, ftable) = case Stat of if Cond label 1 = newlabel() then Stat 1 label 2 = newlabel() else Stat 2 label 3 = newlabel() code 1 = Trans Cond (Cond,label 1,label 2,vtable, ftable) code 2 = Trans Stat (Stat 1,vtable, ftable) code 3 = Trans Stat (Stat 2,vtable, ftable) code 1 ++[LABEL label 1 ]++code 2 ++[GOTO label 3, LABEL label 2 ] ++code 3 ++[LABEL label 3 ] Vi antager at vi bruger den i afsnit 7.2 og figur 7.1 i Basics of Compiler Design beskrevne optimering, hvor et tovejs hop bliver optimeret til et etvejs hop i de tilfælde, hvor den ene destination ligger lige efter hoppet. Vi antager endvidere at betingelsen er en simpel sammenligning af to variabler. a) Vil det etvejshop, som optimeringen efterlader hoppe når betingelsen i if-then-else sætningen er sand eller når den er falsk? Begrund svaret. Da labelen for det sande udfald ligger lige efter hopordren, vil den nævnte optimering gøre hoppet til et etvejshop til den anden label, og dermed hoppe på den negerede betingelse. b) Vil den genererede kode give bedst hopforudsigelse hvis betingelsen i if-then-else sætningen oftest er sand eller hvis den oftest er falsk? Begrund svaret. Da hoppet er forlæns antager hopforudsigeren at det ikke bliver taget, og da hoppet tages når betingelsen er falsk, gætter forudsigeren altså rigtigt når betingelsen er sand. c) Lav en modifikation af kodegenereringen for if-then-else sætninger, så den er optimeret til det modsatte tilfælde. Grenene skal byttes om, så else-grenen ligger lige efter betingelsen:

13 Vejledende løsning til skriftlig eksamen maj 2001 i Datalogi 1E side 12 af 17 Trans Stat (Stat,vtable, ftable) = case Stat of if Cond label 1 = newlabel() then Stat 1 label 2 = newlabel() else Stat 2 label 3 = newlabel() code 1 = Trans Cond (Cond,label 1,label 2,vtable, ftable) code 2 = Trans Stat (Stat 1,vtable, ftable) code 3 = Trans Stat (Stat 2,vtable, ftable) code 1 ++[LABEL label 2 ]++code 3 ++[GOTO label 3, LABEL label 1 ] ++code 2 ++[LABEL label 3 ] Spørgsmål 3.3 (13 min.) Lav en 3-farvning af nedenstående graf ved hjælp af algoritme 8.3 fra Basics of Compiler Design. Vis skridtene i algoritmen på samme måde som i figur 8.6 og 8.9 i Basics of Compiler Design. a b e c d f Knude Naboer Farve f 1 d f 2 c d, f 3 e c, f 2 b d, f 3 a b, c, e 1

14 Vejledende løsning til skriftlig eksamen maj 2001 i Datalogi 1E side 13 af 17 Opgave 4: Maskinsprog og ydelse (60 min.) Et assemblerprogram i MIPS udføres på en pipelinet maskine, hvor der kun forekommer blokeringer i forbindelse med datalagertilgang. CPI for datalagertilgang er 2.5, mens hop har en gennemsnitligt CPI på 1.7. Maskinen benytter ingen hopforudsiger. Ordrefordelingen er følgende: 40% R-type ordrer, 45% datalagertilgang (hent og gem) og 15% hop-ordrer. Ialt udføres 100 millioner ordrer. Spørgsmål 4.1 (20 min.) a) Hvad er CPI for ovennævnte program? CPI for R-type ordrerne er 1, idet der ikke forekommer blokeringer i forbindelse med udførelse af disse. CPI = = 1.78 b) Programmets køretid er sekunder. Hvad er maskinens klokfrekvens i MHz? Vi benytter dvs. Tid = #Ordrer CPI Klokfrekvens Klokfrekvens = #Ordrer CPI Tid = /0.178 = 1000 MHz c) På en identisk maskine, men med en hop-forudsiger, er den målte køretid for samme program sekunder. Under antagelse af at CPI for datalagertilgang er den samme, hvad er CPI for hop på denne maskine?

15 Vejledende løsning til skriftlig eksamen maj 2001 i Datalogi 1E side 14 af 17 Vi udregner først den nye CPI for hele programmet. CPI n = Tid Klokfrekvens #Ordrer = / = 1.72 Idet CPI værdierne for de andre ordretyper samt ordrefordelingen er den samme, bliver den nye CPI for hop Spørgsmål 4.2 (25 min.) CPI h = (1.72 ( ))/0.15 = 1.3 Vi ønsker at indsætte elementer i en sorteret liste. Listen indeholder positive heltal og er sorteret i ikke-voksende rækkefølge, dvs. det største element er forrest i listen. En liste bliver implementeret ved anvendelse af et array, der indeholder tallet 0 som sidste element. (Vi antager at arrays bliver allokeret store nok til at kunne håndtere det antal indsættelser som der er behov for.) Følgende C-procedure indsætter et element i et sorteret array: 1 void insert(int* v, int k) 2 { 3 int i, s, t; 4 i = 0; 5 while (v[i] >= k) i++; 6 s = v[i]; 7 v[i] = k; 8 while (s!= 0) { i++; t = v[i]; v[i] = s; s = t; } 9 v[i+1] = 0; 10 } En oversættelse har resulteret i følgende (mangelfulde) assemblerprocedure, hvor tre linier er forsvundet: 1 insert: add $t0, $a0, $zero 2 find: lw $t1, 0($t0) 3 slt $t8, $t1, $a1 4 bne $t8, $zero, ins 5??? 6 j find 7 ins: sw $a1, 0($t0)

16 Vejledende løsning til skriftlig eksamen maj 2001 i Datalogi 1E side 15 af 17 8 shift: beq $t1, $zero, quit 9??? 10 lw $t2, 0($t0) 11 sw $t1, 0($t0) 12 add $t1, $t2, $zero 13 j shift 14 quit:??? 15 jr $ra a) Beskriv kort hvad C-programmet laver. Den første while-løkke finder det sted i arrayet hvor det nye element skal indsættes. Herefter indsættes elementet og de efterfølgende elementer rykkes een plads frem i arrayet. b) Indsæt de manglende linier i assemblerproceduren og kommenter proceduren linie for linie med henvisning til C-proceduren. Register $a0 (1. argument) peger på det første element i arrayet v. Register $a1 indeholder det tal k som skal indsættes. Variablen i er blevet erstattet med en pegepind pi = &(v[i]). 1 insert: add $t0, $a0, $zero # $t0 = pi = &(v[0]) 2 find: lw $t1, 0($t0) # $t1 = *pi = v[i] 3 slt $t8, $t1, $a1 # er v[i] < k? 4 bne $t8, $zero, ins # hvis ja, saa hop til label ins 5 addi $t0, $t0, 4 # inkrementer pi 6 j find # undersoeg naeste element i v 7 ins: sw $a1, 0($t0) # saet v[i] = k 8 shift: beq $t1, $zero, quit # hvis s (=v[i]) er 0, saa afslut 9 addi $t0, $t0, 4 # inkrementer pi 10 lw $t2, 0($t0) # t = v[i] = *pi 11 sw $t1, 0($t0) # v[i] = s 12 add $t1, $t2, $zero # s = t 13 j shift # til naeste element 14 quit: sw $zero, 4($t0) # v[i+1] = 0 15 jr $ra # afslut procedure

17 Vejledende løsning til skriftlig eksamen maj 2001 i Datalogi 1E side 16 af 17 Spørgsmål 4.3 (15 min.) Denne opgave omhandler implementation af betingede hop på den pipelinede datavej, som er beskrevet i Patterson & Hennessy kap. 6. a) Antag at hopbeslutninger bliver foretaget i MEM-fasen (se f.eks. fig. 6.30), samt at datavejen antager, at hoppet ikke bliver taget. Forklar kort men præcist hvad der sker på datavejen, når et hop ikke bliver taget og når et hop bliver taget. Hoppet bliver ikke taget: I dette tilfælde udføres ordrerne sekventielt og pipelinen kører med fuld hastighed. Hoppet bliver taget: Idet beslutningen om at hoppe foretages i MEM-fasen, er pipelinen begyndt at udføre de sekventielt efterfølgende ordrer. Disse tre ordrer må elimineres fra pipelinen, og herefter vil ordren på hop-adressen blive indlæst i den efterfølgende klokcyklus. b) Der indsættes nu en hop-forudsiger i datavejens ID-fase. Hop-forudsigeren eliminerer ikke den ordre, der samtidig indlæses i IF-fasen. Hvor mange klokcykler tager det nu at udføre et betinget hop i følgende fire situationer: Hoppet skal ikke tages og forudsigelsen var korrekt Hoppet skal ikke tages, men forudsigelsen var forkert Hoppet skal tages og forudsigelsen var korrekt Hoppet skal tages, men forudsigelsen var forkert Pipelinen kører med fuld hastighed og ingen ordrer bliver elimineret: 1 klokcyklus. Fejlen opdages ikke før ordren er kommet til MEM-fasen og alle efterfølgende ordrer i pipelinen undtagen ordren lige efter hopordren må elimineres, dvs. hoppet tager 3 klokcykler. Hop-forudsigelsen medfører, at ordren lige efter hoppet må elimineres (hviklet skyldes at hop-forudsigelsen foretages i ID-fasen): 2 klokcykler. Fejlen opdages ikke før ordren er kommet til MEM-fasen og alle efterfølgende ordrer i pipelinen må elimineres, dvs. hoppet tager 4 klokcykler.

18 Vejledende løsning til skriftlig eksamen maj 2001 i Datalogi 1E side 17 af 17

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

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

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

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 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

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 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. 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 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 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 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. 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

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

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

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

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

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

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

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

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

Åben uddannelse, Efterår 1996, Oversættere og køretidsomgivelser

Åben uddannelse, Efterår 1996, Oversættere og køretidsomgivelser 3/10/96 Seminaret den 26/10 vil omhandle den sidste fase af analysen og de første skridt i kodegenereringen. Det drejer sig om at finde betydningen af programmet, nu hvor leksikalsk og syntaktisk analyse

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

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

Eksamensopgaver i DM17, Januar 2003

Eksamensopgaver i DM17, Januar 2003 Eksamensopgaver i DM17, Januar 2003 Skriftlig Eksamen Automatteori og Beregnelighed (DM17) Institut for Matematik & Datalogi Syddansk Universitet Odense Universitet Lørdag, den 18. Januar 2003 Alle sædvanlige

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

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

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

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

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

Skriftlig Eksamen Beregnelighed (DM517)

Skriftlig Eksamen Beregnelighed (DM517) Skriftlig Eksamen Beregnelighed (DM517) Institut for Matematik & Datalogi Syddansk Universitet Torsdag den 1 November 212, kl. 1 14 Alle sædvanlige hjælpemidler (lærebøger, notater etc.) samt brug af computer

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

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

DATALOGI 1E. Vejledende løsninger til Skriftlig eksamen fredag d. 16. januar 2004 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

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

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

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

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

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

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

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

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

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

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

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

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

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 (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

Skriftlig Eksamen Algoritmer og sandsynlighed (DM538)

Skriftlig Eksamen Algoritmer og sandsynlighed (DM538) Skriftlig Eksamen Algoritmer og sandsynlighed (DM538) Institut for Matematik & Datalogi Syddansk Universitet Fredag den 9 Januar 2015, kl. 10 14 Alle sædvanlige hjælpemidler(lærebøger, notater etc.) samt

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

DM13-3. Obligatorisk opgave E.05 Håndoptimering af SPARC assembler-kode

DM13-3. Obligatorisk opgave E.05 Håndoptimering af SPARC assembler-kode - 3. Obligatorisk opgave E.05 Håndoptimering af SPARC assembler-kode Jacob Aae Mikkelsen - 191076 12. december 2005 1 Indhold 1 Opgave beskrivelse 2 2 Muligheder for optimering 2 2.1 efter branch.........................

Læs mere

Skriftlig eksamen i Datalogi

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

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

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

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

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

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

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

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

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

Danmarks Tekniske Universitet

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

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

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

Opskriv følgende funktioner efter stigende orden med hensyn til O-notationen: 7 n 1/ log n. (log n) 4 Eksamen august 00 Algoritmer og Datastrukturer (00-ordning) Side af sider Opgave (%) n er O(n )? n(log n) er O(n )? n n + (log n) er O(n )? n er O(n )? n er Ω( n )? Opgave (%) Opskriv følgende funktioner

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

DM13-1. Obligatoriske Opgave - Kredsløbs design

DM13-1. Obligatoriske Opgave - Kredsløbs design DM13-1. Obligatoriske Opgave - Kredsløbs design Jacob Christiansen moffe42@imada.sdu.dk Institut for MAtematik og DAtalogi, Syddansk Universitet, Odense 1. Opgaven Opgaven består i at designe et kredsløb,

Læs mere

Opskriv følgende funktioner efter stigende orden med hensyn til O-notationen: 23n log n. 4 n (log n) log n

Opskriv følgende funktioner efter stigende orden med hensyn til O-notationen: 23n log n. 4 n (log n) log n Eksamen. kvarter 00 Algoritmer og Datastrukturer (00-ordning) Side af sider Opgave (%) Ja Nej n er O(n )? n er O(n )? n er O(n + 0 n)? n + n er O(n )? n log n er Ω(n )? Opgave (%) Opskriv følgende funktioner

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

Skriftlig Eksamen Kombinatorik, sandsynlighed og randomiserede algoritmer (DM528)

Skriftlig Eksamen Kombinatorik, sandsynlighed og randomiserede algoritmer (DM528) Skriftlig Eksamen Kombinatorik, sandsynlighed og randomiserede algoritmer (DM58) Institut for Matematik & Datalogi Syddansk Universitet Torsdag den 7 Januar 010, kl. 9 13 Alle sædvanlige hjælpemidler (lærebøger,

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

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

Skriftlig eksamen, Programmer som Data 2. 3. januar 2014

Skriftlig eksamen, Programmer som Data 2. 3. januar 2014 Skriftlig eksamen, Programmer som Data 2. 3. januar 2014 Dette eksamenssæt har 5 sider. Tjek med det samme at du har alle siderne. Eksamenssættet udleveres elektronisk fra kursets hjemmeside torsdag 2.

Læs mere

Programmering. Det rent og skært nødvendige, det elementært nødvendige! Morten Dam Jørgensen

Programmering. Det rent og skært nødvendige, det elementært nødvendige! Morten Dam Jørgensen Programmering Det rent og skært nødvendige, det elementært nødvendige! Morten Dam Jørgensen Oversigt Undervisningen Hvad er programmering Hvordan er et program organiseret? Programmering og fysik Nobelprisen

Læs mere

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet Eksamen 005, F0 side af sider Danmarks Tekniske Universitet Skriftlig prøve, den 6. maj 00. Kursusnavn Algoritmik og datastrukturer I Kursus nr. 005. Tilladte hjælpemidler: Alle skriftlige hjælpemidler.

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

Computerarkitektur. - en introduktion til computerarkitektur med LINDA

Computerarkitektur. - en introduktion til computerarkitektur med LINDA Computerarkitektur - en introduktion til computerarkitektur med LINDA faraz@butt.dk Faraz Butt mads@danquah.dk Mads Danquah doktor@dyregod.dk Ulf Holm Nielsen Roskilde Universitetscenter Naturvidenskabelig

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 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

Rolf Fagerberg. Forår 2013

Rolf Fagerberg. Forår 2013 Forår 2013 Mål for i dag Dagens program: 1 2 3 4 5 6 Forudsætninger: DM536 og DM537 Timer: 50% forelæsninger, 50% øvelser Forudsætninger: DM536 og DM537 Eksamenform: Skriftlig eksamen: Timer: 50% forelæsninger,

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

Processoren: Enkelt-cyklus implementation

Processoren: Enkelt-cyklus implementation Processoren: Enkelt-cyklus implementation Martin Zachariasen, DIKU Litteratur: Patterson & Hennessy, afsnit 5.1 5.3 Historisk tilbageblik MIPS-arkitekturen/delmængde Klokning og byggeklodser Opbygning

Læs mere

Processoren: Fler-cyklus implementation

Processoren: Fler-cyklus implementation Processoren: Fler-cykls implementation artin Zachariasen, DIKU Litteratr: Patterson & Hennessy, afsnit 5.4 5. Ulemper ved enkelt-cykls maskinen Ændring til fler-cykls maskine Styresignaler Implementering

Læs mere

Målet for disse slides er at diskutere nogle metoder til at gemme og hente data effektivt.

Målet for disse slides er at diskutere nogle metoder til at gemme og hente data effektivt. Merging og hashing Mål Målet for disse slides er at diskutere nogle metoder til at gemme og hente data effektivt. Dette emne er et uddrag af kurset DM507 Algoritmer og datastrukturer (2. semester). Mål

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

Skriftlig Eksamen Algoritmer og Datastrukturer (dads)

Skriftlig Eksamen Algoritmer og Datastrukturer (dads) Skriftlig Eksamen Algoritmer og Datastrukturer (dads) Datalogisk Institut Aarhus Universitet Onsdag den. august 200, kl. 9.00.00 Opgave (25%) Lad A = A[] A[n] være et array af heltal. Længden af det længste

Læs mere

Rolf Fagerberg. Forår 2012

Rolf Fagerberg. Forår 2012 Forår 2012 Mål for i dag Dagens program: 1 2 3 4 5 6 Forudsætninger: DM502 og DM503 Timer: 50% forelæsninger, 50% øvelser Forudsætninger: DM502 og DM503 Eksamenform: Skriftlig eksamen: Timer: 50% forelæsninger,

Læs mere

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet side af 2 sider anmarks Tekniske Universitet Skriftlig prøve, den 23. maj 20. Kursusnavn: lgoritmer og datastrukturer Kursus nr. 02326. Varighed: 4 timer Tilladte hjælpemidler: lle skriftlige hjælpemidler.

Læs mere

DM507 Algoritmer og datastrukturer

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

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

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

Lærevejledning. - en introduktion til maskinarkitektur. faraz@butt.dk Faraz Butt mads@danquah.dk Mads Danquah doktor@dyregod.dk Ulf Holm Nielsen

Lærevejledning. - en introduktion til maskinarkitektur. faraz@butt.dk Faraz Butt mads@danquah.dk Mads Danquah doktor@dyregod.dk Ulf Holm Nielsen Lærevejledning - en introduktion til maskinarkitektur faraz@butt.dk Faraz Butt mads@danquah.dk Mads Danquah doktor@dyregod.dk Ulf Holm Nielsen Roskilde Universitetscenter Naturvidenskabelig Basisuddannelse

Læs mere

Programmering for begyndere Lektion 2. Opsamling mm

Programmering for begyndere Lektion 2. Opsamling mm Lektion 2 Opsamling mm God tone Der er indlagt spørge sessioner Lektion 2 - Agenda Programmering for Lidt ændringer til teknikken, herunder hvordan du genser en lektion Lidt generelle tilbagemeldinger

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

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

BILAG. til. Kommissionens delegerede forordning

BILAG. til. Kommissionens delegerede forordning EUROPA- KOMMISSIONEN Bruxelles, den 12.10.2015 C(2015) 6823 final ANNEX 1 PART 6/11 BILAG til Kommissionens delegerede forordning om ændring af Rådets forordning (EF) nr. 428/2009 om en fællesskabsordning

Læs mere

DM507 Algoritmer og datastrukturer

DM507 Algoritmer og datastrukturer DM507 Algoritmer og datastrukturer Forår 2012 Projekt, del II Institut for matematik og datalogi Syddansk Universitet 15. marts, 2012 Dette projekt udleveres i tre dele. Hver del har sin deadline, således

Læs mere

LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wparam, LPARAM lparam) { int wmid, wmevent; programmering med

LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wparam, LPARAM lparam) { int wmid, wmevent; programmering med LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wparam, LPARAM lparam) int wmid, wmevent; PAINTSTRUCT Introduktion ps; til HDC hdc; programmering med switch (message) case WM_COMMAND: wmid = LOWORD(wParam);

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