Introduktion til Smalltalk.

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

CHAPTER 8: USING OBJECTS

CHAPTER 8: USING OBJECTS Ruby: Philosophy & Implementation CHAPTER 8: USING OBJECTS Introduction to Computer Science Using Ruby Ruby is the latest in the family of Object Oriented Programming Languages As such, its designer studied

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

Aarhus Universitet, Science and Technology, Computer Science. Exam. Wednesday 27 June 2018, 9:00-11:00

Aarhus Universitet, Science and Technology, Computer Science. Exam. Wednesday 27 June 2018, 9:00-11:00 Page 1/12 Aarhus Universitet, Science and Technology, Computer Science Exam Wednesday 27 June 2018, 9:00-11:00 Allowed aid: None The exam questions are answered on the problem statement that is handed

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

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

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

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

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

Black Jack --- Review. Spring 2012

Black Jack --- Review. Spring 2012 Black Jack --- Review Spring 2012 Simulation Simulation can solve real-world problems by modeling realworld processes to provide otherwise unobtainable information. Computer simulation is used to predict

Læs mere

Programmering for begyndere Lektion 2. Opsamling mm

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

Læs mere

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

Portal Registration. Check Junk Mail for activation . 1 Click the hyperlink to take you back to the portal to confirm your registration

Portal Registration. Check Junk Mail for activation  . 1 Click the hyperlink to take you back to the portal to confirm your registration Portal Registration Step 1 Provide the necessary information to create your user. Note: First Name, Last Name and Email have to match exactly to your profile in the Membership system. Step 2 Click on the

Læs mere

Privat-, statslig- eller regional institution m.v. Andet Added Bekaempelsesudfoerende: string No Label: Bekæmpelsesudførende

Privat-, statslig- eller regional institution m.v. Andet Added Bekaempelsesudfoerende: string No Label: Bekæmpelsesudførende Changes for Rottedatabasen Web Service The coming version of Rottedatabasen Web Service will have several changes some of them breaking for the exposed methods. These changes and the business logic behind

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

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

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

Læs mere

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

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

Project Step 7. Behavioral modeling of a dual ported register set. 1/8/ L11 Project Step 5 Copyright Joanne DeGroat, ECE, OSU 1

Project Step 7. Behavioral modeling of a dual ported register set. 1/8/ L11 Project Step 5 Copyright Joanne DeGroat, ECE, OSU 1 Project Step 7 Behavioral modeling of a dual ported register set. Copyright 2006 - Joanne DeGroat, ECE, OSU 1 The register set Register set specifications 16 dual ported registers each with 16- bit words

Læs mere

ECE 551: Digital System * Design & Synthesis Lecture Set 5

ECE 551: Digital System * Design & Synthesis Lecture Set 5 ECE 551: Digital System * Design & Synthesis Lecture Set 5 5.1: Verilog Behavioral Model for Finite State Machines (FSMs) 5.2: Verilog Simulation I/O and 2001 Standard (In Separate File) 3/4/2003 1 ECE

Læs mere

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

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

Læs mere

DANMARKS TEKNISKE UNIVERSITET

DANMARKS TEKNISKE UNIVERSITET 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 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

Linear Programming ١ C H A P T E R 2

Linear Programming ١ C H A P T E R 2 Linear Programming ١ C H A P T E R 2 Problem Formulation Problem formulation or modeling is the process of translating a verbal statement of a problem into a mathematical statement. The Guidelines of formulation

Læs mere

Forelæsning Uge 3 Mandag

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

Læs mere

3D NASAL VISTA TEMPORAL

3D NASAL VISTA TEMPORAL USER MANUAL www.nasalsystems.es index index 2 I. System requirements 3 II. Main menu 4 III. Main popup menu 5 IV. Bottom buttons 6-7 V. Other functions/hotkeys 8 2 I. Systems requirements ``Recommended

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

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

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

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

PARALLELIZATION OF ATTILA SIMULATOR WITH OPENMP MIGUEL ÁNGEL MARTÍNEZ DEL AMOR MINIPROJECT OF TDT24 NTNU

