Objekt-orienteret programmering uden klasser: Self.

Størrelse: px
Starte visningen fra side:

Download "Objekt-orienteret programmering uden klasser: Self."

Transkript

1 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. Metodeopslag. Indkapsling og synlighed. Navnerum. Kurt Nørmark, Aalborg Universitet 11/14/96 s. 1 Self er beskrevet i en række artikler og dokumenter: SELF: The Power of Simplicity Organizing Programs without Classes. Parents are Shared Parts of Objects: Inheritance and Encapsulation in SELF. Alle disse findes i tidsskriftet Lisp and Symbolict Computation, 4, 3, Endvidere kan jeg anbefale tutorial materialet Prototype-based application construction using SELF 4.0 af Wolczko og Smith. som følger med distributionen af Self fra Sun s FTP site. 1

2 Klasser og objekter i et klasse-baseret sprog. Ethvert objekt er en instans af en klasse. En klasse beskriver egenskaberne af et objekt. Alle egenskaber, som objekter af samme klasser er fælles om, kan repræsenteres i klassen. To vigtige relationer: Relationen mellem et objekt og den klasse hvoraf objektet er en instans. Relationen mellem en klasse og dens superklasse. Instantiering er mekanismen hvorved objekter skabes ud fra klassen. draw method Klassen polygon Instanser af polygon Kurt Nørmark, Aalborg Universitet 11/14/96 s. 2 På ovenstående slide opsummerer vi forholdet mellem klasser og objekter i normale, klasse-baserede sprog. Der er stor begrebsmæssig forskel mellem en klasse og et objekt, også selv om vi har set eksempler på OOP, hvor klasser er objekter. 2

3 Objekter i et klasseløst sprog: Self. Ethvert objekt beskriver sit eget format. Nedarvning mellem objekter: En mængde af objekter kan udfaktorisere fælles egenskaber til et nyt objekt, som de alle arver fra. Én vigtig relation: Relationen mellem et objekt som arver fra et andet objekt. Objekter skabes ved at klone (shallow copy) et prototype objekt. Objekter kan delegere beskeder til andre objekter. Prototypen af en polygon : clone draw punkt liste returnerer kopi af modtageren tegner modtageren på skærmen : punkt liste : Fællestræk af en polygon punkt liste Kurt Nørmark, Aalborg Universitet 11/14/96 s. 3 Denne slide viser samme situation som på forrige slide. Bemærk fællestræk objektet (på engelsk kaldet et trait objekt) som alle polygoner arver fra. På denne slide er alt dog objekter. Der er altså ingen klasser involveret. 3

4 Differentialprogrammering i et klasse-baseret sprog. Ved nedarvning udvides en klasse med nye egenskaber. Instanser af den specialiserede klasse er tilsvarende udvidet i forhold til instanser af superklassen. draw method Klassen polygon fillpattern fillpattern draw method setfillpattern method Klassen filled-polygon fillpattern Kurt Nørmark, Aalborg Universitet 11/14/96 s. 4 Vi introducerer nu nedarvning. Ovenfor viser vi en klasse filled-polygon, som arver fra polygon. Endvidere vises tre objekter af disse klasser. På næste slide ser vi på den samme situation i Self. 4

5 Differentialprogrammering i et klasseløst sprog: Self. Udvidelse af en klasse kan umiddelbart overføres til et nyt fællestræk objekt, som arver fra det oprindelige fællestræk objekt. Prototypen af en polygon : punkt liste Prototypen af en fyldt polygon punkt liste : filpattern fill pattern fillpattern: clone draw draw returnerer kopi af modtageren tegner modtageren på skærmen tegner fyldt polygon punkt liste : filpattern fill pattern fillpattern: Fællestræk af en polygon Fællestræk af en udfyldt polygon Kurt Nørmark, Aalborg Universitet 11/14/96 s. 5 Ligesom på forrige slides vises er tre polygoner (to udfyldte og én ordinær). Det vigtige er imidlertid de to fællestrækobjekter, som repræsenterer de fælles egenskaber ved hhv. fyldte og ordinære polygoner. På næste slide vil vi råde bod på gentagelserne i prototypen af en fyldt polygon ( og :) i forhold til prototypen af en polygon. 5

