29 Opsamling af Objekt-orienteret Programmering.

Størrelse: px
Starte visningen fra side:

Download "29 Opsamling af Objekt-orienteret Programmering."

Transkript

1 29 Opsamling af Objekt-orienteret Programmering. Bottom-up kontra top-down design. "The shopping list approach". Hvordan finder man på objekterne. Klasser og dataabstraktion. Klasse interface og interface-teknikker. Klasse nedarvning og nedarvnings-teknikker. 'Køber' eller 'arving'? Co-varians og contra-varians. Indskrænkning af klient-interface. 411

2 Bottom-up kontra top-down design. Bottom-up design: abstraktioner over definitioner, som indkapsler data (= klasser). Små enheder, som er data-abstraktioner, tilpasses og kombineres til gradvis større enheder. Enhedernes genbrugsværdi er relativ stor. Top-down design: Store enheder, som er procedure-abstraktioner, forfines og nedbrydes til gradvis mindre enheder. Enhedernes genbrugsværdi er relativ lille. abstraktioner over kommandoer (= procedurer) eller udtryk (= funktioner). Objekt-orienteret programmering lægger primært op til bottom-up design. 412

3 En klasse tilbyder en samling af tjenester. En klasse C tilbyder en samling af tjenester (= features) til kunder (= klienter). Tjenester fra en klasse er ligeværdige. Tjenester forekommer separat, og løsrevet fra bestemte anvendelsesordener og -kombinationer. Mængden af tjenester af passende afrundet. Hvormange tjenester må der være i en klasse? Tilgodese kravene om separation og afrundethed af tjenester. Tilgodese overskuelighed, forståelighed og læsbarhed. Faktoriser variationer og basale egenskaber ud i hhv. sub- og superklasser En klasser udfører ikke noget. Den tilbyder noget. Ligeværdighed: Det er udelukkende varens værdi for kunden, der afgør, om den bliver købt. Minimale bånd på kombination og orden: Det er kunden som bestemmer i hvilken kombination og orden egenskaberne skal anvendes. Selvom to operationer i en given anvendelsessituation altid bruges sammen, er der gode grunde til ikke at svejse dem sammen i klassen. Selv om nogle mennesker altid spiser sovs til kartofler, er det hensigtsmæssigt at ingredienserne sælges hver for sig. Afrundethed: for at opnå den bedste genbrugsværdi, uden snæver hensyntagen til en specifik brugssituation. På ovenstående figur betyder et '+' en forøgelse af antallet af tjenester, og et '-' en formindskelse. 413

4 Hvordan finder man på klasser og objekter Inspirationskilder: Begreber og fænomener i systemets omverden. Begreber bliver til klasser. Fænomener bliver til objekter, som er instanser af klasser. Klasser i programmeringsomgivelsens bibliotek. Tilpasning af eksisterende klasser er mere attraktiv end Opfindelse af nye klasser. Systematisk dataoverførsel mellem en mængde af relaterede procedurer eller funktioner: Indfør en dataabstraktion (en klasse), hvori procedurerne og funktionerne er operationer. Det sidste tilfælde (procedurer med systematisk dataflow) er beskrevet i stor detalje, og ud fra et eksempel, i 12.3 af OOSC. 414

5 Gode klasser er dataabstraktioner. En klasse skal beskrive en mængde af objekter. - Typisk flere objekter af samme klasse. - Det skal være naturligt at lave instanser af klassen. Objekter skal have tilstand, som på ethvert tidspunkt i dets levetid skal være meningsfuld. - Meningsfuldhed: udtrykkes af invarianten. Der skal være relevante og meningsfulde operationer på objekterne. - Relevans: operationerne skal "arbejde på" objekternes tilstand. - Meningsfuldhed: Operationer skal respektere invarianten. Klasser beskriver og dækker over objekter: Antag man har en klasse, og man ønsker at benytte en operation i klassen. Antag endvidere at dette dybest set burde kunne lade sig gøre, uden at lave et objekt af klassen. Det objekt-orienterede programmeringssystem tvinger dog programmøren til at lave en dummy instans af klassen, således man kan sige dummy.nyttig-operation(parametre). Klassen er i dette tilfælde ikke en dataabstraktion. Man kan forestille sig en klasse med en operation, som blot benytter det omkringliggende objekts tilstand til intern bogholderi information. Eksempel: Operation som genererer tilfældige tal. Operation med hukommelse. En sådan klasse er ikke en dataabstraktion. 415

6 Eksempel på en dårlig klasse. Class udskriv_regning_operation feature {NONE} Kunde_navn: string; Vare_liste: list[varer]; hent_regnings_info(info_kilde: XX) is do definer Kunde_navn og Vare_liste end; feature udskriv_regning(info_kilde: XX; info_destination: YY) is do hent_regnings_info(info_kilde); udskriv regningen på info_destination end Klassen er entydigt bygget op omkring en handling, ikke om data. Klassen beskriver ikke tilstand, som er meningsfuld i den fulde livstid af instanser. Det er unaturligt at instantiere klassen. Operationerne i klassen er for tæt koblede. end For bedre at kunne diskutere egenskaberne af gode klasser, vil vi her studere en dårlig klasse. På næste slide vises en forbedret udgave af dette eksempel. 416