PARALLELIZATION OF ATTILA SIMULATOR WITH OPENMP MIGUEL ÁNGEL MARTÍNEZ DEL AMOR MINIPROJECT OF TDT24 NTNU PARALLELIZATION OF ATTILA SIMULATOR WITH OPENMP MIGUEL ÁNGEL MARTÍNEZ DEL AMOR MINIPROJECT OF TDT24 NTNU OUTLINE INEFFICIENCY OF ATTILA WAYS TO PARALLELIZE LOW COMPATIBILITY IN THE COMPILATION A SOLUTION

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

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

Ugeseddel 4 1. marts - 8. marts

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

Læs mere

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

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

Ø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

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

3D NASAL VISTA 2.0

3D NASAL VISTA 2.0 USER MANUAL www.nasalsystems.es index index 2 I. System requirements 3 II. Main menu 4 III. Main popup menu 5 IV. Bottom buttons 6-7 V. Other functions/hotkeys 8 2 I. Systems requirements ``Recommended

Læs mere

Engineering of Chemical Register Machines

Engineering of Chemical Register Machines Prague International Workshop on Membrane Computing 2008 R. Fassler, T. Hinze, T. Lenser and P. Dittrich {raf,hinze,thlenser,dittrich}@minet.uni-jena.de 2. June 2008 Outline 1 Motivation Goal Realization

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

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

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

On the complexity of drawing trees nicely: corrigendum

On the complexity of drawing trees nicely: corrigendum Acta Informatica 40, 603 607 (2004) Digital Object Identifier (DOI) 10.1007/s00236-004-0138-y On the complexity of drawing trees nicely: corrigendum Thorsten Akkerman, Christoph Buchheim, Michael Jünger,

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

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

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

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

Besvarelser til Lineær Algebra Reeksamen Februar 2017

Besvarelser til Lineær Algebra Reeksamen Februar 2017 Besvarelser til Lineær Algebra Reeksamen - 7. Februar 207 Mikkel Findinge Bemærk, at der kan være sneget sig fejl ind. Kontakt mig endelig, hvis du skulle falde over en sådan. Dette dokument har udelukkende

Læs mere

Forelæsning Uge 4 Torsdag

Forelæsning Uge 4 Torsdag Forelæsning Uge 4 Torsdag Klassevariabler og klassemetoder Levetid for variabler og parametre Virkefeltsregler Projektopgave Kaninjagt Lommeregner (for MAT studerende) Klassevariabler og klassemetoder

Læs mere

Skriftlig Eksamen Beregnelighed (DM517)

Skriftlig Eksamen Beregnelighed (DM517) Skriftlig Eksamen Beregnelighed (DM517) Institut for Matematik & Datalogi Syddansk Universitet Mandag den 31 Oktober 2011, kl. 9 13 Alle sædvanlige hjælpemidler (lærebøger, notater etc.) samt brug af lommeregner

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

Basic statistics for experimental medical researchers

Basic statistics for experimental medical researchers Basic statistics for experimental medical researchers Sample size calculations September 15th 2016 Christian Pipper Department of public health (IFSV) Faculty of Health and Medicinal Science (SUND) E-mail:

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

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

Digitaliseringsstyrelsen

Digitaliseringsstyrelsen NemLog-in 29-05-2018 INTERNAL USE Indholdsfortegnelse 1 NEMLOG-IN-LØSNINGER GØRES SIKRERE... 3 1.1 TJENESTEUDBYDERE SKAL FORBEREDE DERES LØSNINGER... 3 1.2 HVIS LØSNINGEN IKKE FORBEREDES... 3 2 VEJLEDNING

Læs mere

Klasser og nedarvning

Klasser og nedarvning Datalogi C, Efterår 2004 OH er, forelæsning 21/9-2004 Klasser og nedarvning Hvad er formålet? Typer, generisk kode, typeparameterisering Kritisk kig på, hvordan man gør i Java. Opgaven til senere: Generalisere

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

IBM Network Station Manager. esuite 1.5 / NSM Integration. IBM Network Computer Division. tdc - 02/08/99 lotusnsm.prz Page 1

IBM Network Station Manager. esuite 1.5 / NSM Integration. IBM Network Computer Division. tdc - 02/08/99 lotusnsm.prz Page 1 IBM Network Station Manager esuite 1.5 / NSM Integration IBM Network Computer Division tdc - 02/08/99 lotusnsm.prz Page 1 New esuite Settings in NSM The Lotus esuite Workplace administration option is

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

