Datalogi 0 GA Forelæsning oktober 2003 Nils Andersen. Undtagelser. Kombinatorisk søgning

Størrelse: px
Starte visningen fra side:

Download "Datalogi 0 GA Forelæsning oktober 2003 Nils Andersen. Undtagelser. Kombinatorisk søgning"

Transkript

1 Datalogi 0 GA Forelæsning oktober 2003 Nils Andersen Undtagelser. Kombinatorisk søgning Undtagelser Erklæring Kast Gribning Det grådige princip til løsning af et kombinatorisk problem Frembringelse af alle et kombinatorisk problems løsninger Kun første brugbare løsning Hansen & Rischel afsnit , kursusbogens bind 4 kapitel 15, Paulson side 83 85,

2 Undtagelser: erklæring Den generelle regel i SML om, at størrelser skal erklæres, før de kan bruges (eneste undtagelse: parallelle erklæringer med and) gælder også undtagelser: exception Umuligt; exception Daarligt of int; Standardundtagelser Følgende undtagelser er erklæret på forhånd (jævnfør H&R D.1.1 og Paulson side ): Overflow Div Domain Chr Subscript Size Empty Bind Match Interrupt Option Fail of string 2

3 Undtagelser: kast if b * b * a * c < 0.0 then raise Umuligt else...; if i < 0 then raise Daarligt i else...; Undtagelses pakker forplanter sig (med mindre de gribes undervejs) ud gennem udtryk og funktionskald, til de meldes på yderste niveau og standser beregningen. Undtagelser: gribning u handle Umuligt => v; Hvis beregning af udtrykket u resulterer i kast af undtagelsen Umuligt, beregnes i stedet v. Ellers fås værdien af u. (Eventuelle andre undtagelser forplanter sig videre.) f (x,y) handle => 1.0; g n handle Daarligt k => g ( k); 3

4 Grådige princip Pengevekslingsproblemet (eller: betale med lige penge); i det danske møntsystem for eksempel 1425 = Metode: Prøv mulighederne af fra en ende af, idet den største mønt prøves først; når den ikke længere kan bruges, så den næststørste, osv. (det kaldes det grådige princip). Man må holde styr på mntr = en liste af møntværdier (i øre) i faldende orden og blb = beløb, der skal dannes. - fun betalg (_,0) = [] betalg ([],_) = raise Fail "ubetaleligt" betalg (mntr1 as mnt :: mntr,blb) = if mnt > blb then betalg (mntr,blb) else mnt :: betalg (mntr1,blb - mnt) De to simplere delproblemer har henholdsvis færre møntstørrelser at prøve med og et mindre beløb at betale. - val DKmntr = [2000,1000,500,200,100,50,25]; - betalg (DKmntr,1425); > val it = [1000,200,200,25] : int list 4

