Multiparadigme Programmering

Størrelse: px
Starte visningen fra side:

Download "Multiparadigme Programmering"

Transkript

1 Multi Programmering Repetition: De grundliggende r Systematisk karateristik. Paradigmesupplering. Symmetrisk multi programmering Leda eksempler på logikprogrammering kombineret med imperativ og funktionsorienteret programmering PS3 - Multi programmering Kurt Nørmark, Aalborg Universitet 12/12/96 s. 1 Denne lektion er - delvis - baseret på Multiparadigm Programming in Leda af Thimothy A. Budd fra Addison Wesley. 1

2 Repetition: Grundliggende programmeringsr. Et grundliggende programmerings udspringer af en idé, som er inspireret af en basal disciplin, der er relevant i forhold til det at foretage beregninger. Hovedr Det imperative programmerings-: Inspirerende disciplin: Digital hardware teknologi. Det funktionsorienterede programmerings-. Inspirerende disciplin : Matematisk funktionsteori. Det logiske programmerings-. Inspirerende disciplin : Automatisk, logisk bevisførelse. Det objekt-orienterede programmerings-. Inspirerende disciplin : Model for interaktion mellem mennesker og ting. Andre grundliggende r De parallelle programmerings-r. Det visuelle programmerings. Det constraint-baserede programmerings. PS3 - Multi programmering Kurt Nørmark, Aalborg Universitet 12/12/96 s. 2 Denne slide er i store træk en repetion af en slide fra første lektion, hvor vi introducerede termerne grundliggende programmeringsr og de fire grundliggende hovedr. I denne forelæsning vil vi diskutere og vurdere de fire grundliggende hovedr i forhold til hinanden, og vi vil i særdeleshed se på mulighederne for at kombinere de grundliggende hovedr. 2 4

3 Grundlaget for en systematisk karateristik. Algoritmisk bidrag Bidrager et med algoritmisk substans? Struktur bidrag Bidrager et til strukturering af programmer? Dækningsgrad Pragmatisk: Hvor bred en klasse af problemer kan på en naturlig måde løses inden for t? Teoretisk: Hvor bred en klasse af problemer kan teoretisk set løses inden for t? Abstraktionsniveau i forhold til den underliggende, fysiske maskine Hvor tæt er t knyttet til idéen i den underliggende maskine? Tæt tilknytning: lavt abstraktionsniveau. PS3 - Multi programmering Kurt Nørmark, Aalborg Universitet 12/12/96 s. 3 3

4 Karakteristik af det imparative. Nøgleord: Kommandoer med inkrementel tilstandsforandring som funktion af tiden. Abstraktion med procedurer. Effektivt, men sjældent elegant. Algoritmisk bidrag Struktur bidrag Dækningsgrad pragmatisk Dækningsgrad teoretisk Abstraktionsniveau ift. maskinen PS3 - Multi programmering Kurt Nørmark, Aalborg Universitet 12/12/96 s. 4 Det er oplagt at ovenstående karakteristik, lige som de efterfølgende, er ganske subjektive. Det betyder at der givetvis vil kunne opstå uenigheder om karakteristikken. Det turde være klart, at dette bidrager med algoritmisk substans. Vi er vant til at udtrykke algoritmer trin for trin, og det er netop hvad det imperative r er egnet til. Strukturbidraget er middelmådigt. Vi kan dyrke abstraktion over kontrollerede kommandoer, hvilket giver procedurer. Der er naturligvis muligheder for at overlejre endnu mere struktur på t (moduler mv.), men i bund og grund er det t uvedkommende i forhold til vores definition af imperativ programmering. Den pragmatiske såvel som den teoretiske dækningsgrad i t er højt. Det betyder at så at sige alle problemer vil kunne løses på en rimelig naturlig måde i t. Abstraktionsniveauet i t i forhold til maskinens niveau er relativt lavt. Dermed mener vi at der er en tæt kobling mellem den måde maskinen virker på og den måde som imperativ programmering virker på. 4

5 Karakteristik af det funktionsorienterede. Nøgleord: Udtryk der beregnes til ikke-muterbare værdier. Værdier kan transformeres til andre værdier, som er uafhængige af de oprindelige værdier Abstraktion med funktioner. Matematisk elegant, men undertiden ineffektivt. Algoritmisk bidrag Struktur bidrag Dækningsgrad pragmatisk Dækningsgrad teoretisk Abstraktionsniveau ift. maskinen PS3 - Multi programmering Kurt Nørmark, Aalborg Universitet 12/12/96 s. 5 Algoritmisk bidrag og strukturbidrag er ganske som for imperativ programmering. Den pragmagiske dækningsgrad er dog klart lavere af funktionsorienteret programmering end af imperativ programmering. Der er en mindre mængde af programmer der kan udtrykkes naturligt i funktionsorienteret programmering end i imperativ programmering. (Dette er formodentligt kontroversielt og problematisk i forhold til fortalere for funktionsorienteret programmering). Fra et teoretisk synspunkt kan man dog givetvis dække ethver problem s løsning i t. Der er en betydelig afstand mellem funktionsbegrebet og den underliggende maskine. Vi siger altså, at abstraktionsniveauet af det funktionsorienterede er højere end abstraktionsniveauet af det imperative. Altså, med det funktionsorienterede har vi yderligere abstraheret i forhold til de imperative (i forhold til den basale, konventionelle maskine). 5

