Introduktion til Smalltalk.

Save this PDF as:
 WORD  PNG  TXT  JPG

Størrelse: px
Starte visningen fra side:

Download "Introduktion til Smalltalk."

Transkript

1 7 Introduktion til Smalltalk. Designbeslutninger. Message passing. Klassebegrebet. Metodebegrebet. Forskellige slags variable. Nedarvning og metodeopslag. Instans og klassevariable ift. nedarvning. Blokbegrebet. Blokke og kontrolstrukturer. Kurt Nørmark, Aalborg Universitet 11/6/96 s. 113 Nogle eksempler og slides i dette kapitel er lånt eller inspireret fra slides, som Kasper Østerbye har benyttet i tidligere versioner af dette kursus. 113

2 Et dynamisk, objekt-orienteret sprog. Smalltalk = Simula - Algol + Lisp. Har overtaget, og videreudviklet de objekt-orienterede ideer fra Simula. Populariserede de objekt-orienterede ideer dramatisk sidst i 70-erne og først i 80-erne. Understøtter dynamisk typing, på samme måde som Lisp og CLOS. Har ligesom flere Lisp-systemer en særdeles veludviklet programmeringsomgivelse omkring sig. Kurt Nørmark, Aalborg Universitet 11/6/96 s

3 Grundlæggende designbeslutninger. Good design: A system should be built with a minimum set of unchangeble parts; those parts should be as general as possible; and all parts should be held in a general framework. Personal mastery: If a system is to serve the creative spirit, it must be entirely comprehensible to a single individual. Storage Management: To be truely object-oriented, a computer system must provide automatic storage management. Classification: A language must provide means for classifying similar objects, and for adding new classes of objects on equal footing with the kernel classes. Operating System: An operating system is a collection of things that don t fit into a language. There shouldn t be one. Messages: Computing should be viewed as an intrinsic capability of objects that can be uniformly invoked by sending messages. Uniform Metaphor: A language should be designed around a powerful metaphor that can be uniformly applied in all areas. Polymorphism: A program should specify only the behavior of objects, not their representation. Factoring: Each independent component in a system should appear in only one place. Natural Selection: Languages and systems that are of sound design will persist, to be supplanted only by better ones. Kurt Nørmark, Aalborg Universitet 11/6/96 s. 115 I det ovenstående har jeg i spredt orden fastholdt nogle udsagn om Smalltalk design principper, som stammer fra en artikel skrevet af Daniel Ingals ( Design Principles Behind Smalltalk, BYTE, August 81). Polymorfi: Synspunktet er, at et program ikke skal erklære variable og parametre statisk af en bestemt type. Det er mere fleksibelt at erklære, at det kan svare på en nærmere bestemt mængde af beskeder. 115

4 Message passing metaforen. Objekter interagerer med hinanden, udelukkende ved at sende beskeder. En besked lokaliserer (ved dynamisk opslag) en metode. En metode returnerer altid en værdi til afsenderen. Forskellige former af beskeder: Unær besked Binær besked Nøgleordsbesked Afsendingsregler: Unære beskeder sendes først, og associerer fra venstre. Binære beskeder sendes dernæst, og associerer fra venstre. Ingen indbyrdes prioriteringer. Nøgleordsbeskeder sendes tilsidst. Paranteser nødvendige for kombination med andre nøgleordsbeskeder. Paranteser kan ændre den indbyrdes ordning af unære, binære og nøgleordsbeskeder. 5 fak 7 fak negate (3-5) > (a * 4) * 5 printer display: Anders And rectangle rotateangle: 45 indirection: positive. window showtext: Title infont: times indented: 15 rectangle strech: circle radius + 3 Kurt Nørmark, Aalborg Universitet 11/6/96 s. 116 Beskeden rectangle strech: circle radius + 3 er interessant hvad angår parsning. Først sendes den unære besked radius til det objekt, der refereres af circle. Dernæst sendes beskeden + til resultat af circle radius. Slutteligt sendes nøgleordsbeskeden strech: til rektanglet, som refereres af rectangle, med parameteren, som er resultatet af additionen. Nøgleordbeskeder er interessante. Der er ligheder til nøgleordsparametre i andre sprog, men også forskelle. Konkatenationen af nøgleordene kan opfattes som metodens navn. Det er ikke muligt (som i Common Lisp) at benytte nøgleordene i vilkårlig rækkefølge i et kald. Eksempelvis er showtext:indented:infont en anderledes besked end showtext:infont:indented. 116

5 Klassebegrebet. En klasse karakteriseres primært af Én superklasse. En mængde af instansvariable. En mængde af klassevariable. En uformel kategori, hvortil klassen hører. Klassedefinition via nøgleordsbesked til eksisterende superklasse. superclass subclass: #Class instancevariablenames: v1 v2 classvariablenames : pooldictionaries: category: class category Information hiding Alle instansvariable er private i klassen. Alle metoder, som tilføjes klassen, er tilgængelige for alle klienter. Pr. konvention kan der være en kategori af metoder, der er private. Kurt Nørmark, Aalborg Universitet 11/6/96 s. 117 Ovenstående viser klasseanatomien på to forskellige måder: Som en prosabeskrivelse og som en besked til superklassen af den nye klasse Vi vil senere vende tilbage til hvordan klasser (og metoder) kan tilgåes via værktøj i programmeringsomgivelsen. 117

6 Metodebegrebet. En metode består af: Et message pattern ( ~ metodenavn og parameterprofil). En kommentar: "kommentar" En sekvens af udtryk: afsendelse af beskeder. Mulighed for assignment (med assignmentprefix). Mulighed for angivelse af returværdi. Default: modtagerobjektet af den besked, hvis metode vi udfører. Mulighed for kaskade af beskeder til samme objekt. Metoder specialiserer kun på én parameter. En metode tilhører netop én klasse. En metode aktiveres ved at sende en besked til en instans af denne klasse (eller til en instans af en subklasse) med en besked der modsvarer metodens selektor. Der anvendes imperativ metodekombination (mellem metoder med samme selektor). Kurt Nørmark, Aalborg Universitet 11/6/96 s