7 Eksempel på en forbedret klasse. Class regning feature {NONE} Kunde_navn: string; Vare_liste: list[varer]; create(navn: string; varer: LIST[varer]) is do... end; feature udskriv(info_destination: YY) is do... end; -- andre operationer på regninger end; Ideen med denne klasse er at beskrive dataabstraktionen regning. En regning har både tilstand og et antal af operationer, som opererer på tilstanden. Det er disse operationer som udgør klientinterfacet af klassen. Bemærk særligt, at vi nu har en create operation, som opretter en regning. 417

8 Interfaces. A B En klasse er typisk - relativt åben i forhold til subklasser, og - mere lukket i forhold til klienter. B s klient-interface er typisk en udvidelse af A s klient-interface. Eiffel klasser: Total åbenhed mellem A og B. Uafhængighed mellem A's og B's klient-interfaces. Inducerer typeproblem 2 Typeproblem 2 vil blive beskrevet senere i dette kapitel. 418

9 Interfaceteknikker. En Abstrakt klasse som definerer klient interfacet, men ikke repræsentation af tilstand. A En konkret klasse, der definerer en dataabstration, men intet klient interface. A B C D Klasser, der definerer repræsentationen af tilstand samt tilknyttede operationer, men blot afspejler A's klient interface. Funktionelt ækvivalente objekter, med forskellig repræsentation kan sam-eksistere. B C D Klasser, der hver for sig definerer egne syn på dataabstraktionen, som arves fra A. Syn: - Udvalget af operationer. - Teminologi. 419

10 Nedarvning. Tilføjelse af nye egenskaber til nogle eksisterende egenskaber. Redefinition af nogle eksisterende egenskaber. Kontrolleret redefinition: A op(x: S) Op har samme antal parametre som A's op. Specifikation af op: Prebetingelsen må ikke styrkes. B op(x: T) Postbetingelsen må ikke svækkes. Signaturen af op: Den effektive invariant af klassen B er styrket i forhold til invarianten af A. Co-varians: T er en subklasse af S. Contra-varians: T er en superklasse af S. Eiffel foreskriver co-varians. Inducerer typeproblem 1. Vi vil også vende tilbage til typeproblem 1 senere i denne forelæsning. 420

11 Nedarvningsteknikker (1). Definition af specialiseringer. X Y a: X; b: Y!!b.create(...); Objektet refereret af b er et Y-objekt, men det opfattes også som et X-objekt. Extensionen af Y-begrebet er en delmængde af extensionen af X-begrebet. Eksempel: Træ Binært-træ Binært-søgetræ AVL-træ Multivejs-træ Multivejs-søgetræ B-træ Definition af generaliseringer: Understøttes ikke af sproglige mekanismer i objekt-orienterede programmeringssprog. 421

12 Nedarvningsteknikker (2). Formidling af operationer og konstanter som ønskes umiddelbart til rådighed. X Y a: X; b: Y --meningsløst!!b.create(...); I operationerne på klassen Y er egenskaberne i X umiddelbart tilgængelige, som om de var definerede i selve Y. X er ikke nogen dataabstration. Extensionen af X er meningsløs. Eksempel: Geometrisk-figur Globale-konstanter Mat-bibliotek Cirkel Muligheden for at have multiple super-klasser er essentiel. På denne slide antages, at klassen X indeholde er samling af operationer og/eller konstanter, som ønskes gjort tilgængelig i klassen Y. 422

13 Nedarvningsteknikker (3). "The mariage of convenience": Specialisering, som i tilgift bliver tilført nogle nødvendige mekanismer til realisering af den ønskede funktionalitet af den specialiserede klasse. Eksempel: Abstrakt klasse som definerer interfacet Klasse som definerer implementations-mekanismer Stack Array Fixed_stack Muligheden for at have multiple super-klasser er essentiel. "The mariage of convenience" er et specialtilfælde af den anvendelse af nedarvning, som forekommer på den forrige slide. 423

14 'Køber' eller 'Arving'? Problem: Klassen B har behov at benytte A-egenskaber. Skal B være en klient af A, eller skal B arve fra A? Arve: hvis B er en A. hvis B ønsker umiddelbar adgang til egenskaberne i A. B får adgang til en relativ stor, men potentiel ustabil mængde af operationer, inklusiv repræsentation af data. Ofte relevant hvis A ikke er en dataabstraktion, men en løsere samling procedurer eller konstanter. Klient: hvis B har en A-del. B får adgang til en relativ mindre, men mere stabil mængde af operationer (repræsentationsuafhængighed). 424

15 Typeproblem 1. Co-varians. Klasser og nedarvning: A B op(x: S) op(x: T) Objekter og operationskald: S T Typer af operationsparametre varierer på samme måde, som de klasser, hvori operationerne befinder sig. op(x: T) is do x.t_operation end Aref: A; Bref: B; Sref: S;!!Bref.create(...);!!Sref.create(...); Aref := Bref; Aref.op(Sref) --Aref betegner et B-objekt --OK idet Aref har statisk type A. --Op i klassen A tager et objekt af typen S som parameter. --Via dynamisk binding anvendes B's op. --En T-operation på et S-objekt er meningsløst. Vi antager, at op er redefine'et i forbindelse med, at B arver fra A. Co-varians problemet's kerne: Vi kalder operationen op på et objekt af typen B. Dette objekt er refereret gennem en variabel, der er erklæret af (har statisk type A). Ud fra et statisk synspunkt er det derfor OK at overføre et S-objekt til operationskaldet. På grund af dynamisk binding bliver det imidlertid operationen op fra klassen B, som kaldes. Dette er en tidsindstillet bombe, idet op fra B kan kalde en T-operation på sin parameter. Kald af en T-operation på et S-objekt er klart meningsløst. Hvad skal der til for at "demontere" den tidsindstillede bombe? Et run-time check på, at (i vort tilfælde) x faktisk refererer til et T-objekt. For mange run-time checks gør programmer langsomme. Derfor strør compiler-skrivere ikke om sig med sådanne. I vores Eiffel implementation opstår der en grim fejl på udførelsestidspunktet når T-operationen kaldes på S-objektet. På næste slide viser vi den sammen situation, blot med contra-varians. 425