6 Karakteristik af det objekt-orienterede. Nøgleord: Indkapsling, information hiding, nedarvning Abstraktion over datadefinitioner: dataabstraktion. Algoritmisk bidrag Struktur bidrag Dækningsgrad pragmatisk Dækningsgrad teoretisk Abstraktionsniveau ift. maskinen PS3 - Multi programmering Kurt Nørmark, Aalborg Universitet 12/12/96 s. 6 Udgangspunktet for ovenstående karakteristik er måske lidt usædvanligt: vi tager snævert udgangspunkt i en karakteristik af objekt-orienteret programmering som understøttende indkapsling, information hiding og nedarvning. I mange definitioner af objekt-orienteret programmering tager man afsæt i imperativ programmering, og udvider der fra. Dermed besidder objekterne i objekt-orienteret programmering tilstand, som forandres inkementelt via kommandoer. I forbindelse med en diskussion af multi- programmering er det mere end fristende at fokusere på de absolutte karakteristika ved objekt-orienteret programmering uden a priori at binde disse til imperativ programmering. Man kan måske sige,a t vi her ser på objekt-orienteret programmering som et mix-in snarere end et fuldt i sin egen ret. Dækningsgraderne er ikke angivet ovenfor. Man kan måske også sige, at objektorienteret programmering uden det underliggende imperative, ikke dækker noget som helst. Abstraktionsniveauet i forhold til maskinens er relativt højt. Objekter er (ifølge Budd) maskiner inden i maskinen: rekursive beregningsenheder. Alene denne forståelse berettiger til et løft i abstraktionsniveau i forhold til det imperative. Men også nøgleordene indkapsling, informating hiding og nedarvning berettiger klart til et løft i forhold til imperativ programmering. (Jeg sammenligner ikke på dette punkt med funktionsorienteret programmering - hvad angår abstraktionsnieveau er objektorienteret og funktionsorienteret programmering usammenlignelige størrelser). 6

7 Karakteristik af det logiske. Nøgleord: Facts, inferensregler, forespørgsler. Deklarativ i udtryksmåden. Matematisk elegant, men undertiden ineffektivt. Algoritmisk bidrag Struktur bidrag Dækningsgrad pragmatisk Dækningsgrad teoretisk Abstraktionsniveau ift. maskinen PS3 - Multi programmering Kurt Nørmark, Aalborg Universitet 12/12/96 s. 7 Det algoritmiske bidrag af logik programmering er tilstede, men det er ikke så udpræget som i funktionsorienteret programmering eller imperativ programmering. I t som så er der så at sige ingen strukturbidrag. Den pragmatiske dækningsgrad er lav, idet t kun gør det naturligt at løse en bestemt og begrænset problemkreds. (På disse egnede problemer virker så til gengælde godt. Og man kan ofte udtrykke sig ekstremt elegant). Den teoretiske dækningsgrad er sikkert lige så høj som for alle de andre r: Man kan teoretisk set løse ethvert problem i t. Fra en praktisk synsvinkel er dette dog ikke mere interessant end det faktum, at de fleste problemer kan løses på en Turing maskine. Det logiske programmerings repræsentere nok det som distancerer sig mest fra selve maskinens virkemåde. Det udtrykker vi ved et meget højt abstraktionsniveau i forhold til maskinen. 7

8 Paradigmesupplering. Paradigme Udgangspunktet Supplerings Imperative Funktionsorienterede Objektorienterede Logiske Imperative Funktionsorienterede Forekommer hyppigt: ML, Scheme,... Forekommer hyppigt, dog ofte med svagt funktionsbegreb Imp. sprog med OO overbygning: C++ Meningsfuldt.. OOP supplering i mange fnkt-or sprog (Leda)??? Objektorienterede Konventionel OOP Stærkere eller svagere fnkt begreb i OOP??? Logiske (Leda)?????? PS3 - Multi programmering Kurt Nørmark, Aalborg Universitet 12/12/96 s. 8 Spørgsmålet på denne slide er hvorvidt et kan anvendes som supplerings inden for et programmerings, som vi har valgt som udgangspunkt for vores programmering. 8

9 Vurdering af supplering. Paradigme Udgangspunktet Supplerings Imperative Funktionsorienterede Objektorienterede Logiske Imperative Funktionsorienterede Urent Attraktivt Sjældent vellykket: lig i lasten. Attraktivt Udfordrende Udfordrende Objektorienterede De facto = OOP Attraktivt Udfordrende Logiske Urent Udfordende. Bedre end Må være afprøvet! PS3 - Multi programmering Kurt Nørmark, Aalborg Universitet 12/12/96 s. 9 9