6 Repræsentationsudvidelse i Self. Udvidelsen kan også udstrækkes til repræsentationen. Dette kræver understøttelse af multipel nedarvning mellem objekter. Prototypen af en polygon : punkt liste Prototypen af en fyldt polygon data traits dataparent: filpattern fillpattern: fill pattern clone draw draw returnerer kopi af modtageren tegner modtageren på skærmen tegner fyldt polygon data traits dataparent: filpattern fillpattern: fill pattern Fællestræk af en polygon Fællestræk af en udfyldt polygon Kurt Nørmark, Aalborg Universitet 11/14/96 s. 6 For at undgå at gentage egenskaber i prototypen af en fyldt polygon i forhold til prototypen af en polygon lader vi en fyldt polygon arve fra en polygon. Da vi også har brug for at arve fra fællestræk objektet introducerer vi her et udtalt behov for multipel objekt nedarvning. 6

7 Repræsentationsproblemer i klasse-baserede sprog. Specialisering medfører undertiden en uønsket repræsentationsudvidelser. Eksempelvis overrepræsenteres rektangler herunder med både en liste af hjørner og to diagonalt modsatte punkter. En polygon area method Klassen polygon Et rektangel top-left-point bottom-right top-left-point bottom-right top-left-point bottom-right-point better area method Et andet rektangel Klassen rektangel Kurt Nørmark, Aalborg Universitet 11/14/96 s. 7 Denne slide diskuterer klassehierarkier, hvor specialiserede klasser ikke har behov for at udvide repræsentationen i forhold til superklassen. Derimod har man typisk behov for at lægge bånd på superklassens repræsentation i forhold til subklassens. I eksemplet skal vi sikre os at et rektangel er en firkant med parvise parallelle sider, og med rette vinkler. Med andre strammer vi klasseinvarianten i subklassen i forhold til superklassen. Hvis man studerer det naturlige klassehierarki af trekanter vil man observere præcist det samme fænomen. I nedarvning i klassebaserede sprog kan man kun undgå overrepræsentere objekter ved at lade alle superklasse være abstrakte, uden repræsentation. Dette er imidlertid ikke tilfredsstillende i trekanthierarkiet, idet det giver fin mening at instantiere en generel trekant. Så der er et reelt problem her i klasse-baserede sprog. 7

8 Løsning af repræsentationsproblemet i klasseløse sprog: Self. Ved at undlade at arve fra prototypen af en polygon kan vi let arrangere, at et rektangel ikke overrepræsenteres. Prototypen af en polygon : Prototypen af rektangel punkt liste top-left-point (10,20) top-left-point: bot-right-point (90, 130) bot-right-point: clone area area returnerer kopi af modtageren beregner aralet af en polygon beregner arealet med simpel formel Fællestræk af en polygon Fællestræk af et rektangel Kurt Nørmark, Aalborg Universitet 11/14/96 s. 8 Problemet fra forrige slide løses elegant i Self ved at rektangel prototypen undlader at arve fra polygon prototypen. Bemærk dog, at fællestrækobjektet for rektangel arver fra polygon fællestrækobjektet. 8

9 Fleksibel sharing giver nye muligheder i Self. Ved at manipulere parent kan det eksempelvis lade sig gøre at lave en række punkt-objekter med delt x-koordinat. clone print returnerer kopi af modtageren udskriver et objekt Object traits + adderer et punkt til dette punkt Point traits x 7 x: Et punkt Et andet punkt y 7 y 7 y: y: Kurt Nørmark, Aalborg Universitet 11/14/96 s. 9 Denne slide viser, hvordan vi ved at jonglere med parent referencerne kan organisere objekterne på nye spændende måder. I Self arbejder vi reelt med objekt-dele i stedet for en objekt-helhed. Ved at mutere referencerne mellem objekt-dele opstår der helt nye muligheder i forhold til det sædvanlige objekt-orienterede paradigme baseret på klasser. 9

10 Dynamisk nedarvning. Ved dynamisk nedarvning menes muligheden for at ændre på parents under kørslen af et program. Med dynamisk nedarvning muliggøres midlertidige forandringer i objekters opførsel. Dynamisk nedarvning udgør en finkortnet mekanisme til ændring af klassen af et objekt. Boxed polygon fællestræk draw tegner normal polygon Polygon fællestræk copy returnerer en kopi af modtageren Prototypen af en polygon parent: : draw tegner blød spline polygon enten eller punkt liste Blød spline polygon fællestræk Kurt Nørmark, Aalborg Universitet 11/14/96 s. 10 Denne slide fortsætter i samme spor som foregående. Vi viser hvordan man ved at ændre på en parent reference fra ét fællestræk til et andet fællestræk kan lave en (måske midlertidig) forandring af et objets opførsel. 10

11 Singulære objekter i klasse-baserede sprog. Det er akavet at arbejde med singulære objekter i de fleste klasse-baserede sprog. Det er svært at sikre, at der ikke bliver lavet flere instanser af en klasse. iftrue: trueblock iffalse: falseblock trueblock value Klassen objekt iftrue: trueblock iffalse: falseblock falseblock value. Klassen True Klassen False Objektet True Objektet False Kurt Nørmark, Aalborg Universitet 11/14/96 s. 11 Denne slide viser hvordan man håndterer singulære objekter i et Smalltalk-agtigt system. Næste slide viser den tilsvarende situation i Self. 11