7 Eksempler på klasse og metoder. class name Complex superclass name Object instance variable names real imag class methods instance creation newwithreal: rl andimaginary: im "Return a new complex number, corresponding to rl + i im." ^Complex new realpart: rl; imaginarypart: im instance methods accessing realpart "return the real part of a complex number" ^real realpart: rl "assign a new real part of this complex number" real := rl arithmetic + anothercomplex "add anothercomplex to this complex number" realsum imagsum realsum := real + anothercomplex realpart. imagsum := imag + anothercomplex imaginarypart. ^Complex newwithreal: realsum andimaginarypart: imagsum Kurt Nørmark, Aalborg Universitet 11/6/96 s. 119 Ovenstående viser et skematisk eksempel på en (ukomplet) klasse i Smalltalk samt et antal metoder i denne klasse. Klassen er Complex (komplekse tal). Man ser at der er to hovedafdelinger af metoder: klasse metoder og instansmetoder. Klassemetoderne anvendes primært til at instantiere et objekt. Dette har vi meget mere at sige om i næste kapitel (Metaklasser i Smalltalk). I dette kapitel vil vi koncentrere os om instansmetoderne (her realpart, realpart: og +). Man ser endvidere at der er underafdelinger af instans metoder, her accessing og arithemtic. Dette er en uformel opdelning af metoderne i kategorier, som afspejles i bl.a. systembrowseren (se tidligere i dette kapitel). At opdelningen er uformel betyder, at kategorierne ikke har nogen semantisk konsekvens for et Smalltalk program. Bemærk at der ovenfor benyttes en skematisk opstilling af klassen, dens instansvariable, og dens metoder. Der findes ikke en syntaktisk form, som tillader os at udtrykke alt dette. I praksis benytter vi et browserværktøj til at definere de enkelte bestanddele. Lidt mindre bekvemt kunne vi også definere det hele ved at sende beskeder til klasser. 119

8 Variable. Lokale variable i metoder. De formelle parametre er ikke lokale variable: De er read-only. Med lille begyndelsesbogstav. Instansvariable i objekter. Navngivne eller indicerede. Navngivne instansvariable kun leksikalsk tilgængelige i metoder. Med lille begyndelsesbogstav. Globale variable. Hvert klassenavn bliver automatisk en global variabel, der refererer klassen, som objekt. Med stort begyndelsesbogstav. Klassevariable Med stort begyndelsesbogstav. Pool variable. Default puljer tilgængelige for alle klasser: Smalltalk (pulje delt af alle klasser): de globale variable. Klassevariablene (klassespecifik pulje). Andre puljer kan skabes efter behov. Med stort begyndelsesbogstav. Kurt Nørmark, Aalborg Universitet 11/6/96 s. 120 Hvorvidt et objekt har indicerede instansvariable eller ej styres af den besked, som sendes til superklassen. Når beskeden variablesubclass:instancevariablenames:classvariablenames:pooldictioraries:category: imodsætning til subclass:instancevariablenames:classvariablenames:pooldictioraries:category: sendes til en klasse skabes en ny klasse, hvori der er indicerede instansvariable. 120

9 Nedarvning og Metodeopslag. Smalltalk tillader udelukkende enkelt-nedarvning. Self og super er pseudo-variable, der kan anvendes i metoder. Self refererer til modtager-objektet af en besked, uanset den aktiverede metodes klasse-tilhørsforhold. Super referer ligesom self til modtager-objektet af en besked. Men beskeder sendt til super starter metodeopslaget i superklassen til den metode, hvori super forekommer. Super tillader imperativ metodekombination mellem metoder med samme selektor. R meth. S meth R S Kurt Nørmark, Aalborg Universitet 11/6/96 s. 121 A B C D x x x metode med selektor x meth self x. super x Hvilke metoder refereres af ovenstående, når meth er i hhv. A, B, C eller D? Fortolkningen af super må ikke forveksles med beskeder sendt til super starter metodeopslaget i superklassen til modtagerobjektets klasse. Dette er en forkert fortolkning! Svar på spørgsmål fra sliden: Meth placeret i klasse r meth D C B A self x super x self x super x self x super x self x super x fejl fejl B B B A B fejl s meth D B D B D A D fejl Tabellen indeholder klassen af metoden, som aktiveres af self x hhv super x fra hhv r meth og s meth. Som illustreret er r en instans af C, og s en instans af D i hele scenariet. Fra søjle til søjle flytter vi på metoden meth. De fede klassenavne i tabellen er specielt bemærkelsesværdige. 121

10 Instans og klassevariable ved nedarvning. Class A iv1 iv1 iv1 Cv1 Metode ma lv1 Tilgang til lv1, iv1, Cv1 iv1 iv2 Class B iv2 Cv2 Metode mb lv2 Tilgang til lv2, iv1, iv2, Cv1, Cv2 iv1 iv2 klasse-superklasse relation. Instans klasse relation. Kurt Nørmark, Aalborg Universitet 11/6/96 s. 122 Denne slide illustrerer, hvilke instans variable (iv..), klassevariale (Cv..) og lokale variable (lv..) der er tilgængelige i de to metoder i hhv. klassen A og klassen B. Bemærk, at uden for metoderne i klasserne, er der ikke leksikalsk adgang til variablene. Der skal laves en metode for hver variabel, hvis værdi blot ønskes returneret til en en klient. 122

