2 Abstrakte datatyper.

Størrelse: px
Starte visningen fra side:

Download "2 Abstrakte datatyper."

Transkript

1 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, begreber og begrebsdannelse. Objekt-orienteret udvikling af programmet 'mini-bank'. Abstrakte datatyper udgør den allervigtigste ide i forhold til objekt-orienteret programmering. I denne forelæsning vil vi behandle emnet uafhængigt af programmeringssprog. 19

2 Topdown udvikling af programmet 'minibank' (1) Program mini-bank; Type Bankkonto-typedefinitioner af alle konto-arter; Transaktions-procedurer på de forskellige konto-typer; begin while not fyraften do begin indlæs kontotype KT; udfør en transaktion på KT For at forstå egenskaberne af et objekt-orienteret program baseret på abstrakte datatyper er det nyttigt at sætte fokus på en anden programudviklingsteknik. I denne forelæsning starter vi derfor med at studere et program udviklet ved såkaldt top-down programmering. Når et program udvikles top-down, startes med de overordnede dele af programmet, og dele deraf forfines trinvis, indtil alle detaljer er fuldt ud implementeret. En modsætning til top-down programmering kaldes bottom-up programmering. I en bottom-up teknik starter man med at udvikle detaljer, og bygger op til en helhed. Man kan naturligvis forestille sig kombinerede top-down og bottom-up teknikker. 20

3 Topdown udvikling af programmet 'minibank' (2) Eksempel på bankkonto typedefinition: check-konto = record id: KontoId; balance: Kroner; rente-sats: real; antal-udnyttede-checks: integer udfør en transaktion på kontotype KT : procedure transaktion(kt: kontotype); begin case KT of check-konto: check-konto-transaktion; aktionær-konto: aktionær-konto-transaktion; pensions-konto: pensions-konto-transakton; gevinst-konto: gevinst-konto-transaktion;... ; ; Her er vist et eksempel på en type-definition (af check-konti). Endvidere er det centrale fragment af hovedprogrammet forfinet i forhold til forrige slide. Denne forfining har vi givet status af en procedure, transaktion, som naturligvis så skal kaldes af hovedprogrammet. Procedurerne check-konto-transaktion, aktionær-konto-transaktion m.m., som kaldes i proceduren transaktion, vil vi på en naturlig måde kunne definere som lokale procedurer til transaktion. Typen med navnet kontotype kan være en enumeration type, altså en type defineret ved kontotype = (check-konto, aktionær-konto, pensions-konto, gevinst-konto,...). På næste slide viser vi en definition af proceduren check-konto-transaktion. 21

4 Topdown udvikling af programmet 'minibank' (3) procedure checkkonto-transaktion; var ck: check-konto; transaktions-procedurer på check-konto begin hent-konto(ck); indlæs transaktionstype TT; case TT of opret: opret-check-konto(ck); hæve: hæve-check-konto(ck); indsætte: indsætte-check-konto(ck); tilskriv-rente: tilskriv-rente-check-konto(ck); clear-check: clear-check(ck, check); nedlæg: nedlæg-check-konto(ck) For hver type af bank-konti BKT antager vi, at der findes en procedure BKT-kontotransaktion, som i interaktion med brugeren udfører en af flere mulige transaktioner på en konto. Vi har vist proceduren for check-konti. Man skal bemærke, at nogle af procedurerne tilsynelade mangler noget information for at kunne virke. F.eks. er det ikke oplagt, hvilke beløb der hæves og indsættes på kontoen af hhv. hæve-check-konto og indsætte-check-konto. Vi antager, at disse procedurer spørger brugeren af programmet om den mangle information. De enkelte transaktionsprocedurer antages at være lokale procedurer til den viste check-konto-transaktion, placeret under transaktions-procedurer på check-konto. Bemærk, at vi "uden videre" ved at udføre den trinvise forfinelse har fået procedurer i tre indlejrede niveauer. Dette er meget karakteristisk for denne udviklingsteknik. 22

