Programmering og Problemløsning, 2017
|
|
- Frida Overgaard
- 6 år siden
- Visninger:
Transkript
1 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, Oktober, / 18
2 Outline 1 Rekursion Towers of Hanoi og Liniegrafik Introduktion Towers of Hanoi Liniegrafik Martin Elsman (DIKU) Programmering og Problemløsning, Oktober, / 18
3 Introduktion Rekursion En metode for hvilken en løsning til et problem findes ved at løse mindre instanser af det samme problem. I dag vil vi se på brug af rekursion til to formål: 1 Implementation af spillet Towers of Hanoi. Spilleren (evt. computeren) skal flytte N skiver der er placeret i orden på den første af tre pinde til den sidste pind. Spilleren må kun flytte en skive af gangen og en stor skive må ikke placeres ovenpå en mindre. 2 Tegning af figurer ved hjælp af linier. Ved brug af et simpelt F# GUI interface kan vi tegne rekursive figurer med linier. Martin Elsman (DIKU) Programmering og Problemløsning, Oktober, / 18
4 Towers of Hanoi Spillet Towers of Hanoi Spillet spilles med N skiver der kan placeres på tre pinde. Udgangspunktet er at alle skiverne ligger i orden på den første pind. Spilleren (evt. computeren) skal flytte skiverne (en af gangen) således at alle ender på den fjerneste pind. På intet tidspunkt må en stor skive ligge ovenpå en mindre skive. === ===== ======= ========= === ========= ======= ===== === ===== ======= ========= Martin Elsman (DIKU) Programmering og Problemløsning, Oktober, / 18
5 Towers of Hanoi Vi deler spillet Towers of Hanoi i to dele: 1 Et modul der implementerer spilkonfigurering og tegning af pinde og skiver. Dette modul vil håndhæve reglerne og give både dig og computeren mulighed for at spille. 2 En applikation der kan spille spillet ved brug af en rekursiv algoritme. Martin Elsman (DIKU) Programmering og Problemløsning, Oktober, / 18
6 Towers of Hanoi Modulet Pegs: module Pegs type t val init : int -> t val move : int -> int -> t -> t val tostring : t -> string module App = val reset : int -> unit val mv : int -> int -> unit Bemærk: Typen t refererer til den interne repræsentation af spil-konfigurationen (skiverne på pindene). Ved at gemme repræsentationen kan en bruger kun ændre på konfigurationen ved brug af init og move. Modulet App bruges når et menneske skal spille spillet i fsharpi. Martin Elsman (DIKU) Programmering og Problemløsning, Oktober, / 18
7 Towers of Hanoi DEMO af modulet Pegs bash-3.2$ fsharpc --nologo -a pegs.fsi pegs.fs bash-3.2$ fsharpi --nologo -r pegs.dll --readline- > open Pegs.App;; > reset 3;; === ===== ======= val it : unit = () > Martin Elsman (DIKU) Programmering og Problemløsning, Oktober, / 18
8 Towers of Hanoi Den interne spil-repræsentation Typen t i Pegs modulet er internt repræsentereret som en liste (af længde 3) af heltalslister. Som eksempel kan en start-konfiguration være repræsenteret som: [[1;2;3];[];[]] Operationen Pegs.move flytter det øverste tal i en liste til en anden hvis reglerne er opfyldt. Ellers fejler operationen. val move : int -> int -> t -> t Operationen Pegs.init konstruerer en ny start-konfiguration. val init : int -> t Operationen Pegs.toString konstruerer en streng-repræsentation af en konfiguration (til udskrivning). val tostring : t -> string Martin Elsman (DIKU) Programmering og Problemløsning, Oktober, / 18
9 Towers of Hanoi Hanoi algoritmen Kan vi finde en generel strategi for at gennemføre spillet uden at bryde reglerne? Ja Her er en strategi: For at flytte N skiver fra en startpind til en målpind, ved brug af en reservepind: Hvis N er 0: du er færdig! Ellers: 1 Flyt (rekursivt) N 1 skiver fra startpinden til reservepinden (med brug af målpinden som reservepind). 2 Flyt 1 pind fra startpinden til målpinden. 3 Flyt (rekursivt) N 1 skiver fra reservepinden til målpinden (med brug af startpinden som reservepind). === ===== ======= ========= === ===== ========= ======= Martin Elsman (DIKU) Programmering og Problemløsning, Oktober, / 18
10 Towers of Hanoi Hanoi algoritmen i F# (hanoi.fs) let rec hanoi n src aux tgt pegs = if n = 0 then pegs else let pegs = hanoi (n-1) src tgt aux pegs let pegs = Pegs.move src tgt pegs do printf "%s" (Pegs.toString pegs) let pegs = hanoi (n-1) aux src tgt pegs in pegs let play i = let pegs = Pegs.init i do printf "%s" (Pegs.toString pegs) hanoi i pegs let res = play 4 Spørgsmål: Vi udskriver konfigurationen efter hver flytning. Kan vi skrive en simpel funktion til beregning af antal flytninger? Martin Elsman (DIKU) Programmering og Problemløsning, Oktober, / 18
11 Towers of Hanoi Simpel funktion til beregning af antal flytninger: let rec hanoi_count n = if n <= 0 then 0 else 2*hanoi_count (n-1) + 1 do printf "%d\n" (hanoi_count 5) Bemærk: Funktionen hanoi_count n beregner tallet 2 n 1. Kodefilerne for pegs.fsi samt pegs.fs er tilgængelige på Absalon (under Filer). bash-3.2$ fsharpc --nologo -a pegs.fsi pegs.fs bash-3.2$ fsharpc --nologo -r pegs.dll hanoi.fs bash-3.2$ mono hanoi.exe... Martin Elsman (DIKU) Programmering og Problemløsning, Oktober, / 18
12 Liniegrafik Simpel funktionalitet til Liniegrafik: Biblioteket img_util.dll giver mulighed for at åbne en simpel GUI applikation indeholdende et bitmap der kan tegnes i. Biblioteksfilerne img_util.fsi samt img_util.fs er tilgængelige på Absalon (under Filer). Udvalgte funktioner (img_util.fsi) module ImgUtil type color = System.Drawing.Color val red : color type bitmap = System.Drawing.Bitmap val setline : color -> int*int -> int*int -> bitmap -> unit val runsimpleapp : string -> int -> int -> (bitmap -> unit) -> unit... Martin Elsman (DIKU) Programmering og Problemløsning, Oktober, / 18
13 Liniegrafik Bitmap Koordinater Origin (0, 0) findes i øverste venstre hjørne. Martin Elsman (DIKU) Programmering og Problemløsning, Oktober, / 18
14 Liniegrafik En simpel applikation Konstruer en applikation med et bitmap canvas. Tegn en rød firkant-spiral. Benyt setline funktionaliteten. Start spiralen i punkt (300, 300) Martin Elsman (DIKU) Programmering og Problemløsning, Oktober, / 18
15 Liniegrafik Koden for spiral.fs open ImgUtil let rec spiral bmp s i x y = if i >= 350 then () else let p1 = (x,y) let p2 = (x+i,y) let p3 = (x+i,y+i) let p4 = (x-s,y+i) let p5 = (x-s,y-s) do setline red p1 p2 bmp do setline red p2 p3 bmp do setline red p3 p4 bmp do setline red p4 p5 bmp spiral bmp s (i+2*s) (x-s) (y-s) do runsimpleapp "Spiral" (fun bmp -> spiral bmp > ignore) Martin Elsman (DIKU) Programmering og Problemløsning, Oktober, / 18
16 Liniegrafik Compilér og kør $ fsharpc -a img_util.fsi img_util.fs $ fsharpc -r img_util.dll spiral.fs $ mono32 spiral.exe Bemærk: På Mac OS er det nødvendigt at køre med mono32. På andre platforme skulle mono virke fint. Applikationen kan lukkes med ESC, f.eks. Martin Elsman (DIKU) Programmering og Problemløsning, Oktober, / 18
17 Liniegrafik Sierpinski tegn trekanter med firkanter! Kode: open ImgUtil let rec triangle bmp len (x,y) = if len < 25 then setbox blue (x,y) (x+len,y+len) bmp else let half = len / 2 do triangle bmp half (x+half/2,y) do triangle bmp half (x,y+half) do triangle bmp half (x+half,y+half) do runsimpleapp "Sierpinski" (fun bmp -> triangle bmp 400 (25,25) > ignore) Martin Elsman (DIKU) Programmering og Problemløsning, Oktober, / 18
18 Liniegrafik Martin Elsman (DIKU) Programmering og Problemløsning, Oktober, / 18
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 mereProgrammering og Problemløsning, 2017
Programmering og Problemløsning, 2017 Martin Elsman Datalogisk Institut Københavns Universitet DIKU 10. Oktober, 2017 Martin Elsman (DIKU) Programmering og Problemløsning, 2017 10. Oktober, 2017 1 / 15
Læs mereProgrammering 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 mereProgrammering 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 mereProgrammering 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 mereProgrammering og Problemløsning, 2017
Programmering og Problemløsning, 2017 Træstrukturer Part III Martin Elsman Datalogisk Institut Københavns Universitet DIKU 3. November, 2017 Martin Elsman (DIKU) Programmering og Problemløsning, 2017 3.
Læs mereProgrammering 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 mereProgrammering og Problemløsning, 2017
Programmering og Problemløsning, 2017 Input og Output Martin Elsman Datalogisk Institut Københavns Universitet DIKU 27. November, 2017 Martin Elsman (DIKU) Programmering og Problemløsning, 2017 27. November,
Læs mereDynamisk 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 mereEt 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 mereRekursion 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 mereDynamisk 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 mereProgrammering 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 mereDynamisk 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 mereSkriftlig Eksamen Algoritmer og Datastrukturer (dads)
Skriftlig Eksamen Algoritmer og Datastrukturer (dads) Datalogisk Institut Aarhus Universitet Tirsdag den 27. maj 2003, kl. 9.00 3.00 Opgave (25%) For konstanten π = 3.4592... gælder identiteten π 2 6 =
Læs mereDM507 Algoritmer og datastrukturer
DM507 Algoritmer og datastrukturer Forår 2016 Projekt, del III Institut for matematik og datalogi Syddansk Universitet 20. april, 2016 Dette projekt udleveres i tre dele. Hver del har sin deadline, således
Læs mereUndervisningsbeskrivelse
Undervisningsbeskrivelse Stamoplysninger til brug ved prøver til gymnasiale uddannelser Termin Skoleåret 2016/17 Institution Hansenberg Gymnasium Uddannelse Fag og niveau Lærer Hold htx Programmering,
Læs mereDanmarks 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 mereDM507 Algoritmer og datastrukturer
DM507 Algoritmer og datastrukturer Forår 2017 Projekt, del III Institut for matematik og datalogi Syddansk Universitet 6. april, 2017 Dette projekt udleveres i tre dele. Hver del har sin deadline, således
Læs mere28 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 mereDM507 Algoritmer og datastrukturer
DM507 Algoritmer og datastrukturer Forår 2019 Projekt, del III Institut for matematik og datalogi Syddansk Universitet 10. april, 2019 Dette projekt udleveres i tre dele. Hver del har sin deadline, således
Læs mereLæ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 mereDanmarks 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 mereDanmarks 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 mereProgrammering 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 mereDanmarks 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 mereSkriftlig 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 mereBilledbehandling Pixlr.com Side 1
Billedbehandling Pixlr.com Side 1 Billedbehandling Pixlr.com Side 2 Indholdsfortegnelse Det første skærmbillede... Side 3 Navigation... Side 4 Åbne Pixlr Advanced... Side 5 Inde i programmet... Side 6
Læs mereLær Python - Dag 4, modul 2 Objektorienteret programmering
Lær Python - Dag 4, modul 2 Objektorienteret programmering Simon J. Larsen 28. oktober 2017 Institut for Matematik og Datalogi Metoder Metoder Indtil videre har vi kun brugt objekter til at gemme værdier.
Læs mereIntroduktion til ActionScript, fortsat
Introduktion til ActionScript, fortsat Kaspar Rosengreen Nielsen kaspar@interactivespaces.net i n t e r a c t i v e s p a c e s. n e t Kaspar Nielsen, kaspar@interactivespaces.net 1 Dagens program Opsamling
Læs mereAlgorithms and Architectures I Rasmus Løvenstein Olsen (RLO) Mm2: Rekursive algoritmer og rekurrens - October 12, 2010
Algorithms and Architectures I Rasmus Løvenstein Olsen (RLO) Mm2: Rekursive algoritmer og rekurrens - October 12, 2010 1 Algorithms and Architectures II 1. Introduction to analysis and design of algorithms
Læs mereIntroduktion 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 mereSkriftlig 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 mereSkriftlig Eksamen Algoritmer og Datastrukturer 2 (2003-ordning)
Skriftlig Eksamen Algoritmer og Datastrukturer 2 (2003-ordning) Datalogisk Institut Aarhus Universitet Fredag den 28. maj 2004, kl. 9.00 13.00 Opgave 1 (20%) En (r, k) kryds-graf er en orienteret graf
Læs mereUndervisningsbeskrivelse
Undervisningsbeskrivelse Stamoplysninger til brug ved prøver til gymnasiale uddannelser Termin Skoleåret 2015/16 Institution Hansenberg Gymnasium Uddannelse Fag og niveau Lærer Hold htx Programmering,
Læs mereOnline billede filtrering
Online billede filtrering Eksamensprojekt 2014 Andreas Lorentzen, klasse 3.4 Roskilde Tekniske Gymnasium Programmering C 09-05-2014 I dette projekt vil jeg demonstrerer en af de mange ting moderne browsere
Læs mereObjects 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 mereExceptions 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 mereDanmarks Tekniske Universitet
side af sider Danmarks Tekniske Universitet Skriftlig prøve, den 3. maj 0. Kursusnavn: Algoritmer og datastrukturer I Kursus nr. 005. Varighed: timer Tilladte hjælpemidler: Alle skriftlige hjælpemidler.
Læs mereBinære søgetræer. Binære søgetræer. Nærmeste naboer. Nærmeste nabo
Philip Bille er. Vedligehold en dynamisk mængde S af elementer. Hvert element har en nøgle x.key og satellitdata x.data. operationer. PREDECESSOR(k): returner element x med største nøgle k. SUCCESSOR(k):
Læs mereBits DM534. Rolf Fagerberg, 2012
Bits DM534 Rolf Fagerberg, 2012 Resume af sidst Overblik over kursus Introduktion. Tre pointer: Datalogi er menneskeskabt og dynamisk. Tidslinie over fremskridt mht. ideer og hardware. Algoritme er et
Læs mereInstruktion til banelægning i Condes til træningsløb
Instruktion til banelægning i Condes til træningsløb Har du ikke Condes 9 på din computer kan det hentes på www.condes.dk RSOK s login oplysninger findes her (kræver login til klubbens hjemmeside, har
Læs mereSpil 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 mereDanmarks Tekniske Universitet
side af 2 sider Danmarks Tekniske Universitet Skriftlig prøve, den 23. maj 20. Kursusnavn: Algoritmer og datastrukturer I Kursus nr. 0205. Varighed: 4 timer Tilladte hjælpemidler: Alle skriftlige hjælpemidler.
Læs mereAlgorithms and Architectures I Rasmus Løvenstein Olsen (RLO), Jimmy Jessen Nielsen (JJE) Mm2: Rekursive algoritmer og rekurrens - October 10, 2008
Algorithms and Architectures I Rasmus Løvenstein Olsen (RLO), Jimmy Jessen Nielsen (JJE) Mm2: Rekursive algoritmer og rekurrens - October 10, 2008 1 Algorithms and Architectures II 1. Introduction to analysis
Læs merelineær regression er en metode man bruger for at finde den mindste afstand mellem bestemte punkter ved at bruge denne formel: a= n i=1 i=1
Linær regression lineær regression er en metode man bruger for at finde den mindste afstand mellem bestemte punkter ved at bruge denne formel: a= (Xi Yi) n * Xi 2 n * x 2 x * y Figur 1. Nu vil vi løse
Læs mereDivide-and-Conquer algoritmer
Divide-and-Conquer algoritmer Divide-and-Conquer algoritmer Det samme som rekursive algoritmer. Divide-and-Conquer algoritmer Det samme som rekursive algoritmer. 1. Opdel problem i mindre delproblemer
Læs mereIntroduktion Til Konkurrenceprogrammering
Introduktion Til Konkurrenceprogrammering Søren Dahlgaard og Mathias Bæk Tejs Knudsen {soerend,knudsen}@di.ku.dk Version 0.1 Indhold Indhold i Introduktion 1 1 Palindromer 3 1.1 Introduktion til Python...............
Læs mereSkriftlig Eksamen Algoritmer og Datastrukturer 1. Datalogisk Institut Aarhus Universitet
Side af 1 sider Skriftlig Eksamen Algoritmer og Datastrukturer 1 Datalogisk Institut Aarhus Universitet Dette eksamenssæt består af en kombination af små skriftlige opgaver og multiplechoice-opgaver. Opgaverne
Læs mereAlgoritmer og invarianter
Algoritmer og invarianter Iterative algoritmer Algoritmen er overordnet set een eller flere while eller for-løkker. Iterative algoritmer Algoritmen er overordnet set een eller flere while eller for-løkker.
Læs mereDM507 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 mereManual til Explain Everthing
Manual til Explain Everthing Af Randi Majgård Høgh VIFIN Indholdsfortegnelse Forord Hjælp & indstillinger Oprettelse af dokumenter Gennemgang af værktøjer Video - og lydoptagelser Hvordan deler og eksporter
Læs mereModuler 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 mereuses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, Ksys, aritm, StdCtrls, Buttons, ComCtrls;
unit emcam; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, Ksys, aritm, StdCtrls, Buttons, ComCtrls; type RData = Record Alfa,Beta : Real; End; RResult = Record
Læs mereKompendium til Geogebra
Kompendium til Geogebra Hardsyssel Efterskole Matematik 8. Klasse Side 1 af 12 Kompendium til Geogebra 1. Generel præsentation af Geogebra 1.1 Download af programmet Geogebra kan gratis downloades fra
Læs mereDivide-and-Conquer algoritmer
Divide-and-Conquer algoritmer Divide-and-Conquer algoritmer Det samme som rekursive algoritmer. Divide-and-Conquer algoritmer Det samme som rekursive algoritmer. 1. Opdel problem i mindre delproblemer
Læs mereOrienterede grafer. Orienterede grafer. Orienterede grafer. Vejnetværk
Philip Bille Orienteret graf (directed graph). Mængde af knuder forbundet parvis med orienterede kanter. Vejnetværk Knude = vejkryds, kant = ensrettet vej. deg + (6) =, deg - (6) = sti fra til 6 8 7 9
Læs mereDM507 Algoritmer og datastrukturer
DM507 Algoritmer og datastrukturer Forår 2018 Projekt, del II Institut for matematik og datalogi Syddansk Universitet 13. marts, 2018 Dette projekt udleveres i tre dele. Hver del har sin deadline, således
Læs mereEt udtrykstrç med de ære regnearter, heltalskonstanter og variabler beskrives. Type Expr = Sumèplus, minus, times, div: Args, const: Int, name: Textè
Opgave 1 è20èè Et udtrykstrç med de ære regnearter, heltalskonstanter og variabler beskrives af fçlgende rekursive Trine-type: Type Expr = Sumèplus, minus, times, div: rgs, const: Int, name: Textè Type
Læs mereDM507 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 mereportal.microsoftonline.com
Office Online Office Online er et supplement til Officepakken, som du har liggende på computeren. Office Online ligger i skyen og åbnes i din webbrowser på adressen: portal.microsoftonline.com Du skal
Læs mereDATALOGISK INSTITUT, AARHUS UNIVERSITET
DATALOGISK INSTITUT, AARHUS UNIVERSITET Det Naturvidenskabelige Fakultet EKSAMEN Grundkurser i Datalogi Antal sider i opgavesættet (incl. forsiden): 6 (seks) Eksamensdag: Fredag den 25. juni 200, kl. 9.00-.00
Læs mereDM507 Algoritmer og datastrukturer
DM507 Algoritmer og datastrukturer Forår 2016 Projekt, del I Institut for matematik og datalogi Syddansk Universitet 29. februar, 2016 Dette projekt udleveres i tre dele. Hver del har sin deadline, således
Læs mereSymmetrisk 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 mereProcedurer og funktioner - iteration og rekursion
Procedurer og funktioner - iteration og rekursion Procedurer De første procedurer vi så på var knyttet til handlinger, der skulle udføres, fx at klikke på en knap for at lukke en form eller afslutte et
Læs mereIntroduktion til Banedesign / Visio. af Preben Nielsen
Introduktion til Banedesign / Visio af Preben Nielsen Formål med introduktionen: At give nye brugere en grundlæggende indlærring i brugen af Banedesign og Visio 2013 Meget kort fortalt om Visio og Banedesign:
Læs mereEnigma. Et programmeringssprog. Forfatter: Niels Serup X. Y Vejleder: A B C. Fag: Programmering Uddannelsessted: N M
Enigma Et programmeringssprog Forfatter: Niels Serup X. Y Vejleder: A B C Fag: Programmering Uddannelsessted: N M 25. maj 2010 Indholdsfortegnelse Indledning 3 Sproget 3 Syntax.............................................
Læs mereHjæ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 mereDivide-and-Conquer algoritmer
Divide-and-Conquer algoritmer Divide-and-Conquer algoritmer Det samme som rekursive algoritmer. 1. Opdel problem i mindre delproblemer (af samme type). 2. Løs delproblemerne ved rekursion (dvs. kald algoritmen
Læs mereSPHERO 2.0 undervisningsforløb til mellemtrinnet i matematik Polygoner og vinkler
SPHERO 2.0 undervisningsforløb til mellemtrinnet i matematik Polygoner og vinkler Fælles mål 2014 Matematik Eleven kan handle med overblik i sammensatte situationer med matematik. Eleven kan anvende geometriske
Læs mereDivide-and-Conquer algoritmer
Divide-and-Conquer algoritmer Divide-and-Conquer algoritmer Det samme som rekursive algoritmer. Divide-and-Conquer algoritmer Det samme som rekursive algoritmer. 1. Opdel problem i mindre delproblemer
Læs mereMIPS, 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 mereOrienterede grafer. Introduktion Repræsentation Søgning Topologisk sortering og DAGs Stærke sammenhængskomponenter Implicitte grafer.
Orienterede grafer Introduktion Repræsentation Søgning Topologisk sortering og DAGs Stærke sammenhængskomponenter Implicitte grafer Philip Bille Orienterede grafer Introduktion Repræsentation Søgning Topologisk
Læs mereLineær Programmering i GeoGebra Side 1 af 8
Lineær Programmering i GeoGebra Side 1 af 8 Grundlæggende find selv flere funktioner, fx i GG s indbyggede hjælpefunktion. Vær opmærksom på at grænsefladen i GeoGebra ændrer sig med tiden, da værktøjet
Læs mereDATALOGISK INSTITUT, AARHUS UNIVERSITET. Det Naturvidenskabelige Fakultet EKSAMEN. Grundkurser i Datalogi
DATALOGISK INSTITUT, AARHUS UNIVERSITET Det Naturvidenskabelige Fakultet EKSAMEN Grundkurser i Datalogi Antal sider i opgavesættet (incl. forsiden): 1 (tretten) Eksamensdag: Tirsdag den 8. april 2008,
Læs mereOrienterede grafer. Orienterede grafer. Orienterede grafer. Orienterede grafer
Philip Bille Orienteret graf. Mængde af knuder forbundet parvis med orienterede kanter. deg + (7) =, deg - (7) = Lemma. v V deg - (v) = v V deg + (v) = m. Bevis. Hver kant har netop en startknude og slutknude.
Læs mereFlowchart 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 mereKursusarbejde 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 mereAlgoritmisk geometri
Algoritmisk geometri 1 Intervalsøgning 2 Motivation for intervaltræer Lad der være givet en database over ansatte i en virksomhed Ansat Alder Løn Ansættelsesdato post i databasen Antag, at vi ønsker at
Læs mereDANMARKS TEKNISKE UNIVERSITET
DANMARKS TEKNISKE UNIVERSITET Skriftlig prøve, 14. december 2018, 4 timer Side 1 af 18 Kursus navn: 02101 Indledende Programmering Kursus : 02101 Tilladte hjælpemidler: Ikke-digitale skriftlige hjælpemidler
Læs mereDM13-3. Obligatorisk opgave E.05 Håndoptimering af SPARC assembler-kode
- 3. Obligatorisk opgave E.05 Håndoptimering af SPARC assembler-kode Jacob Aae Mikkelsen - 191076 12. december 2005 1 Indhold 1 Opgave beskrivelse 2 2 Muligheder for optimering 2 2.1 efter branch.........................
Læs mereAnvendelse af del og hersk princippet involverer altså problemopdelning og løsningskombination.
32. Rekursion Rekursive funktioner er uundværlige til bearbejdning af rekursive datastrukturer. Rekursive datastrukturer forekommer ofte - f.eks. både som lister og træer. Rekursiv problemløsning via del
Læs mereGenerel projektbeskrivelse
02121 Ingeniørarbejde Softwareteknologi Januar 2010 1 Introduktion Generel projektbeskrivelse Formålet med programmeringsprojektet er at give deltagerne erfaring med at designe og konstruere et simpelt
Læs mereSådan laver du en Baggrund i Animtoon
Sådan laver du en Baggrund i Animtoon Først skal du finde dig et billede du vil bruge som baggrund, det kan være en tegning du selv har tegnet eller et billede du har taget med et kamera, som for eksempel
Læs mereSkriftlig Eksamen Algoritmer og Datastrukturer (dads)
Skriftlig Eksamen Algoritmer og Datastrukturer (dads) Datalogisk Institut Aarhus Universitet Onsdag den. august 200, kl. 9.00.00 Opgave (25%) Lad A = A[] A[n] være et array af heltal. Længden af det længste
Læs mereSyntaks 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 mereAthena DIMENSION Tværsnit 2
Athena DIMENSION Tværsnit 2 Januar 2002 Indhold 1 Introduktion.................................. 2 2 Programmets opbygning........................... 2 2.1 Menuer og værktøjslinier............................
Læs mereProgrammering, algoritmik og matematik en nødvendig sammenblanding?
Programmering, algoritmik og matematik en nødvendig sammenblanding? Oplæg til IDA møde, 29. november 2004 Martin Zachariasen DIKU 1 Egen baggrund B.Sc. i datalogi 1989; Kandidat i datalogi 1995; Ph.D.
Læs mereScratch. - introduktionshæfte
Scratch - introduktionshæfte Opret bruger 2 Det første, du skal gøre er at oprette dig som bruger, så dine projekter bliver gemt. Gå ind på scratch.mit.edu/ Vælg knappen Meld dig ind i Scratch i den øverste
Læs mereMichael Jokil 11-05-2012
HTX, RTG Det skrå kast Informationsteknologi B Michael Jokil 11-05-2012 Indholdsfortegnelse Indledning... 3 Teori... 3 Kravspecifikationer... 4 Design... 4 Funktionalitet... 4 Brugerflade... 4 Implementering...
Læs mereEt 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 mereDanmarks Tekniske Universitet
ksamen 036, side af sider anmarks Tekniske Universitet Skriftlig prøve, den 3. maj 0. Kursusnavn: lgoritmer og datastrukturer Kursus nr. 036. Varighed: timer Tilladte hjælpemidler: lle skriftlige hjælpemidler.
Læs mereIdeer til datalogiprojekter. Keld Helsgaun
Ideer til datalogiprojekter Keld Helsgaun 1 Keld Helsgaun Forskning: kombinatorisk optimering heuristisk søgning (kunstig intelligens) programmeringsværktøjer Undervisning: programmering, datastrukturer
Læs mereLineæ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 mereIntroduktion. 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 mereSamtale og farveark. Lærereksemplar. Kun til lærerbrug. Før Rema
Samtale og farveark Før Rema 1 Her må du farve. 2 Forlaget Delta Skriv ovenpå 3 gange, begynd ved prikken. Skriv ovenpå - skriv selv. Tæl. Før Rema 3 Træk streg mellem tal og tegning. Tegn en terning magen
Læs mereSproget 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 mereKlasser 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 mereSkriftlig Eksamen Algoritmer og Datastrukturer (DM507)
Skriftlig Eksamen Algoritmer og Datastrukturer (DM507) Institut for Matematik og Datalogi Syddansk Universitet, Odense Onsdag den 0. juni 009, kl. 9 Alle sædvanlige hjælpemidler (lærebøger, notater, osv.)
Læs mereSeriediagrammer - Guide til konstruktion i LibreOffice Calc
Seriediagrammer - Guide til konstruktion i LibreOffice Calc På forbedringsvejlederuddannelsen anvender vi seriediagrammer til at skelne mellem tilfældig og ikketilfældig variation. Med et seriediagram
Læs mere