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

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

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

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

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

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

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

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

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

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

Å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

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

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

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

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

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

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

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

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 Mandag den 7. juni 00, kl. 9 Alle sædvanlige hjælpemidler (lærebøger, notater, osv.)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Dat1E K1-1 - En pipelinet mikroarkitektur. Espen Højsgaard Rune Højsgaard Christian Iversen

Dat1E K1-1 - En pipelinet mikroarkitektur. Espen Højsgaard Rune Højsgaard Christian Iversen Dat1E K1-1 - En pipelinet mikroarkitektur Espen Højsgaard Rune Højsgaard Christian Iversen 1 Indhold Indhold 2 1 Sammenfatning 5 1.1 Ambitioner................................... 5 1.2 Resultat.....................................

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

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

DM507 Algoritmer og datastrukturer

DM507 Algoritmer og datastrukturer DM507 Algoritmer og datastrukturer Forår 2010 Projekt, del III Institut for matematik og datalogi Syddansk Universitet 24. april, 2010 (let justeret 10. maj og 21. maj 2010) Dette projekt udleveres i tre

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

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

Bits DM534. Rolf Fagerberg, 2012

Bits DM534. Rolf Fagerberg, 2012 Bits DM534 Rolf Fagerberg, 2012 Resume af sidst Overblik over kursus Introduktion. Tre pointer: Datalogi er menneskeskabt og dynamisk. Tidslinie over fremskridt mht. ideer og hardware. Algoritme er et

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

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

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

Læs mere

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet side af 3 sider anmarks Tekniske Universitet Skriftlig prøve, den 29. maj 203. ursusnavn: lgoritmer og datastrukturer ursus nr. 02326. jælpemidler: Skriftlige hjælpemidler. et er ikke tilladt at medbringe

Læs mere

DATALOGI 1F. Skriftlig eksamen tirsdag den 27. januar 2004

DATALOGI 1F. Skriftlig eksamen tirsdag den 27. januar 2004 Københavns Universitet Naturvidenskabelig Bachelorseksamen DATALOGI 1F Skriftlig eksamen tirsdag den 27. januar 2004 Opgaverne vægtes i forhold til tidsangivelsen, og hver opgaves besvarelse bedømmes som

Læs mere

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

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

Læs mere

Tilgang til data. To udbredte metoder for at tilgå data: Sekventiel tilgang Random access: tilgang via ID (også kaldet key, nøgle) for dataelementer.