5 Tabel med oversigt over bankkonto-operationer. Transaktions-type Kontotype Checkkonto Oprette Hæve Indsætte Rentetilskrivning hæve-checkkonto indsættecheck-konto tilskriv-rentecheck-konto opretcheck-konto... Aktionær konto Pensionskonto Gevinstkonto hæve-aktionærkonto hæve-pensionskonto hæve-gevinstkonto indsætteaktionær-konto indsættepensions-konto indsættegevinst-konto tilskriv-renteaktionær-konto tilskriv-rentepensions-konto tilskriv-rentegevinst-konto opretaktionær-konto opretpension-konto opretgevinst-konto... Med den skitserede fremgangsmåde kræves der en transaktionsprocedure pr. kontotype pr. transaktion. Dette giver et stort antal forskellige procedurer, som vist i tabellen ovenfor. Nogle af disse procedurer har sikkert lighedspunkter, som det kunne være hensigtsmæssigt at samle på ét sted. Hvis man ønsker at opretholde konto-type-definitionerne som hver sin record type, er det nødvig at have en procedure for hvert felt i tabellen. Procedurerne er struktureret således, at hver række af procedurer er lokale til den bank-konto type specifikke transaktionsprocedure. Man kan i Pascal arrangere tingene mere hensigtsmæssigt, nemlig ved at definere én type, som dækker alle konto-typer. En sådan record type skal have afdelinger med felter, der er specifikke for den enkelte konto-type. Sådanne records kaldes variantrecords. Hvis ikke man allerede har gjort det i forbindelse med "grundbegreber", anbefales det at repetere dette begreb, som bl.a. findes i Pascal. Opgave 1. Det blev observeret ovenfor, at vi primært har struktureret vores program efter rækker af operationer, og sekundært efter søjler. Demonstrer, at vi også kunne have valgt at gøre det omvt; altså primært at strukturere efter arten af vores transaktion, og sekundært efter kontotype. Skitser det resultere program. Hvilken af de to strategier (transaktions-art-først, kontotype-først) skal man foretrække, hvis vi antager, at der oftere skal tilføjes nye transaktioner nye kontotyper? Og oftere nye kontotyper nye transaktioner? Opgave 2. Antag nu, at vi definerer en variant-record, hvor felterne id og balance er fælles for alle kontotyper, mens andre felter er specifikke for de forskellige typer af bankkonti. Vi vil nu forvente, at vi kan programmere nogle af bankkonto operationerne på et "fælles niveau". Skitser nu proceduren transaktion og dets lokale procedurer, og illustrer hvor de enkelte operationer nu hører hjemme. 23

6 Strukturering af et program: Efter data eller funktion "Hvilke handlinger udfører programmet?" kontra "Hvad udfører programmet handlinger på?" Top-down udvikling af et program afspejler trinvis nedbrydning af et problem i mindre delproblemer og er som sådan med til at nedbringe "kompleksiteten" af problemløsningen. En funktionel strukturering af et program er mindre stabil en datastrukturering i programmets samlede levetid. "Rigtige systemer" har ingen top. Top-down udvikling og strukturering efter funktion virker hæmme på udvikling af genbrugelige programkomponenter. Mange af pointerne på denne slide er kondencerede udsagn fra Meyers: Object-oriented Program Construction, kapitel 4. 24

7 Definition af abstrakt datatype. En abstrakt datatype er en mængde af værdier samt en mængde af operationer på disse værdier. Et program arbejder på instanser af en ADT, ikke på typen som så. Instanser af en ADT kaldes også for objekter. Udvalgte operationer på en ADT udgør det interface, som en klient af typen benytter til manipulation af instanser af typen. En abstrakt datatype skjuler, beskytter og indkapsler data-repræsentationen for klienter af typen. Ved programændringer i interne dele af den abstrakte datatype udgør operations-interfacet en "brandmur" mellem klient og data-repræsentation. Operationsinterfacet opdeler operationerne på datatypen i interne og eksterne operationer. Mængden og naturen af interne operationer er af mindre betydning, sålænge de eksterne operationer fungerer, som det forventes (se nedenfor). Tilsvare er selve datarepræsentationen som regel skjult for klienter. Det betyder, at selv om en abstrakt datatype har en variable V som en del af sin repræsentation, kan man ikke udefra assigne til eller aflæse fra V direkte. Det skal ske gennem en operation. Det dermed skabte operations interface udgør et indirekte niveau med hensyn til både aflæsning af og skrivning i instanser af typen. Dette indirekte niveau er meget værdifuldt. Hvis der sker ændringer i typens interne dele (i interne operationer eller i repræsentation) kan man nøjes med at ændre i eksterne operationers definition, og ikke i deres anvelse rundt omkring i programmet. Det er på denne måde, at operationsinterfacet kommer til at spille rollen af en brandmur om datatypen. Spørgsmålet melder sig, om det er muligt at angive, hvordan eksterne operationer i typen skal fungere, uden at programmere dem. Det kan man godt! På dette kursus vil vi studere to forskellige måder at specificere abstrakte datatyper. Allerede i næste forelæsning vil vi introducere den første af disse. 25

8 Bestanddele af en abstrakt datatype Op1 Op2 Op3 Op4 Operationsinterface Op5 Op6 Data Repræsentation Interne operationer datarepræsentation Man kan naturligvis opfinde mange forskellige tekstuelle såvel som grafiske notationer for abstrakte datatyper. Her er bestanddelene af en abstrakt datatype illustreret grafisk. 26

