3 Algebraisk Specifikation af Abstrakte Datatyper.
|
|
|
- Anne Therkildsen
- 9 år siden
- Visninger:
Transkript
1 3 Algebraisk Specifikation af Abstrakte Datatyper. Specifikation kontra program. Bestanddele af en algebraisk specifikation. Klassificering af funktioner i en ADT. Systematisk definition af ligninger. Fejlhåndtering. 35
2 Specifikation i forhold til program. En specifikation af en abstrakt datatype udtrykker, hvad operationerne gør, snarere end hvordan. En specifikation af en abstrakt datatype tjener som et forlæg og en rettesnor for en mængde mulige implementationer af typen. Specifikationsteknikker: Algebraiske specifikationer. Specifikation af logiske udtryk. I den foregående forelæsning har vi introduceret ideen om abstrakte datatyper. På basis af disse ideer kan der gives konkrete bud på, hvordan vi beskriver abstrakte datatyper i forskellige programmeringssprog. Det er her, det programmeringssproglige begreb klasser kommer ind i billedet. Det vil vi bruge meget tid på lidt senere i kurset. Man kan også gå "i den modsatte retning". Givet ideen om abstrakte datatyper, kan vi bevæge os i den matematiske retning, og på et mere formelt grundlag beskrive egenskaber ved abstrakte datatyper. I denne forelæsning vil vi se på én sådan formalisme til specifikation af abstrakte datatyper; den såkaldte algebraiske specifikationsformalisme. Senere i kurset vil vi studere en anden specifikationsmetode, hvor logiske udsagn i begyndelsen og i slutningen af operationer angiver, hvad disse skal gøre. 36
3 Bestanddele af en algebraisk specifikation. Type Navn Functions Funktions-signaturer Axioms Ligninger Semantisk definition af funktioner: Ligninger, som udtrykker gensidige afhængigheder mellem funktionerne, typisk gennem brug af rekursion. Syntaktisk definition af funktioner: f: T1 x T2 x... Tn -> S funktionsnavn typer i definitions-mængden typen af værdi-mængden. I en algebraisk specifikation er operationerne alle funktioner. Dette udelukker altså operationer, som påvirker et objekt ved at ændre objektets tilstand. I den idealiserede verden, hvori specifikationer fungerer, er dette imidlertid ikke nogen begrænsning. Enhver ændring i tilstanden af et objekt (af en eller anden type) kan beskrives ved en funktion, der returnerer en modificeret kopi af objektet som resultat. Eksempel: Hvis vi specificerer en mængde (af heltal) vil man typisk i en implementation have en operation, der inkluderer et tal i mængden. Dette ændrer mængde-objektets tilstand. I en algebraisk specifikation tænker vi på denne operation som en funktion, der givet en mængde og et element returnerer en ny mængde som resultat. Vi vil i denne forelæsning vende tilbage til dette eksempel. 37
4 Eksempel: specifikation af naturlige tal. type Nat0 functions null: -> Nat0 succ: Nat0 -> Nat0 plus: Nat0 x Nat0 -> Nat0 leq: Nat0 x Nat0 -> Boolean axioms for all i, j in Nat0 plus (null(), j) = j plus(succ(i),j) = succ(plus(i, j)) leq(null(), j) = true leq(succ(i), null()) = false leq(succ(i), succ(j)) = leq(i, j) Værdier af den abstrakte datatype, i dette eksempel, naturlige tal, udtrykkes i termer af konstruktorerne. Et vilkårligt naturligt tal kan udtrykkes som succ(succ (... null ()...)); altså som det antal gange vi skal addere tallet 1 til 0 for at opnå det pågældende tal. Man kan sige, at et objekt repræsenteres ved dets operationshistorie. Reduktion af udtryk. Givet et vilkårligt udtryk U kan man omskrive U ved brug af en eller flere af ligningerne. En særlig interessant omskrivning består i at reducere udtrykket til et udtryk, som kun består af konstruktorer (se næste slide). Eksempel: plus(succ(succ(null())), succ(null()) ). Dette udtryk kan ved to anvendelser af ligning 2 og én anvendelse af ligning 1 reduceres til succ(succ(succ(null()))). Vi har i alt beskedenhed udledt, at 2+1 er lig med 3. Det ses, at en værdi i en abstrakt datatype repræsenteres som et udtryk i konstruktorerne. Dette udtryk afspejler direkte eller indirekte historien af operationer udført på instansen af typen. Princippet i opskrivningen af ligningerne kaldes generator induktion (konstruktor induktion), idet der ligesom ved induktion er basistilfælde samt induktionstrin, der gradvis nærmer sig basis-situationen. Grundlaget for specifikationen af Nat0 er Peano's klassiske definition af de naturlige tal. Opgave: Udvid specifikationen med en subtraktionsfunktion inden for de naturlige tal. 38
5 Klassificering af funktioner i en ADT: Specifikation af en abstrakt datatype T: Konstruktorer f:... -> T De funktioner, der er nødvendige og tilstrækkelige til at generere værdier af den abstrakte datatype. Transformatorer f:... -> T Andre funktioner, der har værdier af T som resultat-type. Accessorer f:... T... -> S (S en anden type end T). Funktioner, der afbilder T over i andre typer (giver oplysninger om T). I litteraturen benyttes ofte en anderledes terminologi: Konstruktorer kaldes for generatorer. Transformatorer kaldes for extensorer. Accessorer kaldes for observatorer. Konstruktorer og transformatorer er har det tilfælles, at de er producenter af værdier af den abstrakte datatype T, som vi er igang med a specificere. Det er et spørgsmål om smag og behag, og måske også om perspektiv, der afgør om man bruger det ene eller det andet sæt af terminologi. Konstruktorer, transformatorer og accessorer passer godt til det objekt-orienterede perspektiv. Med et mere funktionelt perspektiv er det ofte mere naturligt at bruge de alternative ord. 39
6 Eksempel: specifikation af mængder. type Set[X] functions empty: -> Set[X] insert: Set[X] x X -> Set[X] delete: Set[X] x X -> Set[X] member: Set[X] x X -> boolean intersection: Set[X] x Set[X] -> Set[X] axioms for all s, t in set[x], e, f in X: delete (empty (), e) = empty() delete (insert (s, e), f) = if e=f then delete(s,f) else insert (delete(s, f), e) member(empty(), e) = false member(insert(s, e), f) = if e = f then true else member(s,f) intersection(empty(), s) = empty() intersection(insert(s, e), t ) = if member(t, e) then insert(intersection (s, t), e) else intersection (s, t) Kontruktorerne er empty og insert. Empty() betegner den tomme mængde, og insert indsætter et element af typen X i mængden. Den resulterende mængde returneres som resultat af funktionen insert. Delete og intersection er transformatorer. Delete(s, e) betegner mængden S \ {e}; intersection(s,t) betegner fællesmængden mellem s og t. Member er en accessor, som oplyser hvorvidt et element tilhører en mængde. En karakteristisk egenskab ved mængder er jo, at et element kun forekommer én gang i en mængde. Det er vigtigt at konstatere, hvordan vi håndterer dette i ovenstående specifikation. Vi kan ikke i en algebraisk specifikation forhindre, at et bestemt element indsættes to eller flere gange via insert. Men vi skal udaf til efterlade det indtryk, at elementet kun forekommer een gang. Hvis vi f.eks. indsætter et element e to gange i mængden s, og derefter sletter det (én gang) med delete, så skal member(s,e) returnere falsk. Det er værd at bemærke, at vi i denne specifikation har et eksempel på, at én af de specificerede accessorer kan udnyttes internt i specifikationen af en anden funktion. Det drejer sig om funktionen member, som benyttes i transformatoren intersection. Opgave: Udvid specifikationen med operationerne union (foreningsmængde) og cardinalitet (antallet af elementer i mængden). 40
7 Tommelfingerregler for definition af ligninger. Systematisk generator-induktion: Vi er igang med at specificere T: f: A1 x A2 x... An -> A er en ligning i specifikationen. f er enten en transformator eller en accessor. Alle kombinationer af konstruktorerne på de pladser, hvor Ai = T giver anledning til en ligning i specifikationen. Det er ofte muligt at slå to eller flere ligninger sammen til én. Fuldstændighed af specifikationen: Er der ligninger nok? Et vilkårligt udtryk kan reduceres til et udtryk i konstruktorerne eller til en værdi i en anden type. Konsistens af specifikationen: Er der ligninger, der giver modstrid? Et udtryk kan ikke reduceres til mere end ét resultat. Princippet om systematisk generator-induktion (konstruktor induktion) giver en meget praktisk og håndfast måde at opskrive ligner på. Hvis man følger princippet er det helt trivielt at afgøre hvormange ligninger der er nødvendige og tilstrækkelige, således at man opnår fuldstændighed og konsistens. Det ønskelige i at "slå nogle ligninger sammen" er af sekundær betydning. Dog kan det bidrage til et bedre overblik over, og en form for "indre skønhed" i specifikationen, når antallet af ligninger er slået passende sammen. 41
8 Fejlhåndtering. Det er nødvendigt at kunne håndtere fejl i specifikationen. Introducere fejlværdier. En funktion anvendt på en fejlværdi giver en ny fejlværdi. Introducere pre-betingelser. En funktion kan kun anvendes, hvis dets pre-betingelse er opfyldt. Af de to alternative måder at håndtere fejl på vælger vi som regel fejlværdier. Eksempel: Hvis pred: Nat0 -> Nat0 betegner forgænger operationen på naturlige tal (incl. 0) vil vi have en ligning: pred(null()) = error idet forgængeren af 0 plejer at være -1, og -1 er ikke et element i Nat0. I OOSC er det vist, hvordan man kan bruge prebetingelser for at fange forskellige fejlsituationer. Prebetingelsen for pred skal udtrykke, at parameteren til pred skal være mindst tallet en. 42
4 Basal Objekt-orienteret Programmering I.
4 Basal Objekt-orienteret Programmering I. Klasser i forhold til abstrakte datatyper og record-typer. Variable og operationer. Klasse-interfaces. Klasser og typer. Klasse-instantiering og initialisering.
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
15 Arrays og Lister samt Stakke og Køer.
15 Arrays og Lister samt Stakke og Køer. Introduktion til arrays. Algebraisk specifikation af arrays. Arrays i Eiffel. Introduktion til lister og kædede lister. Fælles egenskaber ved stakke og køer. Algebraisk
Induktive og rekursive definitioner
Induktive og rekursive definitioner Denne note omhandler matematiske objekter, som formelt er opbygget fra et antal basale byggesten, kaldet basistilfælde eller blot basis, ved gentagen brug af et antal
Abstrakte datatyper C#-version
Note til Programmeringsteknologi Akademiuddannelsen i Informationsteknologi Abstrakte datatyper C#-version Finn Nordbjerg 1/9 Abstrakte Datatyper Denne note introducerer kort begrebet abstrakt datatype
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
22 Hobe. Noter. PS1 -- Hobe. Binære hobe. Minimum-hob og maximum-hob. Den abstrakte datatype minimum-hob. Opbygning af hobe. Operationen siv-ned.
22 Hobe. Binære hobe. Minimum-hob og maximum-hob. Den abstrakte datatype minimum-hob. Opbygning af hobe. Operationen siv-ned. Indsættelse i hobe. Sletning af minimalt element i hobe. Repræsentation. 327
t a l e n t c a m p d k Matematiske Metoder Anders Friis Anne Ryelund 25. oktober 2014 Slide 1/42
Slide 1/42 Hvad er matematik? 1) Den matematiske metode 2) Hvad vil det sige at bevise noget? 3) Hvor begynder det hele? 4) Hvordan vælger man et sæt aksiomer? Slide 2/42 Indhold 1 2 3 4 Slide 3/42 Mængder
01017 Diskret Matematik E12 Alle bokse fra logikdelens slides
01017 Diskret Matematik E12 Alle bokse fra logikdelens slides Thomas Bolander 1 Udsagnslogik 1.1 Formler og sandhedstildelinger symbol står for ikke eller og ( A And) hvis... så... hvis og kun hvis...
18 Multivejstræer og B-træer.
18 Multivejstræer og B-træer. Multivejs søgetræer. Søgning i multivejssøgetræer. Pragmatisk lagring af data i multivejstræer. B-træer. Indsættelse i B-træer. Eksempel på indsættelse i B-træ. Facts om B-træer.
Baggrundsnote om logiske operatorer
Baggrundsnote om logiske operatorer Man kan regne på udsagn ligesom man kan regne på tal. Regneoperationerne kaldes da logiske operatorer. De tre vigtigste logiske operatorer er NOT, AND og. Den første
Elementær Matematik. Mængder og udsagn
Elementær Matematik Mængder og udsagn Ole Witt-Hansen 2011 Indhold 1. Mængder...1 1.1 Intervaller...4 2. Matematisk Logik. Udsagnslogik...5 3. Åbne udsagn...9 Mængder og Udsagn 1 1. Mængder En mængde er
Bevisteknikker. Bevisteknikker (relevant både ved design og verifikation) Matematisk induktion. Matematisk induktion uformel beskrivelse
Bevisteknikker Bevisteknikker (relevant både ved design og verifikation) Bevisførelse ved modstrid (indirekte bevis) Antag, at det givne teorem er falsk Konkluder, at dette vil føre til en modstrid Teorem:
Skriftlig eksamen i Datalogi
Roskilde Universitetscenter Skriftlig eksamen i Datalogi Modul 1 Sommer 1999 Opgavesættet består af 5 opgaver, der ved bedømmelsen tillægges følgende vægte: Opgave 1 15% Opgave 2 15% Opgave 3 8% Opgave
Udvidelse og specialisering. Klassehierarkier. Nedarvningsterminologi. Interfaces. Statiske og dynamiske typer. Polymorfi. Abstrakte klasser.
10 Nedarvning I. Udvidelse og specialisering. Klassehierarkier. Nedarvningsterminologi. Interfaces. Statiske og dynamiske typer. Polymorfi. Dynamisk binding og virtuelle operationer. Decentraliseret/centraliseret
28 Algoritmedesign. Noter. PS1 -- Algoritmedesign
28 Algoritmedesign. Algoritmeskabelon for Del og Hersk. Eksempler på Del og Hersk algoritmer. Binær søgning i et ordnet array. Sortering ved fletning og Quicksort. Maksimal delsums problem. Tætteste par
Affine rum. a 1 u 1 + a 2 u 2 + a 3 u 3 = a 1 u 1 + (1 a 1 )( u 2 + a 3. + a 3. u 3 ) 1 a 1. Da a 2
Affine rum I denne note behandles kun rum over R. Alt kan imidlertid gennemføres på samme måde over C eller ethvert andet legeme. Et underrum U R n er karakteriseret ved at det er en delmængde som er lukket
Grundlæggende Matematik
Grundlæggende Matematik Hayati Balo, AAMS August 2012 1. Matematiske symboler For at udtrykke de verbale udsagn matematisk korrekt, så det bliver lettere og hurtigere at skrive, indføres en række matematiske
Basale forudsætninger. Sortering ved fletning med tre bånd, i to faser.
25 Sortering III. Basale forudsætninger. Sortering ved fletning med tre bånd, i to faser. Sortering ved fletning, med fire bånd, i én fase (balanceret fletning). Polyfase fletning med tre bånd. Generaliseret
Rekursion C#-version
Note til Programmeringsteknologi Akademiuddannn i Informationsteknologi Rekursion C#-version Finn Nordbjerg 1 Rekursion Rekursionsbegrebet bygger på, at man beskriver noget ved "sig selv". Fx. kan tallet
Grundlæggende Matematik
Grundlæggende Matematik Hayati Balo, AAMS Juli 2013 1. Matematiske symboler For at udtrykke de verbale udsagn matematisk korrekt, så det bliver lettere og hurtigere at skrive, indføres en række matematiske
Øvelse 9. Klasser, objekter og sql-tabeller insert code here
Øvelse 9. Klasser, objekter og sql-tabeller Denne opgave handler om hvordan man opbevarer data fra databasekald på en struktureret måde. Den skal samtidig give jer erfaringer med objekter, der kommer til
Matematiske metoder - Opgavesæt
Matematiske metoder - Opgavesæt Anders Friis, Anne Ryelund, Mads Friis, Signe Baggesen 24. maj 208 Beskrivelse af opgavesættet I dette opgavesæt vil du støde på opgaver, der er markeret med enten 0, eller
Ugeseddel 4 1. marts - 8. marts
Ugeseddel 4 1. marts - 8. marts Læs følgende sider i kapitel 6 i lærebogen: s. 233 258 og s. 291 317 (afsnit 6.3 overspringes). Begynd at overveje, hvad afleveringsopgaven skal omhandle. Læs vejledningen,
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
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å
Programmering og Problemløsning, 2017
Programmering og Problemløsning, 2017 Typer og Mønstergenkendelse Martin Elsman Datalogisk Institut Københavns Universitet DIKU 23. Oktober, 2017 Martin Elsman (DIKU) Programmering og Problemløsning, 2017
Eksempel på den aksiomatisk deduktive metode
Eksempel på den aksiomatisk deduktive metode Et rigtig godt eksempel på et aksiomatisk deduktivt system er Euklids Elementer. Euklid var græker og skrev Elemeterne omkring 300 f.kr. Værket består af 13
Implikationer og Negationer
Implikationer og Negationer Frank Villa 5. april 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
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
Tree klassen fra sidste forelæsning
Programmering 1999 Forelæsning 12, fredag 8. oktober 1999 Oversigt Abstrakte klasser. Grænseflader. Programmering 1999 KVL Side 12-1 Tree klassen fra sidste forelæsning class Tree { int age; // in years
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
BOSK F2011, 1. del: Udsagnslogik
( p q) p q February 1, 2011 Sandhedsværdier og udsagnsvariable I dag handler det om logiske udsagn. Mere præcist om de logiske udsagn vi kan bygge ud fra sandhedsværdier, udsagnsvariable og logiske konnektiver.
Skriftlig Eksamen Algoritmer og Datastrukturer (dads)
Skriftlig Eksamen Algoritmer og Datastrukturer (dads) Datalogisk Institut Aarhus Universitet Mandag den 27. maj 2002, kl. 9.00 13.00 Opgave 1 (25%) Denne opgave handler om multiplikation af positive heltal.
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
UML til kravspecificering
UML til kravspecificering UML mini-kompendium - til brug i forbindelse med modellering af kravspecifikationer. Copyright 2006 Teknologisk Institut, IT-Udvikling Aktivitetsdiagram 2/9 Aktion Aktionsnavn
BOSK F2012, 1. del: Prædikatslogik
ε > 0. δ > 0. x. x a < δ f (x) L < ε February 8, 2012 Prædikater Vi skal lære om prædikatslogik lad os starte med prædikater. Et prædikat er et orakel der svarer ja eller nej. Eller mere præcist: Prædikater
Skriftlig eksamen - med besvarelse Topologi I (MM508)
INSTITUT FOR MATEMATIK OG DATALOGI SYDDANSK UNIVERSITET, ODENSE Skriftlig eksamen - med besvarelse Topologi I (MM508) Mandag d. 14. januar 2007 2 timer med alle sædvanlige hjælpemidler tilladt. Opgavesættet
Introduktion til programmering. Uge 38.1 Python 2 Learning Python, kap 8-12.
Introduktion til programmering Uge 38.1 Python 2 Learning Python, kap 8-12. Opsummering Store dele af Python kan forstås gennem følgende simple model: En repræsentation/udtryk står for et objekt/en værdi
En karakteristik af de regulære sprog. Ugens emner. FA minimering [5.1-5.2] MyHill-Nerode-sætningen en algoritme til minimering af FA er
Ugens emner FA minimering [.-.] MyHill-Nerode-sætningen en algoritme til minimering af FA er En karakteristik af de regulære sprog Et sprog L er regulært hvis og kun hvis L beskrives af et regulært udtryk
2 Abstrakte datatyper.
2 Abstrakte datatyper. Motivere eksempel: top-down udvikling af program 'mini-bank' Strukturering af et program: efter data eller funktion? Definition af en abstrakt datatype og tilknyttede begreber. Fænomener,
Epistemisk logik og kunstig intelligens
Epistemisk logik og kunstig intelligens Thomas Bolander, DTU Informatik Gæsteforelæsning i Kognitionsforskning II, CST, KU, efteråret 2009 Thomas Bolander, Kognitionsforskning II 09 s. 1/22 Logik Logik
Objects First with Java A Practical Introduction Using BlueJ
Objects First with Java A Practical Introduction Using BlueJ En introduktion til objektorienteret programmering for begyndere ud fra et software engineering aspekt Om at programmere i Java, ikke om værktøjet
Sandsynlighedsregning og statistik
og statistik Jakob G. Rasmussen, Institut for Matematiske Fag [email protected] Litteratur: Walpole, Myers, Myers & Ye: Probability and Statistics for Engineers and Scientists, Prentice Hall, 8th ed. Slides
Design by Contract. Design and Programming by Contract. Oversigt. Prædikater
Design by Contract Design and Programming by Contract Anne Haxthausen [email protected] Informatics and Mathematical Modelling Technical University of Denmark Design by Contract er en teknik til at specificere
Spil Master Mind. Indledning.
side 1 af 16 Indledning. Spillet som denne rapport beskriver, indgår i et større program, der er lavet som projekt i valgfaget programmering C på HTX i perioden 9/11-98 til 12/1-99. Spillet skal give de
Matematiske metoder - Opgaver
Matematiske metoder - Opgaver Anders Friis, Anne Ryelund 25. oktober 2014 Logik Opgave 1 Find selv på tre udtalelser (gerne sproglige). To af dem skal være udsagn, mens det tredje ikke må være et udsagn.
Løsning af møntproblemet
Løsning af møntproblemet Keld Helsgaun RUC, oktober 1999 Antag at tilstandene i problemet (stillingerne) er repræsenteret ved objekter af klassen State. Vi kan da finde en kortest mulig løsning af problemet
DATALOGISK INSTITUT, AARHUS UNIVERSITET. Det Naturvidenskabelige Fakultet EKSAMEN. Grundkurser i Datalogi
DATALOGISK INSTITUT, AARHUS UNIVERSITET Det Naturvidenskabelige Fakultet EKSAMEN Grundkurser i Datalogi Antal sider i opgavesættet (incl. forsiden): 12 (tolv) Eksamensdag: Tirsdag den 20. marts 2012, kl.
Boolsk algebra For IT studerende
Boolsk algebra For IT studerende Henrik Kressner Indholdsfortegnelse 1 Indledning...2 2 Logiske kredsløb...3 Eksempel:...3 Operatorer...4 NOT operatoren...4 AND operatoren...5 OR operatoren...6 XOR operatoren...7
Henrik Bulskov Styltsvig
Matematisk logik Henrik Bulskov Styltsvig Datalogiafdelingen, hus 42.1 Roskilde Universitetscenter Universitetsvej 1 Postboks 260 4000 Roskilde Telefon: 4674 2000 Fax: 4674 3072 www.dat.ruc.dk Disposition
Databasesystemer, forår 2005 IT Universitetet i København. Forelæsning 3: E-R modellering. 17. februar 2005. Forelæser: Rasmus Pagh
Databasesystemer, forår 2005 IT Universitetet i København Forelæsning 3: E-R modellering 17. februar 2005 Forelæser: Rasmus Pagh Forelæsningen i dag Datamodellering hvad, hvornår, hvorfor og hvordan? Business
DM02 opgaver ugeseddel 2
DM0 opgaver ugeseddel af Fiona Nielsen 16. september 003 Øvelsesopgaver 9/9, 10/9 og 11/9 1. Vis, at 1 3 + 3 3 + 5 3 +... + (n 1) 3 = n 4 n. Omskriver til summationsformel: (i 1) 3 = n 4 n Bevis ved induktion
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
Logik. Af Peter Harremoës Niels Brock
Logik Af Peter Harremoës Niels Brock December 2009 1 Indledning Disse noter om matematisk logik er en videreudbygning af det, som står i bogen MAT A [1]. Vi vil her gå lidt mere systematisk frem og være
Multiparadigme Programmering
Multi Programmering Repetition: De grundliggende r Systematisk karateristik. Paradigmesupplering. Symmetrisk multi programmering Leda eksempler på logikprogrammering kombineret med imperativ og funktionsorienteret
Boolsk algebra For IT studerende
Boolsk algebra For IT studerende Henrik Kressner Indholdsfortegnelse Indledning...3 Logiske kredsløb...4 Eksempel:...4 Operatorer...4 NOT operatoren...5 AND operatoren...5 OR operatoren...6 XOR operatoren...7
Punktmængdetopologi. Mikkel Stouby Petersen. 1. marts 2013
Punktmængdetopologi Mikkel Stouby Petersen 1. marts 2013 I kurset Matematisk Analyse 1 er et metrisk rum et af de mest grundlæggende begreber. Et metrisk rum (X, d) er en mængde X sammen med en metrik
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
Kursus navn: Indledende programmering Kursus nr. 02101
Danmarks Tekniske Universitet Side 1 af 8 sider Skriftlig prøve, den 15. december 2007 Kursus navn: Indledende programmering Kursus nr. 02101 Tilladte hjælpemidler: Alle skriftlige hjælpemidler Vægtning
Fagets IT Introduktion til MATLAB
Fagets IT Introduktion til MATLAB Mads G. Christensen [email protected] Afdeling for Kommunikationsteknologi, Aalborg Universitet. MATLAB 2002 p.1/28 Kursusoversigt 1. Introduktion, matrix-indeksering, -operationer
DM507 Algoritmer og datastrukturer
DM507 Algoritmer og datastrukturer Forår 2018 Projekt, del II Institut for matematik og datalogi Syddansk Universitet 13. marts, 2018 Dette projekt udleveres i tre dele. Hver del har sin deadline, således