12 Singulære objekter i klasseløse sprog: Self. Det er umiddelbart naturligt at arbejde med singulære objekter i et klasseløst sprog True iftrue:iffalse: iftrue:iffalse: False :trueblock. :falseblock trueblock value :trueblock. :falseblock false value Kurt Nørmark, Aalborg Universitet 11/14/96 s

13 Self: Et sprog uden variable. I Self tilgåes slots (variable) ved at sende en besked til objektet selv (self). Variable er intetsteds leksikalsk tilgængelige. På det sted, hvor man refererer til en variabel kan man ikke erkende om der er tale om en aflæsning af variablens værdi en aktivering af en metode, som refererers fra den slot, som repræsenterer variablen. Det er ikke nødvendigt eksplicit at angive et modtagerobjekt for en besked. En implicit receiver besked sendes til self. Fremmer kortfattet udtryksform. Har en semantisk konsekvens, idet method lookup starter ved current activation i stedet for current receiver. Kurt Nørmark, Aalborg Universitet 11/14/96 s

14 Aktivering af metoder i Self. I funktionsorienteret programmering indså vi at closures tangerer klassebegrebet funktionskald tangerer objektbegrebet I self unificeres metodeaktivering og objekter. + Et punkt x 7 x: y 18 y: self* Cloned arg activation record <code>... x 3 x: y 4 y: Punkt faellestraek Et andet punkt Prototype activation record self* arg nil <code> (clone x: x + arg x) y: y + arg y) Kurt Nørmark, Aalborg Universitet 11/14/96 s

15 Principper for method lookup i Self objekter (1). x x parent1* parent2**... self x... Hvilket x? I Self er det muligt at priorietere en parent frem for en anden i forbindelse med metode opslag. Dette er et alternativ til CLOS totale ordning af alle superklasser. Kurt Nørmark, Aalborg Universitet 11/14/96 s

16 Principper for method lookup i Self objekter (2). m... self x... Hvilket x? x x Sender besked m til... parent1* parent2* Self har en sender path tiebreaker rule som priorieterer slots på stien mellem modtageren og den metode, som ovenfor sender x til self. Ifølge denne regel vælges x i den venstre gren. Kurt Nørmark, Aalborg Universitet 11/14/96 s

17 Indkapsling og synlighed i Self. Det muligt i Self at skelne mellem private slots, der kun kan refereres af metoder i klassen selv. offentlige slots, der kan refereres fra andre objekters metoder. To former for privatliv: Objekt-baseret indkapsling: En metode kan kun tilgå instansvariable i self. Eiffel Klasse-baseret indkapsling: En metode kan tilgår instansvariable i alle instanser af en bestemt klasse. C++ Kan man understøtte klasse-baseret indkapsling i et klasseløst sprog? Self forsøger dette ved at lade en metode have adgang til private slots i alle de objekter, som er fælles om metoden. Kurt Nørmark, Aalborg Universitet 11/14/96 s

18 Organisering af navnerum i Self. Objekter kan bruges til at organisere og kategorisere navnerum i Self. Lobby bør opfattes som rod i objekt-hierarkiet. lobby globals* prototypes* traits objekt som opremser globalt kendte navne de fleste objekter prototyper shapes* collections* fællestræk shapes* collections* shape prototyper polygon rectangle collection prototyper list array shape fællestræk polygon rectangle collection fællestræk list array Kurt Nørmark, Aalborg Universitet 11/14/96 s. 18 Det er værd at bemærke at traits ikke har en stjerne i lobby. Det betyder, at man ikke følger denne reference under metodeopslag. Man må altså sige noget i retning af traits rectangle for at referere til rectangles fællestræk fra et objekt. Hvis man blot siger rectangle vil man referere til rectangel prototypen. Katgorisering af navne er et vigtigt emne i Smalltalk. Sproget Smalltalk er blind for dette aspekt, men emnet håndteres i programmeringsomgivelsen. Emnet diskuteres i afsnit 4 af artiklen Organizing Programs Without Classes. 18

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

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

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

Introduktion til Smalltalk.

Introduktion til Smalltalk. 7 Introduktion til Smalltalk. Designbeslutninger. Message passing. Klassebegrebet. Metodebegrebet. Forskellige slags variable. Nedarvning og metodeopslag. Instans og klassevariable ift. nedarvning. Blokbegrebet.

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

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

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