9 En abstrakt datatype og dens instanser. Instans af T Instans af T Instans af T Instans af T Objekter Relation mellen instans og ADT En abstrakt datatype T Abstrakt datatype Ovenfor er abstrakte datatyper rektangulære, medens objekter har afrundede kanter. Forholdet mellem en abstrakt datatype og dets instanser er illustreret ved en pil fra instansen til dens ADT. Instanser indeholder selvfølgelig objektets tilstand (i form af variable af konkrete, primitive typer, eller af andre abstrakte datatyper). Derimod repræsenteres objekternes operationer sædvanligvis ikke i objekterne, men i den tilhøre klasse. Dette kan lade sig gøre, idet operationer er ens for alle instanser af en given abstrakt datatype. 27

10 Hvordan finder man objekter? Hvis et program modellerer en del af virkeligheden (såsom en bank), giver denne virkelighed ofte inspiration til hvilke objekter, og dermed abstrakte datatyper, et program skal indeholde. Referent system Model system Begreber Fænomener ADT-er Objekter Virkeligheden Et program Overskriften af denne slide skal læses som "hvordan finder man på, hvilke objekter der skal indgå i et program". Pointen er, at hvis programmet, man skal skrive, behandler data, som er en del af vores virkelighed, giver begreber og fænomener (ting) i denne virkelighed inspiration til abstrakte datatyper og objekter. Hvis programmet ikke retter sig mod virkeligheden, men måske internt mod maskinen, kan det være vanskeligere at finde på, hvilke abstrakte datatyper og hermed typer af objekter, der skal indgå i programmet. 28

11 Fænomener og begreber Fænomen: En ting i den virkelige (eller "tænkte") verden med individuel eksistens. Begreb: Et begreb er karakteriseret af: Navn. Intension : mængden af egenskaber, der karakteriserer begrebet. Extension : mængden af fænomener, som er dækket (beskrevet) af begrebet. Begreb Klassificering Eksemplificering Fænomen Begreber og fænomener hører til i den virkelige verden, i referent systemet. Abstrakte datatyper og objekter dannet ud fra abstrakte datatyper hører hjemme i programmeringsverdenen. Emnet på denne slide er ikke beskrevet i bøgerne, som vi benytter på dette kursus. Hvis man ønsker at vide mere henvises der til f.eks. Jørgen Lindskov Knudsen og Kristine Stougaard Thomsen "A Conceptual Framework for Programming Languages" (DAIMI PB-192, April 1985). Klassificering/eksemplificering er let at få øje på blandt begreber og fænomener i vores hverdag. Begrebet 'gravhund' kan have 'Fido' og 'King' som eksempler; omvt klassificerer 'gravhund' de nævnte to eksempler på hunde. 29

12 Begrebsdannelse. Hvordan danner man begreber ud fra andre begreber? Begreb Aggregering Begreb Begreb Begreb Begreb Dekomponering Begreb Begreb Begreb Begreb Generalisering Begreb Begreb Specialisering Begreb De fire nævnte former for begrebsdannelse forekommer i par. Aggregering samler et antal begreber i et nyt begreb. Dekomponering løsriver allerede samlede begreber i dets bestanddele. Et generaliseret begreb betegner et bredere dække begreb det specialiserede begreb. Ekstensionen af et specialiseret begreb er en delmængde af ekstensionen af det mere generelle begreb. Intensionen af det specialiserede begreb udvides typisk med nye egenskaber; det kan også forekomme, at eksistere egenskaber redefineres (pålægges bånd) når man beskriver et specialiseret begreb. Næste slide viser eksempler på de nævnte former for begrebsdannelse. 30

13 Eksempler på begrebsdannelse Aggregering Begrebet en flyvemaskine består af Et cockpit En krop Et haleparti To vinger Et antal motorer En record record f1: T1; f2: T2; f3: T3 er en aggregering af typerne T1.. T3 Specialisering Befordringsmiddel bil båd flyvemaskine personbil bus skib sejlbåd jetjager passagerfly færge DC10 Boing747 Indbyrdes generaliserede/specialiserede begreber danner et begrebshierarki. Roden i hierarkiet er det mest generelle begreb. Hvis A->B i hierarkiet er B en specialisering af A (og A en generalisering af B). Specialisering af abstrakte datatyper er et nøgleemne i objekt-orienteret programmering. Emnet vil komme til at spille en stor rolle senere i kurset. Den programmeringssproglige mekanisme, der understøtter specialisering af abstrakte datatyper, kaldes nedarvning. I senere kapitler af disse noter vil vi komme stærkt tilbage til dette. 31