5 Alle løsninger Det grådige princip fungerer ikke altid: - betalg ([500,200],1100);! Uncaught exception:! Fail "ubetaleligt" Med andre ord: Man skal ikke altid bruge den første den bedste mønt. Dan i stedet listen af alle løsninger: - fun foranalle (_,[]) = [] foranalle (x,xr :: xrr) = (x :: xr) :: foranalle (x, xrr) - fun betala (_,0) = [[]] betala ([],_) = [] betala (mntr1 as mnt :: mntr,blb) = if mnt > blb then betala (mntr,blb) else foranalle (mnt, betala (mntr1,blb - betala (mntr,blb); - betala ([500,200],1100); > val it = [[500, 200, 200, 200]] : int list list - betala (DKmntr,1425); > val it = 5

6 Forenklinger 1 Deludtrykket betala (mntr,blb) kun en gang: - fun betala1 (_,0) = [[]] betala1 ([],_) = [] betala1 (mntr1 as mnt :: mntr,blb) = (if mnt > blb then [] else foranalle (mnt, betala1 betala1 (mntr,blb) Man kan tillade en subtraktion mere: - fun betala2 (_,0) = [[]] betala2 ([],_) = [] betala2 (mntr1 as mnt :: mntr,blb) = if blb < 0 then [] else foranalle (mnt, betala2 betala2 (mntr,blb) 6

7 Forenklinger 2 Opsamles de foransatte mønter i en ekstra parameter, overflødiggøres foranalle. Lad forreste parameter bmntr ( betalingsmønter) være de mønter, det allerede er besluttet at bruge: - fun betala (bmntr,_,0) = [bmntr] betala (_,[],_) = [] betala (bmntr,mntr1 as mnt :: mntr,blb) = if blb < 0 then [] else betala betala (bmntr,mntr,blb) - fun betala3 (mntr,blb) = betala ([],mntr,blb); - betala3 (DKmntr,125); > val it = [[25, 100], [25, 50, 50], [25, 25, 25, 50], [25, 25, 25, 25, 25]] : int list list (Paulson afsnit 3.7) 7

8 Første løsning - exception Ubetaleligt; - fun betalb (_,0) = [] betalb ([],_) = raise Ubetaleligt betalb (mntr1 as mnt :: mntr,blb) = if blb < 0 then raise Ubetaleligt else mnt :: betalb (mntr1,blb - mnt) handle Ubetaleligt => betalb (mntr,blb); - betalb (DKmntr,1425); > val it = [1000, 200, 200, 25] : int list - betalb ([500,200],1100); > val it = [500, 200, 200, 200] : int list (Paulson afsnit 4.8) 8

9 Otte-dronninge-problemet En dronning i skak slår vandret, lodret og diagonalt. Placer på et skakbræt otte dronninger, så ingen af dem kan slå nogen af de andre. Problemet blev blandt andet stillet af Leonhard(t) Euler ( ). Modulo symmetri er der 12 løsninger. (92 løsninger, hvis symmetri ikke tages i betragtning.) 9

10 Blindgydesøgning Placer en dronning i hver søjle, idet søjlerne tages i betragtning en ad gangen (for x = 8, 7, 6, 5, 4, 3, 2, 1). Når en dronning skal placeres i en søjle, så prøv rækkerne en ad gangen (for y = 8, 7, 6, 5, 4, 3, 2, 1). Funktionen dronning (x, y, [y x+1,..., y 7, y 8 ]) løser det delproblem at placere en dronning i søjle x, række y (eller en lavere række), under forudsætning af, at der allerede er placeret dronninger i (x + 1, y x+1 ),..., (7, y 7 ), (8, y 8 ). exception Dronning; (* Hjaelpedefinitioner indsaettes her *) fun dronning (x,y,yr) = if x < 1 then yr else if y < 1 then raise Dronning else if sikker ((x,y),x+1,yr) then dronning (x-1,8,y :: yr) handle Dronning => dronning (x,y-1,yr) else dronning (x,y-1,yr); (* Kaldes saaledes paa yderste niveau: print (visbraet (dronning (8,8,[]))); *) 10

11 Hjælpedefinitioner Tekst med n prikker fun prikker 0 = "" prikker n = ". " ^ prikker (n - 1); Brættet med dronninger vises som et (8 x 8)- felt af prikker, med dronningerne som asterisker: fun visbraet [] = "" visbraet (y :: yr) = prikker (y-1) ^ "* " ^ prikker (8-y) ^ "\n" ^ visbraet yr; Dronningerne på (x, y) og (x1, y1) kan slå hinanden. (Vi ved x < x1.) fun slaar ((x,y),(x1,y1)) = (* x = x1 orelse *) y = y1 orelse x + y = x1 + y1 orelse x - y = x1 - y1; Dronningen på (x, y) kan ikke slås af nogen af dem på listen i tredje parameter (hvor de tilsvarende x er løber fra x1 til 8): fun sikker ((x,y),_,[]) = true sikker ((x,y),x1,y1 :: yr) = not (slaar ((x,y),(x1,y1))) andalso sikker ((x,y),x1 + 1,yr) 11

12 Udførelse - print (visbraet (dronning (8,8,[])));.... * *.. * *.... *..... * * * > val it = () : unit Edsger W. Dijkstra (1970): Notes on structured programming, Technical University Eindhoven. Nilaus Wirth (April 1971): Program Development by Stepwise Refinement, Comm. ACM 14, Peter Naur (1972): An Experiment on Program Development, BIT 12,

Datalogi 0 GA Forelæsning september 2003 Nils Andersen. Tegn og tekster. Listefunktionalen map. Naïv sortering

Datalogi 0 GA Forelæsning september 2003 Nils Andersen. Tegn og tekster. Listefunktionalen map. Naïv sortering Datalogi 0 GA Forelæsning 11 12 18. september 2003 Nils Andersen Tegn og tekster. Listefunktionalen map. Naïv sortering Typen char af tegn Typen string af tekster Eksempler Højereordensfunktionen map Sortering

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

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

Recollections about the Development of Pascal. Niklaus Wirth ACM, 1993

Recollections about the Development of Pascal. Niklaus Wirth ACM, 1993 Recollections about the Development of Pascal Niklaus Wirth ACM, 1993 1 Niklaus Wirth, 73 Født i Schweiz, 1934 Ph.D., University of California, Berkeley, 1963 Assistant Professor of CS, Stanford University,

Læs mere

It og informationssøgning Forelæsning oktober 2006 Nils Andersen

It og informationssøgning Forelæsning oktober 2006 Nils Andersen It og informationssøgning Forelæsning 6 11. oktober 2006 Nils Andersen Formatstyret udskrivning. Undtagelser. Løkkestyring med break og continue. Tekstfiler. Højereordensfunktioner. Formattekster og %-operatoren

Læs mere

Datalogi 0 GA Forelæsning september 2003 Nils Andersen. Datamatiske principper

Datalogi 0 GA Forelæsning september 2003 Nils Andersen. Datamatiske principper Datalogi 0 GA Forelæsning 1 2 1. september 2003 Nils Andersen Datamatiske principper EDB som simulering Programmering Problemløsning Tilstandsorienteret Værdiorienteret (= funktionsorienteret) Administrative

Læs mere

LÆR SKAK+MAT MED. Dansk Skoleskak. Elevhæfte

LÆR SKAK+MAT MED. Dansk Skoleskak. Elevhæfte LÆR SKAK+MAT MED Dansk Skoleskak Elevhæfte Tal-bræt 1 8 7 6 5 4 3 2 1 a b c d e f g h elevhæfte 3 1. udgave - 1. oplag 2016 ISBN: 978-87-93516-05-2 Dansk Skoleskak LÆR SKAK+MAT MED DUFFY! 3 Navn: Skole:

Læs mere

LÆR SKAK+MAT MED. Dansk Skoleskak. Elevhæfte

LÆR SKAK+MAT MED. Dansk Skoleskak. Elevhæfte LÆR SKAK+MAT MED Dansk Skoleskak Elevhæfte Tal-bræt 1 8 7 6 5 4 3 2 1 a b c d e f g h elevhæfte 1 1. udgave - 1. oplag 2016 ISBN: 978-87-93516-03-8 Dansk Skoleskak LÆR SKAK+MAT MED DUFFY! 1 Navn: Skole:

Læs mere

Skak-regler. Inhold Förmål med spillet Forberedelset Flytning av brikkerne. Flyttning af hver enkel brik

Skak-regler. Inhold Förmål med spillet Forberedelset Flytning av brikkerne. Flyttning af hver enkel brik 1 / 5 29.7.2008 10:54 Skak regler Inhold Förmål med spillet Forberedelset Flytning av brikkerne Flyttning af hver enkel brik - Kongen - Dronningen - Tårnet - Løberen - Springeren - Bonden Spillet Skakmat

Læs mere

DATALOGI 0 GA. Skriftlig eksamen tirsdag den 18. januar 2005 af to timers varighed. Opgavesæt med vejledende løsninger

DATALOGI 0 GA. Skriftlig eksamen tirsdag den 18. januar 2005 af to timers varighed. Opgavesæt med vejledende løsninger Københavns Universitet bacheloruddannelsen i datalogi side 1 af 6 DATALOGI 0 GA Skriftlig eksamen tirsdag den 18. januar 2005 af to timers varighed Opgavesæt med vejledende løsninger Dette opgavesæt består

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

Hjælp! Der er brok med mit ML-program

Hjælp! Der er brok med mit ML-program Hjælp! Der er brok med mit ML-program Hans Hüttel December 2001 Indhold 1 Formålet med denne note 1 2 Der er ere slags fejl 2 2.1 Brugerfejl............................. 2 2.2 Syntaksfejl.............................

Læs mere

DRONNINGER (QUEENS) Opgave 1

DRONNINGER (QUEENS) Opgave 1 DRONNINGER (QUEENS) I denne opgave vil vi beskæftige os med det såkaldte 8-dronningeproblem, hvor man skal placerede 8 dronninger på et 8 x 8 skakbræt, således at ingen af dronningerne kan slå hinanden.

Læs mere

Matematik og dam. hvordan matematik kan give overraskende resultater om et velkendt spil. Jonas Lindstrøm Jensen

Matematik og dam. hvordan matematik kan give overraskende resultater om et velkendt spil. Jonas Lindstrøm Jensen Matematik og dam hvordan matematik kan give overraskende resultater om et velkendt spil Jonas Lindstrøm Jensen (jonas@imf.au.dk) March 200 Indledning Det klassiske spil dam spilles på et almindeligt skakbræt.

Læs mere

Programmering og Problemløsning, 2017

Programmering og Problemløsning, 2017 Programmering og Problemløsning, 2017 Martin Elsman Department of Computer Science University of Copenhagen DIKU September 27, 2017 Martin Elsman (DIKU) Programmering og Problemløsning, 2017 September

Læs mere

Skak, backgammon & dam

Skak, backgammon & dam Skak, backgammon & dam da Spillevejledning Varenummer: 349 582 Made exclusively for: Tchibo GmbH, Überseering 18, 22297 Hamburg, Germany www.tchibo.dk Tchibo GmbH D-22290 Hamburg 92630AB6X6VII 2017-07

Læs mere

Noter om opgaver i diskret matematik, Kirsten Rosenkilde, Maj Diskret matematik

Noter om opgaver i diskret matematik, Kirsten Rosenkilde, Maj Diskret matematik Noter om opgaver i diskret matematik, Kirsten Rosenkilde, Maj 2007 1 Diskret matematik Disse noter er en introduktion til skuffeprincippet, grafteori, spilstrategier samt opgaver der kan løses ved farvelægning.

Læs mere

Et SML-program til sortering af linier i en tekstfil

Et SML-program til sortering af linier i en tekstfil Et SML-program til sorterg af lier i en tekstfil Hans Hüttel 10. januar 2002 Indhold 1 Om denne tekst 2 2 Interface 2 3 At dlæse strenge fra en fil og danne en liste af dem 3 3.1 Funktionsdefitioner.......................

Læs mere

Før-skoleskak Undervisningsbog

Før-skoleskak Undervisningsbog Før-skoleskak Undervisningsbog Dansk Skoleskak - leg og læring Før-skoleskak - undervisningsbog Dansk Skoleskak 1. udgave, 1. oplag 2013 ISBN: 978-87-87800-88-4 Udgiver Dansk Skoleskak - Skoleskak.dk Før-skoleskak

Læs mere

Programmering og Problemløsning, 2017

Programmering og Problemløsning, 2017 Programmering og Problemløsning, 2017 Typer og Mønstergenkendelse Martin Elsman Datalogisk Institut Københavns Universitet DIKU 23. Oktober, 2017 Martin Elsman (DIKU) Programmering og Problemløsning, 2017

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

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

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

Løsningsforslag Skriftlig eksamen 9. januar 2012

Løsningsforslag Skriftlig eksamen 9. januar 2012 Løsningsforslag Skriftlig eksamen 9. januar 2012 Version 1, 2012-01-09 Spørgsmål 1 Spørgsmål 1.1 Først laver vi indlysende korrekt NFAer for hver af de to dele (ddd ddd) og (_ddd)* af det givne regulære

Læs mere

Spørgeskema til evaluering af Datalogi 0 GA høst 2003

Spørgeskema til evaluering af Datalogi 0 GA høst 2003 Nils Andsen, DIKU, den. novemb (sammentalt den. decemb ) Spørgeskema til evaluing af Datalogi GA høst Både planlægge, instruktor og lære lægg store anstrengels og megen omhu i det introducende datalogikursus,

Læs mere

3.2. Grundlæggende Spilleregler

3.2. Grundlæggende Spilleregler 3.2. Grundlæggende Spilleregler 3.2.1. 1 Skakspillets natur og mål 1.1 Et parti skak er et spil mellem to modstandere som skiftevis flytter deres brikker på et kvadratisk bræt, kaldet et "skakbræt". Spilleren

Læs mere

LÆrerVeJLednIng til Skak I SkoLen det SkaL VÆre SJoVt at blive klogere! brug Låget på brættet materialer: Sådan kommer I I gang

LÆrerVeJLednIng til Skak I SkoLen det SkaL VÆre SJoVt at blive klogere! brug Låget på brættet materialer: Sådan kommer I I gang løber 3 point SKOLESKAK SKOLESKAK LÆRERVEJLEDNING til skak i skolen Det skal være sjovt at blive klogere! Dansk Skoleskak og Skolemælk har i samarbejde udviklet dette materiale for at skabe mere leg, læring

Læs mere

Talteori: Euklids algoritmer, modulær aritmetik

Talteori: Euklids algoritmer, modulær aritmetik Talteori: r, modulær aritmetik Videregående algoritmik Cormen et al. 31.1 31.4 Tirsdag den 6. januar 2009 1 1 2 Restklasseringene modulo n Grupper og undergrupper Modulær division Divisorer De hele tal

Læs mere

Løsningsforslag Skriftlig eksamen 5. januar 2011

Løsningsforslag Skriftlig eksamen 5. januar 2011 Løsningsforslag Skriftlig eksamen 5. januar 2011 Version 3, 2011-01-28 Spørgsmål 1 Spørgsmål 1.1 b c d 1 2 b c d Spørgsmål 1.2 Det regulære udtryk kunne være: (b c d)((b c d)(b c d)) Spørgsmål 1.3 Her

Læs mere

Programmering og Problemløsning, 2017

Programmering og Problemløsning, 2017 Programmering og Problemløsning, 2017 Parsing med Højere-Ordens Funktioner Martin Elsman Datalogisk Institut Københavns Universitet DIKU 1. December, 2017 Martin Elsman (DIKU) Programmering og Problemløsning,

Læs mere

Lær skak træk for træk

Lær skak træk for træk Lær skak træk for træk 1 Forlaget Bedre til skak Indhold Velkommen til Skak for sjov!... 6 Kapitel 1: Bondeskak.. 9 Kapitel 2: Tapre riddere 11 Kapitel 3: Tårnskak 13 Kapitel 4: Listige løbere. 15 Kapitel

Læs mere

Programmering og Problemløsning, 2017

Programmering og Problemløsning, 2017 Programmering og Problemløsning, 2017 Højere-ordens Funktioner Part I Martin Elsman Datalogisk Institut Københavns Universitet DIKU 20. November, 2017 Martin Elsman (DIKU) Programmering og Problemløsning,

Læs mere

Sproget Limba. Til brug i G1 og K1. Dat1E 2003

Sproget Limba. Til brug i G1 og K1. Dat1E 2003 Sproget Limba Til brug i G1 og K1 Dat1E 2003 Abstract Limba er et simpelt imperativt sprog med hoballokerede tupler. Dette dokument beskriver uformelt Limbas syntaks og semantik samt en fortolker for Limba,

Læs mere

Programmering og Problemløsning, 2017

Programmering og Problemløsning, 2017 Programmering og Problemløsning, 2017 Programmering med Lister og Arrays Martin Elsman Department of Computer Science University of Copenhagen DIKU October 3, 2017 Martin Elsman (DIKU) Programmering og

Læs mere

Udtømmende søgning. Udtømmende søgning (kombinatorisk søgning) Problem med 4461 byer Udtømmende søgning i grafer. Find den korteste rundtur

Udtømmende søgning. Udtømmende søgning (kombinatorisk søgning) Problem med 4461 byer Udtømmende søgning i grafer. Find den korteste rundtur Udtømmende søgning Udtømmende søgning (kombinatorisk søgning) Systematisk gennemsøgning af alle potentielle løsninger Den rejsende sælgers problem (TSP): En sælger skal besøge N byer ind den korteste rundtur

Læs mere

Der er felter, og på hvert af disse felter har tårnet træk langs linjen og træk langs rækken.

Der er felter, og på hvert af disse felter har tårnet træk langs linjen og træk langs rækken. SJOV MED SKAK OG TAL Af Rasmus Jørgensen Når man en sjælden gang kører træt i taktiske opgaver og åbningsvarianter, kan det være gavnligt at adsprede hjernen med noget andet, fx talsjov, og heldigvis byder

Læs mere

3. Om skalamønstrene og den indfoldede orden

3. Om skalamønstrene og den indfoldede orden Dette er den tredje af fem artikler under den fælles overskrift Studier på grundlag af programmet SKALAGENERATOREN (forfatter: Jørgen Erichsen) 3. Om skalamønstrene og den indfoldede orden Lad os begynde

Læs mere

Udtømmende søgning 1

Udtømmende søgning 1 Udtømmende søgning Udtømmende søgning (kombinatorisk søgning) Systematisk gennemsøgning af alle potentielle løsninger Den rejsende sælgers problem (TSP): En sælger skal besøge N byer Find den korteste

Læs mere

LEG & LÆR SKAK MED. Dansk Skoleskak. Elevhæfte

LEG & LÆR SKAK MED. Dansk Skoleskak. Elevhæfte LEG & LÆR SKAK MED Dansk Skoleskak SMD_stud_0-2607.indd 1 Elevhæfte 26/07/16 12:29 elevhæfte 0 1. udgave - 1. oplag 2016 ISBN: 978-87-93516-01-4 Dansk Skoleskak SMD_stud_0-2607.indd 2 26/07/16 12:29 LEG

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

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

It og informationssøgning Forelæsning december 2006 Jakob Grue Simonsen. Diverse emner af almen interesse

It og informationssøgning Forelæsning december 2006 Jakob Grue Simonsen. Diverse emner af almen interesse It og informationssøgning Forelæsning 12 6. december 2006 Jakob Grue Simonsen Diverse emner af almen interesse 1 Gemme objekter til filer I python skal en fil på disken åbnes, før man kan læse eller skrive

Læs mere

Noter om opgaver i diskret matematik, Kirsten Rosenkilde, Maj 2006 1. Diskret matematik

Noter om opgaver i diskret matematik, Kirsten Rosenkilde, Maj 2006 1. Diskret matematik Noter om opgaver i diskret matematik, Kirsten Rosenkilde, Maj 2006 1 Diskret matematik Disse noter er en introduktion til skuffeprincippet, grafteori, spilstrategier samt opgaver der kan løses ved farvelægning.

Læs mere

DATALOGI 1E. Skriftlig eksamen fredag d. 16. januar 2004

DATALOGI 1E. Skriftlig eksamen fredag d. 16. januar 2004 Københavns Universitet Naturvidenskabelig Embedseksamen DATALOGI 1E Skriftlig eksamen fredag d. 16. januar 2004 Opgaverne vægtes i forhold til tidsangivelsen herunder, og hver opgaves besvarelse bedømmes

Læs mere

Side 1 af 8. Vejledning

Side 1 af 8. Vejledning Side 1 af 8 Vejledning Art. nr. 2079006 Pedalo - Stort spillebræt - spilsamling Læs og opbevar venligst vejledningen De efterfølgende sider indeholder spilanvisning til disse spil: Generel Information:

Læs mere

Spilleregler

Spilleregler 3 Spilleregler 4 9 4 4 9 3 HISTORIEN BAG MATRIBUS er opfundet og udviklet af Louise Bang, lærerstuderende på University College Sjælland. Louise har gennem sine jobs som lærer erfaret, at der i vores digitaliserede

Læs mere

Introduktion. Philip Bille

Introduktion. Philip Bille Introduktion Philip Bille Plan Algoritmer og datastrukturer Toppunkter Algoritme 1 Algoritme 2 Algoritme 3 Algoritmer og datastrukturer Hvad er det? Algoritmisk problem: præcist defineret relation mellem

Læs mere

2. juni Solitaire spilles med pinde, der pa gurerne er angivet som sorte pletter. Der

2. juni Solitaire spilles med pinde, der pa gurerne er angivet som sorte pletter. Der SOLITAIRE 2. juni 2003 Mogens Esrom Larsen Indledning. Solitaire spilles med pinde, der pa gurerne er angivet som sorte pletter. Der kan sta en eller ingen pind i et felt, som pa guren er angivet som et

Læs mere

Kompetencer

Kompetencer anvendelse af lommeregner, så energien ikke bruges på selve udregningen. Eleverne skal arbejde med forskellige hverdagsbegreber, som beskriver situationer, hvor der henholdsvis skal lægges til eller trækkes

Læs mere

Invarianter. 1 Paritet. Indhold

Invarianter. 1 Paritet. Indhold Invarianter En invariant er en størrelse der ikke ændrer sig, selv om situationen ændrer sig. I nogle kombinatorikopgaver hvor man skal undersøge hvilke situationer der er mulige, er det ofte en god idé

Læs mere

Crash Course i Programmering. HumTek, RUC

Crash Course i Programmering. HumTek, RUC Crash Course i Programmering HumTek, RUC Kursus mål At give en basal introduktion til programmering i sproget Processing At give et overblik over sprogets potentiale At have det sjovt :-) Kursus form Meget

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

Lineær regression i Standard ML

Lineær regression i Standard ML Lineær regression i Standard ML Hans Hüttel 1. november 2001 Indhold 1 Hvad denne note handler om 2 2 Hvor bruger man lineær regression? 2 3 Problemanalyse 3 3.1 Den matematiske teori......................

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

Skole Skak Lærerens Håndbog

Skole Skak Lærerens Håndbog Skole Skak Lærerens Håndbog Side: 1 Indholdsfortegnelse Skakskolen 3 Grundlæggende regler Generelt 4 Grundlæggende teknik Generelt 5 Åbningsspillet i skak Generelt 6 Taktik 1 Generelt 7 Taktik 2 Generelt

Læs mere

Forelæsning Uge 3 Mandag

Forelæsning Uge 3 Mandag Forelæsning Uge 3 Mandag Niveauer af programbeskrivelser Statiske / dynamiske beskrivelser ArrayList Collection med variabelt antal elementer Der er mange andre Collection typer (se Collection interfacet

Læs mere

Composable Memory Transactions

Composable Memory Transactions Composable Memory Transactions Tim Harris, Simon Marlow, Simon Peyton Jones, Maurice Herlihy November 1, 2007 Præsenteret af Simon H. Thøgersen Forfatterne Ansat ved Microsoft Research, Cambridge Tim Harris

Læs mere

Før-skoleskak Opgavehæfte Navn:

Før-skoleskak Opgavehæfte Navn: Før-skoleskak Opgavehæfte Navn: Dansk Skoleskak - leg og læring Før-skoleskak - opgavehæfte Dansk Skoleskak 1. udgave, 1. oplag 2013 ISBN: 978-87-87800-89-1 Udgiver Dansk Skoleskak - Skoleskak.dk Før-skoleskak

Læs mere

Programmering og Problemløsning, 2017

Programmering og Problemløsning, 2017 Programmering og Problemløsning, 2017 Rekursion Towers of Hanoi og Liniegrafik Martin Elsman Datalogisk Institut Københavns Universitet DIKU 13. Oktober, 2017 Martin Elsman (DIKU) Programmering og Problemløsning,

Læs mere

Modern Concurrency Abstractions for C#

Modern Concurrency Abstractions for C# Modern Concurrency Abstractions for C# Nick Benton Luca Cardelli Cédric Fournet Presenter: Henrik Kragh-Hansen September 27, 2007 Motivation for concurrency Forbedring af concurrency Baggrundsinformation

Læs mere

It og informationssøgning Forelæsning september 2006 Nils Andersen. Underprogrammer og betingelser. Standardfunktioner, typeomsætning

It og informationssøgning Forelæsning september 2006 Nils Andersen. Underprogrammer og betingelser. Standardfunktioner, typeomsætning It og informationssøgning Forelæsning 2 13. september 2006 Nils Andersen Underprogrammer og betingelser Standardfunktioner, typeomsætning Funktionskald Moduler, lange navne Brugerdefinerede funktioner

Læs mere

Rev. 11.04.2014. Spilleregler: Bånd oversigt: Gevinst oversigt Featurespil

Rev. 11.04.2014. Spilleregler: Bånd oversigt: Gevinst oversigt Featurespil Rev. 11.04.2014 Spilleregler Bånd oversigt Gevinst oversigt Featurespil Spilleregler: Bånd oversigt: Indsatsen vælges ved at logge på en automat med den ønskede indsats. 50 øre 1 krone eller 5 kroner pr.

Læs mere

Sproget Six. Til brug i rapportopgaven på kurset Oversættere. Vinter 2006. Abstract

Sproget Six. Til brug i rapportopgaven på kurset Oversættere. Vinter 2006. Abstract Sproget Six Til brug i rapportopgaven på kurset Oversættere Vinter 2006 Abstract Six er baseret på det sprog, der vises i figur 6.2 og 6.4 i Basics of Compiler Design. Den herværende tekst beskriver basissproget

Læs mere

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

F# - hvorfor, hvordan og til hvad? Rune Ibsen Jyske Bank

F# - hvorfor, hvordan og til hvad? Rune Ibsen Jyske Bank F# - hvorfor, hvordan og til hvad? Rune Ibsen Jyske Bank 03-10-2018 Rune Ibsen Softwareudvikling Seniorkonsulent Mentoring 10 konsulenter F# Programmeringssprog som oversættes til.net Functional-first,

Læs mere

Forelæsning Uge 4 Mandag

Forelæsning Uge 4 Mandag Forelæsning Uge 4 Mandag Algoritmeskabeloner Kan (ved simple tilretningerne) bruges til at implementere metoder, der gennemsøger en arrayliste (eller anden objektsamling) og finder objekter, der opfylder

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

Tal og algebra. I hvilke situationer kan det være motiverende at gengive et talmønster som et geometrisk mønster?

Tal og algebra. I hvilke situationer kan det være motiverende at gengive et talmønster som et geometrisk mønster? Oplæg I hvilke situationer kan det være motiverende at gengive et talmønster som et geometrisk mønster? Hvordan ser I mulighederne i at stimulere elevernes tænkning og udvikle deres arbejdsmåde, når de

Læs mere

Skak. Regler og strategi. Version 1.0. 1. september 2015. Copyright

Skak. Regler og strategi. Version 1.0. 1. september 2015. Copyright Skak Regler og strategi Version 1.0 1. september 2015 Copyright Forord At lære at spille skak er ikke svært. Det tager få minutter. At blive dygtig tager som regel årevis. Om man er dygtig eller ej, er

Læs mere

Primtal Rekursion Kernebegreber, anvendelser og fundamenter i datalogi Torsdag den 17. marts 2005 Nils Andersen A.K. Dewdney kap.

Primtal Rekursion Kernebegreber, anvendelser og fundamenter i datalogi Torsdag den 17. marts 2005 Nils Andersen A.K. Dewdney kap. Primtal Rekursion Kernebegreber, anvendelser og fundamenter i datalogi Torsdag den 17. marts 2005 Nils Andersen A.K. Dewdney kap. 50+24 Primtalsformler Stokastisk primtalstest Deterministisk primtalstest

Læs mere

Forelæsning Uge 4 Mandag

Forelæsning Uge 4 Mandag Forelæsning Uge 4 Mandag Algoritmeskabeloner Kan (ved simple tilretningerne) bruges til at implementere metoder, der gennemsøger en arrayliste (eller anden objektsamling) og finder objekter, der opfylder

Læs mere

b) Udvid din implementation af forme til at understøtte.equals. To objekter af samme form er ens hvis de har samme værdier i felterne.

b) Udvid din implementation af forme til at understøtte.equals. To objekter af samme form er ens hvis de har samme værdier i felterne. Exercise 1: Opgave 9.1 på CodeJudge. a) Lav klasserne Cirkel, Rektangel og Kvadrat, som implementerer vedhæftede interface From.java (se CodeJudge). Lav Rektangel før du laver Kvadrat. Kan du bruge nedarvning

Læs mere

Et udtryk er (som bekendt?) lineært hvis den differentierede er en konstant funktion, dvs. at den ikke afhænger af x. Betragt f lgende værdiprocedurer

Et udtryk er (som bekendt?) lineært hvis den differentierede er en konstant funktion, dvs. at den ikke afhænger af x. Betragt f lgende værdiprocedurer Opgave 1 (25%) Simple udtryk med +, - og * over heltal og en enkelt variabel x kan repræsenteres som værdier af f lgende type: Type Expression = Sum(const: Int, x: Unit, plus, minus, times: Arguments)

Læs mere

MIPS, registerallokering og MARS

MIPS, registerallokering og MARS MIPS, registerallokering og MARS Torben Mogensen 2011 Resumé Vi beskriver modulerne Mips.sml og RegAlloc.sml, samt hvordan de bruges sammen med MIPS-emulatoren MARS. 1 MIPS modulet Modulet Mips.sml indeholder

Læs mere

Brugervejledning om søgning, der blev idriftsat sommer 2009

Brugervejledning om søgning, der blev idriftsat sommer 2009 Brugervejledning om søgning, der blev idriftsat sommer 2009 Søgeord s.2 Varighed s.2 Søg i s.3 Søg efter s.4 Søg på vilkårlige begyndelser s.4 Søg på vilkårlige endelser s.5 Søg efter alle ord s.5 Søg

Læs mere

Studiepraktik. Thomas Bøgholm Mikkel Hansen Jacob Elefsen

Studiepraktik. Thomas Bøgholm Mikkel Hansen Jacob Elefsen Studiepraktik Thomas Bøgholm boegholm@cs.aau.dk Mikkel Hansen mhan@cs.aau.dk Jacob Elefsen jelefs12@student.aau.dk 1 Studiepraktik -- program Program onsdag 10.00 10.15 Registrering af fremmøde og gennemgang

Læs mere

University of Southern Denmark Syddansk Universitet. DM502 Forelæsning 2

University of Southern Denmark Syddansk Universitet. DM502 Forelæsning 2 DM502 Forelæsning 2 Repetition Kompilere og køre Java program javac HelloWorld.java java HeloWorld.java Debugge Java program javac -g HelloWorld.java jswat Det basale Java program public class HelloWorld

Læs mere

Øvelser til forhånd og baghånd

Øvelser til forhånd og baghånd Øvelser til forhånd og baghånd Forhånd og baghånd kan integreres i de fleste øvelser. Her er en masse øvelser, som giver mulighed for at lege forhånd og baghånd ind. En øvelse har altid et fagligt formål,

Læs mere

Matematikken i kunstig intelligens Opgaver om koordinerende robotter

Matematikken i kunstig intelligens Opgaver om koordinerende robotter Matematikken i kunstig intelligens Opgaver om koordinerende robotter Thomas Bolander 2. juni 2018 Vejledning til opgaver Opgave 1 kan eventuelt springes over, hvis man har mindre tid. De resterende opgaver

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

LEG & LÆR SKAK MED. Dansk Skoleskak. Lærervejledning

LEG & LÆR SKAK MED. Dansk Skoleskak. Lærervejledning LEG & LÆR SKAK MED Dansk Skoleskak SMD_teacher_0-2607.indd 1 Lærervejledning 26/07/16 11:58 - lærervejledning 1. udgave - 1. oplag 2016 ISBN: 978-87-93516-00-7 Dansk Skoleskak SMD_teacher_0-2607.indd 2

Læs mere

Modelbanestyring med PC Indholdsfortegnelse

Modelbanestyring med PC Indholdsfortegnelse Modelbanestyring med PC Indholdsfortegnelse Modelbanestyring med PC... 1 Anvend Paint til tegning af skinnesymboler... 1 Start af Paint... 1 Ny tegning i Paint... 1 Tegn et sporskifte... 2 Valg af farve...

Læs mere

Matematikken i kunstig intelligens Opgaver om koordinerende robotter LØSNINGER

Matematikken i kunstig intelligens Opgaver om koordinerende robotter LØSNINGER Matematikken i kunstig intelligens Opgaver om koordinerende robotter LØSNINGER Thomas Bolander 25. april 2018 Vejledning til opgaver Opgave 1 kan eventuelt springes over, hvis man har mindre tid. De resterende

Læs mere

Ordinær eksamen i Introduktion til programmering, blok 1, 2010

Ordinær eksamen i Introduktion til programmering, blok 1, 2010 Ordinær eksamen i Introduktion til programmering, blok 1, 2010 1. November 2010 Dette dokument udgør opgavesættet for den ordinære eksamen i kurset Introduktion til programmering, blok 1, 2010. Det består

Læs mere

Kvadratet (1) Hvid trækker

Kvadratet (1) Hvid trækker (1) Bondens kvadrat dannes af fire hjørner. Bondens eget felt (h6) er det første hjørne, bondens forvandlingsfelt er det næste (h1), hvorefter de to sidste hjørner bliver (c6 og c1), da der jo er tale

Læs mere

Broer, skak og netværk Carsten Thomassen: Naturens Verden 10, 1992, s. 388-393.

Broer, skak og netværk Carsten Thomassen: Naturens Verden 10, 1992, s. 388-393. Broer, skak og netværk Side 1 af 6 Broer, skak og netværk Carsten Thomassen: Naturens Verden 10, 1992, s. 388-393. Eksempler på praktiske anvendelser af matematik og nogle uløste problemer Indledning Figur

Læs mere

Listen over reserverede ord er meget lang, men de væsentligste vil jeg beskrive her i denne artikel:

Listen over reserverede ord er meget lang, men de væsentligste vil jeg beskrive her i denne artikel: Denne guide er oprindeligt udgivet på Eksperten.dk SQL og ASP En artikel omkring simpel SQL og hvordan disse opbygges, udformes og udføres, sådan at man kan få et brugbart resultat i ASP. Dette ligefra

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

Forelæsning Uge 4 Torsdag

Forelæsning Uge 4 Torsdag Forelæsning Uge 4 Torsdag Algoritmeskabeloner findone, findall, findnoof, findsumof (i mandags) findbest Levetid for variabler og parametre Virkefeltsregler Hvor kan man bruge de forskellige variabler?

Læs mere

Aritmetiske Forelæsning Pr ogrammering operatorer tir 1999 sda præcedens september 1999 Logiske Sammenligningsoperatorer operatorer præcedens

Aritmetiske Forelæsning Pr ogrammering operatorer tir 1999 sda præcedens september 1999 Logiske Sammenligningsoperatorer operatorer præcedens Programmering 1999 Forelæsning 3, tirsdag 7. september 1999 Aritmetiske og logiske operatorer, præcedens Den indbyggede klasse String: tegnstrenge Metoder i klasser Metoder: returtype eller void Metoder:

Læs mere

Skakhåndbogen Afsnit 3 SKAKSPILLETS REGLER

Skakhåndbogen Afsnit 3 SKAKSPILLETS REGLER spilleren selv eller hans modstander standse uret og tilkalde dommeren. Dommeren kan idømme straf til den spiller som fejlplacerede brikkerne. 7.4 Hvis det under et parti opdages at der er fuldført et

Læs mere

Forelæsning Uge 4 Mandag

Forelæsning Uge 4 Mandag Forelæsning Uge 4 Mandag Algoritmeskabeloner findone, findall, findnoof, findsumof Primitive typer (forfremmelse og begrænsning) Identitet versus lighed (for objekter, herunder strenge) Opfølgning på Skildpadde

Læs mere

Syntaks og syntaksgenkendelse, særligt regulære udtryk og tilstandsmaskiner og lidt om anvendelser i bioinformatik

Syntaks og syntaksgenkendelse, særligt regulære udtryk og tilstandsmaskiner og lidt om anvendelser i bioinformatik Datalogi C, RUC Forelæsning 22. november 2004 Henning Christiansen Syntaks og syntaksgenkendelse, særligt regulære udtryk og tilstandsmaskiner og lidt om anvendelser i bioinformatik Dagens program Hvad

Læs mere

MS Visual Studio Basic 2010. En kort vejledning

MS Visual Studio Basic 2010. En kort vejledning Du kan hente programmet gratis her: MS Visual Studio Basic 2010 Express http://www.microsoft.com/visualstudio/eng/downloads#d-2010-express Tryk på Install Now og følg vejledningen. Indholdsfortegnelse

Læs mere

Værktøjer fra værktøjskassen. Søren Breddam, Stevns Kommune

Værktøjer fra værktøjskassen. Søren Breddam, Stevns Kommune Værktøjer fra værktøjskassen Søren Breddam, Stevns Kommune sb@stevns.dk 1stevns kommune Mapbasic i Stevns Kommune Data Kørsel af planlagte opgaver, så data altid er opdaterede. Logfil til overvågning Dagligt

Læs mere

Forelæsning Uge 2 Mandag

Forelæsning Uge 2 Mandag Forelæsning Uge 2 Mandag Sætninger Simple sætninger (assignment, interne og eksterne metodekald) Sammensatte sætninger (blok, selektion, gentagelse) Udtryk og operatorer Java syntax og style guide Afleveringsopgave:

Læs mere

.. if L(u) + w(u, v) < L(v) then.. begin... L(v) := L(u) + w(u, v)... F (v) := u.. end. med længde L(z)}

.. if L(u) + w(u, v) < L(v) then.. begin... L(v) := L(u) + w(u, v)... F (v) := u.. end. med længde L(z)} Procedure Dijkstra(G = (V, E): vægtet sh. graf,. a, z: punkter) { Det antages at w(e) > 0 for alle e E} For alle v V : L(v) := L(a) := 0, S := while z / S begin. u := punkt ikke i S, så L(u) er mindst

Læs mere

1-2-3-UD. Tal som antal og rækkefølge UD

1-2-3-UD. Tal som antal og rækkefølge UD Tal som antal og rækkefølge 1-2-3-UD Antal spillere: 2-3 Materialer: Spilleplade (se nedenfor), blyant og et sæt talkort 0-100 til hver spiller Eleverne arbejder med tallenes rækkefølge og deres indbyrdes

Læs mere

Et undervisningsværktøj. Side 1. På de følgende sider kan du læse om Gravity Board Games produkter.

Et undervisningsværktøj. Side 1. På de følgende sider kan du læse om Gravity Board Games produkter. Et undervisningsværktøj På de følgende sider kan du læse om Gravity Board Games produkter. Du er velkommen til at klikke ind på www.gravityboardgames.com, hvor du kan læse mere om vores meget udfordrende

Læs mere

Hent filoplysninger fra billeder og filer

Hent filoplysninger fra billeder og filer Hent filoplysninger fra billeder og filer I denne vejledning bliver det gennemgået, hvordan man via Power Forespørgsel kan hente filoplysninger fra en mappe ind i Excel. Der skal opbygges følgende elementer:

Læs mere