13 Objekt-orienteret Design.

13 Objekt-orienteret Design. 13 Objekt-orienteret Design. Analyse i forhold til design. Programbeskrivelse og designbeskrivelse. Sømløs udvikling. Design i forhold til OO Eiffel programmering. Kategorisering af klasser i et design.

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

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

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

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

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

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

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

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

Introduktion til design patterns.

Introduktion til design patterns. Introduktion til design patterns. Genbrug. Pattern languges i arkitektur. Standardbeskrivelse af design patterns. Oversigt over design patterns. Observer. Composite. Decorator. Abstract Factory. Patterns

Læs mere

30 Objekt-orienteret Programmering i Andre Sprog.

30 Objekt-orienteret Programmering i Andre Sprog. 30 Objekt-orienteret Programmering i Andre Sprog. Abstrakte datatyper i Pascal. Abstrakte datatyper i Modula og Ada. C++ Overordnet organisering Instantiering og initialisering. Interfaces. Nedarvning.

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

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

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

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

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

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

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

12 Nedarvning III. Noter. Multipel nedarvning. Nedarvning og assertions. PS1 -- Nedarvning III. Kurt Nørmark, Aalborg Universitet, 1994.

12 Nedarvning III. Noter. Multipel nedarvning. Nedarvning og assertions. PS1 -- Nedarvning III. Kurt Nørmark, Aalborg Universitet, 1994. 12 Nedarvning III. Multipel nedarvning. Nedarvning og assertions. 169 Multipel nedarvning. A C Klassen C arver egenskaberne fra både A og. A og egenskaber er umiddelbart tilgængelige i C. x A C x x er

Læs mere

16 Træer. Noter. Definition af et træ. Definitioner i tilknytning til træer. Repræsentation af træer. Binære træer. Den abstrakte datatype.

16 Træer. Noter. Definition af et træ. Definitioner i tilknytning til træer. Repræsentation af træer. Binære træer. Den abstrakte datatype. 16 Træer. Definition af et træ. Definitioner i tilknytning til træer. Repræsentation af træer. Binære træer. Den abstrakte datatype. Gennemløb af binære træer. Træer i Eiffel. 229 Definition af et træ.

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

2 Abstrakte datatyper.

2 Abstrakte datatyper. 2 Abstrakte datatyper. Motivere eksempel: top-down udvikling af program 'mini-bank' Strukturering af et program: efter data eller funktion? Definition af en abstrakt datatype og tilknyttede begreber. Fænomener,

Læs mere

METODER ARV KLASSER. Grundlæggende programmering Lektion 5

METODER ARV KLASSER. Grundlæggende programmering Lektion 5 METODER KLASSER ARV Grundlæggende programmering Lektion 5 1 METODER Sekvenser af kode om samme emne 2 REPETITION Række af statements der udfører en handling Mindst én metode der hedder main Forskellen

Læs mere

Basale forudsætninger. Sortering ved fletning med tre bånd, i to faser.

Basale forudsætninger. Sortering ved fletning med tre bånd, i to faser. 25 Sortering III. Basale forudsætninger. Sortering ved fletning med tre bånd, i to faser. Sortering ved fletning, med fire bånd, i én fase (balanceret fletning). Polyfase fletning med tre bånd. Generaliseret

Læs mere

Kapitel 6 Events i C#

Kapitel 6 Events i C# Kapitel 6 i C# Når vi snakker programmering er en Event når der aktiveres specielt indbygget kode. Der sker en hændelse (event). Man siger at eventet bliver udført. De events vi skal gennemgå i dette kapitel

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

ER-modellen. Databaser, efterår Troels Andreasen. Efterår 2002

ER-modellen. Databaser, efterår Troels Andreasen. Efterår 2002 Databaser, efterår 2002 ER-modellen Troels Andreasen Datalogiafdelingen, hus 42.1 Roskilde Universitetscenter Universitetsvej 1 Postboks 260 4000 Roskilde Telefon: 4674 2000 Fax: 4674 3072 www.dat.ruc.dk

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

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

Projekt - Visual Basic for Applications N på stribe

Projekt - Visual Basic for Applications N på stribe Projekt - Visual Basic for Applications N på stribe Mikkel Kaas og Troels Henriksen - 03x 3. november 2005 1 Introduktion Spillet tager udgangspunkt i det gamle kendte 4 på stribe, dog med den ændring,

Læs mere

Crash Course i Programmering. HumTek, RUC

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

Læs mere

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

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

Læs mere

Distribuerte Objekter. Våren 2010 Professor II Eric Jul F