14 Objekt-orienteret udvikling af 'minibank' (1) bank-konto check-konto aktionær-konto gevinst-konto ADT bank-konto id: KontoId rentesats: real balance: kroner opret (init-beløb: kroner) hæv (beløb: kroner) indsæt (beløb: kroner) tilskriv-rente () bank-konto ADT check-konto : bank-konto antal-udskrevne-checks: integer tilskriv-rente () clear-check(beløb: kroner) check-konto Tilsvare definitioner af aktionær-konto og gevinst-konto Generaliserings/specialiserings hierarkiet af bankkonto-typer fastlægges som det første. Dette er et meget vigtigt trin i designet af et hvilket som helst objekt-orienteret program, der manipulerer bank-konti. Hver af typerne, som indgår i hierarkiet, beskrives hvad angår repræsentation og operationer. Operationerne implementeres. På denne slide er implementationen af operationerne hverken vist eller antydet. Der er benyttet en pseudo-syntax for abstrakte datatyper, som ikke er en del af noget programmeringssprog. Det eneste formål med denne slide er at illustrere principperne i objekt-orienteret udvikling, som et modstykke til den allerede viste top-down udvikling af mini-bank programmet. En abstrakt datatype svarer til record-typen for bank-konto på den tidligere viste slide. Endvidere er udvælgelse af bank-konto operationen, som vist i check-konto-transaktion (se tidligere slide) implicit tilstede via mekanismer i det objekt-orienterede sprog. Vi mangler "blot" at lave en (eller flere) hovedprogrammer med en passe brugerinteraktion på instanser af typerne. Et sådan er skitseret på næste slide. 32

15 Objekt-orienteret udvikling af 'minibank' (2) procedure mini-bank-main-program var K: bank-konto begin while not fyraften do begin indlæs en bank-konto K indlæs en transaktions-type TT case TT of opret: instantiering af et nyt bank-konto objekt hæve: indlæs beløb B; K.hæv(B); indsætte: indlæs beløb B; K.indsæt(B); tilskriv-rente: K.tilskriv-rente; clear-check: indlæs beløb B; K.clear-check(B) nedlæg: nedlæg bank-konto instans ; Hovedprogrammet vist ovenfor er et af mange mulige hovedprogrammer, som kan programmeres med basis i de viste klasse-definitioner. Flere steder i ovenståe program forekommer notationen K.operation(parameter). Denne notation kaldes "dot notation", og udtryksformen forekommer i mange objektorienterede programmeringssprog. Betydningen er at operation udføres på kontoen K med den angivne parameter. I mere konventionel Pascal-stil ville man skrive operation(k, parameter). Det er værd at bemærke, at ovennævnte case-sætning kan bruges for alle typer af bankkonti forudsat at alle typer af bankkonti har det samme sæt af operationer. (Dette er ikke altid en realistisk antagelse. I så fald må man programmere en interaktion pr. kontotype). I ovenståe program vil det være op til den objekt-orienterede omgivelse at udvælge kontotype-specifikke operationer. Når, f.eks. K.indsæt(B) kaldes i ovenståe program, udvælger systemet således den indsættelsesoperation, som er relevant på netop typen af kontoen K. Dette er en meget vigtig og karakteristisk egenskab ved objekt-orienterede programmeringsomgivelser. Senere i kurset ver vi tilbage til dette under betegnelsen "dynamisk binding". 33

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

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

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

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

29 Opsamling af Objekt-orienteret Programmering.

29 Opsamling af Objekt-orienteret Programmering. 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.

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

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

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

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

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

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

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

Miniprojekt i Programmering (MIP) for DAT2 og SW2, Forår 2012

Miniprojekt i Programmering (MIP) for DAT2 og SW2, Forår 2012 Miniprojekt i Programmering (MIP) for DAT2 og SW2, Forår 2012 Opgaven er delt op i 2 dele. Læs hele opgaven igennem inden I begynder. 1. Struktur I denne opgave skal der laves et system der håndterer salg

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

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

Å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

En note om Programmering

En note om Programmering En note om Programmering Kurt Nørmark Institut for Datalogi Aalborg Universitet normark@cs.aau.dk Resumé Denne note er en introduktion til programmering. Formålet er at give dig et indblik i hvad programmering

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

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

Matema10k. Matematik for hhx C-niveau. Arbejdsark til kapitlerne i bogen

Matema10k. Matematik for hhx C-niveau. Arbejdsark til kapitlerne i bogen Matema10k Matematik for hhx C-niveau Arbejdsark til kapitlerne i bogen De følgende sider er arbejdsark og opgaver som kan bruges som introduktion til mange af bogens kapitler og underemner. De kan bruges

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

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

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

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

Noter til dm529. Jonas Nyrup. 11. november 2011