16 Typeproblem 1. Contra-varians. Klasser og nedarving: A B op(x: S) op(x: T) Objekter og operationskald: T S Typer af operationsparametre varierer på modsat måde, som de klasser, hvori operationerne befinder sig. op(x: T) is do x.t_operation end Aref: A; Bref: B; Sref: S;!!Bref.create(...);!!Sref.create(...); Aref := Bref; Aref.op(Sref) --Aref betegner et B-objekt --OK idet Aref har statisk type A. --Op i klassen A tager et objekt af typen S som parameter. --Via dynamisk binding anvendes B's op. --En T-operation på et S-objekt er altid meningsfuld. Bemærk at vi stadig benytter den sammen grafiske konvention for nedarvning mellem klasser: Den mest generelle klasse angives øverst på papiret; Den mest specifikke klasse angives nederst. Problemerne på denne slide er anderledes end på den forrige. Det er et problem med contra-varians, at Eiffel-reglerne ikke overholdes. Eiffel-compileren checker reglen, og programmet kan ikke oversættes. Men filosofien bag Eiffel kan naturligvis være forkert. Det er et problem med contra-varians, at det forekommer mere sjældent i praktisk objektorienteret programmering end co-varians. Det er til gengæld ikke et problem, at der i operationen op i B kaldes en T_operation på x, som er et S-objekt. 426

17 Co-varians i praktisk OO programmering. Eksempel: match(k: bog_kriterium): boolean is do... end; Litteratur Bog Tidsskrift Rapport Afhandling match(k: tidsskrift_kriterium): boolean is do... end; Litteratur_kriterium Bog_kriterium Tidsskrift_kriterium Rapport_kriterium match(k: litteratur_kriterium): boolean is deferred end match(k: rapport_kriterium) : boolean is do... end; match(k: afhandling_kriterium) : boolean is do... end; Afhandling_kriterium Påstanden og dermed pointen på denne slide er følgende: I praktiske sammenhænge har man behov for at berige parametre i takt med at man beriger klasser. I klassehierarkiet i eksemplet specialiseres klassen af litteratur til bøger, tidsskrifter, tekniske rapporter og afhandlinger. I takt hermed har man også behov for at specialisere parameteren af match, som jo er det kriterium, ud fra hvilket match bestemmer, om et givet stykke litteratur matcher de i kriteriet givne egenskaber. Når der kommer nye egenskaber til i et specialiseret stykke litteratur, opstår der et naturligt behov for nye egenskaber i det tilhørende match-kriterium. Typeproblemerne, som de blev omtalt på sliden om co-varians, optræder (1) hvis en variabel via brug af polymorfi-reglerne refererer et mere specifikt objekt, og (2) hvis der på dette objekt kaldes en operation med et argument, der er et mere generelt objekt. I praksis er det atypisk, at (2) holder. Vi kan observere at typesammenligneligheden i Eiffel (og de fleste andre OO-sprog) tillader, at en match operation med parameter p kan kalde en mere generel match operation med samme parameter p. (Dette har vi undertiden kaldt imperativ metode-kombination). Ved anvendelse af contra-varians ville dette ikke være muligt. 427

18 Typeproblem 2. Indskrænkninger i klient-interfacet. Klasser og nedarving: A B Objekter og operationskald: Aref: A; Bref: B;!!Bref.create(...); Aref := Bref; class A feature -- x, y og z eksporteres x... is... y... is... z... is end class B export x, y inherit A export {NONE} z; {ANY} x, y feature -- nothing. end Aref.z --Statisk set har Aref en z-egenskab. --Dynamisk set er denne egenskab ikke tilgængelig på --objekter. Fra et statisk synspunkt er der ikke noget i vejen med ovenstående program. Eiffel compileren (i version 2.3) opdager ingen fejl. Det ville generelt set kræve omfattende (statisk) analyse af programmet for at erkende, at Aref kan (i dette tilfælde vil ) referere til et B-objekt. Det er selvfølgelige let at erkende, at B har en mere snæver eksport end klassen A. I Eiffel 2.3 er der ikke indlagt run-time check, som fanger ovenstående tilfælde. Så på trods af, at z ikke er en del af B's klient-interface, er vi i stand til at referere til z i det B-objekt, som refereres via Aref. 428

Udvidelse og specialisering. Klassehierarkier. Nedarvningsterminologi. Interfaces. Statiske og dynamiske typer. Polymorfi. Abstrakte klasser.

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

Læs mere

Rename og redefine. Abstrakte klasser. Dynamisk binding.

Rename og redefine. Abstrakte klasser. Dynamisk binding. 11 Nedarvning II. Enkeltnedarvning i Eiffel. Rename og redefine. Initialisering af superklasse-dele af et objekt. Interfaces til klienter og subklasser. Typesammenlignelighed og polymorfi. Abstrakte klasser.

