Rekursion C#-version

Størrelse: px
Starte visningen fra side:

Download "Rekursion C#-version"

Transkript

1 Note til Programmeringsteknologi Akademiuddannn i Informationsteknologi Rekursion C#-version Finn Nordbjerg 1

2 Rekursion Rekursionsbegrebet bygger på, at man beskriver noget ved "sig selv". Fx. kan tallet n! ("n-fakultet") defineres ved følgende formel: n! = 1 for n = 0; n! = n*(n-1)*(n-2)*...*2*1 for n 1 altså produktet af alle hele tal fra n og ned til 1. Tallet n! kan imidlertid også defineres på en anden måde, som er baseret på det forhold, at der gælder (1) n! = 1 for n = 0 (2) n! = n*(n-1)! for n > 1 En sådan definition kaldes rekursiv og er karakteriseret ved, at begrebet selv anvendes i definitionen. (1) kaldes definitionens basisdel og (2) dens rekursionsdel. Denne definition kan implementeres direkte ved følgende metode: public long FakRek( int n) {//PRE n>=0 if(n == 0) return 1; //basisdel return n*fakrek(n-1); //rekursionsdel I programmering anvendes betegnn rekursiv om metoder, som kalder sig selv. Ved rekursion forstås altså, at en problemløsningsmetode beskrives ved en basisdel, og at et givet skridt defineres udfra resultatet af et eller flere af de foregående skridt. Bemærk, at der skal altid være en basisdel og rekursionsdelen skal formuleres, så basisdelen altid nås til sidst. Ellers har man lavet sig en ikke-terminerende algoritme. Øv 1 Lav en ikke-rekursiv (dvs. iterativ) metode til beregning af n!. Øv 2 Lav et testprogram, som afprøver de to løsninger. Som for fakultetsberegning kan rekursive algoritmer altid omformes til en iterativ (overvej!!!), men for en lang række problemer er iterative løsninger meget mere komplekse og uoverskuelige. 2

3 Prisen for at anvende rekursive metoder (man får jo intet gratis) er et ekstra lagerforbrug, idet hver aktivering af metoden kræver lagring af data (parametre, lokale variable mv.). Disse data skal gemmes til kaldet af sluttes. For fakultetsberegnings vedkommende betyder dette, at der ved beregning af fx 10! skal gemmes oplysninger om 10 aktiveringer af metoden, inden kaldene begynder at returnere. Dette gøres automatisk på den såkaldte rekursionsstak, men lageret optages altså. I det følgende skal et par klassiske eksempler på rekursive løsninger kort beskrives. Tårnene i Hanoi Dette er et eksempel, hvor det er langt lettere at udlede en rekursiv algoritme end en iterativ. I følge sagnet har munkene i en buddhistorden i Hanoi længe været optaget af følgende opgave: Der er tre stænger og 64 skiver af forskellig størr. Hver skive har et hul i midten, så den kan placeres på en af stængerne. I starten var alle 64 skiver placeret på een stang. Skiverne er sorteret efter størr og største skive ligger nederst. Se figur: Kilde Hjælp Mål Opgaven går ud på at flytte tårnet fra denne stang (kilden) til en anden stang (målet). Den tredje stang (hjælp) kan undervejs anvendes til midlertidig opbevaring af skiver. For at gøre opgaven interessant (den siges at være lutrende for sjælen), skal følgende regler overholdes: - der må kun flyttes een skive ad gangen - en større skive må aldrig lægge ovenpå en mindre (For at imødegå dumsmarte løsninger skal det pointeres, at skiverne selvfølgeligt kun må placeres på en af de tre stænger ikke på jorden ved siden af!). Sagnet fortæller endvidere at fuldførn af opgaven vil indvarsle Verdens undergang. Løsningen af denne opgave er ikke indlysende, men lad se: For at flytte tårnet må den nederste skive (den største) flyttes fra kilden til målet. Dette kan ikke lade sig gøre før de 63 skiver, som ligger ovenpå, er flyttet til hjælpestangen, men så er det simpelt. Derefter må de 63 skiver flyttes fra hjælpestangen til målet. Men hvordan skal vi flytte de 63 skiver fra kilden til hjælpestangen? Dette kan gøres ved at flytte 62 skiver fra kilden til målet, derefter flytte den sidste skive til hjælpestangen, og til sidst flytte de 62 skiver tilbage igen. 3

4 Men hvordan flytter vi 62 skiver? Ved at flytte de 61 øverste. Dette er en rekursiv strategi, hvor vi opdeler vores problem i stadig mindre problemer (at flytte 63 skiver er et mindre problem end at flytte 64 etc.) indtil vi når basisdelen: at flytte én skive. Vi kan altså formulere følgende løsning: - flyt 63 skiver fra kilde til hjælpstang (målet kan bruges som arbejdsplads) - flyt een skive fra kilde til mål - flyt 63 skiver fra hjælpestang til mål (kilden kan bruges som arbejdsplads) På tilsvarende måde kan 63 skiver flyttes ved at flytte 62 skiver og derefter flytte een og så flytte 62 igen etc. etc. Generelt kan løsningen formuleres ved følgende rekursive metode (n er antal skiver i tårnet): public void FlytTaarn(int n,string kilde, string maal, string hjlp) { if (n==1) Console.WriteLine( Flyt skive fra +kilde+ til +maal); { FlytTaarn(n-1,kilde,hjlp,maal); Console.WriteLine( Flyt skive fra +kilde+ til +maal); FlytTaarn(n-1, hjlp, maal, kilde); Til berolig for evt. læsere, der bekymrer sig for Verdens snarlige undergang, kan følgende anføres: Udfør med n=64 resulterer i to kald med n=63, der igen hver resulterer i to kald med n=62 etc. I alt kald. I hvert kald flyttes een skive. Dvs., at hvis munkene kan flytte een skive i sekundet, aldrig laver fejl og arbejder døgnet rundt året rundt, så vil det tage ca år at flytte tårnet (det kan vises, at der ikke findes nogen hurtigere algoritme), og til den tid skal Verden såmænd nok være gået under alligevel. Det skal understreges, at dette er en meget koncis og elegant løsning på et ikke-trivielt problem. Der findes iterative løsninger, men de er komplekse og vanskelige at udlede (prøv!). Øv 3 Lav et testprogram, som afprøver ovenstående. (Lad være med at teste med 64 skiver!) Binær søgning Binær søgning er et eksempel på en meget elegant løsning på et problem. Normalt udledes algoritmen for binær søgning fra søgeskabelonen (se note om algoritmeskabeloner), men løsningen kan også formuleres rekursivt, hvilket giver en enklere og elegantere, men ikke helt så effektiv løsning. 4

5 Følgende metode undersøger om et givet element, x, findes i et sorteret array, T. Elementtypen er blot int: public bool BinSearch(int l, int h, int x, int[] T) {//PRE T er sorteret int m; if(l>h) return false; { m = (l+h)/2; if(x==t[m]) return true; if(x>t[m]) return BinSearch(m+1,h,x,T); return BinSearch(l,m-1,x,T); Prøv at ændre metoden, så den returnerer indekset på det søgte element. Øv 4 Lav en ikke-rekursiv formulering af BinSearch. Øv 5 Lav et test program, som afprøver de to udgaver af BinSearch. Øv 6 Ved Fibonacci-tallene forstås en følge af hele positive tal, hvor et givet Fibonaccital findes som summen af de to foregående. Rekursiv definition: Udarbejd (1) Fib(n) = n for n= 0 og n= 1 (2) Fib(n) = Fib(n-1) + Fib(n-2) for n>1 a) en rekursiv funktion til beregning af et givet Fibonaccital, og b) en iterativ funktion til beregning af et givet Fibonaccital. 5

6 Øv 7 Lav et testprogram, som afprøver de to udgaver af Fib(-). Kan du registrere forskel I deres effektivitet? (Lad vær at teste den rekursive udgave med store tal (dvs. ikke meget over 40). 6

Algoritmeskabeloner: Sweep- og søgealgoritmer C#-version

Algoritmeskabeloner: Sweep- og søgealgoritmer C#-version Note til Programmeringsteknologi Akademiuddannelsen i Informationsteknologi Algoritmeskabeloner: Sweep- og søgealgoritmer C#-version Finn Nordbjerg 1/9 Indledning I det følgende introduceres et par abstrakte

Læs mere

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

Kursusarbejde 3 Grundlæggende Programmering

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

Læs mere

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

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

Kursusarbejde 1 Grundlæggende Programmering. Arne Jørgensen, 300473-2919 klasse dm032-1a

Kursusarbejde 1 Grundlæggende Programmering. Arne Jørgensen, 300473-2919 klasse dm032-1a Kursusarbejde 1 Grundlæggende Programmering Arne Jørgensen, 300473-2919 klasse dm032-1a 3. oktober 2003 Kode //File Name: kaalhovede.cc //Author: Arne Jørgensen //Email Address: arne@arnested.dk, arnjor@niels.brock.dk

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

Introduktion Til Konkurrenceprogrammering

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

Binære søgetræer. Binære søgetræer. Nærmeste naboer. Nærmeste nabo

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

Kursusarbejde 2 Grundlæggende Programmering

Kursusarbejde 2 Grundlæggende Programmering Kursusarbejde 2 Grundlæggende Programmering Arne Jørgensen, 300473-2919 klasse dm032-1a 31. oktober 2003 Indhold 1. Kode 2 1.1. hotel.h.................................................... 2 1.2. hotel.cc...................................................

Læs mere

Objektorienteret design med arv og polymorfi:

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

Læs mere

Kædebrøker. b 0 f.eks. 3 b 0 + a 1. f.eks. 3 + 1 b 1 7. a 1. b 1 + a f.eks. 3 + 1 7 + 1. f.eks. 3 + b 1 + a 2 7 + Notation: a 2 b 2 + an.

Kædebrøker. b 0 f.eks. 3 b 0 + a 1. f.eks. 3 + 1 b 1 7. a 1. b 1 + a f.eks. 3 + 1 7 + 1. f.eks. 3 + b 1 + a 2 7 + Notation: a 2 b 2 + an. Kædebrøker Naturvidenskabsfestivalen 2006 foredrag på Herning htx, 26. september Flemming Topsøe Institut for Matematiske Fag, Københavns Universitet b 0 f.eks. 3 b 0 + a 1 f.eks. 3

Læs mere

DM502. Peter Schneider-Kamp (petersk@imada.sdu.dk) http://imada.sdu.dk/~petersk/dm502/

DM502. Peter Schneider-Kamp (petersk@imada.sdu.dk) http://imada.sdu.dk/~petersk/dm502/ DM502 Peter Schneider-Kamp (petersk@imada.sdu.dk) http://imada.sdu.dk/~petersk/dm502/ 1 DM502 Bog, ugesedler og noter De første øvelser Let for nogen, svært for andre Kom til øvelserne! Lav opgaverne!

Læs mere

Optimering af fraværsregistrering

Optimering af fraværsregistrering Journal Optimering af fraværsregistrering Eksamensprojekt i Programmering C, klasse 3.4, 2011 AFLEVERET 09-05-2014 Indhold Abstract... Fejl! Bogmærke er ikke defineret. Problemformulering... 2 Produktet...

Læs mere

Grafer og graf-gennemløb

Grafer og graf-gennemløb Grafer og graf-gennemløb Grafer En mængde V af knuder (vertices). En mængde E V V af kanter (edges). Dvs. ordnede par af knuder. Figur: Terminologi: n = V, m = E (eller V og E (mis)bruges som V og E ).

Læs mere

Dansk Datahistorisk Forening COMAL fylder 40 år

Dansk Datahistorisk Forening COMAL fylder 40 år Dansk Datahistorisk Forening COMAL fylder 40 år Jubilæumsarrangement på Tapeten Lørdag den 28. februar 2015 Genoptryk af nogle udvalgte artikler om COMAL m.v. fra de første numre af Datalæreforeningens

Læs mere

Programmering, algoritmik og matematik en nødvendig sammenblanding?

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

Læs mere

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

14.1 Internationale programmer

14.1 Internationale programmer 14.1 Internationale programmer Når et program skal anvendes af flere kulturer og sprog opstår behov for at programtekster, beløb og datoangivelser afhænger af landet og sproget, og man må i gang med at

Læs mere

Binære søgetræer. Binære søgetræer. Nærmeste naboer. Nærmeste nabo

Binære søgetræer. Binære søgetræer. Nærmeste naboer. Nærmeste nabo Philip Bille Nærmeste naboer. Vedligehold en dynamisk mængde S af elementer. Hvert element har en nøgle key[] og satellitdata data[]. operationer. PREDECESSOR(k): returner element med største nøgle k.

Læs mere

Vejledning - Udarbejdelse af gevinstdiagram

Vejledning - Udarbejdelse af gevinstdiagram Vejledning - Udarbejdelse af gevinstdiagram Maj 2015 INDHOLD 1. INDLEDNING... 1 1.1 FORMÅL... 1 1.2 VEJLEDNINGENS SAMMENHÆNG MED DEN FÆLLESSTATSLIGE IT-PROJEKTMODEL... 1 1.3 GEVINSTDIAGRAMMET... 2 1.4

Læs mere

Binære søgetræer. Nærmeste naboer Binære søgetræer Indsættelse Predecessor og successor Sletning Trægennemløb. Philip Bille

Binære søgetræer. Nærmeste naboer Binære søgetræer Indsættelse Predecessor og successor Sletning Trægennemløb. Philip Bille Binære søgetræer Nærmeste naboer Binære søgetræer Indsættelse Predecessor og successor Sletning Trægennemløb Philip Bille Binære søgetræer Nærmeste naboer Binære søgetræer Indsættelse Predecessor og successor

Læs mere

$ %' ) * %' +,! - Myarray %' /0 /0 122 +3 /0 /0

$ %' ) * %' +,! - Myarray %' /0 /0 122 +3 /0 /0 !"#!"# "# %&') * #" % && %' Dim MyArray2) As Integer ) * %' +,! - Myarray MyArray0). %' /0 /0 122 + /0 /0 +4 / 0) Dim MyArray1 to 2) As Integer 5MyarrayMyArray1)" +6 Option Base 1 Option Explicit %' 76

Læs mere

ODIN-webservice ændringer release 2010 v2.0

ODIN-webservice ændringer release 2010 v2.0 DOKUMENTATION OG VEJLEDNING ODIN-webservice ændringer release 2010 v2.0 Indholdsfortegnelse 1. Nye webservice metoder... 2 1.1 Anvendelse af køretøjer og personel fra fremmede beredskaber ifm. indberetning

Læs mere

Matematisk induktion

Matematisk induktion Induktionsbeviser MT01.0.07 1 1 Induktionsbeviser Matematisk induktion Sætninger der udtaler sig om hvad der gælder for alle naturlige tal n N, kan undertiden bevises ved matematisk induktion. Idéen bag

Læs mere

Om binære søgetræer i Java

Om binære søgetræer i Java Om binære søgetræer i Java Mads Rosendahl 7. november 2002 Resumé En fix måde at gemme data på er i en træstruktur. Måden er nyttig hvis man får noget data ind og man gerne vil have at det gemt i en sorteret

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

BOSK F2011, 1. del: Induktion

BOSK F2011, 1. del: Induktion P(0) ( n N. P(n) P(n + 1) ) = ( n N. P(n) ) February 15, 2011 Summa summarum Vi får et tip om at følgende kunne finde på at holde for n N: n N. n i = n(n + 1). 2 Vi husker at summation læses meget som

Læs mere

DDD Runde 2, 2015 Facitliste

DDD Runde 2, 2015 Facitliste DDD Runde 2, 2015 Facitliste Søren Dahlgaard og Mathias Bæk Tejs Knudsen Opgaver og løsninger til 2. runde af DDD 2015. 1 4. 19. februar, 2015 linetest DK v1.0 Line Test Sigurd er begyndt i gymnasiet og

Læs mere

Mandags Chancen. En optimal spilstrategi. Erik Vestergaard

Mandags Chancen. En optimal spilstrategi. Erik Vestergaard Mandags Chancen En optimal spilstrategi Erik Vestergaard Spilleregler denne note skal vi studere en optimal spilstrategi i det spil, som i fjernsynet går under navnet Mandags Chancen. Spillets regler er

Læs mere

Vejledning - Udarbejdelse af gevinstdiagram

Vejledning - Udarbejdelse af gevinstdiagram Vejledning - Udarbejdelse af gevinstdiagram Januar 2014 INDHOLD 1. INDLEDNING... 1 1.1 FORMÅL... 1 1.2 VEJLEDNINGENS SAMMENHÆNG MED DEN FÆLLESSTATSLIGE IT-PROJEKTMODEL... 1 1.3 GEVINSTDIAGRAMMET... 2 1.4

Læs mere

MODUL 8. Differensligninger. Forfattere: Michael ELMEGÅRD & Øistein WIND-WILLASSEN. Modulet er baseret på noter af Peter BEELEN.

MODUL 8. Differensligninger. Forfattere: Michael ELMEGÅRD & Øistein WIND-WILLASSEN. Modulet er baseret på noter af Peter BEELEN. MODUL 8 Differensligninger Forfattere: Michael ELMEGÅRD & Øistein WIND-WILLASSEN Modulet er baseret på noter af Peter BEELEN. 26. august 2014 2 Indhold 1 Introduktion 5 1.1 Rekursioner og differensligninger.........................

Læs mere

Skriftlig Eksamen Diskret Matematik (DM528)

Skriftlig Eksamen Diskret Matematik (DM528) Skriftlig Eksamen Diskret Matematik (DM528) Institut for Matematik & Datalogi Syddansk Universitet Tirsdag den 20 Januar 2009, kl. 9 13 Alle sædvanlige hjælpemidler (lærebøger, notater etc.) samt brug

Læs mere

Indstillet på sekunder. Besparelser i årevis.

Indstillet på sekunder. Besparelser i årevis. MAKING MODERN LIVING POSSIBLE Indstillet på sekunder. Besparelser i årevis. NYE living by Danfoss termostater. Komfort og besparelser døgnet rundt. Indstil og spar Vælg din egen ugeplan Så sænkes temperaturen

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

Introduktion til ActionScript, fortsat

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

Dynamisk programmering. Flere eksempler

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

Læs mere

Mandag: HVAD ER ET PROJEKT?

Mandag: HVAD ER ET PROJEKT? Mandag: HVAD ER ET PROJEKT? Hvorforhar vi projekter? Resultater! Fokus på en opgave der ikke er mulig i linjeorganisationen Arbejde på tværs af en organisation Afgrænsning af styringsområde Bedre styring

Læs mere

Start på Arduino og programmering

Start på Arduino og programmering Programmering for begyndere Brug af Arduino Start på Arduino og programmering EDR Hillerød Knud Krogsgaard Jensen / OZ1QK 1 Start på Arduino og programmering Sidste gang (Introduktion) Programmeringssproget

Læs mere

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

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

Læs mere

Indstillet på sekunder. Besparelser i årevis.

Indstillet på sekunder. Besparelser i årevis. MAKING MODERN LIVING POSSIBLE Indstillet på sekunder. Besparelser i årevis. NYE living by Danfoss termostater. Komfort og besparelser døgnet rundt. Indstil og spar Vælg din egen ugeplan Så sænkes temperaturen

Læs mere

Programmeringscamp. Implementer funktionerne én for én og test hele tiden.

Programmeringscamp. Implementer funktionerne én for én og test hele tiden. Programmeringscamp De to opgaver træner begge i at lave moduler som tilbyder services der kan bruges af andre, samt i at implementere services efter en abstrakt forskrift. Opgave 1 beder jer om at implementere

Læs mere

Guide l WinPLCs sta s skmodul

Guide l WinPLCs sta s skmodul Guide l WinPLCs sta s skmodul For at lgå WinPLCs sta s kmodul, vælger man Pa entudtræk under topmenu-punktet Sta s k. Når man har åbnet Pa entudtræk, kan man søge på forskellige parametre. Det er vig gt

Læs mere

BOSK F2012, 1. del: Prædikatslogik

BOSK F2012, 1. del: Prædikatslogik ε > 0. δ > 0. x. x a < δ f (x) L < ε February 8, 2012 Prædikater Vi skal lære om prædikatslogik lad os starte med prædikater. Et prædikat er et orakel der svarer ja eller nej. Eller mere præcist: Prædikater

Læs mere

Noter. Indhold. Oktober 2009

Noter. Indhold. Oktober 2009 Noter Oktober 2009 Dette er en samling af noter skrevet til kurset Programmering 2 som supplement til den anvendte lærebog. Java-kildeteksten for de anvendte programeksempler kan nås via WWW: http://www.cs.au.dk/dprog2/eksempler/

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

Introduktion til Flash, fortsat

Introduktion til Flash, fortsat Introduktion til Flash, fortsat Kaspar Rosengreen Nielsen kaspar@interactivespaces.net Dagens program Opsamling på sidste forelæsning. Vi vil beskæftige os med følgende emner i dagens forelæsning: Komponenter

Læs mere

Forbrugsafregning på dialog-maskinen af Steen Thomassen

Forbrugsafregning på dialog-maskinen af Steen Thomassen Forbrugsafregning på dialog-maskinen af Steen Thomassen 1 Indholdfortegnelse Indholdfortegnelse... 1 Forord... 2 Katalog-struktur... 2 Scripts... 3 Opsætningscripts i $DIALOG_SOURCE... 3 midnight.csh ...

Læs mere

vil jeg blive mindet om det af VBA allerede mens jeg skriver koden, da der er tale om en såkaldt kompileringsfejl:

vil jeg blive mindet om det af VBA allerede mens jeg skriver koden, da der er tale om en såkaldt kompileringsfejl: Fejlhåndtering Selv de bedste programmører laver af og til fejl! Dette kommer sikkert som en overraskelse for de fleste, bortset fra de, der har arbejdet med et hvilket som helst større program. Fejl kan

Læs mere

dcomnet-nr. 8 Simpel aritmetik på maskinniveau Computere og Netværk (dcomnet)

dcomnet-nr. 8 Simpel aritmetik på maskinniveau Computere og Netværk (dcomnet) dcomnet-nr. 8 Simpel aritmetik på maskinniveau Computere og Netværk (dcomnet) Efterår 2009 1 Simpel aritmetik på maskinniveau I SCO, appendix A, er det beskrevet, hvordan man adderer ikke-negative heltal

Læs mere

PHP 3 UGERS FORLØB PHP, MYSQL & SQL

PHP 3 UGERS FORLØB PHP, MYSQL & SQL PHP 3 UGERS FORLØB PHP, MYSQL & SQL Uge 1 & 2 Det basale: Det primære mål efter uge 1 og 2, er at få forståelse for hvordan AMP miljøet fungerer i praksis, og hvordan man bruger PHP kodesproget til at

Læs mere

IDENTIFON. Emil Hauberg, Jakob Christoffersen, Ninette Nielsen og Senia Lundberg

IDENTIFON. Emil Hauberg, Jakob Christoffersen, Ninette Nielsen og Senia Lundberg Emil Hauberg, Jakob Christoffersen, Ninette Nielsen og Senia Lundberg 1 Indholdsfortegnelse side nr. 1. Forside. 2. Indholdsfortegnelse og indledning. 3. Problemformulering og afgræsning. 4. Tidsplan projektplan

Læs mere

Vejledning til online ansøgning om lokaler i Netbooking

Vejledning til online ansøgning om lokaler i Netbooking Vejledning til online ansøgning om lokaler i Netbooking Det er nu muligt at booke lokaler i Vallensbæk Kommune via Internettet og kommunens hjemmeside. Du får adgang til siden ved at følge nedenstående

Læs mere

Arkitektur principper og design mønstre til realisering af enterprise applikationer baseret på rige domænemodeller (og.net)

Arkitektur principper og design mønstre til realisering af enterprise applikationer baseret på rige domænemodeller (og.net) Arkitektur principper og design mønstre til realisering af enterprise applikationer baseret på rige domænemodeller (og.net) Kim Harding Christensen EOS A/S Margrethepladsen 3 8000 Århus TLF: 8732 8787

Læs mere

Artikel om... Sideskabeloner. Eksempel på bogsideskabelon. OpenOffice.org

Artikel om... Sideskabeloner. Eksempel på bogsideskabelon. OpenOffice.org Artikel om... Sideskabeloner Eksempel på bogsideskabelon OpenOffice.org Rettigheder Dette dokument er beskyttet af Copyright 2006 til bidragsyderne, som er oplistet i afsnittet Forfattere. Du kan distribuere

Læs mere

En personlighedstest i forbindelse med en jobsøgning

En personlighedstest i forbindelse med en jobsøgning Af Anne Cathrine Schjøtt Personlighedstest: Lær dig selv at kende Personlighedstests er kommet for at blive. Derfor kan man lige så godt åbne sindet og blive gode venner med de skriftlige tests, lyder

Læs mere

Indholdsfortegnelse Forord...8 Makroer samt aktivere Udvikler-fanen...10 Makrosikkerhed (Sikkerhedsindstillinger)...13

Indholdsfortegnelse Forord...8 Makroer samt aktivere Udvikler-fanen...10 Makrosikkerhed (Sikkerhedsindstillinger)...13 1 Indholdsfortegnelse Forord...8 Makroer samt aktivere Udvikler-fanen...10 Hvad er en makro... 10 Hvad kan du bruge en makro til... 10 Hvad en makro er (Visual Basic for Applications)... 11 Det hele sker

Læs mere

Kompetenceudvikling og optimering af effekter

Kompetenceudvikling og optimering af effekter UNIVERSITY COLLEGE LILLEBÆLT Kompetenceudvikling og optimering af effekter Oplæg på temadag i partnerskabsregi, onsdag den 14.januar 2015 v. adjunkt, mag.art & stud. ph.d. Peter Sørensen UNIVERSITY COLLEGE

Læs mere

Programmeringseksempel tl BCxxxx (Seriel)

Programmeringseksempel tl BCxxxx (Seriel) APP-NOTE 600005 Beckhoff Application Note Date: 8/28/2006 Document Status: First Draft Beckhoff Automation Aps Naverland 2, DK-2600 Glostrup Phone +45 43 46 76 20 Fax +45 43 46 63 35 Programmeringseksempel

Læs mere

ANSØGNINGSSKEMA FÆLLES PULJE

ANSØGNINGSSKEMA FÆLLES PULJE ANSØGNINGSSKEMA FÆLLES PULJE INITIATIVETS TITEL: SOSU-Uddannelsen som e-læring 1. ANSØGERE OG SAMARBEJDSPARTNERE Ansøger (projektansvarlig): Navn: Poul M. Christensen E-mail: poc@aarhus.dk Telefon: 51186460

Læs mere

Rapport. Udarbejdet af: Mayianne Nøks Pedersen. Skole login: knmape68. E-mail: mypedersen@gmail.com

Rapport. Udarbejdet af: Mayianne Nøks Pedersen. Skole login: knmape68. E-mail: mypedersen@gmail.com Rapport Udarbejdet af: Mayianne Nøks Pedersen Skole login: knmape68 E-mail: mypedersen@gmail.com URL til brugerundersøgelsen: http://web328.webkn.dk/hjemmeside/image/laering/sem2brugerundersogelse/brugerundersogelse/

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

Efterlysning af Bedre Byggeskik huse i Espergærde og Helsingør

Efterlysning af Bedre Byggeskik huse i Espergærde og Helsingør Bedre Byggeskik Efterlysning af Bedre Byggeskik huse i Espergærde og Helsingør Arkitekter MAA Per Godtfredsen og Jan Arnt Historisk Forening for Espergærde er gået ind i et samarbejde med By & Land Helsingør

Læs mere

Der skal være en hensigt med teksten - om tilrettelæggelse og evaluering af elevers skriveproces

Der skal være en hensigt med teksten - om tilrettelæggelse og evaluering af elevers skriveproces Der skal være en hensigt med teksten - om tilrettelæggelse og evaluering af elevers skriveproces Af Bodil Nielsen, Lektor, ph.d., UCC Det er vigtigt at kunne skrive, så man bliver forstået også af læsere,

Læs mere

Opgave 1 Regning med rest

Opgave 1 Regning med rest Den digitale signatur - anvendt talteori og kryptologi Opgave 1 Regning med rest Den positive rest, man får, når et helt tal a divideres med et naturligt tal n, betegnes rest(a,n ) Hvis r = rest(a,n) kan

Læs mere

Sådan arbejder du med jobsøgningslog

Sådan arbejder du med jobsøgningslog Sådan arbejder du med jobsøgningslog Når du skal oprette en log, skal du logge ind på www.jobnet.dk. Derefter klikker du på MIN JOBSØGNING i den sorte menu øverst på siden. Du kan se Jobnets værktøjer,

Læs mere

Objektorienteret Programmering

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

Læs mere

Instruktioner for Asset Management. Udarbejdet af: Brian Bernholm brbe@business-view.dk +45 60 11 2121 Business-View 30-04-2015

Instruktioner for Asset Management. Udarbejdet af: Brian Bernholm brbe@business-view.dk +45 60 11 2121 Business-View 30-04-2015 Instruktioner for Asset Management 2015 Udarbejdet af: Brian Bernholm +45 60 11 2121 Business-View 30-04-2015 1 Indhold 1. Indledning... 2 2. Asset Management Register... 3 3. Aktivering af Asset Management

Læs mere

02312 Indledende programmering og 02313 Udviklingsmetoder til IT- Systemer

02312 Indledende programmering og 02313 Udviklingsmetoder til IT- Systemer Projektopgave efterår 2009 jan 2010 02312 Indledende programmering og 02313 Udviklingsmetoder til IT- Systemer Projekt navn: CDIO tre ugers projekt Gruppe nr.: 52 Afleveringsfrist: Mandag d. 18-01-10 Studie

Læs mere

K-opgave E2001 - Konkordans. Mikkel Boje, Ulrik Schou Jørgensen, Martin Damhus

K-opgave E2001 - Konkordans. Mikkel Boje, Ulrik Schou Jørgensen, Martin Damhus K-opgave E2001 - Konkordans Mikkel Boje, Ulrik Schou Jørgensen, Martin Damhus 20. december 2001 Indhold 1 Sammenfatning 5 1.1 Denne opgave.................................. 5 1.2 Ambitionsniveau................................

Læs mere

SÅDAN BRUGER DU REGNEARK INTRODUKTION

SÅDAN BRUGER DU REGNEARK INTRODUKTION SÅDAN BRUGER DU REGNEARK INTRODUKTION I vejledningen bruger vi det gratis program Calc fra OpenOffice som eksempel til at vise, hvordan man bruger nogle helt grundlæggende funktioner i regneark. De øvrige

Læs mere

" #" $ " "!% &'% ' ( ) * " & #

 # $  !% &'% ' ( ) *  & # ! # $!% &'% '! #$ #$ ( * & #!! #$%& + &,Dim! - Sub Test( Dim Svar As String Svar = InputBox( Indtast dit Navn MsgBox Dit navn er & Svar Svar & * Sub Test2( MsgBox Goddaw & Svar #Test2( Svar& Test(Test2(Svar

Læs mere

Syv grunde til at vælge ibinder

Syv grunde til at vælge ibinder Syv grunde til at vælge ibinder 1. Nemt at anvende - kræver ingen forkundskaber 2. Let at beregne driftsomkostningerne 3. Fungerer i ethvert IT-miljøkræver blot en webbrowser 4. Udviklet af mennesker til

Læs mere

SAX Simple API for XML.

SAX Simple API for XML. SAX Simple API for XML. En API (Application Programming Interface) et bibliotek eller et sæt af funktioner eller metoder. SAX er et sådant bibliotek af abstrakte metoder som f. eks. startdocument() eller

Læs mere

Håndbog Til CPR services. Bilag 8 GCTP-standard m.m. CPR-kontoret

Håndbog Til CPR services. Bilag 8 GCTP-standard m.m. CPR-kontoret Håndbog Til CPR services Bilag 8 GCTP-standard m.m. CPR-kontoret Datavej 20, Postboks 269, 3460 Birkerød E-post: cpr@cpr.dk. Telefax 45 82 51 10. Hjemmeside: www.cpr.dk Side 2 af 14 Indholdsfortegnelse

Læs mere

LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wparam, LPARAM lparam) { int wmid, wmevent; programmering med

LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wparam, LPARAM lparam) { int wmid, wmevent; programmering med LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wparam, LPARAM lparam) int wmid, wmevent; PAINTSTRUCT Introduktion ps; til HDC hdc; programmering med switch (message) case WM_COMMAND: wmid = LOWORD(wParam);

Læs mere

INDSAMLING.nu Q U I C K G U I D E. Udviklet og hostet af CashBox. SMS-beskeder er sponsoreret af Text Reactor

INDSAMLING.nu Q U I C K G U I D E. Udviklet og hostet af CashBox. SMS-beskeder er sponsoreret af Text Reactor INDSAMLING.nu Q U I C K G U I D E Udviklet og hostet af CashBox SMS-beskeder er sponsoreret af Text Reactor Tak fordi du valgte at bruge INDSAMLING.nu til at administrere din indsamling. Du har lige logget

Læs mere

WiX. Flotte hjemmesider også på mobilen. Version: August 2012

WiX. Flotte hjemmesider også på mobilen. Version: August 2012 WiX Flotte hjemmesider også på mobilen Version: August 2012 Indholdsfortegnelse Hvad er WiX?...4 WiX både til computer og mobil!...4 Opret bruger på WiX...4 WiX til visning i browser...5 Save/gem...8

Læs mere

Easy Guide i GallupPC

Easy Guide i GallupPC Easy Guide i GallupPC Version. 6.00.00 Gallup A/S Masnedøgade 22-26 DK 2100 København Ø Telefon 39 27 27 27 Fax 39 27 50 80 Indhold SÅDAN KOMMER DU I GANG MED AT ANVENDE GALLUPPC... 2 TILFØJELSE AF UNDERSØGELSER

Læs mere

Forberedelse. Forberedelse. Forberedelse

Forberedelse. Forberedelse. Forberedelse Formidlingsopgave AT er i høj grad en formidlingsopgave. I mange tilfælde vil du vide mere om emnet end din lærer og din censor. Dæng dem til med fakta. Det betyder at du skal formidle den viden som du

Læs mere

strategi drejer sig om at udvælge de midler, processer og de handlinger, der gør det muligt at nå det kommunikationsmæssige mål. 2

strategi drejer sig om at udvælge de midler, processer og de handlinger, der gør det muligt at nå det kommunikationsmæssige mål. 2 KOMMUNIKATIONSSTRATEGIENS TEORETISKE FUNDAMENT I den litteratur, jeg har haft adgang til under tilblivelsen af denne publikation, har jeg ikke fundet nogen entydig definition på, hvad en kommunikationsstrategi

Læs mere

Søgeeksempel i PubMed:

Søgeeksempel i PubMed: 1 Søgeeksempel i PubMed: Tværfagligt samarbejde omkring genoptræning efter udskrivning fra hospital Første skridt: Opløs problemformuleringen i de søgeord som dækker problemstillingen og endelig ikke flere

Læs mere

Teknisk basetræning fodbold

Teknisk basetræning fodbold Fodbold stationer Banen Henvisninger til øvelserne på tysk hos DFB : http://www.dfb.de/dfb-info/training/abzeichen/right.php DFB / hp Utoft - 1 DFB / hp Utoft - 2 Station 1 Præcisions-skytte Opgave: Spark

Læs mere

Forberedelse. Forberedelse. Forberedelse

Forberedelse. Forberedelse. Forberedelse Formidlingsopgave AT er i høj grad en formidlingsopgave. I mange tilfælde vil du vide mere om emnet end din lærer og din censor. Dæng dem til med fakta! Det betyder at du skal formidle den viden som du

Læs mere

Martin Geisler. Uge 49, 2001

Martin Geisler. Uge 49, 2001 Min dintprog-browser Martin Geisler Uge 49, 2001 Resumé Dette dokument beskriver tankerne bag min dintprog-browser, en browser skrevet i Java der skal kunne fortolke en mindre delmængde af HTML 4, kaldet

Læs mere

Vejledning til Tælleplansmodul

Vejledning til Tælleplansmodul Vejledning til Tælleplansmodul Hvad er en tælleplan, og hvad bruger man den til? En tælleplan er basalt set en samling af snit, som man vil tælle på i et givet år. Tælleplaner kan være organiseret forskelligt

Læs mere

At sætte bevægelse i en organisation. - 3 vektorer, der gør en forskel

At sætte bevægelse i en organisation. - 3 vektorer, der gør en forskel At sætte bevægelse i en organisation - 3 vektorer, der gør en forskel Af Christoffer Rude, Arbejdstilsynet juni 2009 Kan systemteori levere praktiske og konstruktive værktøjer til det komplekse kommunikationsarbejde?

Læs mere

SkagenBrugtMarked.dk - en service fra SkagensAvis.dk

SkagenBrugtMarked.dk - en service fra SkagensAvis.dk SkagenBrugtMarked.dk - en service fra SkagensAvis.dk Dette er en vejledning i brugen af SkagenBrugtMarked.dk Vælg eventuelt at skrive denne vejledning ud, den er forbredt til udskrift på A4 papir. Generelt

Læs mere

Workshops om netværk

Workshops om netværk Workshops om netværk 1. Intro + netværkslag 2. Transportlag 3. Socket programmering 4. TBA Se evt. www.control.aau.dk/~jens/teaching/itc_2011 Sådan virker Internettet Jens Myrup Pedersen Lektor, jens@es.aau.dk

Læs mere

Noter og opgaver. Programmering A IMADA. Niels Kjeldsen & Jacob Aae Mikkelsen. Med grundig korrektur og rettelser af Edmund Christiansen

Noter og opgaver. Programmering A IMADA. Niels Kjeldsen & Jacob Aae Mikkelsen. Med grundig korrektur og rettelser af Edmund Christiansen Programmering A IMADA Noter og opgaver Niels Kjeldsen & Jacob Aae Mikkelsen Med grundig korrektur og rettelser af Edmund Christiansen Noter til Programmering A INDHOLD Indhold 1 Indledning 3 2 Kom i gang

Læs mere

Programmering I Java/C#

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

Læs mere

Vejledning til Club Counsellor i brug af RYE Database 2008

Vejledning til Club Counsellor i brug af RYE Database 2008 Vejledning til Club Counsellor i brug af RYE Database 2008 Indledning Multi District Denmark har udviklet en database til brug ved administration af udvekslingsstudenter. Databasen kan åbnes fra alle pc

Læs mere

DM08115 DATABASE 08.06.2010

DM08115 DATABASE 08.06.2010 Hvad er OLAP OLAP er en databaseteknologi, der er blevet optimeret til forespørgsler og rapportering i stedet for behandling af transaktioner. Kildedataene for OLAP er OLTP- databaser (Online Transactional

Læs mere

ectrl-scannerløsning Vejledning

ectrl-scannerløsning Vejledning ectrl-scannerløsning Vejledning Version 3.2 Side 1 af 11 Indholdsfortegnelse 1. Forberedelse og installation... 3 1.1. Forberedelse... 3 1.2. Software til stregkodegenkendelse... 3 1.3. Klistermærker med

Læs mere

"# $%$ " # $ % $ $ " & ( ) *+!,! Sum_Cost >= 5000SirName = Beltov Continue = %!- + ( ( - True) Continue *! If Antal <= 20 Then EnhedsOmk = 1.

# $%$  # $ % $ $  & ( ) *+!,! Sum_Cost >= 5000SirName = Beltov Continue = %!- + ( ( - True) Continue *! If Antal <= 20 Then EnhedsOmk = 1. "# $$ " # $ && & ' $ $ " & ) *+, Sum_Cost >= 5000SirName = Beltov Continue = True) Continue *, + If Antal

Læs mere

Dag 10 Flertrådet programmering

Dag 10 Flertrådet programmering Videregående programmering i Java Dag 10 Flertrådet programmering Fremlæggelse af programmering/status for projekter Dokumentation med javadoc Flertrådede designmønstre: Arbejdstråd, Producent Konsument,

Læs mere

[jobsøgende] sådan gør du... [opret jobagent]

[jobsøgende] sådan gør du... [opret jobagent] [jobsøgende] sådan gør du... [opret jobagent] Opret jobagent Hvad er en jobagent En jobagent gemmer information om den type job, du søger efter, når du er inde i menuen under 'Find job'. En jobagent gør

Læs mere