Noter til dm529. Jonas Nyrup. 11. november 2011 Noter til dm529 Jonas Nyrup 11. november 2011 Indhold 1 Kravdisciplinen: Kravmodellen og Indfangning af Krav 2 1.1 (ikke)-funktionelle krav...................... 2 1.2 Kravattributter...........................

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

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

Ugeseddel 12(10.12 14.12)

Ugeseddel 12(10.12 14.12) Ugeseddel (..) Matematisk Programmering Niels Lauritzen..7 FORELÆSNINGER I ugen. 7. gennemgik vi algoritmer til løsning af heltalsprogrammer ved hjælp af simplex algoritmen. Dette er heltalsprogrammeringsugesedlen

Læs mere

Undervisningsbeskrivelse

Undervisningsbeskrivelse Undervisningsbeskrivelse Stamoplysninger til brug ved prøver til gymnasiale uddannelser Termin August 2009 - juni 2010 Institution HTX Sukkertoppen/Københavns Tekniske Skole Uddannelse Fag og niveau Lærer(e)

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

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

5. OPSÆTNING DOKUMENTSKABELONER 5.1 TRIN

5. OPSÆTNING DOKUMENTSKABELONER 5.1 TRIN 5. OPSÆTNING DOKUMENTSKABELONER Under fanen Dok. skabeloner kan du arbejde med de skabeloner som du har i systemet, eller du kan oprette nye. I denne vejledning kigger vi på hvordan du kan tilrette selve

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

Kapitel 21: Softwarearkitektur designprincipper

Kapitel 21: Softwarearkitektur designprincipper Kapitel 21: Softwarearkitektur designprincipper Miriam Tang Jacob Jensen Lars Christensen Jacob Atzen Onsdag 9/3 Dagens program Definitioner Analyseværktøjer Designprocessen Raffinering Afrunding Design

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

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

1 KlassifikationStruktur

1 KlassifikationStruktur ..27 KlassifikationStruktur. KlassifikationStruktur Klassifikation er det abstrakte objekt som samler et klassifikationssystem. Klassifikation holder klassifikationssystemets metadata. Klassifikationssystemet

Læs mere

Bemærk! Et PHP script har kun brug for at forbinde én gang til databaseserveren. Det kan så sagtens udføre flere kommandoer vha. denne forbindelse.

Bemærk! Et PHP script har kun brug for at forbinde én gang til databaseserveren. Det kan så sagtens udføre flere kommandoer vha. denne forbindelse. Mysqli Webintegrator Når vi arbejder med server-side scripting ( i vort tilfælde PHP), har vi ofte behov for at kunne tilgå data, som vi opbevarer i en database. Det kan f.eks. dreje sig om nyhederne i

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

5 Ligninger og uligheder

5 Ligninger og uligheder 5 Ligninger og uligheder Faglige mål Kapitlet Ligninger og uligheder tager udgangspunkt i følgende faglige mål: Regler for løsning af ligninger og uligheder: kende reglerne for ligningsløsning og uligheder

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

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

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

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

Kursusbeskrivelse. Forarbejde. Oprettelse af en Access-database

Kursusbeskrivelse. Forarbejde. Oprettelse af en Access-database Kursusbeskrivelse Oprettelse af en Access-database Som eksempel på en Access-database oprettes en simpelt system til administration af kurser. Access-databasen skal indeholde: et instruktørkartotek et

Læs mere

Flowchart og Nassi ShneidermanN Version. Et flowchart bruges til grafisk at tegne et forløb. Det kan fx være et programforløb for en microcontroller.

Flowchart og Nassi ShneidermanN Version. Et flowchart bruges til grafisk at tegne et forløb. Det kan fx være et programforløb for en microcontroller. Flowchart Et flowchart bruges til grafisk at tegne et forløb. Det kan fx være et programforløb for en microcontroller. Et godt program til at tegne flowcharts med er, EDGE-Diagrammer, eller Smartdraw.

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

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

Du skal være opmærksom på følgende obligatoriske kurser, hvis du ikke allerede har taget dem:

Du skal være opmærksom på følgende obligatoriske kurser, hvis du ikke allerede har taget dem: Student Affairs and Programmes Direkte tlf.: 7218 5094 E-mail: aeli@itu.dk 24. marts 2015 Ændringer på Diplom i it Kære studerende på Diplom i it, IT-Universitetet i København stopper optaget på Diplom

Læs mere

Ændringer på Diplom i it

Ændringer på Diplom i it Student Affairs and Programmes Direkte tlf.: 7218 5094 E-mail: aeli@itu.dk 24. marts 2015 Ændringer på Diplom i it Kære studerende på Diplom i it, IT-Universitetet i København stopper optaget på Diplom

Læs mere

Undervisningsbeskrivelse