10 Leda og symmetrisk multi programmering Anvendelse af to eller flere r på en symmetrisk måde i et program. Intet er a priori undgangspunktet. Intet spiller rollen som supplerings. Leda understøtter de fire grundliggende hovedr. Det klart mest interessante og inovative aspekt er hvordan det logiske spiller sammen med de tre andre. Interessant for det logiske pga. dets lave pragmatiske dækningsgrad, og pga. det begrænsede algoritmiske bidrag i t. Interessant for de andre r pga. de særdeles elegante løsninger som kan formuleres i det logiske. PS3 - Multi programmering Kurt Nørmark, Aalborg Universitet 12/12/96 s

11 Datatypen Set i Leda (1). class set [X: equality]; var value: X next: set[x]; function includes(val: X) -> Boolean; begin... end function remove (val: X) -> Set[X]; begin... end function items(byref val: X) -> relation; begin return unify[x](val, value) defined(next) & next.items(val); end; end; PS3 - Multi programmering Kurt Nørmark, Aalborg Universitet 12/12/96 s. 11 Ovenstående viser en skitse af en klasse fra Kapitel 3 i Leda bogen. Vi ser definitionen af en rekursiv datatype Set. Vi ser også anvendt funktionsorienteret programmering i remove: Det at fjerne et element val fra en mængde returnerer en ny mængde, hvor elementet var ikke er med. Det interessante er imidlertid funktionen items, som involverer elementer fra det logiske. Vi diskuterer og beskriver denne på næste slide. 11

12 Datatypen Set i Leda (2). function items(byref val: X) -> relation; begin return unify[x](val, value) defined(next) & next.items(val); end; items(element) returnerer (boolsk) hvorvidt element er element af mængden. items(variable) binder variabel til det første element i mængden. Dette er bidraget af unify i kroppen af items. Unify forsøger på at gøre sine to parametre ens ved at ændre på den første (som er variablen overført by reference til items). Variabelbinding fra Unify kan omgøres hvis næste element er defineret. I en for kontrolstruktur backtrackes gennem alle mulige bindinger af val. if aset.items(var) then {gør noget med den nu bundne variabel} else... for aset.items(var) then {gør noget med den nu bundne variabel} PS3 - Multi programmering Kurt Nørmark, Aalborg Universitet 12/12/96 s

13 Datatypen Graph i Leda (1). Class Graph; var vertexset: Set[Integer]; edgeset: Set[Edge]; end; function addvertext(newval: integer) -> Graph;... function addedge(newstart, newend: Intege) -> Graph;... function includesvertext(val: integer): -> Boolean;... function includesedge(t: integer; h: integer) -> Boolean; function vertex(byref val: integer) -> Relation; function edge(byref tail: integer, byref head: integer) -> Relation;... function path(byref i: integer; byref j: integer) -> Relation function indegree(avertex: integer) -> Integer;... PS3 - Multi programmering Kurt Nørmark, Aalborg Universitet 12/12/96 s

14 Datatypen Graph i Leda (2). function edge(byref tail: integer, byref head: integer) -> relation; var anedge: Edge; return defined(edgeset) & edgeset.items(anedge) & unify[integer](tail, anedge.tail) & unify[integer](head, anedge.head) end; edge(1,3) returnerer true idet der er en kant fra 1 knude 1 til knude 3. Det er muligt at iterere over kanter som knuder hvortil der en kant til en bestemt anden knude: x := NIL; for agraph.edge(x, 3) do print(x); Udskriver knude 1 og 2 PS3 - Multi programmering Kurt Nørmark, Aalborg Universitet 12/12/96 s

15 Datatypen Graph i Leda (3). function indegree(avertex: integer) -> integer; var head: integer; count: integer; begin count := 0; head := avertex; for edge(nil,head) do count := count + 1; return count; end; PS3 - Multi programmering Kurt Nørmark, Aalborg Universitet 12/12/96 s

16 Datatypen Graph i Leda (4). function path(byref i: integer, byref j: integer) -> Relation; var k: integer; begin return vertex(i) & vertex(j) & ((i = j) edge(i, j) edge(i, k) & removevertex(i).path(k,j))); end; i := NIL; for agraph.path(i, 5) do begin print( vertex ); print (i) print( can reach vertex 5\n ); end; vertex 1 can reach vertex 5 vertex 2 can reach vertex 5 vertex 3 can reach vertex 5 vertex 5 can reach vertex PS3 - Multi programmering Kurt Nørmark, Aalborg Universitet 12/12/96 s

22 Hobe. Noter. PS1 -- Hobe. Binære hobe. Minimum-hob og maximum-hob. Den abstrakte datatype minimum-hob. Opbygning af hobe. Operationen siv-ned.

22 Hobe. Noter. PS1 -- Hobe. Binære hobe. Minimum-hob og maximum-hob. Den abstrakte datatype minimum-hob. Opbygning af hobe. Operationen siv-ned. 22 Hobe. Binære hobe. Minimum-hob og maximum-hob. Den abstrakte datatype minimum-hob. Opbygning af hobe. Operationen siv-ned. Indsættelse i hobe. Sletning af minimalt element i hobe. Repræsentation. 327