Læs mere

4 Basal Objekt-orienteret Programmering I.

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.

Læs mere

13 Objekt-orienteret Design.

13 Objekt-orienteret Design. 13 Objekt-orienteret Design. Analyse i forhold til design. Programbeskrivelse og designbeskrivelse. Sømløs udvikling. Design i forhold til OO Eiffel programmering. Kategorisering af klasser i et design.

Læs mere

30 Objekt-orienteret Programmering i Andre Sprog.

30 Objekt-orienteret Programmering i Andre Sprog. 30 Objekt-orienteret Programmering i Andre Sprog. Abstrakte datatyper i Pascal. Abstrakte datatyper i Modula og Ada. C++ Overordnet organisering Instantiering og initialisering. Interfaces. Nedarvning.

Læs mere

2 Abstrakte datatyper.

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,

Læs mere

Objektorientering. Programkvalitet

Objektorientering. Programkvalitet 1 PROSA-Bladet nr. 4 1993 Objektorientering = Programkvalitet? Af Finn Nordbjerg, adjunkt ved Datamatikeruddannelsen, Aalborg Handelskole 1. Indledning Objektorientering er blevet et edb-fagets mest udbredte

Læs mere

3 Algebraisk Specifikation af Abstrakte Datatyper.

3 Algebraisk Specifikation af Abstrakte Datatyper. 3 Algebraisk Specifikation af Abstrakte Datatyper. Specifikation kontra program. Bestanddele af en algebraisk specifikation. Klassificering af funktioner i en ADT. Systematisk definition af ligninger.

Læs mere

28 Algoritmedesign. Noter. PS1 -- Algoritmedesign

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

Læs mere

12 Nedarvning III. Noter. Multipel nedarvning. Nedarvning og assertions. PS1 -- Nedarvning III. Kurt Nørmark, Aalborg Universitet, 1994.

12 Nedarvning III. Noter. Multipel nedarvning. Nedarvning og assertions. PS1 -- Nedarvning III. Kurt Nørmark, Aalborg Universitet, 1994. 12 Nedarvning III. Multipel nedarvning. Nedarvning og assertions. 169 Multipel nedarvning. A C Klassen C arver egenskaberne fra både A og. A og egenskaber er umiddelbart tilgængelige i C. x A C x x er

Læs mere

Objektorienteret design med arv og polymorfi:

Objektorienteret design med arv og polymorfi: Note til Programmeringsteknologi Akademiuddannelsen i Informationsteknologi Objektorienteret design med arv og polymorfi: Substitutionsprincippet Composite Design Pattern Finn Nordbjerg Side 1 Objektorienteret

Læs mere

Abstrakte datatyper C#-version

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

Læs mere

16 Træer. Noter. Definition af et træ. Definitioner i tilknytning til træer. Repræsentation af træer. Binære træer. Den abstrakte datatype.

16 Træer. Noter. Definition af et træ. Definitioner i tilknytning til træer. Repræsentation af træer. Binære træer. Den abstrakte datatype. 16 Træer. Definition af et træ. Definitioner i tilknytning til træer. Repræsentation af træer. Binære træer. Den abstrakte datatype. Gennemløb af binære træer. Træer i Eiffel. 229 Definition af et træ.

Læs mere

Datalogi OB, Efterår 2002 OH er, forelæsning 10/ Klasser og nedarvning

Datalogi OB, Efterår 2002 OH er, forelæsning 10/ Klasser og nedarvning Datalogi OB, Efterår 2002 OH er, forelæsning 10/9-2002 Klasser og nedarvning Hvad er formålet? Typer, generisk kode, typeparameterisering Kritisk kig på, hvordan man gør i Java. Eftermiddagens opgave:

Læs mere

Polymorfi. Arv (inheritance) Abstrakte klasser, substitutionsprincippet, overriding, statisk og dynamisk type. Coercion

Polymorfi. Arv (inheritance) Abstrakte klasser, substitutionsprincippet, overriding, statisk og dynamisk type. Coercion Polymorfi Arv (inheritance) Abstrakte klasser, substitutionsprincippet, overriding, statisk og dynamisk type Coercion Tvangskonvertering (forfremmelse og begrænsning) Oversigt Abstrakt klasse abstrakt

Læs mere

Metaklasser i Smalltalk.

Metaklasser i Smalltalk. 8 Metaklasser i Smalltalk. Motivation Metodeopslag Simple metaklasser Mere udviklede metaklasser Klasse- og metaklassehierarkiet Instantiering og initialisering Skabelse af klasser og metoder Oversigt

Læs mere

5 Basal Objekt-orienteret Programmering II.

5 Basal Objekt-orienteret Programmering II. 5 Basal Objekt-orienteret Programmering II. Historik og sprogoversigt. Programbeskrivelse kontra programudførelse. Referencer og værdier. Skabelse af objekter i Eiffel. Features og deres klassificering

Læs mere

Design by Contract Bertrand Meyer Design and Programming by Contract. Oversigt. Prædikater

Design by Contract Bertrand Meyer Design and Programming by Contract. Oversigt. Prædikater Design by Contract Bertrand Meyer 1986 Design and Programming by Contract Michael R. Hansen & Anne Haxthausen mrh@imm.dtu.dk Informatics and Mathematical Modelling Technical University of Denmark Design