Undervisningsbeskrivelse Undervisningsbeskrivelse Stamoplysninger til brug ved prøver til gymnasiale uddannelser Termin 2014-2015 Institution Rybners Tekniske Gymnasium Uddannelse Fag og niveau Lærer(e) Hold Htx Programmering

Læs mere

Kapitel 5 Renter og potenser

Kapitel 5 Renter og potenser Matematik C (må anvedes på Ørestad Gymnasium) Renter og potenser Når en variabel ændrer værdi, kan man spørge, hvor stor ændringen er. Her er to måder at angive ændringens størrelse. Hvis man vejer 95

Læs mere

Kursusarbejde 3 Grundlæggende Programmering

Kursusarbejde 3 Grundlæggende Programmering Kursusarbejde 3 Grundlæggende Programmering Arne Jørgensen, 300473-2919 klasse dm032-1a 21. november 2003 Indhold 1. Kode 2 1.1. forestillinger.h............................................. 2 1.2. forestillinger.cc.............................................

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

Funktioner og ligninger

Funktioner og ligninger Eleverne har både i Kolorit på mellemtrinnet og i Kolorit 7 matematik grundbog arbejdet med funktioner. I 7. klasse blev funktionsbegrebet defineret, og eleverne arbejdede med forskellige måder at beskrive

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

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

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

Oversigt. Modellering.6. Begrebsmodellering. Begrebsapparat til OO. Fænomener og begreber. Objektorienteret modellering

Oversigt. Modellering.6. Begrebsmodellering. Begrebsapparat til OO. Fænomener og begreber. Objektorienteret modellering Oversigt Modellering Begrebsmodellering, UML og Java Begrebsapparat til objektorientering Begrebsopfattelser og -modellering Strukturer: specialisering, aggregering, associering Anvendes til organisering

Læs mere

Formål & Mål. Ingeniør- og naturvidenskabelig. Metodelære. Kursusgang 1 Målsætning. Kursusindhold. Introduktion til Metodelære. Indhold Kursusgang 1

Formål & Mål. Ingeniør- og naturvidenskabelig. Metodelære. Kursusgang 1 Målsætning. Kursusindhold. Introduktion til Metodelære. Indhold Kursusgang 1 Ingeniør- og naturvidenskabelig metodelære Dette kursusmateriale er udviklet af: Jesper H. Larsen Institut for Produktion Aalborg Universitet Kursusholder: Lars Peter Jensen Formål & Mål Formål: At støtte

Læs mere

Manual til opsætning af Jit-klient version 1.0. Opsætning. Copyright Jit-Danmark Aps 2006. Find mere information på www.jitbesked.

Manual til opsætning af Jit-klient version 1.0. Opsætning. Copyright Jit-Danmark Aps 2006. Find mere information på www.jitbesked. Opsætning Indholdsfortegnelse Sådan finder du indstillingerne...3 Muligheder og begrænsninger...6 Hvilke søgeord skal jeg bruge?...6 Ting man skal passe på...6 Tilføjning/nedlægning af søgeord...6 Ændring

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

Dynamisk programmering. Flere eksempler

Dynamisk programmering. Flere eksempler Dynamisk programmering Flere eksempler Eksempel 1: Længste fælles delstreng Alfabet = mængde af tegn: {a,b,c,...,z}, {A,C,G,T}, {,1} Streng = sekvens x 1 x 2 x 3... x n af tegn fra et alfabet: helloworld

Læs mere

Køreplan Matematik 1 - FORÅR 2005

Køreplan Matematik 1 - FORÅR 2005 Lineær algebra modulo n og kryptologi Køreplan 01005 Matematik 1 - FORÅR 2005 1 Introduktion Kryptologi er en ældgammel disciplin, som går flere tusinde år tilbage i tiden. Idag omfatter disciplinen mange

Læs mere

Dynamisk programmering

Dynamisk programmering Dynamisk programmering Dynamisk programmering Et algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer. Har en hvis lighed med divide-and-conquer: Begge opbygger løsninger til større problemer

Læs mere

Hassansalem.dk/delpin User: admin Pass: admin BACKEND

Hassansalem.dk/delpin User: admin Pass: admin BACKEND Hassansalem.dk/delpin User: admin Pass: admin BACKEND 1/10 Indledning Dette projekt er den afsluttende del af web udvikling studiet på Erhvervs Lillebælt 1. semester. Projektet er udarbejdet med Del-pin

Læs mere

Skriftlig eksamen, Programmer som Data Onsdag 6. januar Spørgsmål 1 (20 %): Regulære udtryk og automater

Skriftlig eksamen, Programmer som Data Onsdag 6. januar Spørgsmål 1 (20 %): Regulære udtryk og automater Skriftlig eksamen, Programmer som Data Onsdag 6. januar 2010 Dette eksamenssæt har 5 sider. Tjek med det samme at du har alle siderne. Eksamens varighed er 4 timer. Der er fire spørgmål. For at få fuldt

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