11 Blokbegrebet. En blok svarer til en closure: Et parametriseret udtryk (en sekvens af beskeder), samt den omgivelse, hvori blokken er defineret. En blok er (ligesom alle andre objekter) et 1. klassesobjekt. Statisk navnebinding: Frie navne i en blok bindes i blokkens statiske omgivelser. Ifølge Smalltalk tankegang er en blok en sekvens af handlinger, hvis udførelse er udsat. En blok er et objekt, som kan udføres ved at sende en bestemt besked, value, til blokken. Blokke kan benyttes til at definere traditionelle og egne kontrolstrukturer. Eksempler: Blok uden parametre. b1 := [index := index + 1. array at: index put: 0]. b1 value Blok med parametre. b2 := [ :newelement index := index + 1. list at: index put: newelement]. b2 value: 3 Kurt Nørmark, Aalborg Universitet 11/6/96 s. 123 En blok er instans af klassen BlockContext. Det skal bemærkes, at hvis der returneres en værdi fra en blok med ^x, terminerer og returnerer metoden, hvori blokken er defineret (altså metoden, hvori blokke findes som et udtryk). Dette sker uanset hvorfa blokken dynamisk set bliver aktiveret. (Man skal erindre, at en blok kan flyde omkring, lige som alle ande objekter, og derfor kan konventionen omkring returnering forekomme overraskende). 123

12 Kontrolstrukturer med blokke. Selektion (ala if-then-else) realiseres ved at sende en besked til en boolsk værdi med to blokke som parametre. Iteration (ala while) realiseres ved at sende en besked til en blok, med en anden blok som parameter. (a < b) iftrue: [ max := b] iffalse: [ max := a] [found not] whiletrue: [index incr. found := (self at: index) = x] iftrue: trueblock iffalse: falseblock self subclassresponsibility Boolean I klassen blockcontext: whiletrue: ablock (self value) iftrue: [ablock value. self whiletrue: ablock] True iftrue: trueblock iffalse: falseblock trueblock value False iftrue: trueblock iffalse: falseblock falseblock value Kurt Nørmark, Aalborg Universitet 11/6/96 s. 124 Bemærk at True og False i figuren ovenfor er klasser (subklasser af Boolean). De boolske metoder annonceres i klassen Boolean, men subklasserne gøres ansvarlige for deres egentlige realisering. Subklasserne redefinerer derfor disse metoder. 124