Læs mere

Årsagen til fejl. Erkendelse af fejl. Håndtering af fejl.

Årsagen til fejl. Erkendelse af fejl. Håndtering af fejl. 9 Fejlhåndtering Årsagen til fejl Erkelse af fejl Håndtering af fejl Fejlerkelse og -håndtering i objekt-orienterede sprog Fejlerkelse og -håndtering i Eiffel Udbredelse af fejl i Eiffel Nuanceret fejlhåndtering

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

Dynamisk programmering

Dynamisk programmering Dynamisk programmering Dynamisk programmering Optimeringsproblem: man ønsker at finde bedste den kombinatoriske struktur blandt mange mulige. Dynamisk programmering Optimeringsproblem: man ønsker at finde

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

Dynamisk programmering

Dynamisk programmering Dynamisk programmering Dynamisk programmering Optimeringsproblem: man ønsker at finde bedste den kombinatoriske struktur (struktur opbygget af et endeligt antal enkeltdele) blandt mange mulige. Eksempler:

Læs mere

26 Programbeviser I. Noter. PS1 -- Programbeviser I. Bevis kontra 'check af assertions' i Eiffel. Betingelser og bevisregler.

26 Programbeviser I. Noter. PS1 -- Programbeviser I. Bevis kontra 'check af assertions' i Eiffel. Betingelser og bevisregler. 26 Programbeviser I. Bevis kontra 'check af assertions' i Eiffel. Betingelser og bevisregler. Hvad er programverifikation? Bevisregel for 'tom kommando'. Bevisregel for assignment. Bevisregler for selektive

Læs mere

Objekt-orienteret programmering uden klasser: Self.

Objekt-orienteret programmering uden klasser: Self. Objekt-orienteret programmering uden klasser: Self. Sammenligning klasse-baseret og klasseløs programstrukturering. Basale forhold Singulære objekter Dynamisk nedarvning Variable i forhold til metoder.

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

Lær Python dag 1 - modul 1

Lær Python dag 1 - modul 1 Lær Python dag 1 - modul 1 Introduktion, basis python Steffen Berg Klenow Jonas Bamse Andersen Syddansk Universitet Indhold 1. Velkommen 2. Programmering i python 3. Typer, variabler og udtryk 1 Velkommen

Læs mere

P (n): rekursiv beregning af f n kræver f n beregninger af f 1. P (n) er sand for alle n 2.

P (n): rekursiv beregning af f n kræver f n beregninger af f 1. P (n) er sand for alle n 2. P (n): rekursiv beregning af f n kræver f n beregninger af f 1. P (n) er sand for alle n 2. Bevis ved stærk induktion. Basisskridt: P (2) er sand og P (3) er sand. Induktionsskridt: Lad k 2 og antag P

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

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

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

Introduktion til funktioner, moduler og scopes i Python

Introduktion til funktioner, moduler og scopes i Python Denne guide er oprindeligt udgivet på Eksperten.dk Introduktion til funktioner, moduler og scopes i Python Denne artikel er fortsættelsen af "I gang med Python", som blevet publiceret her på sitet for

Læs mere

Moduler i Standard ML

Moduler i Standard ML Moduler i Standard ML Hans Hüttel December 2001 I løbet af datalogikurset har vi haft glæde af en hel række forskellige standardmoduler som f.eks. Math, Int, Real og String. Disse moduler kan, har vi set,

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

Lær Python - Dag 4, modul 1 Objektorienteret programmering

Lær Python - Dag 4, modul 1 Objektorienteret programmering Lær Python - Dag 4, modul 1 Objektorienteret programmering Simon J. Larsen 28. oktober 2017 Institut for Matematik og Datalogi Objektorienteret programmering Hvad er objektorienteret programmering? Vi

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

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

Software Construction 1. semester (SWC) januar 2014 Spørgsmål 1 Spørgsmål 1 Grundlæggende objektorienterede begreber o Klasse (class) o Objekt (object) o Metode (method), herunder return type og parametre o Instansvariable (instance variables) & egenskaber (properties),

Læs mere

14 Algoritmeanalyse. Noter. Algoritmebegrebet. Hvad er algoritmeanalyse? Problemstørrelse og køretid. Køretid for forskellige kontrolstrukturer.

14 Algoritmeanalyse. Noter. Algoritmebegrebet. Hvad er algoritmeanalyse? Problemstørrelse og køretid. Køretid for forskellige kontrolstrukturer. 14 Algoritmeanalyse. Algoritmebegrebet. Hvad er algoritmeanalyse? Problemstørrelse og køretid. O og Ω. Køretid for forskellige kontrolstrukturer. Eksempler på algoritmeanalyse. Eksponentiel og polynomiel

Læs mere

Læseplan for valgfaget teknologiforståelse. (forsøg)