Distribuerte Objekter. Våren 2010 Professor II Eric Jul F Distribuerte Objekter Våren 2010 Professor II Eric Jul F5 2010-04-26 Velkommen Eric Jul, Professor II, til daglig: Bell Labs, Dublin, Ireland Tor Ivar Johansen, hjelpelærer Deltagelse I Forelæsningerne

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

ER-modellen. Databaser, efterår 2002. Troels Andreasen. Efterår 2002

ER-modellen. Databaser, efterår 2002. Troels Andreasen. Efterår 2002 Databaser, efterår 2002 ER-modellen Troels Andreasen Datalogiafdelingen, hus 42.1 Roskilde Universitetscenter Universitetsvej 1 Postboks 260 4000 Roskilde Telefon: 4674 2000 Fax: 4674 3072 www.dat.ruc.dk

Læs mere

Objektorienteret design med arv og polymorfi:

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

Læs mere

Hvordan organiseres et programs grafik-elementer? OOP e uge kursusgang. Advarsel! Component-objekter

Hvordan organiseres et programs grafik-elementer? OOP e uge kursusgang. Advarsel! Component-objekter OOP e2002 - uge 42 6. kursusgang Hvordan organiseres et programs grafik-elementer? 1. Teori: class Component og subklasser: Composite pattern layout-managere hændelsesstyret programmering 2. XP-program:

Læs mere

Det sprogpædagogiske kørekort 2012/2013 Modul 7 Billedbehandling

Det sprogpædagogiske kørekort 2012/2013 Modul 7 Billedbehandling Det sprogpædagogiske kørekort 2012/2013 Modul 7 Billedbehandling V 3.5.10 V Indhold Hvad er Paint.NET?. 3 Værktøj... 4 A. Åbn et billede..... 5 B. Gem et billede... 5 C. Beskær et billede... 7 D. Ændr

Læs mere

Skriftlig eksamen i Datalogi

Skriftlig eksamen i Datalogi Roskilde Universitetscenter Skriftlig eksamen i Datalogi Modul 1 Sommer 1999 Opgavesættet består af 5 opgaver, der ved bedømmelsen tillægges følgende vægte: Opgave 1 15% Opgave 2 15% Opgave 3 8% Opgave

Læs mere

Om binære søgetræer i Java

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

Læs mere

Videregående Programmering for Diplom-E Noter

Videregående Programmering for Diplom-E Noter Videregående Programmering for Diplom-E Noter 1. Uddelegering Ét af de væsentlige principper i objektorienteret programmering er, at enhver klasse selv skal kunne "klare ærterne". Enhver klasse skal altså

Læs mere

A Profile for Safety Critical Java

A Profile for Safety Critical Java A Profile for Safety Critical Java Martin Schoeberl Hans Søndergaard Bent Thomsen Anders P. Ravn Præsenteret af: Henrik Kragh-Hansen November 8, 2007 Forfatterne Martin Schoeberl Udvikler af JOP processoren

Læs mere

Projekt 1.4 Tagrendeproblemet en instruktiv øvelse i modellering med IT.

Projekt 1.4 Tagrendeproblemet en instruktiv øvelse i modellering med IT. Projekt 1.4 Tagrendeproblemet en instruktiv øvelse i modellering med IT. Projektet kan bl.a. anvendes til et forløb, hvor en af målsætningerne er at lære om samspillet mellem værktøjsprogrammernes geometriske

Læs mere

Objektorienteret Programmering

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

Læs mere

Ide med Diff. Mål. Tidsplan. 1.uge: 2.uge:

Ide med Diff. Mål. Tidsplan. 1.uge: 2.uge: Side 1 af 5 Ide med Diff. Min ide med differenertierings modulet er at lave et program som kan vise 3d objekter, og få lavede en konverter som kan konventer 3ds filer over til noget som flash kan bruge.

Læs mere

Forelæsning Uge 2 Mandag

Forelæsning Uge 2 Mandag Forelæsning Uge 2 Mandag Objekters tilstand og opførsel BlueJ og Greenfoot Java Skabelse af objekter (via new-operatoren) Iteration (gentagelser) og parametrisering Forskellige slags variabler Afleveringsopgave:

Læs mere

Errata pr. 1. sept Rettelser til Ypsilon 1. udgave, 1. oplag

Errata pr. 1. sept Rettelser til Ypsilon 1. udgave, 1. oplag Errata pr. 1. sept. 2009 Rettelser til Ypsilon 1. udgave, 1. oplag Rettelserne herunder er foretaget i 2. oplag af bogen. Desuden forekommer der mindre rettelser i 2. oplag, som ikke er medtaget her, da

Læs mere

class Time { int hours, min; } } Time t1; // Erklær variabel af type Time class Time1 { public static void main(string[] args) { Time t1; t1.

