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

Størrelse: px
Starte visningen fra side:

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

Transkript

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

2 1 Simpel aritmetik på maskinniveau I SCO, appendix A, er det beskrevet, hvordan man adderer ikke-negative heltal repræsenteret i det binære talsystem. I SCO, afsnit 3.2.3, er det forklaret hvordan en aritmetisk logisk enhed kan udføre binær addition. Vi skal se, hvordan denne binære addition både kan benyttes til at lave addition og subtraktion af ikke-negative heltal og til addition og subtraktion af heltal. Samtidig skal vi se, hvordan disse operationer benyttes i et højniveausprog, som f.eks. C, til at lave addition og subtraktion på simple heltallige værdier. 1.1 Konvertering imellem ikke-negative heltal og heltal Betragt følgende C-program: #include <stdio.h> #define printint16(i) printf("i = %hd \n", i) #define printuint16(ui) printf("ui = %hu \n", ui) typedef short int INT16 ; typedef unsigned short int UINT16 ; int main() { INT16 i; UINT16 ui; } i = 5; ui = i; printint16(i); printuint16(ui); i = -3; ui = i; printint16(i); printuint16(ui); ui = 65526; i = ui; printint16(i); printuint16(ui); Variable af typen INT16 har værdier som ligger i I 16 = [ 2 15, ] mens variable af typen UINT16 har værdier i UI 16 = [ 0, ]. Dette gælder i hvert fald hvis der benyttes 2-komplement repræsentation af heltal og der bruges 16 bit til variable af typen short int. 1