13 Flere eksempler på metoder: factorial i klassen Integer. factorial "Answer the factorial of the receiver. Fail if the receiver is less than 0. For example, 6 factorial == 6*5*4*3*2*1." tmp self < 0 iftrue: [^self class raise: #domainerrorsignal receiver: self selector: #factorial errorstring: 'Factorial is invalid on negative numbers']. tmp := 1. 2 to: self do: [:i tmp := tmp * i]. ^tmp Kurt Nørmark, Aalborg Universitet 11/6/96 s

14 Flere eksempler på metoder: gcd i klassen Integer. gcd: aninteger "Answer the greatest common divisor of the receiver and aninteger." "Euclid's algorithm." m n t m := self abs max: aninteger abs. n := self abs min: aninteger abs. [n = 0] whilefalse: [t := n. n := m \\ n. m := t]. ^m Kurt Nørmark, Aalborg Universitet 11/6/96 s

15 Flere kontrolstrukturer med blokke. 0.7 perhaps: [x := x + 1] I klassen Float: perhaps: ablock Udfør blokken med sandsynlighed self (Float random < self) iftrue: [ablock value] 3 to: 5 do: [:i res := i * i + res] I klassen Integer: to: last do: ablock Udfør blokken for indeces fra self til last i i := self. [i <= last] whiletrue: [ablock value: i. i := i + 1] Kurt Nørmark, Aalborg Universitet 11/6/96 s. 127 Det øverste eksempel er en lidt særartet kontrolstruktur, i hvilken vi udfører en blok med en ønsket sandsynlighed. Det nederste eksempel svarer til Pascal s for i := a to b do statement. 127

16 Mapning og filtrering af samlinger. Smalltalk indeholder en rig samling af klasser, som realiserer forskellige former for samlinger af objekter. Alle disse er subklasser af klassen Collection. Der findes metoder i klassen Collection, der svarer nøje til de klassiske højere-ordens funktioner på lister. mapning: filtrering: venstre akkumulering: #(2 4 6) collect: [:el el * 2] #( ) #( ) select: [:el el even] #(2 4 ) #( ) inject: 1 into: [:sum :el sum - el ] -13 Kurt Nørmark, Aalborg Universitet 11/6/96 s. 128 Venstre akkumuleringen svarer til ((((1-2) -3) -4) -5). 128

17 Metoder for mapning, filtrering og akkumulering. collect: ablock "Evaluate ablock with each of the values of the receiver as the argument. Collect the resulting values into a collection that is like the receiver. Answer the new collection." newcollection newcollection := self species new. self do: [:each newcollection add: (ablock value: each)]. ^newcollection select: ablock "Evaluate ablock with each of the receiver's elements as the argument. Collect into a new collection like the receiver, only those elements for which ablock evaluates to true. Answer the new collection." newcollection newcollection := self species new. self do: [:each (ablock value: each) iftrue: [newcollection add: each]]. ^newcollection inject: thisvalue into: binaryblock "Accumulate a running value associated with evaluating the argument, binaryblock, with the current value and the receiver as block arguments. The initial value is the value of the argument, thisvalue." nextvalue nextvalue := thisvalue. self do: [:each nextvalue := binaryblock value: nextvalue value: each]. ^nextvalue Kurt Nørmark, Aalborg Universitet 11/6/96 s. 129 Alle metoder ovenfor findes i den meget generelle klasse Collection. Læg mærke til, hvordan alle metoderne benytter metoden med selektor do:. Metoden do: i klassen Collection ser således ud: do: ablock "Evaluate ablock with each of the receiver's elements as the argument." self subclassresponsibility Det vil altså sige, at vi ikke kan implementere denne uden at vide noget mere specifikt om, hvilken slags Collection vi har med at gøre. Hvis vi ved, at vi har men en sekventiel samling at gøre, kan vi implementere do: som følger: do: ablock "Evaluate ablock with each of the receiver's elements as the argument." 1 to: self size do: [:i ablock value: (self at: i)] Beskeden to:do:, som sendes til et tal, har vi tidligere studeret. 129

18 Smalltalk programmeringsomgivelsen. Smalltalk er en workspace-baseret omgivelse ( image ). Et fælles rum for objekter, værktøj og programbeskrivelse. Workspacet kan gøres persistent mellem interaktive sessioner. Programbegrebet er svagt. File ind og file ud transporterer udvalgte dele af workspacet til og fra kildefiler. Værktøj i omgivelsen: Systembrowseren og andre former for browsere. Workspaces. Debugger. mv. Kurt Nørmark, Aalborg Universitet 11/6/96 s

19 Systembrowseren. Tilføje klasse (ved skabelon udfyldelse). Fjerne klasse. File ud. Vise definition/hierarki/kommentar Flytte til anden kategori. Krydsreference på variable og klasse. Tilføje/fjerne kategori. File ud. Omdøbe kategori. Søge efter klasse. Klasse kategorier Editeringsrude Klasse navne Tilføj/fjerne kategori. File ud. Omdøbe kategori. Søge efter metode. Metode kategorier Tilføje metode ved skabelon udfyldelse. Flytte metode til anden klasse. Fjerne metode. Krydsreference Senders: Hvem anvender metoden? Implementors: Hvem implementerer ellers metoden? Metode navne Editerings operationer. Evaluerings operationer. Inspections operationer. Accept. Forklaring. Kurt Nørmark, Aalborg Universitet 11/6/96 s

Metaklasser i Smalltalk.

Metaklasser i Smalltalk. 8 Metaklasser i Smalltalk. Motivation Metodeopslag Simple metaklasser Mere udviklede metaklasser Klasse- og metaklassehierarkiet Instantiering og initialisering Skabelse af klasser og metoder Oversigt

Læs mere

Objekt-orienteret programmering uden klasser: Self.

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

Læs mere

4 Basal Objekt-orienteret Programmering I.

4 Basal Objekt-orienteret Programmering I. 4 Basal Objekt-orienteret Programmering I. Klasser i forhold til abstrakte datatyper og record-typer. Variable og operationer. Klasse-interfaces. Klasser og typer. Klasse-instantiering og initialisering.

Læs mere

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

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

Læs mere

Udvidelse og specialisering. Klassehierarkier. Nedarvningsterminologi. Interfaces. Statiske og dynamiske typer. Polymorfi. Abstrakte klasser.

Udvidelse og specialisering. Klassehierarkier. Nedarvningsterminologi. Interfaces. Statiske og dynamiske typer. Polymorfi. Abstrakte klasser. 10 Nedarvning I. Udvidelse og specialisering. Klassehierarkier. Nedarvningsterminologi. Interfaces. Statiske og dynamiske typer. Polymorfi. Dynamisk binding og virtuelle operationer. Decentraliseret/centraliseret

Læs mere

Skriftlig Eksamen Kombinatorik, Sandsynlighed og Randomiserede Algoritmer (DM528)

Skriftlig Eksamen Kombinatorik, Sandsynlighed og Randomiserede Algoritmer (DM528) Skriftlig Eksamen Kombinatorik, Sandsynlighed og Randomiserede Algoritmer (DM58) Institut for Matematik og Datalogi Syddansk Universitet, Odense Torsdag den 1. januar 01 kl. 9 13 Alle sædvanlige hjælpemidler

Læs mere

2 Funktionsorienteret programmering i Scheme.

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

Læs mere

9 Introduktion til CLOS.

9 Introduktion til CLOS. 9 Introduktion til CLOS. Klasser Metoder Generiske funktioner Slots Nedarvning Class precedence lists Klasse-redefinition og objektopdatering Ændring af objekters klassetilhørsforhold Eksempler Kurt Nørmark,

Læs mere

Rename og redefine. Abstrakte klasser. Dynamisk binding.

Rename og redefine. Abstrakte klasser. Dynamisk binding. 11 Nedarvning II. Enkeltnedarvning i Eiffel. Rename og redefine. Initialisering af superklasse-dele af et objekt. Interfaces til klienter og subklasser. Typesammenlignelighed og polymorfi. Abstrakte klasser.

Læs mere

12 Metaobjekt protokoller i CLOS.

12 Metaobjekt protokoller i CLOS. 12 Metaobjekt protokoller i CLOS. Begreber og problemer. Sprog designrum. Niveauer i CLOS. Programobserverende protokoller. Programskabende protokoller. Sprogudvidende protokoller. Eksempler. Kurt Nørmark,

Læs mere

Help / Hjælp

Help / Hjælp Home page Lisa & Petur www.lisapetur.dk Help / Hjælp Help / Hjælp General The purpose of our Homepage is to allow external access to pictures and videos taken/made by the Gunnarsson family. The Association

Læs mere

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

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

Læs mere

Klasser og Objekter i Python. Uge 46 Learning Python: kap 15-16, 19-22.

Klasser og Objekter i Python. Uge 46 Learning Python: kap 15-16, 19-22. Klasser og Objekter i Python Uge 46 Learning Python: kap 15-16, 19-22. Klasser og objekter En klasse beskriver en klump af samhørende funktioner og variable En klasse er en beskrivelse. En kage form Klassens

Læs mere

Abstrakte datatyper C#-version

Abstrakte datatyper C#-version Note til Programmeringsteknologi Akademiuddannelsen i Informationsteknologi Abstrakte datatyper C#-version Finn Nordbjerg 1/9 Abstrakte Datatyper Denne note introducerer kort begrebet abstrakt datatype

Læs mere

Løsning af skyline-problemet

Løsning af skyline-problemet Løsning af skyline-problemet Keld Helsgaun RUC, oktober 1999 Efter at have overvejet problemet en stund er min første indskydelse, at jeg kan opnå en løsning ved at tilføje en bygning til den aktuelle

Læs mere

Datalogi OB, Efterår 2002 OH er, forelæsning 10/ Klasser og nedarvning

Datalogi OB, Efterår 2002 OH er, forelæsning 10/ Klasser og nedarvning Datalogi OB, Efterår 2002 OH er, forelæsning 10/9-2002 Klasser og nedarvning Hvad er formålet? Typer, generisk kode, typeparameterisering Kritisk kig på, hvordan man gør i Java. Eftermiddagens opgave:

Læs mere

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

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

Klasser og objekter. (Afsnit i manualen)

Klasser og objekter. (Afsnit i manualen) Klasser og objekter (Afsnit 4 + 5 i manualen) Grundbegreber Klasser og objekter beskrivelse oprettelse Attributter og metoder tilstand opførsel Indkapsling afskærmning datarepræsentationsuafhængighed Klasser

Læs mere

Algoritmer og invarianter

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

10 Metodekombination og multimetoder i CLOS.

10 Metodekombination og multimetoder i CLOS. 10 Metodekombination og multimetoder i CLOS. Metodekombination generelt. Multimetoder generelt. Kald af en generisk funktion i CLOS. Specialisering på enkeltobjekter. Standard metodekombination. Simpel,

Læs mere

Skriftlig Eksamen Diskret matematik med anvendelser (DM72)

Skriftlig Eksamen Diskret matematik med anvendelser (DM72) Skriftlig Eksamen Diskret matematik med anvendelser (DM72) Institut for Matematik & Datalogi Syddansk Universitet, Odense Onsdag den 18. januar 2006 Alle sædvanlige hjælpemidler (lærebøger, notater etc.),

Læs mere

The purpose of our Homepage is to allow external access to pictures and videos taken/made by the Gunnarsson family.

The purpose of our Homepage is to allow external access to pictures and videos taken/made by the Gunnarsson family. General The purpose of our Homepage is to allow external access to pictures and videos taken/made by the Gunnarsson family. Formålet med vores hjemmesiden er at gøre billeder og video som vi (Gunnarsson)

Læs mere

Hvordan vælger jeg dokumentprofilen?

Hvordan vælger jeg dokumentprofilen? Hvordan vælger jeg dokumentprofilen? Valget af OIOUBL profil i en konkret dokumentudveksling vil bl.a. afhænge af, hvilke OIOUBL profiler den anden part i udvekslingen understøtter. Et konkret eksempel

Læs mere

Øvelse 9. Klasser, objekter og sql-tabeller insert code here

Øvelse 9. Klasser, objekter og sql-tabeller insert code here Øvelse 9. Klasser, objekter og sql-tabeller Denne opgave handler om hvordan man opbevarer data fra databasekald på en struktureret måde. Den skal samtidig give jer erfaringer med objekter, der kommer til

Læs mere

Klasser og Objekter i Python. Uge 11

Klasser og Objekter i Python. Uge 11 Klasser og Objekter i Python Uge 11 Klasser og objekter En klasse beskriver en klump af samhørende funktioner og variable En klasse er en beskrivelse. Klassens objekter er instanser af klassen. En programudførelse

Læs mere

Python programmering. Per Tøfting. MacFest

Python programmering. Per Tøfting. MacFest Python programmering MacFest 2005 Per Tøfting http://pertoefting.dk/macfest/ Indhold Måder at afvikle Python program på Variabler Data typer Tal Sekvenser Strenge Tupler Lister Dictionaries Kontrolstrukturer

Læs mere

Forelæsning Uge 2 Torsdag

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

Læs mere

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

Software Construction 1 semester (SWC) Spørgsmål 1 Spørgsmål 1 Objekter #1 Giv en kort præsentation af begrebet objekt, samt hvorledes du erklærer(declare), opretter(create) og bruger objekter Du kan beskrive o Datatyper o Variable / Instans variable /

Læs mere

Noter til kursusgang 8, IMAT og IMATØ

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

Læs mere

Sortering fra A-Z. Henrik Dorf Chefkonsulent SAS Institute

Sortering fra A-Z. Henrik Dorf Chefkonsulent SAS Institute Sortering fra A-Z Henrik Dorf Chefkonsulent SAS Institute Hvorfor ikke sortering fra A-Å? Det er for svært Hvorfor ikke sortering fra A-Å? Hvorfor ikke sortering fra A-Å? Hvorfor ikke sortering fra A-Å?

Læs mere

5 Basal Objekt-orienteret Programmering II.

5 Basal Objekt-orienteret Programmering II. 5 Basal Objekt-orienteret Programmering II. Historik og sprogoversigt. Programbeskrivelse kontra programudførelse. Referencer og værdier. Skabelse af objekter i Eiffel. Features og deres klassificering

Læs mere

Polymorfi. Arv (inheritance) Abstrakte klasser, substitutionsprincippet, overriding, statisk og dynamisk type. Coercion

Polymorfi. Arv (inheritance) Abstrakte klasser, substitutionsprincippet, overriding, statisk og dynamisk type. Coercion Polymorfi Arv (inheritance) Abstrakte klasser, substitutionsprincippet, overriding, statisk og dynamisk type Coercion Tvangskonvertering (forfremmelse og begrænsning) Oversigt Abstrakt klasse abstrakt

Læs mere

Introduktion til Funktionsorienteret Programmering.

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

Læs mere

DET KONGELIGE BIBLIOTEK NATIONALBIBLIOTEK OG KØBENHAVNS UNIVERSITETS- BIBLIOTEK. Index

DET KONGELIGE BIBLIOTEK NATIONALBIBLIOTEK OG KØBENHAVNS UNIVERSITETS- BIBLIOTEK. Index DET KONGELIGE Index Download driver... 2 Find the Windows 7 version.... 2 Download the Windows Vista driver.... 4 Extract driver... 5 Windows Vista installation of a printer.... 7 Side 1 af 12 DET KONGELIGE

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

Tree klassen fra sidste forelæsning

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

Læs mere

Sproget Rascal (v. 2)

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

Læs mere

Introduktion til funktioner, moduler og scopes i Python

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

Læs mere

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

DK - Quick Text Translation. HEYYER Net Promoter System Magento extension

DK - Quick Text Translation. HEYYER Net Promoter System Magento extension DK - Quick Text Translation HEYYER Net Promoter System Magento extension Version 1.0 15-11-2013 HEYYER / Email Templates Invitation Email Template Invitation Email English Dansk Title Invitation Email

Læs mere

29 Opsamling af Objekt-orienteret Programmering.

29 Opsamling af Objekt-orienteret Programmering. 29 Opsamling af Objekt-orienteret Programmering. Bottom-up kontra top-down design. "The shopping list approach". Hvordan finder man på objekterne. Klasser og dataabstraktion. Klasse interface og interface-teknikker.

Læs mere

It og informationssøgning Forelæsning oktober 2006 Jakob Grue Simonsen. Klasser

It og informationssøgning Forelæsning oktober 2006 Jakob Grue Simonsen. Klasser It og informationssøgning Forelæsning 7 25. oktober 2006 Jakob Grue Simonsen Klasser Downey, Elkner & Meyers: Chapt. 12-14 Andersen & Simonsen: kap. 7 Vi har tidligere set, at Python tilbyder en række

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

BACK-END OG DATA: ADMINISTRATION HVAD ER DE NYE MULIGHEDER MED VERSION 7.1? STEFFEN BILLE RANNES, 4. FEBRUAR 2015

BACK-END OG DATA: ADMINISTRATION HVAD ER DE NYE MULIGHEDER MED VERSION 7.1? STEFFEN BILLE RANNES, 4. FEBRUAR 2015 BACK-END OG DATA: ADMINISTRATION HVAD ER DE NYE MULIGHEDER MED VERSION 7.1? STEFFEN BILLE RANNES, 4. FEBRUAR 2015 SAS VISUAL ANALYTICS 7.1 ADMINISTRATOR Mulighed for at udføre handlinger på flere servere

Læs mere

AAU, Programmering i Java Intern skriftlig prøve 18. maj 2007

AAU, Programmering i Java Intern skriftlig prøve 18. maj 2007 AAU, Programmering i Java Intern skriftlig prøve 18. maj 2007 Opgavebesvarelsen skal afleveres som enten en printerudskrift eller som et passende dokument sendt via email til fjj@noea.dk. Besvarelsen skal

Læs mere

Dannelse af PDF dokumenter

Dannelse af PDF dokumenter Dannelse af PDF dokumenter Indhold Dannelse af PDF-dokumenter i Phd Planner... 2 Valg af vedhæftninger i PDF dokumentet... 2 Valg af skabelon for PDF dokumentet... 3 Når PDF filen er dannet... 5 Gem PDF

Læs mere

16/04/12 50% 50% Waveform Chart Waveform Graph XY Graph Indicator Graph 33% 17% 88% 13%

16/04/12 50% 50% Waveform Chart Waveform Graph XY Graph Indicator Graph 33% 17% 88% 13% Samuel Alberg Thrysøe, PhD, PostDoc, Kontakt info: Email: sat@iha.dk, Tlf: +45 25533552 2 4. 5 Waveform Chart Waveform Graph XY Graph Indicator Graph 4. 33% Waveform Chart Waveform Graph XY Graph Indicator

Læs mere

To the reader: Information regarding this document

To the reader: Information regarding this document To the reader: Information regarding this document All text to be shown to respondents in this study is going to be in Danish. The Danish version of the text (the one, respondents are going to see) appears

Læs mere

Hvor er mine runde hjørner?

Hvor er mine runde hjørner? Hvor er mine runde hjørner? Ofte møder vi fortvivlelse blandt kunder, når de ser deres nye flotte site i deres browser og indser, at det ser anderledes ud, i forhold til det design, de godkendte i starten

Læs mere

Aktivering af Survey funktionalitet

Aktivering af Survey funktionalitet Surveys i REDCap REDCap gør det muligt at eksponere ét eller flere instrumenter som et survey (spørgeskema) som derefter kan udfyldes direkte af patienten eller forsøgspersonen over internettet. Dette

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

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

Forelæsning Uge 12 Torsdag

Forelæsning Uge 12 Torsdag Forelæsning Uge 12 Torsdag Protected access Alternativ til public og private Abstrakte klasser og interfaces En abstrakt klasse er en klasse, som man ikke kan lave instanser (objekter) af En abstrakt klasse

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

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

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

Læs mere

Business Rules Fejlbesked Kommentar

Business Rules Fejlbesked Kommentar Fejlbeskeder i SMDB Validate Business Request- ValidateRequestRegi stration ( :1) Business Fejlbesked Kommentar the municipality must have no more than one Kontaktforløb at a time Fejl 1: Anmodning En

Læs mere

Terese B. Thomsen 1.semester Formidling, projektarbejde og webdesign ITU DMD d. 02/11-2012

Terese B. Thomsen 1.semester Formidling, projektarbejde og webdesign ITU DMD d. 02/11-2012 Server side Programming Wedesign Forelæsning #8 Recap PHP 1. Development Concept Design Coding Testing 2. Social Media Sharing, Images, Videos, Location etc Integrates with your websites 3. Widgets extend

Læs mere

Forelæsning Uge 12 Mandag

Forelæsning Uge 12 Mandag Forelæsning Uge 12 Mandag Protected access Alternativ til public og private Abstrakte klasser og interfaces En abstrakt klasse er en klasse, som man ikke kan lave instanser (objekter) af En abstrakt klasse

Læs mere

Forelæsning Uge 2 Torsdag

Forelæsning Uge 2 Torsdag Forelæsning Uge 2 Torsdag Niveauer af programbeskrivelser Statiske / dynamiske beskrivelser Klassevariabler og klassemetoder Variabler og metoder der et tilknyttet klassen (i stedet for at være tilknyttet

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

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

1. Variable og assignment

1. Variable og assignment 1. Variable og assignment Dette er starten af det faglige indhold i første lektion af 'Programmering i C'. Før dette følger et antal mere praktiske slides, som vi ikke har medtaget i denne 'tematiske udgave'

Læs mere

Boligsøgning / Search for accommodation!

Boligsøgning / Search for accommodation! Boligsøgning / Search for accommodation! For at guide dig frem til den rigtige vejledning, skal du lige svare på et par spørgsmål: To make sure you are using the correct guide for applying you must answer

Læs mere

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

Læ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 mere

Dannelse af PDF-dokumenter

Dannelse af PDF-dokumenter Dannelse af PDF-dokumenter Indhold Generere PDF-dokumenter... 2 Håndtering af PDF-dokumentet... 8 Hvordan indsætter man sidetal i PDF-dokumentet?... 8 Hvordan laver man bookmarks i PDF-dokumentet?... 8

Læs mere

Forelæsning Uge 2 Torsdag

Forelæsning Uge 2 Torsdag Forelæsning Uge 2 Torsdag Niveauer af programbeskrivelser Statiske / dynamiske beskrivelser Klassevariabler og klassemetoder Variabler og metoder der et tilknyttet klassen (i stedet for at være tilknyttet

Læs mere

Fejlbeskeder i SMDB. Business Rules Fejlbesked Kommentar. Validate Business Rules. Request- ValidateRequestRegist ration (Rules :1)

Fejlbeskeder i SMDB. Business Rules Fejlbesked Kommentar. Validate Business Rules. Request- ValidateRequestRegist ration (Rules :1) Fejlbeskeder i SMDB Validate Business Rules Request- ValidateRequestRegist ration (Rules :1) Business Rules Fejlbesked Kommentar the municipality must have no more than one Kontaktforløb at a time Fejl

Læs mere

Multiparadigme Programmering

Multiparadigme Programmering Multi Programmering Repetition: De grundliggende r Systematisk karateristik. Paradigmesupplering. Symmetrisk multi programmering Leda eksempler på logikprogrammering kombineret med imperativ og funktionsorienteret

Læs mere

Tracking af YouTube i Google Tag Manager og Universal Analytics (Seneste version)

Tracking af YouTube i Google Tag Manager og Universal Analytics (Seneste version) Tracking af YouTube i Google Tag Manager og Universal Analytics (Seneste version) Introduktion til Google Tag Manager og Youtube... 1 Opsæt Tags, Variabler og Triggers... 4 A) Variabler (variables)...

Læs mere

Trolling Master Bornholm 2016 Nyhedsbrev nr. 3

Trolling Master Bornholm 2016 Nyhedsbrev nr. 3 Trolling Master Bornholm 2016 Nyhedsbrev nr. 3 English version further down Den første dag i Bornholmerlaks konkurrencen Formanden for Bornholms Trollingklub, Anders Schou Jensen (og meddomer i TMB) fik

Læs mere

Ø3.2: Modellering af en PC

Ø3.2: Modellering af en PC Ø3.2: Modellering af en PC En PC består af en CPU og et bundkort: CPU er har følgende parametre: Slottypen: Slot A, Slot 1, Socket 7 Clockfrekvensen: 900 MHz, 1000 MHz, 1100MHz, 1200 MHz Modellen: Pentium

Læs mere

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

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

Læs mere

INDSIGELSE DISPUTE. Nordjyske Bank Hotline

INDSIGELSE DISPUTE. Nordjyske Bank Hotline Udsteders kontaktperson og tlf.nr. Contact and phone number of issuer Nordjyske Bank Hotline 9870 3930 Kortholdernavn Name of cardholder Kortnummer Card number Indsigelsen vedrører Disputed transactions

Læs mere

Eksempel: Skat i år 2000

Eksempel: Skat i år 2000 Kursus 02199: Programmering afsnit 2.1-2.7 Anne Haxthausen IMM, DTU 1. Værdier og typer (bl.a. char, boolean, int, double) (afsnit 2.4) 2. Variable og konstanter (afsnit 2.3) 3. Sætninger (bl.a. assignments)

Læs mere

Vores mange brugere på musskema.dk er rigtig gode til at komme med kvalificerede ønsker og behov.

Vores mange brugere på musskema.dk er rigtig gode til at komme med kvalificerede ønsker og behov. På dansk/in Danish: Aarhus d. 10. januar 2013/ the 10 th of January 2013 Kære alle Chefer i MUS-regi! Vores mange brugere på musskema.dk er rigtig gode til at komme med kvalificerede ønsker og behov. Og

Læs mere

Specialeforsvar: Fundamentet for et fleksibelt container bibliotek

Specialeforsvar: Fundamentet for et fleksibelt container bibliotek Specialeforsvar: Fundamentet for et fleksibelt container bibliotek Foundations of an adaptable container library Bo Simonsen Datalogisk Institut, Københavns Universitet Denne præsentation, afhandlingen,

Læs mere

Forelæsning Uge 3 Mandag

Forelæsning Uge 3 Mandag Forelæsning Uge 3 Mandag ArrayList Collection med variabelt antal elementer Der er mange andre Collection typer (se Collection interfacet i JavaDoc) MusicOrganizer projektet Eksempel på brug af ArrayList

Læs mere

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

University of Southern Denmark Syddansk Universitet. DM502 Forelæsning 4 DM502 Forelæsning 4 Flere kontrolstrukturer for-løkke switch-case Metoder Indhold Arrays og sortering af arrays String-funktioner for-løkke Ofte har man brug for at udføre det samme kode, for en sekvens

Læs mere

Programmering i C. Kursusintroduktion. Lektion september Målgruppe 2 Indhold 3 Form 4 Materiale. Målgruppe Indhold Form Materiale

Programmering i C. Kursusintroduktion. Lektion september Målgruppe 2 Indhold 3 Form 4 Materiale. Målgruppe Indhold Form Materiale Programmering i C Lektion 1 16. september 2008 Målgruppe Indhold Form Materiale Kursusintroduktion 1 Målgruppe 2 Indhold 3 Form 4 Materiale 2 / 21 Målgruppe Indhold Form Materiale Folk der har styr på

Læs mere

Fundamentale sprogbegreber

Fundamentale sprogbegreber Fundamentale sprogbegreber Sætninger og udtryk Niveauer af programbeskrivelse (statisk versus dynamisk syn) Oversigt Sætninger simple sætninger (assignment, metodekald) sammensatte sætninger (selektion,

Læs mere

MultiProgrammer Manual

MultiProgrammer Manual MultiProgrammer Manual MultiProgrammeren bruges til at læse og skrive værdier til ModBus register i LS Controls frekvensomformer E 1045. Dansk Version side 2 til 4 The MultiProgrammer is used for the writing

Læs mere

1 Indlæsning af script

1 Indlæsning af script 1 Indlæsning af script Når opgraderingen af invokeren er foretaget, skal du indlæse et script på den SQL server, hvor I skal modtage jeres SLS-data. Scriptet henter du her http://www.oes.dk/sw49118.asp

Læs mere

Danish Language Course for International University Students Copenhagen, 12 July 1 August Application form

Danish Language Course for International University Students Copenhagen, 12 July 1 August Application form Danish Language Course for International University Students Copenhagen, 12 July 1 August 2017 Application form Must be completed on the computer in Danish or English All fields are mandatory PERSONLIGE

Læs mere

DM507 Algoritmer og datastrukturer

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

Forelæsning Uge 5 Mandag

Forelæsning Uge 5 Mandag Forelæsning Uge 5 Mandag Algoritmeskabeloner findone, findall, findnoof, findsumof (sidste mandag) findbest Brug af klassen Collections og interfacet Comparable BlueJ s Debugger Nyttig til at inspicere

Læs mere

Design by Contract Bertrand Meyer Design and Programming by Contract. Oversigt. Prædikater

Design by Contract Bertrand Meyer Design and Programming by Contract. Oversigt. Prædikater Design by Contract Bertrand Meyer 1986 Design and Programming by Contract Michael R. Hansen & Anne Haxthausen mrh@imm.dtu.dk Informatics and Mathematical Modelling Technical University of Denmark Design

Læs mere

PUT og INPUT funktionerne

PUT og INPUT funktionerne PUT og INPUT funktionerne Af: Peter Kellberg Danmarks Statistik Sejrøgade 11 DK-2100 København Ø pke@dst.dk PUT og INPUT-funktionerne Denne artikel er foranlediget af en henvendelse til vores interne SAS

Læs mere

Measuring the Impact of Bicycle Marketing Messages. Thomas Krag Mobility Advice Trafikdage i Aalborg, 27.08.2013

Measuring the Impact of Bicycle Marketing Messages. Thomas Krag Mobility Advice Trafikdage i Aalborg, 27.08.2013 Measuring the Impact of Bicycle Marketing Messages Thomas Krag Mobility Advice Trafikdage i Aalborg, 27.08.2013 The challenge Compare The pilot pictures The choice The survey technique Only one picture

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

Introduktion til SQL queries

Introduktion til SQL queries Denne guide er oprindeligt udgivet på Eksperten.dk Introduktion til SQL queries Denne artikel beskriver nogle forskellige muligheder i SQL queries. Eksemplerne skulle gerne være standard SQL og virke i

Læs mere

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet side af sider Danmarks Tekniske Universitet Skriftlig prøve, den 6. maj 0. Kursusnavn: Algoritmer og datastrukturer I Kursus nr. 005. Tilladte hjælpemidler: Skriftlige hjælpemidler. Varighed: timer Vægtning

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

Programmering 2. dprog2 E2013. http://www.cs.au.dk/dprog2/

Programmering 2. dprog2 E2013. http://www.cs.au.dk/dprog2/ Programmering 2 dprog2 E2013 http://www.cs.au.dk/dprog2/ Læringsmål Deltagerne skal ved afslutningen af kurset kunne: forklare og anvende både basale og videregående elementer af et moderne programmeringssprog,

Læs mere

Barnets navn: Børnehave: Kommune: Barnets modersmål (kan være mere end et)

Barnets navn: Børnehave: Kommune: Barnets modersmål (kan være mere end et) Forældreskema Barnets navn: Børnehave: Kommune: Barnets modersmål (kan være mere end et) Barnets alder: år og måneder Barnet begyndte at lære dansk da det var år Søg at besvare disse spørgsmål så godt

Læs mere

Dannelse af PDF-dokumenter

Dannelse af PDF-dokumenter Dannelse af PDF-dokumenter Indhold Generere PDF-dokumenter... 2 Håndtering af PDF-dokumentet... 6 Hvordan indsætter man sidetal i PDF-dokumentet?... 6 Hvordan laver man bookmarks i PDF-dokumentet?... 7

Læs mere

Hukommelsesspil. Introduktion. Scratch

Hukommelsesspil. Introduktion. Scratch Scratch 2 Hukommelsesspil All Code Clubs must be registered. By registering your club we can measure our impact, and we can continue to provide free resources that help children learn to code. You can

Læs mere

Brug sømbrættet til at lave sjove figurer. Lav fx: Få de andre til at gætte, hvad du har lavet. Use the nail board to make funny shapes.

Brug sømbrættet til at lave sjove figurer. Lav fx: Få de andre til at gætte, hvad du har lavet. Use the nail board to make funny shapes. Brug sømbrættet til at lave sjove figurer. Lav f: Et dannebrogsflag Et hus med tag, vinduer og dør En fugl En bil En blomst Få de andre til at gætte, hvad du har lavet. Use the nail board to make funn

Læs mere

Aflevering af OIOXML-skemaer Dokumentation

Aflevering af OIOXML-skemaer Dokumentation Aflevering af OIOXML-skemaer Dokumentation 2 Indholdsfortegnelse Indholdsfortegnelse... 2 Projektbeskrivelse... 3 Projektansvarlig... 3 Formål... 3 Namespace... 3 Skemafiler... 3 Kontrol... Error! Bookmark

Læs mere

Virkefeltsregler i Java

Virkefeltsregler i Java Virkefeltsregler i Java int i; int k; Sequence s; int j; What s in a name? Brian spillede blændende i søndags! Skolen ligger i Viby Ring til Kirsten og sig at... Et navn fortolkes i en kontekst og konteksten

Læs mere