Tilgang til data. To udbredte metoder for at tilgå data: Sekventiel tilgang Random access: tilgang via ID (også kaldet key, nøgle) for dataelementer. Merging og Hashing Tilgang til data To udbredte metoder for at tilgå data: Sekventiel tilgang Random access: tilgang via ID (også kaldet key, nøgle) for dataelementer. API for sekventiel tilgang (API =

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

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

Spilstrategier. 1 Vindermængde og tabermængde

Spilstrategier. 1 Vindermængde og tabermængde Spilstrategier De spiltyper vi skal se på her, er primært spil af følgende type: Spil der spilles af to spillere A og B som skiftes til at trække, A starter, og hvis man ikke kan trække har man tabt. Der

Læs mere

Koordinering. dopsys

Koordinering. dopsys Koordinering At indføre flertrådethed (1) når tråde tages i brug opstår typisk konflikter (et velkendt eksempel er errno ) 2 At indføre flertrådethed (2) en del konflikter kan afhjælpes med thread-local

Læs mere

Rolf Fagerberg. Forår 2015

Rolf Fagerberg. Forår 2015 Forår 2015 Dagens program 1 2 3 4 5 Underviser:, IMADA Forskningsområde: algoritmer og datastrukturer Underviser:, IMADA Forskningsområde: algoritmer og datastrukturer Deltagere: BA i Datalogi BA i Software

Læs mere

University of Southern Denmark Syddansk Universitet. DM502 Forelæsning 2

University of Southern Denmark Syddansk Universitet. DM502 Forelæsning 2 DM502 Forelæsning 2 Repetition Kompilere og køre Java program javac HelloWorld.java java HeloWorld.java Debugge Java program javac -g HelloWorld.java jswat Det basale Java program public class HelloWorld

Læs mere

Danmarks Tekniske Universitet

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

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 Tirsdag den 27. maj 2003, kl. 9.00 3.00 Opgave (25%) For konstanten π = 3.4592... gælder identiteten π 2 6 =

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

Opgave 1 (10%) I det følgende angiver log n 2-tals-logaritmen af n. Ja Nej. n+3n er O(2n)? n 6 er O(n 5 )? nlogn er O(n 2 /logn)? 4n 3 er O(3n 4 )?

Opgave 1 (10%) I det følgende angiver log n 2-tals-logaritmen af n. Ja Nej. n+3n er O(2n)? n 6 er O(n 5 )? nlogn er O(n 2 /logn)? 4n 3 er O(3n 4 )? Eksamen juni Algoritmer og Datastrukturer (-ordning) Side af sider Opgave (%) I det følgende angiver log n -tals-logaritmen af n. n+n er O(n)? n 6 er O(n )? nlogn er O(n /logn)? n er O(n )? n er O(n )?

Læs mere

Reeksamen i Diskret Matematik

Reeksamen i Diskret Matematik Reeksamen i Diskret Matematik Første Studieår ved Det Teknisk-Naturvidenskabelige Fakultet Torsdag den 9. august, 202. Kl. 9-3. Nærværende eksamenssæt består af 9 nummererede sider med ialt 2 opgaver.

Læs mere

Sommeren 2001, opgave 1

Sommeren 2001, opgave 1 Sommeren 2001, opgave 1 Vi antager at k 3, da det ellers er uklart hvordan trekanterne kan sættes sammen i en kreds. Vi ser nu at for hver trekant er der en knude i kredsen, og en spids. Derfor er n =

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

DM507 Algoritmer og datastrukturer

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

Læs mere

Introduktion til DM507

Introduktion til DM507 Introduktion til DM507 Rolf Fagerberg Forår 2017 1 / 20 Hvem er vi? Underviser: Rolf Fagerberg, IMADA Forskningsområde: algoritmer og datastrukturer 2 / 20 Hvem er vi? Underviser: Rolf Fagerberg, IMADA

Læs mere

Korteste veje i vægtede grafer. Længde af sti = sum af vægte af kanter på sti.

Korteste veje i vægtede grafer. Længde af sti = sum af vægte af kanter på sti. Korteste veje Korteste veje i vægtede grafer Længde af sti = sum af vægte af kanter på sti. Korteste veje i vægtede grafer Længde af sti = sum af vægte af kanter på sti. δ(u, v) = længden af en korteste

Læs mere

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet ksamen 036, side af sider anmarks Tekniske Universitet Skriftlig prøve, den 3. maj 0. Kursusnavn: lgoritmer og datastrukturer Kursus nr. 036. Varighed: timer Tilladte hjælpemidler: lle skriftlige hjælpemidler.

Læs mere

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet Eksamen 005, F 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:

Læs mere

Yderligere udvidelser af oversætter for Minimal

Yderligere udvidelser af oversætter for Minimal Yderligere udvidelser af oversætter for Minimal Karakteropgave på kurset Oversættere Vinter 2005 1 Introduktion Dette er den anden del af rapportopgaven på Oversættere, vinter 2005. Opgaven skal løses

Læs mere

Opgave 1 Regning med rest

Opgave 1 Regning med rest Den digitale signatur - anvendt talteori og kryptologi Opgave 1 Regning med rest Den positive rest, man får, når et helt tal a divideres med et naturligt tal n, betegnes rest(a,n ) Hvis r = rest(a,n) kan

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

Introduktion. Introduktion. Algoritmer og datastrukturer. Eksempel: Maksimalt tal

Introduktion. Introduktion. Algoritmer og datastrukturer. Eksempel: Maksimalt tal Philip Bille Algoritmer og datastrukturer Algoritmisk problem. Præcist defineret relation mellem input og output. Algoritme. Metode til at løse et algoritmisk problem. Beskrevet i diskrete og entydige

Læs mere

Løsning af simple Ligninger

Løsning af simple Ligninger Løsning af simple Ligninger Frank Nasser 19. april 2011 c 2008-2011. Dette dokument må kun anvendes til undervisning i klasser som abonnerer på MatBog.dk. Se yderligere betingelser for brug her. Bemærk:

Læs mere

Analyse af ombytningspuslespil

Analyse af ombytningspuslespil Analyse af ombytningspuslespil 1 / 7 Konkret eksempel på algoritmeanalyse Prøv ombytningspuslespillet på kurset webside. 2 / 7 Konkret eksempel på algoritmeanalyse Prøv ombytningspuslespillet på kurset

Læs mere