class Time { int hours, min; } } Time t1; // Erklær variabel af type Time class Time1 { public static void main(string[] args) { Time t1; t1. Programmering 1999 Forelæsning 4, fredag 10. september 1999 Klasser og objekter Felter, konstruktorer, this Eksempler på klasser: Time, Appointment Eksempler på metoder i Time og Appointment Klassefelter:

Læs mere

Arbejde med 3D track motion

Arbejde med 3D track motion Arbejde med 3D track motion Gary Rebholz I sidste måneds Tech Tip artikel gennemgik jeg det grundlæggende i track motion. Selv om vi ikke gennemgår alle værktøjer i Track Motion dialog box vil du alligevel

Læs mere

18 Multivejstræer og B-træer.

18 Multivejstræer og B-træer. 18 Multivejstræer og B-træer. Multivejs søgetræer. Søgning i multivejssøgetræer. Pragmatisk lagring af data i multivejstræer. B-træer. Indsættelse i B-træer. Eksempel på indsættelse i B-træ. Facts om B-træer.

Læs mere

NR. 92 PDF-formularer med OpenOffice DEN 4. MARTS 2015

NR. 92 PDF-formularer med OpenOffice DEN 4. MARTS 2015 NR. 92 PDF-formularer med OpenOffice DEN 4. MARTS 2015 PDF-formularer med OpenOffice til LUDUS Web Målet med dette Tips & Tricks er at beskrive, hvordan man laver PDF-formularer til brug i LUDUS Web. Læs

Læs mere

Skriftlig eksamen i Datalogi

Skriftlig eksamen i Datalogi Roskilde Universitetscenter side 1 af 9 sider Skriftlig eksamen i Datalogi Modul 1 Vinter 1999/2000 Opgavesættet består af 6 opgaver, der ved bedømmelsen tillægges følgende vægte: Opgave 1 5% Opgave 2

Læs mere

Hvad er Objekter - Programmering

Hvad er Objekter - Programmering Denne guide er oprindeligt udgivet på Eksperten.dk Hvad er Objekter - Programmering En rigtig god gennemgang af hvad objekter er! Hvordan de oprettes og anvendes! Det er helt klart til nybegyndere, som

Læs mere

Objektorientering. Programkvalitet

Objektorientering. Programkvalitet 1 PROSA-Bladet nr. 4 1993 Objektorientering = Programkvalitet? Af Finn Nordbjerg, adjunkt ved Datamatikeruddannelsen, Aalborg Handelskole 1. Indledning Objektorientering er blevet et edb-fagets mest udbredte

Læs mere

Grafikprogrammering i mat. og teknologi uv. Louis Køhrsen

Grafikprogrammering i mat. og teknologi uv. Louis Køhrsen Grafikprogrammering i mat. og teknologi uv Louis Køhrsen Mål med forløbet At give eleverne et kreativt udløb, hvor deres matematiske kompetencer sættes i spil med et kreativt mål At give eleverne et billede

Læs mere

Casper Fabricius http://casperfabricius.com. ActiveRecord. O/RM i Ruby on Rails

Casper Fabricius http://casperfabricius.com. ActiveRecord. O/RM i Ruby on Rails Casper Fabricius http://casperfabricius.com ActiveRecord O/RM i Ruby on Rails Casper Fabricius Freelance webudvikler - casperfabricius.com 9 års erfaring med webudvikling 6 år med ASP/ASP.NET/C# 3 år med

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

Rapport Bjælken. Derefter lavede vi en oversigt, som viste alle løsningerne og forklarede, hvad der gør, at de er forskellige/ens.

Rapport Bjælken. Derefter lavede vi en oversigt, som viste alle løsningerne og forklarede, hvad der gør, at de er forskellige/ens. Rapport Bjælken Indledning Vi arbejdede med opgaverne i grupper. En gruppe lavede en tabel, som de undersøgte og fandt en regel. De andre grupper havde studeret tegninger af bjælker med forskellige længder,

Læs mere

Side 1. Databaser og SQL. Dagens gang. Databasebegreber. Introduktion til SQL Kap 1-5

Side 1. Databaser og SQL. Dagens gang. Databasebegreber. Introduktion til SQL Kap 1-5 Databaser og SQL Introduktion til SQL Kap 1-5 1 Dagens gang Databaser Database begreber Mapning af klasser til relationel model Normalisering Opgaver til næste gang 2 Databasebegreber A database is a:

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

Kursus i OOP og Java. Kursus i Objektorienteret programmering i Java