Kapitel 7 Matematiske vækstmodeller

Kapitel 7 Matematiske vækstmodeller Matematiske vækstmodeller I matematik undersøger man ofte variables afhængighed af hinanden. Her ser man, at samme type af sammenhænge tit forekommer inden for en lang række forskellige områder. I kapitel

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

Uafhængig og afhængig variabel

Uafhængig og afhængig variabel Uddrag fra http://www.emu.dk/gym/fag/ma/undervisningsforloeb/hf-mat-c/introduktion.doc ved Hans Vestergaard, Morten Overgaard Nielsen, Peter Trautner Brander Variable og sammenhænge... 1 Uafhængig og afhængig

Læs mere

Objektorienteret Analyse & Design

Objektorienteret Analyse & Design Objektorienteret Analyse & Design Lars Mathiassen, Andreas Munk-Madsen, Peter Axel Nielsen og Jan Stage ISBN: 87-7751-153-0 Udgave: 3. udgave Udgivelsesår: 2001 Antal sider: 452 Pris: Kr. 410,00 På de

Læs mere

Anden del af kapitlet fokuserer på rentebegrebet. I læseplanen fra Fælles Mål 2009 står der direkte, at eleverne skal arbejde med

Anden del af kapitlet fokuserer på rentebegrebet. I læseplanen fra Fælles Mål 2009 står der direkte, at eleverne skal arbejde med Af læseplanen for 7.-9. klassetrin fremgår det, at beskrivelse af lineære og ikke-lineære sammenhænge indgår i arbejdet med funktionsbegrebet. Det er ligeledes fremhævet, at arbejdet med funktionsbegrebet

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

Database for udviklere. Jan Lund Madsen PBS10107

Database for udviklere. Jan Lund Madsen PBS10107 Database for udviklere Jan Lund Madsen PBS10107 Indhold LINQ... 3 LINQ to SQL og Arkitektur... 3 O/R designere... 5 LINQ Den store introduktion med.net 3.5 er uden tvivl LINQ(udtales link): Language-INtegrated

Læs mere

Indholdsfortegnelse for kapitel 2

Indholdsfortegnelse for kapitel 2 Indholdsfortegnelse for kapitel 2 Kapitel 2. Analyse.......................................................... 2 Analyse af 2.1...................................................... 2 Analysen af Database.................................................

Læs mere

10 Skitur til Østrig. Faglige mål. Side til side-vejledning. Budget og opsparing. Klubfest. Opsparing til skituren. Penge. Budget og opsparing

10 Skitur til Østrig. Faglige mål. Side til side-vejledning. Budget og opsparing. Klubfest. Opsparing til skituren. Penge. Budget og opsparing 10 Skitur til Østrig Faglige mål Kapitlet Skitur til Østrig tager udgangspunkt i følgende faglige mål: Budget og opsparing: kunne udarbejde budget og regnskab, kende forskel på de to begreber samt vide

Læs mere

Bliv opdaget på Internettet! - 10 gode råd til at optimere din hjemmeside til søgemaskiner

Bliv opdaget på Internettet! - 10 gode råd til at optimere din hjemmeside til søgemaskiner Bliv opdaget på Internettet! - 10 gode råd til at optimere din hjemmeside til søgemaskiner Af Henrik Bro og Martin T. Hansen I har måske allerede en flot, og informativ hjemmeside. Og alle jeres kursister

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

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

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