Læs mere

ER-modellen. Databaser, efterår 2002. Troels Andreasen. Efterår 2002

ER-modellen. Databaser, efterår 2002. Troels Andreasen. Efterår 2002 Databaser, efterår 2002 ER-modellen Troels Andreasen Datalogiafdelingen, hus 42.1 Roskilde Universitetscenter Universitetsvej 1 Postboks 260 4000 Roskilde Telefon: 4674 2000 Fax: 4674 3072 www.dat.ruc.dk

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

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

Citation for pulished version (APA): Nordbjerg, F. E. (1993). Objektorientering = Programkvalitet? Prosabladet. De it-professionelles fagblad, (4).

Citation for pulished version (APA): Nordbjerg, F. E. (1993). Objektorientering = Programkvalitet? Prosabladet. De it-professionelles fagblad, (4). Danish University Colleges Objektorientering = Programkvalitet? Nordbjerg, Finn Ebertsen Published in: Prosabladet. De it-professionelles fagblad Publication date: 1993 Document Version Pre-print: Det

Læs mere

Skriftlig eksamen i Datalogi

Skriftlig eksamen i Datalogi Roskilde Universitetscenter Skriftlig eksamen i Datalogi Modul 1 Vinter 1998/99 Opgavesættet består af 5 opgaver, der ved bedømmelsen tillægges følgende vægte: Opgave 1 16% Opgave 2 12% Opgave 3 10% 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

Basale forudsætninger. Sortering ved fletning med tre bånd, i to faser.

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

Læs mere

Hypotesetest. Altså vores formodning eller påstand om tingens tilstand. Alternativ hypotese (hvis vores påstand er forkert) H a : 0

Hypotesetest. Altså vores formodning eller påstand om tingens tilstand. Alternativ hypotese (hvis vores påstand er forkert) H a : 0 Hypotesetest Hypotesetest generelt Ingredienserne i en hypotesetest: Statistisk model, f.eks. X 1,,X n uafhængige fra bestemt fordeling. Parameter med estimat. Nulhypotese, f.eks. at antager en bestemt

Læs mere

Klasser og Objekter i Python. Uge 46 Learning Python: kap 15-16, 19-22.

Klasser og Objekter i Python. Uge 46 Learning Python: kap 15-16, 19-22. Klasser og Objekter i Python Uge 46 Learning Python: kap 15-16, 19-22. Klasser og objekter En klasse beskriver en klump af samhørende funktioner og variable En klasse er en beskrivelse. En kage form Klassens

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

Objects First with Java A Practical Introduction Using BlueJ

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

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

ER-modellen. Databaser, efterår Troels Andreasen. Efterår 2002

ER-modellen. Databaser, efterår Troels Andreasen. Efterår 2002 Databaser, efterår 2002 ER-modellen Troels Andreasen Datalogiafdelingen, hus 42.1 Roskilde Universitetscenter Universitetsvej 1 Postboks 260 4000 Roskilde Telefon: 4674 2000 Fax: 4674 3072 www.dat.ruc.dk

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

Rolf Fagerberg. Forår 2014

Rolf Fagerberg. Forår 2014 Forår 2014 Mål for i dag Dagens program: 1 2 3 4 5 6 Forudsætninger: Format: Programmering og Diskret matematik I (forelæsninger), TE (øvelser), S (arbejde selv og i studiegrupper) Eksamenform: Skriftlig

Læs mere

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

Læs mere

Design by Contract. Design and Programming by Contract. Oversigt. Prædikater

Design by Contract. Design and Programming by Contract. Oversigt. Prædikater Design by Contract Design and Programming by Contract Anne Haxthausen ah@imm.dtu.dk Informatics and Mathematical Modelling Technical University of Denmark Design by Contract er en teknik til at specificere

Læs mere

Skriftlig eksamen i Datalogi

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

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 Deltagere: BA i Datalogi BA i Software Engineering BA i Matematik-Økonomi BA i Anvendt Matematik BA

Læs mere

Exceptions i Delphi. Try except

Exceptions i Delphi. Try except Exceptions i Delphi Exceptions er en teknik til at fange fejl under programafviklingen. Ikke programmeringsfejl, men fejl der opstår i forskellige situationer, f.eks. en fil der mangler en fil der er skrivebeskyttet,

Læs mere

12 Metaobjekt protokoller i CLOS.

12 Metaobjekt protokoller i CLOS. 12 Metaobjekt protokoller i CLOS. Begreber og problemer. Sprog designrum. Niveauer i CLOS. Programobserverende protokoller. Programskabende protokoller. Sprogudvidende protokoller. Eksempler. Kurt Nørmark,

Læs mere

Datalogi OB, Efterår 2002 OH er, forelæsning 3/9-2002 - forstå datastrukturer og algoritmer (teoretisk forståelse og intuition)

Datalogi OB, Efterår 2002 OH er, forelæsning 3/9-2002 - forstå datastrukturer og algoritmer (teoretisk forståelse og intuition) Datalogi OB, Efterår 2002 OH er, forelæsning 3/9-2002 Datastrukturer og algoritmer Henning Christiansen henning@ruc.dk http://www.ruc.dk/~henning Formål: at kunne - forstå datastrukturer og algoritmer

Læs mere

Software Construction 1 semester (SWC) Spørgsmål 1