Kursus i OOP og Java. Kursus i Objektorienteret programmering i Java Kursus i OOP og Java Kursus i Objektorienteret programmering i Java Åben Dokumentlicens Dette foredragsmateriale er under Åben Dokumentlicens (ÅDL) Du har derfor lov til frit at kopiere dette værk Bruger

Læs mere

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

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

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

Adgang til WebGraf. 1. Start Microsoft Internet Explorer. 2. Skriv: http://kort.ge.dk

Adgang til WebGraf. 1. Start Microsoft Internet Explorer. 2. Skriv: http://kort.ge.dk Indholdsfortegnelse Indholdsfortegnelse.. side 2 Adgang til webgraf 3 Opslag adresse... 4 Styring af layout.. 5 Opslag af område via oversigtskort... 6 Zoom funktioner.. 7 Panorere på skærmen. 8 Information

Læs mere

i x-aksens retning, så fås ). Forskriften for g fås altså ved i forskriften for f at udskifte alle forekomster af x med x x 0

i x-aksens retning, så fås ). Forskriften for g fås altså ved i forskriften for f at udskifte alle forekomster af x med x x 0 BAndengradspolynomier Et polynomium er en funktion på formen f ( ) = an + an + a+ a, hvor ai R kaldes polynomiets koefficienter. Graden af et polynomium er lig med den højeste potens af, for hvilket den

Læs mere

Mattip om. Arealer 2. Tilhørende kopi: Arealer 4 og 5. Du skal lære om: Repetition af begreber og formler. Arealberegning af en trekant

Mattip om. Arealer 2. Tilhørende kopi: Arealer 4 og 5. Du skal lære om: Repetition af begreber og formler. Arealberegning af en trekant Mattip om Arealer 2 Du skal lære om: Repetition af begreber og formler Kan ikke Kan næsten Kan Arealberegning af en trekant Arealberegning af en trapez Tilhørende kopi: Arealer 4 og 5 2016 mattip.dk 1

Læs mere

JavaScript. nedarvning.

JavaScript. nedarvning. JavaScript er et sprog, der kan give en hjemmeside mere funktionalitet og gøre den interaktiv, så den reagerer på læsernes handlinger. CGI (Common Gateway Interface) har hidtil været de protokoller, man

Læs mere

DM507 Algoritmer og datastrukturer

DM507 Algoritmer og datastrukturer DM507 Algoritmer og datastrukturer Forår 2013 Projekt, del I Institut for matematik og datalogi Syddansk Universitet 5. marts, 2013 Dette projekt udleveres i to dele. Hver del har sin deadline, således

Læs mere

Tips & Tricks nr. 92 PDF-formularer med OpenOffice til LUDUS Web

Tips & Tricks nr. 92 PDF-formularer med OpenOffice til LUDUS Web LUDUS Helpdesk T +45 3614 7070 sc-ludus@dxc.com CSC Scandihealth A/S - en del af DXC Technology P.O. Pedersens Vej 2 8200 Aarhus N T +45 3614 4000 www.dxc.technology www.dxc.technology/ludus Tips & Tricks

Læs mere

Introduktion til ActionScript, fortsat

Introduktion til ActionScript, fortsat Introduktion til ActionScript, fortsat Kaspar Rosengreen Nielsen kaspar@interactivespaces.net i n t e r a c t i v e s p a c e s. n e t Kaspar Nielsen, kaspar@interactivespaces.net 1 Dagens program Opsamling

Læs mere

Objektorientering og databaser

Objektorientering og databaser Databaser, efterår 2002 Objektorientering og databaser Troels Andreasen Datalogiafdelingen, hus 42.1 Roskilde Universitetscenter Universitetsvej 1 Postboks 260 4000 Roskilde Telefon: 4674 2000 Fax: 4674

Læs mere

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

Lær Python - Dag 4, modul 1 Objektorienteret programmering Lær Python - Dag 4, modul 1 Objektorienteret programmering Simon J. Larsen 28. oktober 2017 Institut for Matematik og Datalogi Objektorienteret programmering Hvad er objektorienteret programmering? Vi

Læs mere

Introduktion til Computer Grafik Projekt 1

Introduktion til Computer Grafik Projekt 1 Introduktion til Computer Grafik Projekt 1 Line Løfquist,Thor Prentow, Nikoline Vinkel Datalogisk Institut, Aarhus Universitet Åbogade 34, 8200 Aarhus N, Denmark 20071346, 20071952, 20071387 {u071346,prentow,u071387}@cs.au.dk

Læs mere

6.1 ØVEARK. Tæl og skriv tal

6.1 ØVEARK. Tæl og skriv tal 6.1 Tæl og skriv tal 1 2 3 4 6 11 12 13 14 1 16 1 1 1 20 0 30 1 30 1 0 30 30 1 1 0 30 1 30 1 0 1 30 1 0 30 30 1 JUICE JUICE JUICE JUICE JUICE JUICE JUICE JUICE JUICE JUICE JUICE JUICE JUICE JUICE JUICE