Læseplan for valgfaget teknologiforståelse. (forsøg) Læseplan for valgfaget teknologiforståelse (forsøg) Indhold Indledning 3 Trinforløb for 7.- 9. klassetrin 4 Design 4 Programmering 5 Indledning Valgfaget teknologiforståelse er etårigt og kan vælges i

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

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

Ugeseddel 4 1. marts - 8. marts

Ugeseddel 4 1. marts - 8. marts Ugeseddel 4 1. marts - 8. marts Læs følgende sider i kapitel 6 i lærebogen: s. 233 258 og s. 291 317 (afsnit 6.3 overspringes). Begynd at overveje, hvad afleveringsopgaven skal omhandle. Læs vejledningen,

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

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

Undervisningsbeskrivelse

Undervisningsbeskrivelse Undervisningsbeskrivelse Termin Juni 119 Institution Uddannelse Fag og niveau Lærer Hold Erhvervsskolerne Aars hhx Programmering B Patrick Bøgsted Sørensen (pbs) 2k18 Forløbsoversigt (4) Forløb 1 Forløb

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

Læseplan for valgfaget teknologiforståelse

Læseplan for valgfaget teknologiforståelse Læseplan for valgfaget teknologiforståelse (forsøg) Indhold Indledning 3 Trinforløb for 7.- 9. klassetrin 4 Design 4 Programmering 5 Indledning Valgfaget teknologiforståelse er etårigt og kan vælges i

Læs mere

Introduktion til programmering. Programmeringssprog Uge 44 Computer Science, kap 6. Learning Python: kap 13, 14.

Introduktion til programmering. Programmeringssprog Uge 44 Computer Science, kap 6. Learning Python: kap 13, 14. Introduktion til programmering Programmeringssprog Uge 44 Computer Science, kap 6. Learning Python: kap 13, 14. Plan Programmeringsparadigmer Funktionel programmering i Python Pause Scope: referencekonteksten

Læs mere

#AlleKanKode. Lektion 2 - Konstanter og Variabler

#AlleKanKode. Lektion 2 - Konstanter og Variabler #AlleKanKode Lektion 2 - Konstanter og Variabler Disclaimer / Ansvarsfraskrivelse Alt du deler og siger mm bliver optaget. Lad være med at dele privat oplysninger, adgangskoder, kreditkort oplysninger

Læs mere

Induktive og rekursive definitioner

Induktive og rekursive definitioner Induktive og rekursive definitioner Denne note omhandler matematiske objekter, som formelt er opbygget fra et antal basale byggesten, kaldet basistilfælde eller blot basis, ved gentagen brug af et antal

Læs mere

2 Funktionsorienteret programmering i Scheme.

2 Funktionsorienteret programmering i Scheme. 2 Funktionsorienteret programmering i Scheme. Lisp og Scheme. Listebegrebet i Lisp. Funktionsdefinition og lambdaudtryk. Navnebinding. Iteration. Første-klasses funktioner. Closures som klasser. Praktisk

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

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

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

Om at løse problemer En opgave-workshop Beregnelighed og kompleksitet

Om at løse problemer En opgave-workshop Beregnelighed og kompleksitet Om at løse problemer En opgave-workshop Beregnelighed og kompleksitet Hans Hüttel 27. oktober 2004 Mathematics, you see, is not a spectator sport. To understand mathematics means to be able to do mathematics.

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

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet side af sider Danmarks Tekniske Universitet Skriftlig prøve, den. maj 00. Kursusnavn Algoritmer og datastrukturer I Kursus nr. 005. Tilladte hjælpemidler: Alle skriftlige hjælpemidler. Vægtning af opgaverne:

Læs mere

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

Å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

Jan B. Larsen HTX Næstved Computational Thinking Albena Nielsen N. Zahles Gymnasium 2018/2019

Jan B. Larsen HTX Næstved Computational Thinking Albena Nielsen N. Zahles Gymnasium 2018/2019 Forløb: Toksikologi Fag og emner Forløbet kan laves udelukkende i matematik og bioteknologi, men der er oplagt, at det implementeres i andre fag. Matematik modellering, differenceligninger, sandsynlighed,

Læs mere

Datalogi C, Efterår 2004 OH er, forelæsning 14/ Datastrukturer og algoritmer. Henning Christiansen

Datalogi C, Efterår 2004 OH er, forelæsning 14/ Datastrukturer og algoritmer. Henning Christiansen Datalogi C, Efterår 2004 OH er, forelæsning 14/9-2004 Datastrukturer og algoritmer Henning Christiansen henning@ruc.dk http://www.ruc.dk/~henning Kursusweb: http://www.ruc.dk/~henning/datce2004/ Formål:

Læs mere

Algoritmedesign med internetanvendelser ved Keld Helsgaun

Algoritmedesign med internetanvendelser ved Keld Helsgaun Algoritmedesign med internetanvendelser ved Keld Helsgaun 1 Analyse af algoritmer Input Algoritme Output En algoritme er en trinvis metode til løsning af et problem i endelig tid 2 Algoritmebegrebet D.