Software Construction 1 semester (SWC) Spørgsmål 1 Spørgsmål 1 Objekter #1 Giv en kort præsentation af begrebet objekt, samt hvorledes du erklærer(declare), opretter(create) og bruger objekter Du kan beskrive o Datatyper o Variable / Instans variable /

Læs mere

Kommentar fra KMS til Specifikation af Serviceinterface for Person

Kommentar fra KMS til Specifikation af Serviceinterface for Person Kommentar fra KMS til Specifikation af Serviceinterface for Person Organisation Side Kapitel Afsnit/figur/tabel /note Type af kommentar (generel (G), redaktionel (R), teknisk (T)) Kommentar KMS-1 G Godt

Læs mere

Emmas og Frederiks nye værelser - maling eller tapet?

Emmas og Frederiks nye værelser - maling eller tapet? Emmas og Frederiks nye værelser - maling eller tapet? Emmas og Frederiks familie skal flytte til et nyt hus. De har fået lov til at bestemme, hvordan væggene på deres værelser skal se ud. Emma og Frederik

Læs mere

15 Arrays og Lister samt Stakke og Køer.

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

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

18 Multivejstræer og B-træer.

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.

Læs mere

Forelæsning Uge 6 Mandag

Forelæsning Uge 6 Mandag Forelæsning Uge 6 Mandag Tingene i denne forelæsning er ikke eksamenspensum Forelæsningen afrunder kurset, og forklarer nogle af de begreber, som I har mødt under kurset uden at få detaljeret forklaring

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

Lagervisning. Dina Friis, og Niels Boldt,

Lagervisning. Dina Friis, og Niels Boldt, Lagervisning Dina Friis, dina@diku.dk og Niels Boldt, boldt@diku.dk 6. april 2001 Kapitel 1 Sammenfatning Dette dokument er et eksempel på en delvis besvarelse af G-opgaven stillet på Datalogi 0 2000-2001.

Læs mere

Introduktion til ActionScript

Introduktion til ActionScript Introduktion til ActionScript Kaspar Rosengreen Nielsen kaspar@interactivespaces.net i n t e r a c t i v e s p a c e s. n e t Kaspar Nielsen, kaspar@interactivespaces.net 1 Dagens program Opsamling på

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

Objektorienteret Programmering

Objektorienteret Programmering Objektorienteret Programmering Struktureret Systemudvikling Jan Bendtsen Automation and Control Indhold Lidt om programmeringssprog Klasser i Java Klasser i C++ Oversættelse og kørsel af kode Et eksempel:

Læs mere

01017 Diskret Matematik E12 Alle bokse fra logikdelens slides

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

Læs mere

Kontraktbaseret Design. Anker Mørk Thomsen

Kontraktbaseret Design. Anker Mørk Thomsen Kontraktbaseret Design Anker Mørk Thomsen 5. marts 2014 -2 Kontraktbaseret Design Anker Mørk Thomsen 1. udgave ISBN: 9788740491500 Forord Bogen er blevet til gennem undervisning i faget Kontraktbaseret

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

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

Læs mere

Programmering, algoritmik og matematik en nødvendig sammenblanding?

Programmering, algoritmik og matematik en nødvendig sammenblanding? Programmering, algoritmik og matematik en nødvendig sammenblanding? Oplæg til IDA møde, 29. november 2004 Martin Zachariasen DIKU 1 Egen baggrund B.Sc. i datalogi 1989; Kandidat i datalogi 1995; Ph.D.

Læs mere

10 Metodekombination og multimetoder i CLOS.

10 Metodekombination og multimetoder i CLOS. 10 Metodekombination og multimetoder i CLOS. Metodekombination generelt. Multimetoder generelt. Kald af en generisk funktion i CLOS. Specialisering på enkeltobjekter. Standard metodekombination. Simpel,

Læs mere

AAU, Programmering i Java Intern skriftlig prøve 18. maj 2007

AAU, Programmering i Java Intern skriftlig prøve 18. maj 2007 AAU, Programmering i Java Intern skriftlig prøve 18. maj 2007 Opgavebesvarelsen skal afleveres som enten en printerudskrift eller som et passende dokument sendt via email til fjj@noea.dk. Besvarelsen skal

Læs mere

Computerspil - Kappa

Computerspil - Kappa Computerspil - Kappa Indledende aktivitet Kommunikationsplanlægning: Ressourceplanlægning: Iterationsplanlægning Brugerhistorier Kravspecifikation og testspecifikation Krav som skal opfyldes for at passe

Læs mere

Hjerner i et kar - Hilary Putnam. noter af Mogens Lilleør, 1996

Hjerner i et kar - Hilary Putnam. noter af Mogens Lilleør, 1996 Hjerner i et kar - Hilary Putnam noter af Mogens Lilleør, 1996 Historien om 'hjerner i et kar' tjener til: 1) at rejse det klassiske, skepticistiske problem om den ydre verden og 2) at diskutere forholdet

Læs mere

UML til kravspecificering

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

Læs mere

Hvad er Objekter - Programmering

Hvad er Objekter - Programmering Denne guide er oprindeligt udgivet på Eksperten.dk Hvad er Objekter - Programmering En rigtig god gennemgang af hvad objekter er! Hvordan de oprettes og anvendes! Det er helt klart til nybegyndere, som

Læs mere

Datastrukturer (recap)