Before you begin...2. Part 1: Document Setup...3. Part 2: Master Pages Part 3: Page Numbering...5. Part 4: Texts and Frames...

Before you begin...2. Part 1: Document Setup...3. Part 2: Master Pages Part 3: Page Numbering...5. Part 4: Texts and Frames... InDesign Basics Before you begin...................2 Part 1: Document Setup................3 Part 2: Master Pages................ 4 Part 3: Page Numbering...............5 Part 4: Texts and Frames...............6

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

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

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

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

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

Skriftlig Eksamen Algoritmer og Datastrukturer (dads)

Skriftlig Eksamen Algoritmer og Datastrukturer (dads) Skriftlig Eksamen Algoritmer og Datastrukturer (dads) Datalogisk Institut Aarhus Universitet Mandag den 27. maj 2002, kl. 9.00 13.00 Opgave 1 (25%) Denne opgave handler om multiplikation af positive heltal.

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

Forelæsning Uge 4 Torsdag

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

Læs mere

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

Netværksalgoritmer 1

Netværksalgoritmer 1 Netværksalgoritmer 1 Netværksalgoritmer Netværksalgoritmer er algoritmer, der udføres på et netværk af computere Deres udførelse er distribueret Omfatter algoritmer for, hvorledes routere sender pakker

Læs mere

Generelt om faget: (Eventuelle kommentarer til højre) - Givet målbeskrivelsen ovenfor, hvordan vurderer du så pensum?

Generelt om faget: (Eventuelle kommentarer til højre) - Givet målbeskrivelsen ovenfor, hvordan vurderer du så pensum? Generelt om faget: (Eventuelle kommentarer til højre) - Givet målbeskrivelsen ovenfor, hvordan vurderer du så pensum? Meget Godt 4 20,0% Godt 12 60,0% Gennemsnitligt 4 20,0% Dårligt 0 0,0% Meget Dårligt

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

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

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

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

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

Online kursus: Programming with ANSI C

Online kursus: Programming with ANSI C Online kursus 365 dage DKK 1.999 Nr. 90198 P ekskl. moms Denne kursuspakke giver dig et bredt kendskab til sproget C, hvis standarder er specificeret af American National Standards Institute (ANSI). Kurserne

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

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

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

DM507 Algoritmer og datastrukturer

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

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

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

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

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

User Manual for LTC IGNOU

User Manual for LTC IGNOU User Manual for LTC IGNOU 1 LTC (Leave Travel Concession) Navigation: Portal Launch HCM Application Self Service LTC Self Service 1. LTC Advance/Intimation Navigation: Launch HCM Application Self Service

Læs mere

class subklasse-navn extends superklasse-navn { } NorwaySpruce har superklassen Spruce, som igen har superklassen Tree.

class subklasse-navn extends superklasse-navn { } NorwaySpruce har superklassen Spruce, som igen har superklassen Tree. Programmering 1999 Forelæsning 11, tirsdag 5. oktober 1999 Oversigt Klasse-hierarkier: superklasser og subklasser Nedarvning Polymorfi Programmering 1999 KVL Side 11-1 Hierarkier En klasse repræsenterer

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

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

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

Læs mere

Software 1 with Java. Recitation No. 7 (Servlets, Inheritance)

Software 1 with Java. Recitation No. 7 (Servlets, Inheritance) Software 1 with Java Recitation No. 7 (Servlets, Inheritance) Servlets Java modules that run on a Web server to answer client requests For example: Processing data submitted by a browser Providing dynamic

Læs mere

TM4 Central Station. User Manual / brugervejledning K2070-EU. Tel Fax

TM4 Central Station. User Manual / brugervejledning K2070-EU. Tel Fax TM4 Central Station User Manual / brugervejledning K2070-EU STT Condigi A/S Niels Bohrs Vej 42, Stilling 8660 Skanderborg Denmark Tel. +45 87 93 50 00 Fax. +45 87 93 50 10 info@sttcondigi.com www.sttcondigi.com

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

How Long Is an Hour? Family Note HOME LINK 8 2

How Long Is an Hour? Family Note HOME LINK 8 2 8 2 How Long Is an Hour? The concept of passing time is difficult for young children. Hours, minutes, and seconds are confusing; children usually do not have a good sense of how long each time interval

Læs mere