{ } { } {( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( )}

{ } { } {( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( )} Stokastisk eksperiment Et stokastisk eksperiment er et eksperiment, hvor vi fornuftigvis ikke på forhånd kan have en formodning om resultatet af eksperimentet. Til gengæld kan vi prøve at sige noget om,

Læs mere

Programmering C Eksamensprojekt. Lavet af Suayb Köse & Nikolaj Egholk Jakobsen

Programmering C Eksamensprojekt. Lavet af Suayb Köse & Nikolaj Egholk Jakobsen Programmering C Eksamensprojekt Lavet af Suayb Köse & Nikolaj Egholk Jakobsen Indledning Analyse Læring er en svær størrelse. Der er hele tiden fokus fra politikerne på, hvordan de danske skoleelever kan

Læs mere

FESD-standardiseringsgruppen Att: Palle Aagaard IT- og Telestyrelsen IT-strategisk kontor Holsteinsgade 63 2100 København Ø

FESD-standardiseringsgruppen Att: Palle Aagaard IT- og Telestyrelsen IT-strategisk kontor Holsteinsgade 63 2100 København Ø FESD-standardiseringsgruppen Att: Palle Aagaard IT- og Telestyrelsen IT-strategisk kontor Holsteinsgade 63 2100 København Ø Høringssvar vedr. FESD GIS-integrationsmodel version 2.0 Geodata Danmark har

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

Prioritetskøer og hobe. Philip Bille

Prioritetskøer og hobe. Philip Bille Prioritetskøer og hobe Philip Bille Plan Prioritetskøer Træer Hobe Repræsentation Prioritetskøoperationer Konstruktion af hob Hobsortering Prioritetskøer Prioritetskø Vedligehold en dynamisk mængde S af

Læs mere

Om brugen af matematiske tegn og objekter i en god matematisk fremstilling

Om brugen af matematiske tegn og objekter i en god matematisk fremstilling Om brugen af matematiske tegn og objekter i en god matematisk fremstilling af Petur Birgir Petersen Et særpræg ved matematik som videnskab er den udstrakte brug af symboler. Det er vigtigt at symbolerne

Læs mere

Computerstøttet beregning

Computerstøttet beregning CSB 2009 p. 1/16 Computerstøttet beregning Lektion 1. Introduktion Martin Qvist qvist@math.aau.dk Det Ingeniør-, Natur-, og Sundhedsvidenskabelige Basisår, Aalborg Universitet, 3. februar 2009 people.math.aau.dk/

Læs mere

Simulering af stokastiske fænomener med Excel

Simulering af stokastiske fænomener med Excel Simulering af stokastiske fænomener med Excel John Andersen, Læreruddannelsen i Aarhus, VIA Det kan være en ret krævende læreproces at udvikle fornemmelse for mange begreber fra sandsynlighedsregningen

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

Seminaropgave: Præsentation af idé

Seminaropgave: Præsentation af idé Seminaropgave: Præsentation af idé Erik Gahner Larsen Kausalanalyse i offentlig politik Dagsorden Opsamling på kausalmodeller Seminaropgaven: Praktisk info Præsentation Seminaropgaven: Ideer og råd Kausalmodeller

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

Funktionel afhængighed

Funktionel afhængighed Databaser, efterår 2002 Funktionel afhængighed 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

Energibevidst indkøb af større anlæg Beskrivelse af sagsforløb

Energibevidst indkøb af større anlæg Beskrivelse af sagsforløb Energibevidst indkøb af større anlæg Beskrivelse af sagsforløb Indholdsfortegnelse Beskrivelse af sagsforløb... 2 Fra idé til forslag... 3 Opstilling af krav... 4 et... 5 n... 6... 7 Januar 2001 Beskrivelse

Læs mere

Lineære differentialligningers karakter og lineære 1. ordens differentialligninger

Lineære differentialligningers karakter og lineære 1. ordens differentialligninger enote 11 1 enote 11 Lineære differentialligningers karakter og lineære 1. ordens differentialligninger I denne note introduceres lineære differentialligninger, som er en speciel (og bekvem) form for differentialligninger.

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

Indhold. Evalueringsvejledning. En undersøgelse fra start til slut involverer 4 programmer: - SurveyXact - Excel - E-learn - SiteCore

Indhold. Evalueringsvejledning. En undersøgelse fra start til slut involverer 4 programmer: - SurveyXact - Excel - E-learn - SiteCore Evalueringsvejledning En undersøgelse fra start til slut involverer 4 programmer: - SurveyXact - Excel - E-learn - SiteCore Indhold 1 - Respondentgruppe hentes... 2 2 Undersøgelsen oprettes i SX... 4 3.

Læs mere

Afstande, skæringer og vinkler i rummet

Afstande, skæringer og vinkler i rummet Afstande, skæringer og vinkler i rummet Frank Villa 2. maj 202 c 2008-20. Dette dokument må kun anvendes til undervisning i klasser som abonnerer på MatBog.dk. Se yderligere betingelser for brug her. Indhold

Læs mere

Specialiseringen Rapport Lavede Af Rasmus R. Sørensen Side 1 af 6

Specialiseringen Rapport Lavede Af Rasmus R. Sørensen Side 1 af 6 Side 1 af 6 Indholdsfortegnelse INDHOLDSFORTEGNELSE 1 INTRO 3 STARTEN AF SPECIALISERINGEN 3 ANKOMST TIL SKOTLAND 4 DATABASER 5 NETVÆRK 5 INTERAKTION 5 AFSLUTNING AF SPECIALISERINGEN 5 KONKLUSION 6 Side

Læs mere

Projekt 4.6 Løsning af differentialligninger ved separation af de variable

Projekt 4.6 Løsning af differentialligninger ved separation af de variable Projekt 4.6 Løsning af differentialligninger ved separation af de variable Differentialligninger af tpen d hx () hvor hx ()er en kontinuert funktion, er som nævnt blot et stamfunktionsproblem. De løses

Læs mere