Datastrukturer (recap) Dictionaries Datastrukturer (recap) Data: Datastruktur = data + operationer herpå En ID (nøgle) + associeret data. Operationer: Datastrukturens egenskaber udgøres af de tilbudte operationer (API for adgang

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

8 Specifikation med Logiske Udtryk.

8 Specifikation med Logiske Udtryk. 8 Specifikation med Logiske Udtryk. Specifikation kontra program. Specifikation af funktioner. Specifikation af funktions-orienterede ADT-er. Integreret specifikation og program i Eiffel. Korrekthed af

Læs mere

Kursus i OOP og Java. Kursus i Objektorienteret programmering i Java

Kursus i OOP og Java. Kursus i Objektorienteret programmering i Java Kursus i OOP og Java Kursus i Objektorienteret programmering i Java Åben Dokumentlicens Dette foredragsmateriale er under Åben Dokumentlicens (ÅDL) Du har derfor lov til frit at kopiere dette værk Bruger

Læs mere

It og informationssøgning Forelæsning 7 1. november 2006 Jakob Grue Simonsen. Indlejring og Nedarvning

It og informationssøgning Forelæsning 7 1. november 2006 Jakob Grue Simonsen. Indlejring og Nedarvning It og informationssøgning Forelæsning 7 1. november 2006 Jakob Grue Simonsen Indlejring og Nedarvning Downey, Elkner & Meyers: Chapt. 15-16 Andersen & Simonsen: kap. 8 Vi har tidligere set løkker af forskellig

Læs mere

Programmering I Java/C#

Programmering I Java/C# Programmering I Java/C# Dit første projekt Datatekniker Intro to C# C# (C Sharp) Et enkelt, moderne, generelt anvendeligt, objektorienteret programmeringssprog Udviklet af Microsoft, ledet af danskeren

Læs mere

Klasser og Objekter i Python. Uge 11

Klasser og Objekter i Python. Uge 11 Klasser og Objekter i Python Uge 11 Klasser og objekter En klasse beskriver en klump af samhørende funktioner og variable En klasse er en beskrivelse. Klassens objekter er instanser af klassen. En programudførelse

Læs mere

Specialeforsvar: Fundamentet for et fleksibelt container bibliotek

Specialeforsvar: Fundamentet for et fleksibelt container bibliotek Specialeforsvar: Fundamentet for et fleksibelt container bibliotek Foundations of an adaptable container library Bo Simonsen Datalogisk Institut, Københavns Universitet Denne præsentation, afhandlingen,

Læs mere

Specifikationsdokument for LDAP API

Specifikationsdokument for LDAP API Nets DanID A/S Lautrupbjerg 10 DK 2750 Ballerup T +45 87 42 45 00 F +45 70 20 66 29 info@danid.dk www.nets-danid.dk CVR-nr. 30808460 Specifikationsdokument for LDAP API DanID A/S 5. juni 2014 Side 1-15

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

Fra Computer til Virkelighed. TPE-kursus Elektroniske Systemer P1

Fra Computer til Virkelighed. TPE-kursus Elektroniske Systemer P1 Fra Computer til Virkelighed TPE-kursus Elektroniske Systemer P1 Fra Computer til Virkelighed En kort introduktion til kurset Systems Engineering Projektfaser Opsamling og opgave Om kurset Mål: at I lærer

Læs mere

19 Hashtabeller. Noter. PS1 -- Hashtabeller. Hashing problemet. Hashfunktioner. Kollision. Søgning og indsættelse.

19 Hashtabeller. Noter. PS1 -- Hashtabeller. Hashing problemet. Hashfunktioner. Kollision. Søgning og indsættelse. 19 Hashtabeller. Hashing problemet. Hashfunktioner. Kollision. Søgning og indsættelse. Sammenligning af hashtabeller og søgetræer. 281 Hashing-problemet (1). Vi ønsker at afbilde n objekter på en tabel

Læs mere

Emneopgave: Lineær- og kvadratisk programmering:

Emneopgave: Lineær- og kvadratisk programmering: Emneopgave: Lineær- og kvadratisk programmering: LINEÆR PROGRAMMERING I lineær programmering løser man problemer hvor man for en bestemt funktion ønsker at finde enten en maksimering eller en minimering

Læs mere

Databasesystemer, forår 2006 IT Universitetet i København. Forelæsning 3: E-R modellering. 16. februar 2006. Forelæser: Rasmus Pagh

Databasesystemer, forår 2006 IT Universitetet i København. Forelæsning 3: E-R modellering. 16. februar 2006. Forelæser: Rasmus Pagh Databasesystemer, forår 2006 IT Universitetet i København Forelæsning 3: E-R modellering 16. februar 2006 Forelæser: Rasmus Pagh Forelæsningen i dag Datamodellering hvad, hvorfor og hvordan? Business rules

Læs mere

Punktmængdetopologi. Mikkel Stouby Petersen. 1. marts 2013

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

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

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

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

Side 1. Databaser og SQL. Dagens gang. Databasebegreber. Introduktion til SQL Kap 1-5

Side 1. Databaser og SQL. Dagens gang. Databasebegreber. Introduktion til SQL Kap 1-5 Databaser og SQL Introduktion til SQL Kap 1-5 1 Dagens gang Databaser Database begreber Mapning af klasser til relationel model Normalisering Opgaver til næste gang 2 Databasebegreber A database is a:

Læs mere

Regulære udtryk og endelige automater

Regulære udtryk og endelige automater Regulære udtryk og endelige automater Regulære udtryk: deklarative dvs. ofte velegnede til at specificere regulære sprog Endelige automater: operationelle dvs. bedre egnet til at afgøre om en given streng

Læs mere

Analyse, problemområde, anvendelsesområde

Analyse, problemområde, anvendelsesområde OOA&D, kap. 1-5 Fiktiv case Det supermarked I dagligt handler i, skal have et integreret kasse-, lagerstyrings- og EDI-system. Systemet skal gøre det muligt at sænke varebeholdningen uden at der kommer

Læs mere

17 Søgning og Søgetræer.

17 Søgning og Søgetræer. 17 Søgning og Søgetræer. Lineær og inær søgning i lister. inære søgetræer. Søgning efter knude i træ. Indsættelse af knude i træ. Søgning i og sortering af inært søgetræ. Sletning af knude i inært søgetræ.

Læs mere

Vejledning til Teknisk opsætning

Vejledning til Teknisk opsætning Vejledning til Teknisk opsætning v. 1.0 Adm4you, 2010. Indhold Kort om denne vejledning... 3 Generelt om easyourtime... 3 Installation af databasen... 3 Sikkerhed og rettigheder... 4 SQL Login... 4 Rettigheder

Læs mere

Jacob Nordfalk. Ingeniørhøjskolen i København. Nykøbing F itvisioncenter 24. februar 2004

Jacob Nordfalk. Ingeniørhøjskolen i København. Nykøbing F itvisioncenter 24. februar 2004 Genbrugelige komponenter og designmønstre i Java Jacob Nordfalk Ingeniørhøjskolen i København Nykøbing F itvisioncenter 24. februar 2004 Program Om Jacob Nordfalk introduktion (ikke-teknisk del) Komponentbaseret

Læs mere

User Guide AK-SM 720 Boolean logic

User Guide AK-SM 720 Boolean logic User Guide AK-SM 720 Boolean logic ADAP-KOOL Refrigeration control systems Anvendelse Funktionen er indeholdt i Systemmanager type AK-SM 720, og kan anvendes til brugerdefinerede funktioner. Funktionerne

Læs mere

Hvad er CAS? Hvad er algebra? Didaktisk analyse af CAS-brug Hvad kan lærerne gøre?

Hvad er CAS? Hvad er algebra? Didaktisk analyse af CAS-brug Hvad kan lærerne gøre? CAS og folkeskolens matematik muligheder og udfordringer Carl Winsløw winslow@ind.ku.dk http://www.ind.ku.dk/winslow Hvad er CAS? Hvad er algebra? Didaktisk analyse af CAS-brug Hvad kan lærerne gøre? 1

Læs mere

Appendiks 6: Universet som en matematisk struktur

Appendiks 6: Universet som en matematisk struktur Appendiks 6: Universet som en matematisk struktur En matematisk struktur er et meget abstrakt dyr, der kan defineres på følgende måde: En mængde, S, af elementer {s 1, s 2,,s n }, mellem hvilke der findes

Læs mere

Projekt - Visual Basic for Applications N på stribe

Projekt - Visual Basic for Applications N på stribe Projekt - Visual Basic for Applications N på stribe Mikkel Kaas og Troels Henriksen - 03x 3. november 2005 1 Introduktion Spillet tager udgangspunkt i det gamle kendte 4 på stribe, dog med den ændring,

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

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

Matematik og bevægelse

Matematik og bevægelse Matematik og bevægelse Matematik i marts 2015 Hvad jeg ikke vil gøre Sundhedsdiskussionen Den kognitive diskussion om at øget aktivitet hvor man får pulsen op giver øget hjernemotion. Motivationsfaktoren

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

Farvetyper. Om farver. Udskrivning. Brug af farve. Papirhåndtering. Vedligeholdelse. Fejlfinding. Administration. Stikordsregister

Farvetyper. Om farver. Udskrivning. Brug af farve. Papirhåndtering. Vedligeholdelse. Fejlfinding. Administration. Stikordsregister Printeren gør det muligt at kommunikere i farver. Farver tiltrækker opmærksomhed og forøger værdien af det udskrevne materiale eller de udskrevne oplysninger. r øger læsbarheden, og farveudskrifter læses

Læs mere

TRIZ Companion. En håndbog i systematisk innovation. Læseprøve

TRIZ Companion. En håndbog i systematisk innovation. Læseprøve TRIZ Companion En håndbog i systematisk innovation Danskforord 7 Forord 8 Indholdsfortegnelse Del 1 Essensen i TRIZ 9 HvaderTRIZ? 9 TRIZindeholderfemgrundlæggendefilosofier 10 HvorforTRIZ? 13 TRIZforhvem?

Læs mere

Ufuldstændighed, mængdelære og beregnelighed

Ufuldstændighed, mængdelære og beregnelighed Ufuldstændighed, mængdelære og beregnelighed Thomas Bolander, DTU Informatik Matematik: Videnskaben om det uendelige Folkeuniversitetet i København, efteråret 2009 Thomas Bolander, FUKBH 09 s. 1/27 Sidste

Læs mere

Klasser og objekter. (Afsnit i manualen)

Klasser og objekter. (Afsnit i manualen) Klasser og objekter (Afsnit 4 + 5 i manualen) Grundbegreber Klasser og objekter beskrivelse oprettelse Attributter og metoder tilstand opførsel Indkapsling afskærmning datarepræsentationsuafhængighed Klasser

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