Læs mere

Indhold. Download driver... 2. Find version af Windows 8... 3. Hent drivers til Windows 8... 5. Udpak driver... 6

Indhold. Download driver... 2. Find version af Windows 8... 3. Hent drivers til Windows 8... 5. Udpak driver... 6 KB print Windows 8 installations guide DET KONGELIGE NATIONAL OG Indhold Download driver... 2 Find version af Windows 8.... 3 Hent drivers til Windows 8... 5 Udpak driver... 6 Windows 8 installation af

Læs mere

Test af It-komponent

Test af It-komponent Test af It-komponent I programmeringssproget Java Programmet Login service Elev: Mads Funch Klasse 2.4 Mat, It, Programmering Skole: Roskilde Tekniske Gymnasium HTX Underviser: Karl Dato: 31-08-2016 Side

Læs mere

Objects First with Java A Practical Introduction Using BlueJ

Objects First with Java A Practical Introduction Using BlueJ Objects First with Java A Practical Introduction Using BlueJ En introduktion til objektorienteret programmering for begyndere ud fra et software engineering aspekt Om at programmere i Java, ikke om værktøjet

Læs mere

Dynamisk programmering

Dynamisk programmering Dynamisk programmering Dynamisk programmering Optimeringsproblem: man ønsker at finde bedste den kombinatoriske struktur blandt mange mulige. Dynamisk programmering Optimeringsproblem: man ønsker at finde

Læs mere

Introduktion til ActionScript

Introduktion til ActionScript Introduktion til ActionScript Kaspar Rosengreen Nielsen kaspar@interactivespaces.net i n t e r a c t i v e s p a c e s. n e t Kaspar Nielsen, kaspar@interactivespaces.net 1 Dagens program Opsamling på

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

- en manual fra Skolekonsulenterne.dk

- en manual fra Skolekonsulenterne.dk - en manual fra Skolekonsulenterne.dk Versionsdato: April 2008 Indholdsfortegnelse Generelt om manualer fra Skolekonsulenterne.dk...3 Hvad er Geogebra?...4 Denne manual...4 Hent og installer programmet...4

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

Genvejstaster i kapilel 6. IKON BETEGNELSE INDLAGT SKAL TILFØJES Set Auto Borders Indsætter færdigt tegnede kanter,

Genvejstaster i kapilel 6. IKON BETEGNELSE INDLAGT SKAL TILFØJES Set Auto Borders Indsætter færdigt tegnede kanter, Kanter Set Border værktøjet giver stor fleksibilitet. Man kan designe sine egne kanter fra bunden, vælge mellem de 22 typer der er i EQ6. Set Auto borders indsætter færdig designede kanter med et klik.

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

Praktiske Maple kommandoer og arbejdsmåde

Praktiske Maple kommandoer og arbejdsmåde Praktiske Maple kommandoer og arbejdsmåde Options: I menuen "Tools" findes "Options". Under fanebladet "Interface" bør man vælge Default format for new worksheets = Worksheet Det bevirker, at man kan skelne

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

På min hjemmeside under Libre Draw finder du nederst en skabelon Skabelon med 2 spalter. Det er den vi skal bruge i dette eksempel.

På min hjemmeside under Libre Draw finder du nederst en skabelon Skabelon med 2 spalter. Det er den vi skal bruge i dette eksempel. Side 1 Mange kender programmet Microsoft Publisher hvor man sætte forskellige ting op i, blade, skrivelser, sange m.m. Libre Office Draw der er en del af den gratis LibreOffice pakke kan noget i samme

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

Fase Forklaring Navigation. Mappen skal indeholde alle elementer til dit site.

Fase Forklaring Navigation. Mappen skal indeholde alle elementer til dit site. 1 Opstart af et site Opret hovedmappen Opret grafikmappen Opret dit site Mappen skal indeholde alle elementer til dit site. Opret en mappe indeni den første og kald den grafik. Heri lægges alle dine grafikfiler.

Læs mere

Vektorer og lineær regression

Vektorer og lineær regression Vektorer og lineær regression Peter Harremoës Niels Brock April 03 Planproduktet Vi har set, at man kan gange en vektor med et tal Et oplagt spørgsmål er, om man også kan gange to vektorer med hinanden

Læs mere

Dynamisk programmering

Dynamisk programmering Dynamisk programmering Dynamisk programmering Et algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer. Har en hvis lighed med divide-and-conquer: Begge opbygger løsninger til større problemer

Læs mere