Læs mere

Rettelser til Pilen ved træets rod

Rettelser til Pilen ved træets rod Rettelser til Pilen ved træets rod Hans Hüttel Pr. 12. juni 2003 Nedenstående rettelser er indsamlet af mig selv, Peter Poulsen, Martin Maach og ikke mindst Lars Schunk i løbet af foråret 2003. Simple

Læs mere

#AlleKanKode. Lektion 4 - Kontrol flow

#AlleKanKode. Lektion 4 - Kontrol flow #AlleKanKode Lektion 4 - Kontrol flow Disclaimer / Ansvarsfraskrivelse Alt du deler og siger mm bliver optaget. Lad være med at dele privat oplysninger, adgangskoder, kreditkort oplysninger osv. Andre

Læs mere

1 Opsumering fra tidligere. 2 Dagsorden 3 BIMS. 4 Programtilstande. Statements/kommandoer (Stm) i bims. 3.1 Abstrakt syntaks for bims

1 Opsumering fra tidligere. 2 Dagsorden 3 BIMS. 4 Programtilstande. Statements/kommandoer (Stm) i bims. 3.1 Abstrakt syntaks for bims 1 Opsumering fra tidligere Hvis A er kontekstfrit, S er der et p > 0 s Alle s A hvor s p kan splittes op som s = uvxyz så argument 1-3 holder A er ikke kontekstfrit, hvis for ethvert bud på p kan 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

Sproget Rascal (v. 2)

Sproget Rascal (v. 2) Sproget Rascal (v. 2) Til brug i K1 på kurset Oversættere Opdateret 29/11 2004 Abstract Rascal er et simpelt Pascal-lignende imperativt sprog. Dette dokument beskriver uformelt Rascals syntaks og semantik

Læs mere

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

class Time { int hours, min; } } Time t1; // Erklær variabel af type Time class Time1 { public static void main(string[] args) { Time t1; t1.

class Time { int hours, min; } } Time t1; // Erklær variabel af type Time class Time1 { public static void main(string[] args) { Time t1; t1. Programmering 1999 Forelæsning 4, fredag 10. september 1999 Klasser og objekter Felter, konstruktorer, this Eksempler på klasser: Time, Appointment Eksempler på metoder i Time og Appointment Klassefelter:

Læs mere

Tree klassen fra sidste forelæsning