3 En kørsel af programmet gav: i = 5 ui = 5 i = -3 ui = i = -10 ui = At de to først udskrevne værdier er identiske kan vel ikke undre. Sådan skulle det gerne være. Værdien 5 ligger jo i begge værdiområder. Men for de fire sidst udskrevne værdier kræves vist en forklaring. Værdien -3 ligger jo ikke i UI 16, så hvordan får ui så værdien ved tildelingen ui = i? Vi ved fra forrige afsnit, at værdien -3 repræsenteres i variablen i med et bitmønster W B 16 så der gælder: 3 = W 2 = W 2 16 dvs. W = = = Så noget kunne jo tyde på, at de 16 bit som repræsenterer værdien -3 i variablen i blot er kopieret fra i over i ui ved tildelingssætningen; det er de to forskellige fortolkninger af bitmønstret W, som giver de to forskellige resultater i udskriften. Denne antagelse om hvad der foregår passer også med de to sidste udskrifter: 10 = W 2 = W 2 16 = Nu kan det være lidt besværligt at tænke i bitmønstre, når vi i almindelighed skal finde en sammenhæng imellem de to fortolkninger. I stedet kan vi indføre følgende simple afbildninger UINT N : I N UI N og INT N : UI N I N idet i I N, ui UI N : { i når i 0 UINT N (i) = i + 2 N når i < 0 og { ui når ui < 2 N 1 INT N (ui) = ui 2 N når ui 2 N 1 Med disse afbildninger kan vi simpelt beskrive hvad der sker ved tildelingssætningerne i C-programmet: UINT 16 ( 3) = = og INT 16 (65526) = = Addition og subtraktion af ikke-negative heltal Når den aritmetiske enhed udfører addition (f.eks. når IJVM udfører ordren iadd med to bitmønstre af længde 32 som operander) sker det som binær addition af de binære cifre i de to operander; de enkelte binære cifre adderes med menteoverføring fra de mindst betydende cifre til de mest betydende cifre. En eventuel mente fra additionen af de mest betydende cifre ses der bort fra. Dette kan udtrykkes som en afbildning add : B N B N B N. F.eks. således i B 5 : 2

4 add(01000, 00110) = add(01011, 10110) = add(10011, 11000) = add(11111, 11111) = add(01100, 01000) = En konkret implementation af denne afbildning ved hjælp af digitale komponenter i den aritmetisk logiske enhed kan ses i SCO, figur 3-20 og I figur 3-18 redegøres der for, at resultatet af en beregning i det kombinatoriske kredsløb i (b) netop svarer til den lille additionstabel for binær addition, (a) i figuren. I figur 3-20 er det to 8 bit operander A = A 7... A 0 og B = B 7... B 0. Resultatet O = O 7... O 0 er altså det bitmønster som kommer ud af afbildningen add(a, B) vel at mærke hvis INC = 0 (INC er menten ind i den mindst betydende bitposition). Kalder vi menten fra den mest betydende bitposition for C N ( Carry; optræder som C bit i Program Status Word (PSW) på de fleste maskiner, SCO, s. 310) fås generelt, at afbildningen add opfylder: add(w 1, W 2 ) + C N 2 N = W 1 + W 2 Dette slutter vi ud fra strukturen i figur 3-20 og korrektheden af den enkelte ciffervise addition forklaret i figur Vi kan også skrive sammenhængen imellem en ikke-negativ heltalsfortolkning af bitmønstrene add(w 1, W 2 ), W 1 og W 2 således: { W1 + W add(w 1, W 2 ) = 2 når C N = 0 W 1 + W 2 2 N når C N = 1 eller add (W 1, W 2 ) = ( W 1 + W 2 ) mod 2 N Hvis der ikke er mente, altså hvis C N = 0, gælder der jo: add (W 1, W 2 ) = W 1 + W 2 Dvs. resultatet er korrekt betragtet som addition i de ikke-negative heltal UI N. Hvis der derimod optræder en mente, er resultatet større end 2 N 1 altså udenfor værdiområdet for UI N og vil derfor ikke kunne repræsenteres med N bit ved afbildningen 1. I denne situation taler vi om overløb m.h.t. UI N. Når der er overløb, er resultatet altså ikke korrekt, men de N bit som fås ved add(w 1, W 2 ) er dog korrekte i den forstand, at de svarer til de mindst betydende N bit af de N + 1 bit der ved overløb skal til for at repræsenterer summen W 1 + W 2. Når vi udfører addition på elementer i UI N kan vi altså risikere at ryge ud af værdiområdet. Vi skal nu undersøge hvordan dette viser sig i følgende C-program: 3

5 #include <stdio.h> #define printuint16(ui) printf("ui = %hu \n", ui) typedef unsigned short int UINT16 ; int main() { UINT16 max = 65535; UINT16 ui, ui1, ui2; } // Addition ui1=32000; ui2=32000; ui = ui1 + ui2; printuint16(ui); ui1=64000; ui2=64000; ui = ui1 + ui2; printuint16(ui); ui1=max; ui2=1; ui = ui1 + ui2; printuint16(ui); // Subtraction ui1=45; ui2=27; ui = ui1 - ui2; printuint16(ui); ui1=7; ui2=10; ui = ui1 - ui2; printuint16(ui); ui1=0; ui2=1; ui = ui1 - ui2; printuint16(ui); Resultatet af en kørsel blev: ui = ui = ui = 0 ui = 18 ui = ui = Første resultat er jo i UI 16, så det er godt nok. Den anden addition skulle jo give , men giver Det rigtige resultat kan skrives som = = Dette stemmer med, at vi i denne situation får 4

6 smidt menten væk og resultatet er altså korrekt på nær menten. Og max + 1 skulle jo give 65536, men resultatet er 0. Der startes simpelthen forfra ved 0, når vi lægger en til det bitmønster som repræsenterer det største tal i UI 16. En slags binær kilometertæller. Addition i UI N, afbildningen add UI : UI N UI N UI N, udføres altså som binær addition i den aritmetisk logiske enhed på de to bitmønstre som repræsenterer de to aktuelle operandværdier ui 1 og ui 2. Dette giver os følgende udtryk for addition af ikke-negative heltal: { ui1 + ui add UI (ui 1, ui 2 ) = 2 når ui 1 + ui 2 < 2 N ui 1 + ui 2 2 N når ui 1 + ui 2 2 N eller add UI (ui 1, ui 2 ) = (ui 1 + ui 2 ) mod 2 N Læg også mærke til, at man ikke får noget at vide om, at der har været overløb undervejs ved kørslen af C-programmet. Ved subtraktion fås det rigtige resultat, når dette er i værdiområdet. Et eksempel ses i den første subtraktion i C-programmet. Hvis resultatet derimod ikke er i værdiområdet er resultatet forkert. F.eks. er dette tilfældet i udregningen 7-10 = -3, hvor resultatet i udskriften er et stort heltal Nu ved vi jo fra tidligere, at dette netop er ikke-negativ heltalsfortolkningen af det bitmønster som repræsenterer -3. I denne situation ser det altså ud som om subtraktionen foregår ved at vi får lov til at låne 2 16 = 65536, altså i almindelighed: { ui1 ui sub UI (ui 1, ui 2 ) = 2 når ui 1 ui 2 2 N + ui 1 ui 2 når ui 1 < ui 2 eller sub UI (ui 1, ui 2 ) = (ui 1 + (2 N ui 2 )) mod 2 N Den subtraktion, der foregår, kan således forstås ud fra addition af ikke-negative heltal, nemlig denne addition: sub UI (ui 1, ui 2 ) = add UI (ui 1, (2 N ui 2 )) Dette viser, at subtraktion kan udføres ved hjælp af den tidligere definerede addition, hvis vi vel at mærke først udregner 2 N ui 2. Nu er dette igen en subtraktion, så det ser ud som om vi alligevel ikke slipper for at skulle lave en subtraktion. Men netop denne specielle subtraktion 2 N ui kan klares simpelt uden subtraktion: 2 N ui = ui + 1 hvor ui er det heltal man får ved at se på bitmønstret for ui, dvs. ui 1, danne bitvis komplement af dette og så fortolke dette som et ikke-negativt heltal. Resultatet fås ud fra den relation vi udledte i forrige afsnit: som her kan udtrykkes således: W + W = 2 N 1 ui + ui = 2 N 1 Heraf fås: sub UI (ui 1, ui 2 ) = add UI (ui 1, add UI (ui 2, 1)) 5

7 Det er netop sådan den aritmetisk logiske enhed i SCO udfører subtraktion: Bitmønstret for den ene operand adderes binært til det bitkomplementerede bitmønster for den anden operand, der lægges 1 til ved at lade menten ind i den mindst betydende bit være 1 (INC = 1 i figur 3-20). Den sidste subtraktion i C-programmet passer også med denne beskrivelse: Alt ialt har vi altså fundet at: sub UI (0, 1) = add UI (0, add UI (1, 1)) = add UI (0, add UI (2 16 2, 1)) = add UI (0, ) = = sub UI (ui 1, ui 2 ) = add UI (ui 1, add UI (ui 2, 1)) = { ui1 ui 2 når ui 1 ui 2 2 N + ui 1 ui 2 når ui 1 < ui 2 Dette viser, at subtraktion giver det korrekte resultat, når resultatet er i værdiområdet og at subtraktion kan udføres ved hjælp af bitkomplementering og addition. Bemærk, at vi heller ikke ved subtraktion får at vide om der har været overløb undervejs ved kørslen af programmet. 1.3 Addition og subtraktion af heltal Betragt C-programmet: #include <stdio.h> #define printint16(i) printf("i = %hd \n", i) typedef short int INT16 ; int main() { INT16 maxpos = 32767; INT16 minneg = ; INT16 i, i1, i2; i1=5; i2=7; i = i1 + i2; printint16(i); i1=32000; i2=32000; i = i1 + i2; printint16(i); i1=maxpos; i2=1; i = i1 + i2; printint16(i); 6

8 } i1=45; i2=27; i = i1 - i2; printint16(i); i1=-32000; i2=32000; i = i1 - i2; printint16(i); i1=minneg; i2=1; i = i1 - i2; printint16(i); og resultatet af en kørsel: i = 12 i = i = i = 18 i = 1536 i = Igen er resultaterne korrekte sålænge de er i værdiområdet for de heltallige variable, her I 16. Når resultatet er udenfor værdiområdet [-32768, 32767] er det tydeligvis ikke korrekt. Ser man i den genererede symbolske maskinkode (f.eks. til en SPARC), så kan man se, at udregningen af i1 + i2 = faktisk bliver udført af samme ordre som blev brugt i det forrige C-program til at udføre ui1 + ui2 = Der blev resultatet jo korrekt udregnet til Fortolker vi bitmønstret for som et tal i I 16 får vi: INT 16 (64000) = = 1536 altså netop den udskrevne værdi i anden linie. Addition af heltal i et C-program, altså afbildningen add I : I N I N I N, kan derfor udtrykkes således: add I (i 1, i 2 ) = INT N (add UI (UINT (i 1 ), UINT (i 2 ))) De to operander i 1 og i 2 opfattes som ikke-negative heltal, dernæst adderes disse som bitmønstre i den aritmetisk logiske enhed, og endelig fortolkes resultatet som et 2-komplement repræsenteret heltal. Men hvad har nu dette med det resultat at gøre som vi ønsker, altså i 1 + i 2? Og hvornår er der overløb i denne beregning? For at finde ud af det skal vi først bemærke, at der gælder følgende for i I N : UINT (i) = i mod 2 N Dette fås simpelt ud fra definitionen af UINT. Bruges dette fås: add I (i 1, i 2 ) = INT N (add UI (i 1 mod 2 N, i 2 mod 2 N )) = INT N ((i 1 mod 2 N + i 2 mod 2 N ) mod 2 N ) = INT N ((i 1 + i 2 ) mod 2 N ) = INT N { i1 + i 2 når 0 i 1 + i 2 i 1 + i N når i 1 + i 2 < 0 7

9 Benyttes definitionen for INT N på de to tilfælde fås: i 1 + i 2 når 0 i 1 + i 2 < 2 N 1 i add I (i 1, i 2 ) = 1 + i 2 2 N når 2 N 1 i 1 + i 2 < 2 N i 1 + i N når 2 N < i 1 + i 2 < 2 N 1 i 1 + i 2 når 2 N 1 i 1 + i 2 < 0 Resultatet er altså korrekt, når i 1 +i 2 I N. Hvis vi derimod falder udenfor værdiområdet bliver resultatet forkert. Dette kaldes også her for overløb. Overløb kan forekomme på to måder: 1. summen af to positive tal i 1 og i 2 er større end 2 N 1 1, i denne situation bliver resultatet af beregningen i 1 + i 2 2 N, altså et negativt tal, som jo oplagt er forkert; 2. summen af to negative tal bliver mindre end 2 N 1, i denne situation bliver resultatet i 1 + i N, altså et positivt tal, igen oplagt forkert. I begge de to overløbssituationer er resultatet altså forkert, men vi får dog den korrekte restklasse mod 2 N. På lignende måde kan vi finde afbildningen sub I : I N I N I N ud fra sub UI : sub I (i 1, i 2 ) = INT N (sub UI (UINT N (i 1 ), UINT (i 2 ))) = INT N (sub UI (i 1 mod 2 N, i 2 mod 2 N )) = INT N ((i 1 mod 2 N + 2 N i 2 mod 2 N ) mod 2 N ) = INT N ((i 1 i 2 ) mod 2 N ) { i1 i = INT 2 når 0 i 1 i 2 N i 1 i N når i 1 i 2 < 0 i 1 i 2 når 0 i 1 i 2 < 2 N 1 i = 1 i 2 2 N når 2 N 1 i 1 i 2 < 2 N i 1 i N når 2 N < i 1 i 2 < 2 N 1 i 1 i 2 når 2 N 1 i 1 i 2 < 0 Igen er resultatet korrekt, når det er i værdiområdet. Og igen kan overløb forekomme på to måder. Addition og subtraktion af heltal kan altså foregå med de samme maskinordre, som blev benyttet ved de tilsvarende regneoperationer i de ikke-negative heltal. Der er imidlertid forskel m.h.t. hvilke situationer, der betragtes som overløb giver ikke overløb i UI N, mens det giver overløb i I N giver overløb i UI N men ikke i I N. Ønsker man i et program at kunne kontrollere om der har været overløb m.h.t. UI N kan man i et maskinprogram efter udførelsen af en regneoperation undersøge indholdet af PSW og kontrollere bit C. Overløb m.h.t. I N kontrolleres ved at se på bit V (overflow), SCO, s

10 1.4 Relationer Vi skal nu se på, hvordan man udregner relationer imellem heltal på maskinniveau f.eks. en relationen som x < y, hvor de to operander er 32 bit 2- komplement repræsenterede heltal, som vi kender det fra elementerne på stakken på IJVM. Umiddelbart kunne vi jo forsøge os med: iload x iload y isub // stack = x - y, x - y < 0 => x < y iflt else Sådan bliver det jo blevet gjort i darkos-e02-nr.2 i metoden gcd. Der er vi i den situation, at de to operander er antaget at være positive. Og så går det godt. Der kan jo ikke optræde overløb i subtraktionen i den situation. Men i almindelighed kan der jo optræde overløb og hvad sker der så? Ja, så kan resultatet blive forkert. Betragt f.eks. x = og y = -10. Så er resultatet jo x - y = Da værdiområdet for 32 bit heltal er [ , ] vil staktoppen altså i dette tilfælde ikke rumme det rigtige resultat, men i stedet vil vi få et bitmønster, som vil blive fortolket som negativt i iflt. Dette fører til, at x fejlagtigt betragtes som mindre end y. Vi kan altså ikke klare os med den simple programstump ovenfor. Problemet er at vi lidt sløset har skrevet stack = x - y i stedet for stack = sub(x,y) og vi har ikke taget stilling til hvad der skal ske ved overløb. Hvad skal vi stille op med dette problem? En mulighed er at undersøge fortegn for de to operander og så bruge dette til at afgøre forholdet imellem de to operander i de tilfælde, hvor isub kan føre til overløb. På den måde kan man sikre sig, at man kun udføre subtraktion, når der ikke kan forekomme overløb. Det bliver imidlertid ret omfattende at tage hånd om overløb eksplicit på denne måde. På JVM er der da også ordrer, som klarer heltalsrelationerne direkte, f.eks. vil ordren if icmplt sammenligne de to værdier øverst på stakken med relationsoperatoren <. På de fleste maskiner er der sådanne ordrer. 9

11 Opgaver Opgave 2.1 Få definitionen af INT N og UINT N til at passe med: fra afsnit 1. Opgave 2.2 Betragt W 2 = W w N 1 2 N add(01000, 00110) = add(01011, 10110) = add(10011, 11000) = add(11111, 11111) = add(01100, 01000) = i B 5. Kontroller at add (W 1, W 2 ) = ( W 1 + W 2 ) mod 2 N gælder i eksemplerne. Hvor optræder der overløb m.h.t. UI 5? Opgave 2.3 Betragt igen add(01000, 00110) = add(01011, 10110) = add(10011, 11000) = add(11111, 11111) = add(01100, 01000) = i B 5. Kontroller at add (W 1, W 2 ) 2 mod 2 N = ( W W 2 2 ) mod 2 N gælder i eksemplerne. I hvilke af eksemplerne er der overløb m.h.t. I 5? Få eksemplerne til at passe med analysen af overløb. Opgave 2.4 Når vi udfører binær subtraktion sker det f.eks. således: Vi låner altså 2 5 = 32 i det første eksempel. Generelt fås: { W1 W sub (W 1, W 2 ) = 2, når W 1 W 2 2 N + W 1 W 2, når W 1 < W 2 Få formlen til at passe med de to eksempler i B 5 ovenfor. 10

12 Opgave 2.5 Betragt to simple heltalsvariable i og j i et symbolsk IJVM program. Vi refererer til dem ved hjælp af navnene i og j f.eks. således iload i. Beskriv, hvordan de seks relationsoperatorer <, <=, >, >=, = og kan udregnes på IJVM anvendt på i og j. Man kan f.eks. vise, hvordan C-sætningen: if ( i relationsoperator j ) S_1 else S_2 programmeres på IJVM for de seks relationsoperatorer. Prøv bare for en af dem at tage højde for overløb. Det er godt nok besværligt, men prøv alligevel. 11

dcomnet-nr. 6 Talrepræsentation Computere og Netværk (dcomnet)

dcomnet-nr. 6 Talrepræsentation Computere og Netværk (dcomnet) dcomnet-nr. 6 Talrepræsentation Computere og Netværk (dcomnet) Efterår 2009 1 Talrepræsentation På maskinkodeniveau (Instruction Set Architecture Level) repræsenteres ordrer og operander ved bitfølger

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

Eksamen dcomnet Q2/2010. Navn

Eksamen dcomnet Q2/2010. Navn 2582 Eksamen dcomnet Q2/2010 ID Navn Example I A32-prg1 Betragt følgende program skrevet i IA-32 symbolsk maskinsprog:.section.data x:.long 2 r:.long 27.section.text.globl _start _start: pushl x movl $0,%ebx

Læs mere

Maskinarkitektur. Lars Kristensen kris@daimi.au.dk. Christian Storm cstorm@daimi.au.dk. dmasark 1

Maskinarkitektur. Lars Kristensen kris@daimi.au.dk. Christian Storm cstorm@daimi.au.dk. dmasark 1 Maskinarkitektur Lars Kristensen kris@daimi.au.dk Christian Storm cstorm@daimi.au.dk dmasark 1 Praktiske oplysninger http://www.daimi.au.dk/dmasark dmasark 2 Forelæsninger Tirsdag 12.15-14.00, Store Aud,

Læs mere

Computere og Netværk (dcomnet)

Computere og Netværk (dcomnet) Computere og Netværk (dcomnet) http://www.cs.au.dk/dcomnet Jens Kargaard Madsen (jkm@iha.dk) Jens Bennedsen (jbb@iha.dk) dcomnet 1 Computere og netværk Beskrivelse At give den studerende kendskab til computere

Læs mere

Det Digitale Niveau. Niels Olof Bouvin Institut for Datalogi Aarhus Universitet

Det Digitale Niveau. Niels Olof Bouvin Institut for Datalogi Aarhus Universitet Det Digitale Niveau Niels Olof Bouvin Institut for Datalogi Aarhus Universitet Level : Det digitale niveau Level 5 Problem-oriented language level Translation (compiler) Level 4 Assembly language level

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

Niveauer af abstrakte maskiner

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

Læs mere

Computerarkitektur Eksamen 2014Q3. Niels Olof Bouvin. Studienummer Navn

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

Læs mere

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

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

Programmering i C. Lektion 4. 5. december 2008

Programmering i C. Lektion 4. 5. december 2008 Programmering i C Lektion 4 5. december 2008 Funktioner Eksempel Fra sidst 1 Funktioner 2 Eksempel Funktioner Eksempel Eksempel: 1 / f u n k t i o n s p r o t o t y p e r / i n t i n d l a e s ( void )

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

Programmering i C Intro og grundlæggende C 5. marts 2007

Programmering i C Intro og grundlæggende C 5. marts 2007 Programmering i C Intro og grundlæggende C 5. marts 2007 Mads Pedersen, OZ6HR mads@oz6hr.dk Plan for kurset Ma. 5/3: Ma. 19/3: Ma. 2/4: To. 12/4: Formål, intro, grundlæggende Videre, sprogkonstruktioner

Læs mere

Talsystemer I V X L C D M 1 5 10 50 100 500 1000. Hvad betyder halvanden??. Kan man også sige Halvtredie???

Talsystemer I V X L C D M 1 5 10 50 100 500 1000. Hvad betyder halvanden??. Kan man også sige Halvtredie??? Romertal. Hvordan var de struktureret?? Systematisk?? I V X L C D M 1 5 10 50 100 500 1000 Regler: Hvis et lille tal skrives foran et stort tal trækkes tallet fra: IV = 5-1 = 4 Hvis et lille tal skrives

Læs mere

Det binære talsystem og lidt om, hvordan computeren virker

Det binære talsystem og lidt om, hvordan computeren virker Det binære talsystem og lidt om, hvordan computeren virker Det binære talsystem...2 Lidt om, hvorledes computeren anvender det binære talsystem...5 Lyst til at lege med de binære tal?...7 Addition:...7

Læs mere

Noter til Perspektiver i Matematikken

Noter til Perspektiver i Matematikken Noter til Perspektiver i Matematikken Henrik Stetkær 25. august 2003 1 Indledning I dette kursus (Perspektiver i Matematikken) skal vi studere de hele tal og deres egenskaber. Vi lader Z betegne mængden

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

Mikroprogrammering. Niels Olof Bouvin Institut for Datalogi Aarhus Universitet

Mikroprogrammering. Niels Olof Bouvin Institut for Datalogi Aarhus Universitet Mikroprogrammering Niels Olof Bouvin Institut for Datalogi Aarhus Universitet Oversigt Mikroprogrammering: IJVM implementeret på Mic-1 Forbedringer af Mic-1 Metode til udvikling af symbolske maskinsprogsprogrammer

Læs mere

Boolesk Algebra og det binære talsystem - temahæfte informatik. Oprindelse.

Boolesk Algebra og det binære talsystem - temahæfte informatik. Oprindelse. Boolesk Algebra og det binære talsystem - temahæfte informatik. I dette hæfte arbejdes der med to-tals systemet og logiske udtryk. Vi oplever at de almindelige regneregler også gælder her, og vi prøver

Læs mere

Algebra - Teori og problemløsning

Algebra - Teori og problemløsning Algebra - Teori og problemløsning, januar 05, Kirsten Rosenkilde. Algebra - Teori og problemløsning Kapitel -3 giver en grundlæggende introduktion til at omskrive udtryk, faktorisere og løse ligningssystemer.

Læs mere

Mikroarkitektur. Niels Olof Bouvin Institut for Datalogi Aarhus Universitet

Mikroarkitektur. Niels Olof Bouvin Institut for Datalogi Aarhus Universitet Mikroarkitektur Niels Olof Bouvin Institut for Datalogi Aarhus Universitet 1 Level 1: Mikrokode niveauet Level 5 Problem-oriented language level Translation (compiler) Level 4 Assembly language level Translation

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

JavaScript. nedarvning.

JavaScript. nedarvning. JavaScript er et sprog, der kan give en hjemmeside mere funktionalitet og gøre den interaktiv, så den reagerer på læsernes handlinger. CGI (Common Gateway Interface) har hidtil været de protokoller, man

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

Eksempel: Skat i år 2000

Eksempel: Skat i år 2000 Kursus 02199: Programmering afsnit 2.1-2.7 Anne Haxthausen IMM, DTU 1. Værdier og typer (bl.a. char, boolean, int, double) (afsnit 2.4) 2. Variable og konstanter (afsnit 2.3) 3. Sætninger (bl.a. assignments)

Læs mere

uprocessorens hardware

uprocessorens hardware uprocessorens hardware 8080 Architecture Kernen i en processor er ALUen. Det er den som kan udfører simple regne operationer. De tal den arbejdermed gemmes i en række registre. Når et tal skal hentes eller

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

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

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

Negative cifre n. I et positionssystem skriver man et tal på formen xn a + xn 1a

Negative cifre n. I et positionssystem skriver man et tal på formen xn a + xn 1a Af Peter Harremoës, Herlev Gymnasium Indledning De fleste lærebogssystemer til brug i gymnasiet eller HF indeholder et afsnit om vort positionssystem. Det bliver gerne fremstillet som noget af det mest

Læs mere

De rigtige reelle tal

De rigtige reelle tal De rigtige reelle tal Frank Villa 17. januar 2014 Dette dokument er en del af MatBog.dk 2008-2012. IT Teaching Tools. ISBN-13: 978-87-92775-00-9. Se yderligere betingelser for brug her. Indhold 1 Introduktion

Læs mere

Introduktion til C programmering

Introduktion til C programmering Introduktion til C programmering Rasmus Erik Voel Jensen Uge 17 voel@math.ku.dk Dagens forelæsning Formalia Indledende programmering, main, include, printf, variable, scanf, if-else, statements, eksempler

Læs mere

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

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

Læs mere

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

APPENDIX A INTRODUKTION TIL DERIVE

APPENDIX A INTRODUKTION TIL DERIVE APPENDIX A INTRODUKTION TIL DERIVE z x y z=exp( x^2 0.5y^2) CAS er en fællesbetegnelse for matematikprogrammer, som foruden numeriske beregninger også kan regne med symboler og formler. Det betyder: Computer

Læs mere

Talrækker. Aktivitet Emne Klassetrin Side

Talrækker. Aktivitet Emne Klassetrin Side VisiRegn ideer 3 Talrækker Inge B. Larsen ibl@dpu.dk INFA juli 2001 Indhold: Aktivitet Emne Klassetrin Side Vejledning til Talrækker 2-4 Elevaktiviteter til Talrækker 3.1 Talrækker (1) M-Æ 5-9 3.2 Hanoi-spillet

Læs mere

ITS MP 013. Talsystemer V009. Elevens navn. IT Skolen Boulevarden 19A-C 7100 Vejle Tel.:+45 76 42 62 44

ITS MP 013. Talsystemer V009. Elevens navn. IT Skolen Boulevarden 19A-C 7100 Vejle Tel.:+45 76 42 62 44 ITS MP 013 V009 Elevens navn IT Skolen Boulevarden 19A-C 7100 Vejle Tel.:+45 76 42 62 44 ITS MP 013 Udarbejdet af Søren Haahr, juni 2010 Copyright Enhver mangfoldiggørelse af tekst eller illustrationer

Læs mere

Niveauer af abstrakte maskiner

Niveauer af abstrakte maskiner Det digitale niveau Niveauer af abstrakte maskiner Digitale kredsløb Logiske tilstande: (- V), (2-5 V) Kombinatoriske kredsløb Logiske tilstande: (- V), (2-5 V) Registre Logiske tilstande: (- V), (2-5

Læs mere

Opgave: BOW Bowling. Rules of Bowling. danish. BOI 2015, dag 1. Tilgængelig hukommelse: 256 MB. 30.04.2015

Opgave: BOW Bowling. Rules of Bowling. danish. BOI 2015, dag 1. Tilgængelig hukommelse: 256 MB. 30.04.2015 Opgave: BOW Bowling danish BOI 0, dag. Tilgængelig hukommelse: 6 MB. 30.04.0 Byteasar er fan af både bowling og statistik. Han har nedskrevet resultaterne af et par tidligere bowling spil. Desværre er

Læs mere

Matematik, der afgør spil

Matematik, der afgør spil Artikeltype 47 Matematik, der afgør spil Sandsynlighedsregning vinder ofte. Kombinatorisk spilteori sejrer hver gang Mads Thrane Hvis du er træt af at tabe opvasketjansen i Sten Saks Papir eller Terning,

Læs mere

matematik Demo excel trin 2 bernitt-matematik.dk 1 excel 2 2007 by bernitt-matematik.dk

matematik Demo excel trin 2 bernitt-matematik.dk 1 excel 2 2007 by bernitt-matematik.dk matematik excel trin 2 bernitt-matematik.dk 1 excel 2 2007 by bernitt-matematik.dk matematik excel 2 1. udgave som E-bog 2007 by bernitt-matematik.dk Kopiering af denne bog er kun tilladt efter aftale

Læs mere

Det er en af de hyppigst forekommende udregninger i den elementære talbehandling at beregne gennemsnit eller middeltal af en række tal.

Det er en af de hyppigst forekommende udregninger i den elementære talbehandling at beregne gennemsnit eller middeltal af en række tal. Tre slags gennemsnit Allan C. Malmberg Det er en af de hyppigst forekommende udregninger i den elementære talbehandling at beregne gennemsnit eller middeltal af en række tal. For mange skoleelever indgår

Læs mere

Et alfabet er en ordnet mængde af bogstaver og andre tegn

Et alfabet er en ordnet mængde af bogstaver og andre tegn 16. Tegn og alfabet I dette kapitel studerer vi tegn. Tegn udgør grundbestanddelen i enhver form for tekstbehandling. I senere kapitler, nærmere betegnet kapitel 27 - kapitel 31, ser vi på sammensætningen

Læs mere

Tal. Vi mener, vi kender og kan bruge følgende talmængder: N : de positive hele tal, Z : de hele tal, Q: de rationale tal.

Tal. Vi mener, vi kender og kan bruge følgende talmængder: N : de positive hele tal, Z : de hele tal, Q: de rationale tal. 1 Tal Tal kan forekomme os nærmest at være selvfølgelige, umiddelbare og naturgivne. Men det er kun, fordi vi har vænnet os til dem. Som det vil fremgå af vores timer, har de mange overraskende egenskaber

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

Fagårsplan 12/13 Fag: Matematik Klasse: 3.A Lærer:LBJ Fagområde/ emne At regne i hovedet

Fagårsplan 12/13 Fag: Matematik Klasse: 3.A Lærer:LBJ Fagområde/ emne At regne i hovedet Fagårsplan 12/13 Fag: Matematik Klasse: 3.A Lærer:LBJ Fagområde/ emne At regne i hovedet penge Periode Mål Eleverne skal: Lære at anvende simpel hovedregning gennem leg og praktiske anvende addition og

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

It og informationssøgning Forelæsning 1 6. september 2006 Nils Andersen. Beregning på computer

It og informationssøgning Forelæsning 1 6. september 2006 Nils Andersen. Beregning på computer It og informationssøgning Forelæsning 1 6. september 2006 Nils Andersen Beregning på computer Begrebet data Universel computer Højere programmeringssprog Python Dialogdrift Fejl (syntaksf., udførelsesf.,

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

Hvad er matematik? C, i-bog ISBN 978 87 7066 499 8

Hvad er matematik? C, i-bog ISBN 978 87 7066 499 8 Et af de helt store videnskabelige projekter i 1700-tallets Danmark var kortlægningen af Danmark. Projektet blev varetaget af Det Kongelige Danske Videnskabernes Selskab og løb over en periode på et halvt

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

Teoretiske Øvelsesopgaver:

Teoretiske Øvelsesopgaver: Teoretiske Øvelsesopgaver: TØ-Opgave 1 Subtraktion division i legemer: Er subtraktion division med elementer 0 i legemer veldefinerede, eller kan et element b have mere end ét modsat element -b eller mere

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

(Positions) Talsystemer

(Positions) Talsystemer (Positions) Talsystemer For IT studerende Hernik Kressner Indholdsfortegnelse Indledning...2 Positions talsystem - Generelt...3 For decimalsystemet gælder generelt:...4 Generelt for et posistionstalsystem

Læs mere

Excel - begynderkursus

Excel - begynderkursus Excel - begynderkursus 1. Skriv dit navn som undertekst på et Excel-ark Det er vigtigt når man arbejder med PC er på skolen at man kan få skrevet sit navn på hver eneste side som undertekst.gå ind under

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

Vektorer og lineær regression. Peter Harremoës Niels Brock

Vektorer og lineær regression. Peter Harremoës Niels Brock Vektorer og lineær regression Peter Harremoës Niels Brock April 2013 1 Planproduktet Vi har set, at man kan gange en vektor med et tal. Et oplagt spørgsmål er, om man også kan gange to vektorer med hinanden.

Læs mere

Sammenlign og byt. Et eksempel på dokumentering af et program

Sammenlign og byt. Et eksempel på dokumentering af et program Sammenlign og byt Et eksempel på dokumentering af et program Sammenlign og byt Jeg har valgt, som et eksempel, at dokumentere et meget enkelt program som indlæser to tal, sammenligner dem og udskriver

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

Brøk Laboratorium. Varenummer 72 2459

Brøk Laboratorium. Varenummer 72 2459 Brøk Laboratorium Varenummer 72 2459 Leg og Lær om brøker Brøkbrikkerne i holderen giver brugeren mulighed for at sammenligne forskellige brøker. Brøkerne er illustreret af cirkelstykker som sammenlagt

Læs mere

Ligeværdige udtryk. Aktivitet Emne Klassetrin Side. Vejledning til Ligeværdige udtryk 2

Ligeværdige udtryk. Aktivitet Emne Klassetrin Side. Vejledning til Ligeværdige udtryk 2 VisiRegn ideer 4 Ligeværdige udtryk Inge B. Larsen ibl@dpu.dk INFA juli 2001 Indhold: Aktivitet Emne Klassetrin Side Vejledning til Ligeværdige udtryk 2 Elevaktiviteter til Ligeværdige udtryk 4.1 Ligeværdige

Læs mere

Matematisk modellering og numeriske metoder. Lektion 15

Matematisk modellering og numeriske metoder. Lektion 15 Matematisk modellering og numeriske metoder Lektion 15 Morten Grud Rasmussen 1. november, 2013 1 Numerisk analyse [Bogens afsnit 19.1 side 788] 1.1 Grundlæggende numerik Groft sagt handler numerisk analyse

Læs mere

UDKAST: Indeholder kun indtastning

UDKAST: Indeholder kun indtastning København d. dd. mmmmm yyyy Dokument: Måler modul manual.doc Manual vedrørende: IDAP manual Måler modul UDKAST: Indeholder kun indtastning Adresse: Århusgade 88, 4.sal 2100 København Ø Danmark Kontakt:

Læs mere

Komplekse tal og Kaos

Komplekse tal og Kaos Komplekse tal og Kaos Jon Sporring Datalogisk Institut ved Københavns Universitet Universitetsparken 1, 2100 København Ø August, 2006 1 Forord Denne opgave er tiltænkt gymnasiestuderende med matematik

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

Læringsprogram. Talkonvertering. Benjamin Andreas Olander Christiansen Niclas Larsen Jens Werner Nielsen. Klasse 2.4. 1.

Læringsprogram. Talkonvertering. Benjamin Andreas Olander Christiansen Niclas Larsen Jens Werner Nielsen. Klasse 2.4. 1. Læringsprogram Talkonvertering Benjamin Andreas Olander Christiansen Niclas Larsen Jens Werner Nielsen Klasse 2.4 1. marts 2011 Fag: Vejleder: Skole: Informationsteknologi B Karl G. Bjarnason Roskilde

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

Komplekse tal. Mikkel Stouby Petersen 27. februar 2013

Komplekse tal. Mikkel Stouby Petersen 27. februar 2013 Komplekse tal Mikkel Stouby Petersen 27. februar 2013 1 Motivationen Historien om de komplekse tal er i virkeligheden historien om at fjerne forhindringerne og gøre det umulige muligt. For at se det, vil

Læs mere

Systemkald DM14. 1. Obligatoriske opgave. Antal sider: 7 inkl. 2 bilag Afleveret: d. 18/3-2004 Afleveret af: Jacob Christiansen, 130282-2111

Systemkald DM14. 1. Obligatoriske opgave. Antal sider: 7 inkl. 2 bilag Afleveret: d. 18/3-2004 Afleveret af: Jacob Christiansen, 130282-2111 DM14 1. Obligatoriske opgave Systemkald Antal sider: 7 inkl. 2 bilag Afleveret: d. 18/3-2004 Afleveret af: Jacob Christiansen, 130282-2111 Side 1 af 5 Intro: Formålet med opgaven at et lave en system kald

Læs mere

CITIZEN TM CX-85. Strimmelregner. Instruktionsmanual

CITIZEN TM CX-85. Strimmelregner. Instruktionsmanual ITIZEN TM X-85 Strimmelregner Instruktionsmanual BESKRIVELSE AF TASTATUR OG KNAPPER... Slettetast (clear entry / clear) Anvendes til at slette et forkert indtastet beløb. Øvrige indhold af hukommelsen

Læs mere

TALTEORI Følger og den kinesiske restklassesætning.

TALTEORI Følger og den kinesiske restklassesætning. Følger og den kinesiske restklassesætning, december 2006, Kirsten Rosenkilde 1 TALTEORI Følger og den kinesiske restklassesætning Disse noter forudsætter et grundlæggende kendskab til talteori som man

Læs mere

Hashing og hashtabeller

Hashing og hashtabeller Datastrukturer & Algoritmer, Datalogi C Forelæsning 12/11-2002 Hashing og hashtabeller Teknik til at repræsentere mængder Konstant tid for finde og indsætte men ingen sortering af elementerne Specielt

Læs mere

Oprids over grundforløbet i matematik

Oprids over grundforløbet i matematik Oprids over grundforløbet i matematik Dette oprids er tænkt som en meget kort gennemgang af de vigtigste hovedpointer vi har gennemgået i grundforløbet i matematik. Det er en kombination af at repetere

Læs mere

Pentium IA-32 Maskinarkitekturen

Pentium IA-32 Maskinarkitekturen Pentium IA-32 Maskinarkitekturen 1 Historie (1) Starter i 1970 med udviklingen af Intel 4004: 2 Historie (2) Baglæns kompatibilitet tilbage til 8086. 3 Intel 4004 and Pentium 4 http://www.intel.com/museum/archives/index.htm

Læs mere

Interrupt - Arduino. Programmering for begyndere Brug af Arduino. Kursusaften 6 EDR Hillerød Knud Krogsgaard Jensen / OZ1QK

Interrupt - Arduino. Programmering for begyndere Brug af Arduino. Kursusaften 6 EDR Hillerød Knud Krogsgaard Jensen / OZ1QK Programmering for begyndere Brug af Arduino Programmeringskursus Interrupt - Arduino EDR Hillerød Knud Krogsgaard Jensen / OZ1QK Interrupts Programmeringskursus Genbrug Interrupts Betyder blot at man afbryder

Læs mere

Forslag til løsning af Opgaver til afsnittet om de naturlige tal (side 80)

Forslag til løsning af Opgaver til afsnittet om de naturlige tal (side 80) Forslag til løsning af Opgaver til afsnittet om de naturlige tal (side 80) Opgave 1 Vi skal tegne alle de linjestykker, der forbinder vilkårligt valgte punkter blandt de 4 punkter. Gennem forsøg finder

Læs mere

Omskrivningsregler. Frank Nasser. 10. december 2011

Omskrivningsregler. Frank Nasser. 10. december 2011 Omskrivningsregler Frank Nasser 10. december 2011 2008-2011. Dette dokument må kun anvendes til undervisning i klasser som abonnerer på MatBog.dk. Se yderligere betingelser for brug her. Indhold 1 Introduktion

Læs mere

SPSS introduktion Om at komme igang 1

SPSS introduktion Om at komme igang 1 SPSS introduktion Om at komme igang 1 af Henrik Lolle, oktober 2003 Indhold Indledning 1 Indgang til SPSS 2 Frekvenstabeller 3 Deskriptive statistikker gennemsnit, standardafvigelse, median osv. 4 Søjlediagrammer

Læs mere

Noget om en symmetrisk random walks tilbagevenden til udgangspunktet

Noget om en symmetrisk random walks tilbagevenden til udgangspunktet Random Walk-kursus 2014 Jørgen Larsen 14. oktober 2014 Noget om en symmetrisk random walks tilbagevenden til udgangspunktet Dette notat giver et bevis for at en symmetrisk random walk på Z eller Z 2 og

Læs mere

Hashing og hashtabeller

Hashing og hashtabeller Datastrukturer & Algoritmer, Datalogi C Forelæsning 16/11-2004 Hashing og hashtabeller Teknik til at repræsentere mængder Konstant tid for finde og indsætte men ingen sortering af elementerne Specielt

Læs mere

Et udtryk på formena n kaldes en potens med grundtal a og eksponent n. Vi vil kun betragte potenser hvor grundtallet er positivt, altså a>0.

Et udtryk på formena n kaldes en potens med grundtal a og eksponent n. Vi vil kun betragte potenser hvor grundtallet er positivt, altså a>0. Konkrete funktioner Potenser Som udgangspunkt er brugen af potenser blot en forkortelse for at gange et tal med sig selv et antal gange. Hvis a Rskriver vi a 2 for a a a 3 for a a a a 4 for a a a a (1).

Læs mere

ALMINDELIGT ANVENDTE FUNKTIONER

ALMINDELIGT ANVENDTE FUNKTIONER ALMINDELIGT ANVENDTE FUNKTIONER I dette kapitel gennemgås de almindelige regnefunktioner, samt en række af de mest nødvendige redigerings- og formateringsfunktioner. De øvrige redigerings- og formateringsfunktioner

Læs mere

Analoge indgange og A/D konvertering. Analoge udgange

Analoge indgange og A/D konvertering. Analoge udgange Programmering for begyndere Brug af Arduino Programmeringskursus Analoge indgange og A/D konvertering Analoge udgange Knud Krogsgaard Jensen OZ1QK Oversigt Oversigt over i aften: A/D konvertering iterations

Læs mere

Det vigtigste ved læring af subtraktion er, at eleverne

Det vigtigste ved læring af subtraktion er, at eleverne Introduktion Subtraktion er sammen med multiplikation de to sværeste regningsarter. Begge er begrebsmæssigt sværere end addition og division og begge er beregningsmæssigt sværere end addition. Subtraktion

Læs mere

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

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

Læs mere

Videregående Programmering for Diplom-E Noter

Videregående Programmering for Diplom-E Noter Videregående Programmering for Diplom-E Noter 1. Uddelegering Ét af de væsentlige principper i objektorienteret programmering er, at enhver klasse selv skal kunne "klare ærterne". Enhver klasse skal altså

Læs mere

Algoritmer og invarianter

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

Læs mere

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

Sandsynlighedsbaserede metoder

Sandsynlighedsbaserede metoder 48 Metodeartikel Sandsynlighedsbaserede metoder Et førstehåndsindtryk med pseudotilfældige tal Daniel Kjær For nogle uger siden pålagde jeg mig selv den opgave at aflevere to artikler til Famøs om Monte

Læs mere

4. Snittets kædebrøksfremstilling og dets konvergenter

4. Snittets kædebrøksfremstilling og dets konvergenter Dette er den fjerde af fem artikler under den fælles overskrift Studier på grundlag af programmet SKALAGENERATOREN (forfatter: Jørgen Erichsen) 4. Snittets kædebrøksfremstilling og dets konvergenter Vi

Læs mere

Grundliggende regning og talforståelse

Grundliggende regning og talforståelse Grundliggende regning og talforståelse De fire regnearter: Plus, minus, gange og division... 2 10-tals-systemet... 4 Afrunding af tal... 5 Regning med papir og blyant... 6 Store tal... 8 Negative tal...

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

Chapter 7: Transport-, assignment- & transshipmentproblemer

Chapter 7: Transport-, assignment- & transshipmentproblemer Chapter 7: Transport-, assignment- & transshipmentproblemer 1) Formulering af de 3 problemtyper 2) Algoritme for det balancerede transportproblem 3) Algoritme for assignmentproblemet Samtlige 3 problemtyper

Læs mere

Tallene angivet i rapporten som kronologiske punkter refererer til de i opgaven stillede spørgsmål.

Tallene angivet i rapporten som kronologiske punkter refererer til de i opgaven stillede spørgsmål. Labøvelse 2, fysik 2 Uge 47, Kalle, Max og Henriette Tallene angivet i rapporten som kronologiske punkter refererer til de i opgaven stillede spørgsmål. 1. Vi har to forskellige størrelser: a: en skive

Læs mere

SWC eksamens-spørgsmål. Oversigt

SWC eksamens-spørgsmål. Oversigt SWC eksamens-spørgsmål Oversigt #1 Typer og variable #2 Aritmetik og logik #3 Klasser (definition, objekter) #4 Klasser (metoder) #5 Klasser (nedarvning, polymorfi) #6 Conditional statements #7 Repetition

Læs mere

Niveauer af abstrakte maskiner

Niveauer af abstrakte maskiner Det digitale niveau Niveauer af abstrakte maskiner Mikroarkitektur: Mic-1 Digitale kredsløb Logiske tilstande: 0 (0-1 V), 1 (2-5 V) Mikroarkitektur: Mic-1 Kombinatoriske kredsløb Logiske tilstande: 0 (0-1

Læs mere

Grundlæggende Programmering ITU, Efterår 1999. Skriftlig eksamen i Grundlæggende Programmering

Grundlæggende Programmering ITU, Efterår 1999. Skriftlig eksamen i Grundlæggende Programmering Skriftlig eksamen i Grundlæggende Programmering ITU, 20. januar 2000 Alle hjælpemidler tilladt, dog ikke datamat. Eksamen er skriftlig, fire timer, og bedømmes efter 13-skalaen. Opgavesættet består af

Læs mere