Tree klassen fra sidste forelæsning Programmering 1999 Forelæsning 12, fredag 8. oktober 1999 Oversigt Abstrakte klasser. Grænseflader. Programmering 1999 KVL Side 12-1 Tree klassen fra sidste forelæsning class Tree { int age; // in years

Læs mere

DM507 Algoritmer og datastrukturer

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

Læs mere

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

Introduktion til Funktionsorienteret Programmering.

Introduktion til Funktionsorienteret Programmering. 1 Introduktion til Funktionsorienteret Programmering. Dynamiske sprog og omgivelser. Applikativ og funktionsorienteret programmering. Eksempler på funktionsorienteret programmering. Uafhængighed af evalueringsrækkefølge.

Læs mere

Noter til kursusgang 8, IMAT og IMATØ

Noter til kursusgang 8, IMAT og IMATØ Noter til kursusgang 8, IMAT og IMATØ matematik og matematik-økonomi studierne 1. basissemester Esben Høg 25. oktober 2013 Institut for Matematiske Fag Aalborg Universitet Esben Høg Noter til kursusgang

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

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

Spil Master Mind. Indledning.

Spil Master Mind. Indledning. side 1 af 16 Indledning. Spillet som denne rapport beskriver, indgår i et større program, der er lavet som projekt i valgfaget programmering C på HTX i perioden 9/11-98 til 12/1-99. Spillet skal give de

Læs mere

Rekursion C#-version

Rekursion C#-version Note til Programmeringsteknologi Akademiuddannn i Informationsteknologi Rekursion C#-version Finn Nordbjerg 1 Rekursion Rekursionsbegrebet bygger på, at man beskriver noget ved "sig selv". Fx. kan tallet

Læs mere

P2-projektforslag Kombinatorik: grafteori og optimering.

P2-projektforslag Kombinatorik: grafteori og optimering. P2-projektforslag Kombinatorik: grafteori og optimering. Vejledere: Leif K. Jørgensen, Diego Ruano 1. februar 2013 1 Indledning Temaet for projekter på 2. semester af matematik-studiet og matematikøkonomi-studiet

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

METODER ARV KLASSER. Grundlæggende programmering Lektion 5

METODER ARV KLASSER. Grundlæggende programmering Lektion 5 METODER KLASSER ARV Grundlæggende programmering Lektion 5 1 METODER Sekvenser af kode om samme emne 2 REPETITION Række af statements der udfører en handling Mindst én metode der hedder main Forskellen

Læs mere

Programmering. Det rent og skært nødvendige, det elementært nødvendige! Morten Dam Jørgensen

Programmering. Det rent og skært nødvendige, det elementært nødvendige! Morten Dam Jørgensen Programmering Det rent og skært nødvendige, det elementært nødvendige! Morten Dam Jørgensen Oversigt Undervisningen Hvad er programmering Hvordan er et program organiseret? Programmering og fysik Nobelprisen

Læs mere

Programmering 1999 KVL Side 5-4. Klassen Time: metoder. Metoder i objektet giver mulighed for at ændre tilstanden, eller kigge på tilstanden.

Programmering 1999 KVL Side 5-4. Klassen Time: metoder. Metoder i objektet giver mulighed for at ændre tilstanden, eller kigge på tilstanden. Programmering 1999 Forelæsning 5, tirsdag 14. september 1999 Oversigt Mere om klasser og objekter Klassefelter: static Konstante felter: final Indkapsling og synlighed: private og public Overlæsning af

Læs mere

Sandsynlighedsteori. Sandsynlighedsteori. Sandsynlighedsteori Et eksperiment beskrives af et udfaldsrum udstyret med et. Et Bayesiansk argument

Sandsynlighedsteori. Sandsynlighedsteori. Sandsynlighedsteori Et eksperiment beskrives af et udfaldsrum udstyret med et. Et Bayesiansk argument Sandsynlighedsteori Sandsynlighedsteori Et eksperiment beskrives af et udfaldsrum udstyret med et sandsynlighedsmål, (, E, ν). Et eksperiment beskrives af et udfaldsrum udstyret med et sandsynlighedsmål,

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

#AlleKanKode. Lektion 3 - Operatorer

#AlleKanKode. Lektion 3 - Operatorer #AlleKanKode Lektion 3 - Operatorer Disclaimer / Ansvarsfraskrivelse Alt du deler og siger mm bliver optaget. Lad være med at dele privat oplysninger, adgangskoder, kreditkort oplysninger osv. Andre vil

Læs mere

Programmering for begyndere Lektion 2. Opsamling mm

Programmering for begyndere Lektion 2. Opsamling mm Lektion 2 Opsamling mm God tone Der er indlagt spørge sessioner Lektion 2 - Agenda Programmering for Lidt ændringer til teknikken, herunder hvordan du genser en lektion Lidt generelle tilbagemeldinger

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

Introduktion til Funktionsorienteret Programmering.

Introduktion til Funktionsorienteret Programmering. Introduktion til Funktionsorienteret Programmering. Sammenligning med det imperative paradigme Assignment kontra navnebinding. Iterative kontra rekursion. Introduktion til højereordensfunktioner. Evalueringsrækkefølge.

Læs mere

Det er muligt at chekce følgende opg. i CodeJudge: og

Det er muligt at chekce følgende opg. i CodeJudge: og Det er muligt at chekce følgende opg. i CodeJudge:.1.7 og.1.14 Exercise 1: Skriv en forløkke, som producerer følgende output: 1 4 9 16 5 36 Bonusopgave: Modificer dit program, så det ikke benytter multiplikation.

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

Evaluering af komprimeret enkeltfag under Åben Uddannelse for FS2017

Evaluering af komprimeret enkeltfag under Åben Uddannelse for FS2017 NOTAT Evaluering af komprimeret enkeltfag under Åben Uddannelse for FS2017 Læreruddannelse og formidling 15.juni 2017 Birgitte Hedeskov og Mette Marie Gräs Kokholm I forårssemestret 2017 er der gennemført

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

Skriftlig eksamen i Datalogi

Skriftlig eksamen i Datalogi Roskilde Universitetscenter side 1 af 11 sider Skriftlig eksamen i Datalogi Modul 1 Sommer 2000 Opgavesættet består af 6 opgaver, der ved bedømmelsen tillægges følgende vægte: Opgave 1 10% Opgave 2 10%

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

BOSK F2011, 1. del: Udsagnslogik

BOSK F2011, 1. del: Udsagnslogik ( p q) p q February 1, 2011 Sandhedsværdier og udsagnsvariable I dag handler det om logiske udsagn. Mere præcist om de logiske udsagn vi kan bygge ud fra sandhedsværdier, udsagnsvariable og logiske konnektiver.

Læs mere

DM507 Algoritmer og datastrukturer

DM507 Algoritmer og datastrukturer DM507 Algoritmer og datastrukturer Forår 2018 Projekt, del II Institut for matematik og datalogi Syddansk Universitet 20. marts, 2019 Dette projekt udleveres i tre dele. Hver del har sin deadline, således

Læs mere

Kapitel 8: Polære grafer

Kapitel 8: Polære grafer Kapitel 8: Polære grafer 8 Oversigt af polær tegning... 122 Oversigt over trinene i tegning af polære ligninger... 123 Forskelle mellem polær tegning og funktionstegning... 124 I dette kapitel beskrives,

Læs mere

Programmering i C. Lektion september 2009

Programmering i C. Lektion september 2009 Programmering i C Lektion 1 8. september 2009 Målgruppe Motivation Indhold Form Materiale 2 / 47 Kursusintroduktion 1 Målgruppe 2 Motivation 3 Indhold 4 Form 5 Materiale Målgruppe Motivation Indhold Form

Læs mere

Kapitel 3 Betinget logik i C#

Kapitel 3 Betinget logik i C# Kapitel 3 i C# er udelukkende et spørgsmål om ordet IF. Det er faktisk umuligt at programmere effektivt uden at gøre brug af IF. Du kan skrive små simple programmer. Men når det bliver mere kompliceret

Læs mere

Matematik. Matematiske kompetencer

Matematik. Matematiske kompetencer Matematiske kompetencer stille spørgsmål, som er karakteristiske for matematik og have blik for hvilke typer af svar, som kan forventes(tankegangskompetence) erkende, formulere, afgrænse og løse matematiske

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

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet side af 2 sider Danmarks Tekniske Universitet Skriftlig prøve, den 2. maj 200. Kursusnavn Algoritmer og datastrukturer I Kursus nr. 0205. Tilladte hjælpemidler: Alle skriftlige hjælpemidler. Vægtning af

Læs mere

Som sagt kræves der helst lidt viden om OOP hvis man virkelig vil lærer noget, og ikke bare lave copypaste

Som sagt kræves der helst lidt viden om OOP hvis man virkelig vil lærer noget, og ikke bare lave copypaste Denne guide er oprindeligt udgivet på Eksperten.dk Indkøbsvogn i PHP I denne artikel vil jeg prøve at lave en indkøbskurv som let kan udvides, og som ikke er svær at forstå. Det er bedst med viden om OOP(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

1 Grundbegreber. Noter. Stilarter i programmering og sprog. Syntaks og semantik. Datatyper. Kontrolstrukturer. Udtryk. Abstraktioner.

1 Grundbegreber. Noter. Stilarter i programmering og sprog. Syntaks og semantik. Datatyper. Kontrolstrukturer. Udtryk. Abstraktioner. 1 Grundbegreber. Stilarter i programmering og sprog. Syntaks og semantik. Datatyper. Kontrolstrukturer. Udtryk. Abstraktioner. Parametermekanismer. Blokke og navnebindinger. Scope og scoperegler. 3 Parallelle

Læs mere

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet side af 2 sider Danmarks Tekniske Universitet Skriftlig prøve, den 2. maj 200. Kursusnavn Algoritmer og datastrukturer Kursus nr. 02326. Tilladte hjælpemidler: Alle hjælpemidler. Vægtning af opgaverne:

Læs mere

Mål Introducerer de studerende for forskellige anvendelser af IT i den offentlige sektor, samt til programmering af sådanne IT systemer.

Mål Introducerer de studerende for forskellige anvendelser af IT i den offentlige sektor, samt til programmering af sådanne IT systemer. Semesterbeskrivelse OID 1. semester. Semesterbeskrivelse Oplysninger om semesteret Skole: Statskundskab Studienævn: Studienævn for Digitalisering Studieordning: Studieordning for Bacheloruddannelsen i

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

Et SML-program til at finde rødder i en kontinuert funktion

Et SML-program til at finde rødder i en kontinuert funktion Et SML-program til at finde rødder i en kontinuert funktion Hans Hüttel Ole Høgh Jensen 11 januar 2002 Indhold 1 Om denne tekst 1 2 Hvad er bisektion? 1 3 Specifikation af vores program 2 4 SML-versionen

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

Introduktion til C programmering

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

Læs mere

Symmetrisk Traveling Salesman Problemet

Symmetrisk Traveling Salesman Problemet Symmetrisk Traveling Salesman Problemet Videregående Algoritmik, Blok 2 2008/2009, Projektopgave 2 Bjørn Petersen 9. december 2008 Dette er den anden af to projektopgaver på kurset Videregående Algoritmik,

Læs mere

Kommunikation og ledelse, E12

Kommunikation og ledelse, E12 Kommunikation og ledelse, E12 Følgende spørgsmål omhandler den faglige del af modulet: - Hvordan vurderer du planlægningen af modulet? Følgende spørgsmål omhandler den faglige del af modulet: - Hvordan

Læs mere

Følgende spørgsmål omhandler den faglige del af modulet: Hvordan vurderer du planlægningen af modulet? Hvordan vurderer du modulets relevans for dig?

Følgende spørgsmål omhandler den faglige del af modulet: Hvordan vurderer du planlægningen af modulet? Hvordan vurderer du modulets relevans for dig? Følgende spørgsmål omhandler den faglige del af modulet: Hvordan vurderer du planlægningen af modulet? Hvordan vurderer du modulets relevans for dig? Hvordan vurderer du modulets faglige indhold? Hvordan

Læs mere

Banalitetens paradoks

Banalitetens paradoks MG- U D V I K L I N G - C e n t e r f o r s a m t a l e r, d e r v i r k e r E - m a i l : v r. m g u @ v i r k e r. d k w w w. v i r k e r. d k D e c e m b e r 2 0 1 2 Banalitetens paradoks Af Jonas Grønbæk

Læs mere