Videregående Programmering for Diplom-E Noter

Save this PDF as:
 WORD  PNG  TXT  JPG

Størrelse: px
Starte visningen fra side:

Download "Videregående Programmering for Diplom-E Noter"

Transkript

1 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å have metoder til alle typiske opgaver. Et eksempel på dette er funktionen 'vis', der udskriver værdien af attributterne på skærmen. I bil/person/elev-eksemplet ser dette sådan ud: bil person vis vis elev vis Klassen 'bil', 'person' og 'elev' har hver sin vis-funktion. Men for at kunne virke, må disse visfunktioner "samarbejde". F.eks. må vis-funktionen i klassen 'person' overlade en del af sit arbejde til vis-funktionen i klassen 'bil' - nemlig den del der går ud på at vise oplysninger om personens bil. Det samme kan siges om vis-funktionen i klassen 'elev'. Man kalder denne form for samarbejde for uddelegering (eng.: propagation). Uddelegering i denne forstand er karakteristisk for objektorienterede programmer. ehovet for uddelegering kommer af, at attributterne i en klasse jo normalt er specificeret private - de kan defor kun tilgås gennem metoder. I det følgende ser vi nærmere på, hvordan uddelegering rent teknisk foregår for køber/sælgerrelationens og arve-relationens vedkommende. 1.1 Uddelegering i køber/sælger-relationen Realiseringen i C++ af den ovenfor viste køber/sælger-relation mellem klasserne 'person' og 'bil' ser sådan ud: class bil class person 1

2 //data //data private: private: bil denne_persons_bil; //metoder //metoder void vis(); void vis(); ; ; Køber/sælger-relationen mellem 'person' og 'bil' er altså realiseret ved at 'person' indeholder et attribut af typen 'bil' - d.v.s. et objekt af typen bil. Dette objekt ved navn 'denne_persons_bil' udgør sammenhængen mellem de 2 klasser. En skabelon for vis-funktionen i klassen 'person' ser sådan ud: void person::vis() denne_persons-bil.vis(); //udskriften af attributten //'denne_persons_bil' uddelegeres til bil- //klassens egen vis-funktion cout<< //udskrift af de øvrige attributter Den indbyrdes rækkefølge mellem disse 2 dele af funktionen kan naturligvis vælges anderledes. Uddelegeringen foregår altså gennem det eller de involverede objekt(er) - i dette tilfælde 'denne_persons_bil'. Generelt kan man formulere dette princip på flg. måde: 's vis-funktion uddelegerer til 's vis-funktion vis _objekt vis uddelegering: _objekt.vis() 2

3 1.2 Uddelegering i arve-relationen Realiseringen i C++ af den ovenfor viste arve-relation mellem klasserne 'person' og 'elev' ser sådan ud: class person class elev: public person //data //data private: private: bil denne_persons_bil; //metoder //metoder void vis(); void vis(); ; ; rve-relationen mellem 'elev' og 'person' er altså realiseret ved at 'elev' direkte specificerer arven i sin definition. En skabelon for vis-funktionen i klassen 'elev' ser sådan ud: void elev::vis() person::vis(); //udskriften af den del af objektet, der er //arvet fra klassen 'person' uddelegeres til //vis-funktionen i klassen 'person' cout<< //udskrift af de øvrige attributter Den indbyrdes rækkefølge mellem disse 2 dele af funktionen kan naturligvis vælges anderledes. Da et objekt af klassen 'elev' direkte indeholder de arvede attributter og metoder fra klassen 'person', skal vis-funktionen i klassen 'person' her ikke kaldes "gennem" et objekt - det hele foregår jo indenfor ét og samme objekt. I stedet er vi nødt til at angive den uddelegerede vis-funktions scope: person::vis(). Ellers ville systemet opfatte det som om funktionen "kaldte sig selv". Generelt kan man formulere dette princip på flg. måde: 3

4 C's vis-funktion uddelegerer til 's vis-funktion vis uddelegering: ::vis() C vis Løsningsforslaget i afsnit 3.4 til opgave viser et eksempel på uddelegering både i køber/sælger-relationen og i arve-relationen. 2. utomatisk uddelegering mellem constructorer En constructor er en metode, der tjener til at initialisere objekter. ehovet for uddelegering er derfor nøjagtigt det samme for constructorer som for andre metoders vedkommende. Som bekendt kaldes constructorer automatisk ved oprettelsen af objekter. Derfor foretages uddelegeringen også automatisk når det er constructorer, det drejer sig om. Dette foregår således: 2.1 køber/sælger-relationen 's constructor uddelegerer automatisk til 's constructor constructor _objekt constructor Et objekt indeholder af klassen indeholder iflg. 's definition et objekt af klassen ("_objekt"): 4

5 () () objekt_ objekt af klassen Når et objekt af klassen oprettes, kaldes automatisk 's constructor. Denne constructor sætter objektet op med de værdier, der er specificeret i constructoren. En del af dette arbejde går ud på at sætte det indeholdte objekt ('objekt_') op - denne del af arbejdet uddelegeres automatisk til 's constructor. Hvis klassen 's constructor har en parameterliste, skal værdier svarende til denne parameterliste "stilles til rådighed" for det automatiske kald. Til dette benyttes en initialiseringsliste i 's constructor: class class objekt_; (int i, char c); (int i, char c); ; ; ::(int i, char c):objekt_(i,c) Med fede typer er vist constructoren 's initialiseringsliste - i dette tilfælde navnet på det objekt, der skal initialiseres (objekt_) og en parameterliste med de værdier, dets constructor skal have som aktuelle parametre (i og c). Denne initialiseringsliste bevirker, at inden 's constructor udføres, så vil automatisk 's constructor udføres på det anførte objekt med de anførte værdier. I det viste eksempel er -constructorens parameterværdier hentet ind som parametre i - constructoren. -constructoren sender på den måde blot sine modtagne parameterværdier videre til -constructoren. -constructoren kan naturligvis herudover have parametre "til eget brug". 5

6 -constructorens aktuelle parametre i initialiseringslisten behøver ikke nødvendigvis komme fra -constructorens parametre selvom dette vil være det normale. 2.2 arve-relationen C's constructor uddelegerer automatisk til 's constructor constructor C constructor P.g.a. arven fra indeholder et objekt af klassen C både en del, der svarer til 's definition og en del, der svarer til C's egen definition: (C) indhold svarende til 's definition indhold svarende til C's definition objekt af klassen C Når et objekt af klassen C oprettes, kaldes automatisk C's constructor. Denne starter med automatisk at uddelegere opsætningen af 's del af objektet til 's constructor. Herefter sætter den selv resten af objektet op, d.v.s. den del der svarer til C's egen definition. Hvis klassen 's constructor har en parameterliste, skal værdier svarende til denne parameterliste "stilles til rådighed" for det automatiske kald. Til dette benyttes en initialiseringsliste i C's constructor: 6

7 class class C (int i, char c); C(int i, char c); ; ; C::C(int i, char c):(i,c) Med fede typer er vist constructoren 's initialiseringsliste - i dette tilfælde navnet på den klasse, der arves fra og en parameterliste med de værdier, dens constructor skal have som aktuelle parametre (i og c). Denne initialiseringsliste bevirker at inden C's constructor udføres, så vil 's constructor automatisk blive udført således at 's del af objektet sættes op med de anførte værdier. I det viste eksempel er -constructorens parameterværdier hentet ind som parametre i C- constructoren. C-constructoren sender på den måde blot sine modtagne parameterværdier videre til -constructoren. C-constructoren kan naturligvis herudover have parametre "til eget brug", d.v.s. til den del af objektet der ikke er arvet. 3. cceskontrol ved arv Ved nedarvning kan specificeres en kollektiv acceskontrol på 3 måder: OMT: private protected public C++: 7

8 class : private class : protected class : public eller blot: class : Denne form for acceskontrol påvirker ikke den klasse, der specificerer den, men dens omgivelser (d.v.s. dens klienter og afledte klasser ). Klassen ovenfor påvirkes altså ikke af den anførte acceskontrol. Den acceskontrol, en klasse specificerer ved arv, påvirker muligheden for "udefra" at referere til det, klassen har arvet. I eksemplet ovenfor drejer det sig m.a.o. om omgivelsernes muligheder for "gennem" klassen at referere til klassen 's attributter og metoder. Her gælder den regel, at en klasses egne interne specifikationer af acceskontrol for attributter og metoder aldrig kan svækkes gennem specifikationen af den kollektive acceskontrol ved arv. 3.1 private arv Hverken klienter eller afledte klasser til den specificerende klasse kan referere til klassemedlemmer i dennes baseklasse: private D her kan ikke refereres til C her kan ikke refereres til private arv er default. Hvis man ikke eksplicit specificerer acceskontrollen ved arv, er der altså tale om private arv. 3.2 protected arv 8

9 fledte klasser til den specificerende klasse kan referere til klassemedlemmer i dennes baseklasse i overensstemmelse med baseklassens interne acceskontrol-specifikationer. Klienter til den specificerende klasse kan ikke referere til klassemedlemmer i baseklassen: protected D her kan ikke refereres til C her kan refereres til (public og protected medlemmer) Muligheden for at tilgå 's klassemedlemmer "gennem" gælder ikke kun klassen C, men hele klassehierarkiet under - sålænge der ikke arves private. 3.3 public arv åde klienter og afledte klasser til den specificerende klasse kan referere til klassemedlemmer i dennes baseklasse i overensstemmelse med baseklassens interne acceskontrol-specifikationer. 9

10 public D her kan refereres til (public medlemmer) C her kan refereres til (public og protected medlemmer) 4. Virtuel baseklasse Multipel arv medfører repeteret arv, hvis de multiple baseklasser igen arver fra en fælles baseklasse: i C D ::i C::i (D) 10

11 Repeteret arv betyder, at en klasse arver ét og samme klassemedlem ad flere veje samtidigt, som det f.eks. er tilfældet med attributten i i klassen D ovenfor. Et objekt af klassen D vil derfor have 2 forekomster af i, hvilket medfører at flg. er ulovligt: D obj_d; obj_d.i = 0; //flertydigt, da 2 attributter hedder 'i' Som regel er repeteret arv uønsket, og man kan undgå det ved at specificere baseklasserne virtual ved multipel arv: class D: virtual public, virtual public C Dette har den effekt, at klassemedlemmer fra fælles baseklasser, der arves ad flere veje, ikke dubleres når der oprettes objekter. 5. friend-specifikationen ved arv Med friend-specifikationen kan en klasse undtage én eller flere klasser og/eller funktioner fra de specificerede acceskontroller i klassen: friend class klassen kan tilgå alle 's klassemedlemmer, uanset acceskontrol En friend-status kan ikke arves: friend class C 's friend-status arves ikke 11

12 Klassen C er i eksemplet herover underlagt de accekontroller, der internt er specificeret.i klassen. Omvendt arves selve friend-specifikationen: friend class C klassen kan tilgå den del af C's klassemedlemmer, der arves fra, uanset acceskontrollen i Enhver friend-specifikation betragtes altså som knyttet til den specificerende klasse. Den arvede friend-specifikationen giver derfor kun rettigheder m.h.t. baseklassen - ikke m.h.t. den afledte klasse. 6. Typeskabeloner (templates) En abstrakt datatype kendes på dens metoder (mulige operationer) - den tillader/kræver m.a.o. en abstrahering fra datas implementering. Ofte er det naturligt også at kunne abstrahere fra datas type. Det gælder f.eks. når den abstrakte datatype er en datastruktur beregnet på lagring af dataelementer. En stak f.eks. virker på samme måde uanset om dens elementer er af den ene eller anden type. Den logiske konsekvens af begrebet abstrakt datatype er m.a.o. muligheden for en vis frigørelse fra den stærke typebinding, der ellers har kendetegnet de fleste højniveau-programmeringssprog i mange år. C++ tilbyder 2 muligheder for en frigørelse fra den traditionelle typebinding: typeskabeloner (templates) Typer kan parameteroverføres til en datastruktur. Én og samme definition af datastrukturen kan derfor bruges til at oprette f.eks. en datastruktur af heltal og en datastruktur af strenge. 12

13 polymorfi Objekter indenfor samme arvehierarki kan uanset deres type (klasse) refereres med en pointer til arvehierarkiets baseklasse. Man kan derfor gemme objekter af alle typerne i arvehierarkiet i samme datastruktur. Forskellen mellem typeskabeloner og polymorfi er, at typeskabeloner binder alle elementer i en datastruktur til at være af samme type - det gør polymorfi ikke. Til gengæld sætter typeskabeloner ingen grænser for hvilke typer, der kan vælges - det gør polymorfi, da kun klasser indenfor det pågældende arvehierarki kan vælges. I det følgende skal vi se nærmere på, hvordan man arbejder med typeskabeloner (templates) i C++. Som eksempel benytter vi en klasse stak, hvor stakelementerne ikke er bundet til en bestemt type i definitionen. 6.1 Definition af klasser Når man definerer en klasse, hvori der indgår en ikke fastlagt type (parameteriseret type), skal denne erklæres i klassens hovede på flg. måde: template <class T> class ; etydningen af denne definition er, at 'T' defineres som en typeparameter, der kan bruges inde i definitionen af klassen. Dette betyder, at 'T' inde i klassen kan benyttes som synonym for en type. Definitionen af 'T' som typeparameter er lokal for klassen. Definitionen af en stakklasse kan foregå sådan: template <class T> class stak //definition af en klasse "stak", hvor T //er typeparameter T data[size]; //definition af en tabel "data" med "size" //elementer af typen T int staktop; //index til staktop-elementet stak(); void push(t i); T pop(); //konstruktør, sætter staktop til -1 svarende //til tom stak //lægger værdien 'i' på stakken ("pusher i") //tager øverste element af stakken og returnerer //dets værdi ("popper stakken") 13

14 ; void vis(); //viser hele stakken på skærmen Navnet på typeparameteren kan være enhver lovlig identifikator. Iflg. dokumentationen af C++ kan defineres flere typeparametre samtidigt, men dette fungerer ikke stabilt - sandsynligvis p.g.a. en fejl i compileren. 6.2 Definition af metoder Når en metode fra en klasse med typeparameter defineres udenfor sin klasse, skal typeparameteren igen defineres. Hvis klassen fra før har en metode med prototype void F(); ser definitionen sådan ud: template <class S> void <S>::F() Dette skal forstås således: <S> dette er den måde klassen 's scope betegnes på fordi der indgår en typepartameter nødvendig template <class S> dette er en erklæring af typeparameteren S - fordi typeparameteren indgår i klassens scope For at illustrere at erklæringen af en typeparameter er lokal for den umiddelbart efterfølgende programdel (f.eks. en klasse eller en funktion), er her valgt navnet S. Definitionen af metoderne i klassen 'stak' kan ske således: template <class T> stak<t>::stak() staktop=-1; template <class T> void stak<t>::push(t i) data[++staktop]=i; 14

15 template <class T> T stak<t>::pop() return data[staktop--]; template <class T> void stak<t>::vis() cout<<endl<<"stakkens indhold: "; for (int i=0; i<=staktop; i++) cout<<data[i]<<" "; 6.3 Oprettelse af objekter Ved oprettelsen af objekter skal angives en type svarende til typeparameteren. Dette sker således: <int> objekt_; Her oprettes objektet 'objekt_' af klassen, og typeparameteren bindes for dette objekts vedkommende til typen int. Et hovedprogram, der bruger klassen 'stak', kan se således ud: void main() stak<int> heltalsstak; stak<char> tegnstak; stak<string> strengstak; //opret en stak, hvor elementværdierne er heltal //opret en stak, hvor elementværdierne er tegn //opret en stak, hvor elementværdierne er strenge heltalsstak.push(2); heltalsstak.push(4); heltalsstak.vis(); tegnstak.push('a'); cout<<endl<<heltalsstak.pop(); strengstak.push("c"); strengstak.push("defg"); tegnstak.pop(); tegnstak.vis(); strengstak.vis(); 15

16 6.4 Operationer på attributter defineret med typeparametre Når attributter defineres med typeparametre, sætter dette en grænse for hvilke operationer, man kan foretage på disse attributter. Man kan jo ikke foretage operationer, der kun er defineret for bestemte typer. I praksis kan man foretage flg. operationer: - tildeling - parameteroverførsel - i/o med << og >>, forudsat disse operationer er defineret for den parameteroverførte type Især skal man bemærke, at man ikke kan foretage sammenligninger med operatorerne == og!= selvom disse operationer synes logisk veldefineret uanset typen. 16

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

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

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

Programmering i C. Lektion 4. 5. december 2008

Programmering i C. Lektion 4. 5. december 2008 Programmering i C Lektion 4 5. december 2008 Funktioner Eksempel Fra sidst 1 Funktioner 2 Eksempel Funktioner Eksempel Eksempel: 1 / f u n k t i o n s p r o t o t y p e r / i n t i n d l a e s ( void )

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

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

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

Eksempel: Skat i år 2000

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

Læs mere

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

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

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

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

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

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

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

Datalogi OB, Efterår 2002 OH er, forelæsning 3/9-2002 - forstå datastrukturer og algoritmer (teoretisk forståelse og intuition)

Datalogi OB, Efterår 2002 OH er, forelæsning 3/9-2002 - forstå datastrukturer og algoritmer (teoretisk forståelse og intuition) Datalogi OB, Efterår 2002 OH er, forelæsning 3/9-2002 Datastrukturer og algoritmer Henning Christiansen henning@ruc.dk http://www.ruc.dk/~henning Formål: at kunne - forstå datastrukturer og algoritmer

Læs mere

Videregående Programmering Obligatorisk opgave - 3. semester, efterår 2004

Videregående Programmering Obligatorisk opgave - 3. semester, efterår 2004 Overvågningssystem Beskrivelse Bagagesorteringssystemet består af et antal skranker (check-in) til modtagelse og registrering af bagage, et automatiseret sorteringsanlæg samt et antal terminaler (gates),

Læs mere

DM507 Algoritmer og datastrukturer

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

Læs mere

DM01 DM01. 3. Obl. Afl. Jacob Christiansen, 130282, jacob.ch@mail.tdcadsl.dk. D12, Elias 18/3-2003. Side 1 af 11

DM01 DM01. 3. Obl. Afl. Jacob Christiansen, 130282, jacob.ch@mail.tdcadsl.dk. D12, Elias 18/3-2003. Side 1 af 11 DM01 DM01 3. Obl. Afl. Jacob Christiansen, 130282, jacob.ch@mail.tdcadsl.dk D12, Elias 18/3-2003 Side 1 af 11 DM01 Indholdsfortegnelse: BILAG:...2 1 FORMÅL:...3 2 KLASSER:...4 2.1 DILEMMA:...4 2.1.1 METODER:...4

Læs mere

19 Hashtabeller. Noter. PS1 -- Hashtabeller. Hashing problemet. Hashfunktioner. Kollision. Søgning og indsættelse.

19 Hashtabeller. Noter. PS1 -- Hashtabeller. Hashing problemet. Hashfunktioner. Kollision. Søgning og indsættelse. 19 Hashtabeller. Hashing problemet. Hashfunktioner. Kollision. Søgning og indsættelse. Sammenligning af hashtabeller og søgetræer. 281 Hashing-problemet (1). Vi ønsker at afbilde n objekter på en tabel

Læs mere

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

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

KAPITEL 8: OPRETTELSE OG ADMINISTRATION AF DOKUMENTGODKENDELSE

KAPITEL 8: OPRETTELSE OG ADMINISTRATION AF DOKUMENTGODKENDELSE Kapitel 8: Oprettelse og administration af dokumentgodkendelse KAPITEL 8: OPRETTELSE OG ADMINISTRATION AF DOKUMENTGODKENDELSE Målsætninger Introduktion Målsætningerne er at: Oprette dokumentgodkendelsessystemets

Læs mere

C++ Programmering V. 0.9991

C++ Programmering V. 0.9991 Indholdsfortegnelse 1. Indledning...3 1.2 Forudsætninger:...3 1.3 Udeståender...4 1 Start med C++...5 1.1 Det første C++ program...5 1.2 Formatering af output...8 1.3 Kommentarer...9 1.4 Funktions prototyper...9

Læs mere

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

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

Læs mere

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

Eksamensopgaver datalogi, dlc 2011 side 1/5. 1. Lodtrækningssystem

Eksamensopgaver datalogi, dlc 2011 side 1/5. 1. Lodtrækningssystem Eksamensopgaver datalogi, dlc 2011 side 1/5 1. Lodtrækningssystem Der skal fremstilles et program, som kan foretage en lodtrækning. Programmet skal kunne udtrække en eller flere personer (eller andet)

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

Specifikation Abstrakt OO OS-API Rev. 1.7. Specifikation. Abstrakt, objektorienteret operativsystem-api

Specifikation Abstrakt OO OS-API Rev. 1.7. Specifikation. Abstrakt, objektorienteret operativsystem-api Specifikation Abstrakt, objektorienteret operativsystem-api Indhold 1 Indledning... 3 1.1 Introduktion... 3 1.2 Formål... 3 1.3 Overordnede krav... 3 2 Ressourcer i OS-API et... 4 2.1 Tråde... 4 2.2 Timere...

Læs mere

Singleton pattern i Java

Singleton pattern i Java Denne guide er oprindeligt udgivet på Eksperten.dk Singleton pattern i Java Denne artikel beskriver Singleton pattern og implementation i Java. Den forudsætter kendskab til Java men ikke til Singleton.

Læs mere

Forelæsning Uge 4 Mandag

Forelæsning Uge 4 Mandag Forelæsning Uge 4 Mandag Algoritmeskabeloner Kan (ved simple tilretningerne) bruges til at implementere metoder, der gennemsøger en arrayliste (eller anden objektsamling) og finder objekter, der opfylder

Læs mere

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

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

Læs mere

Videregående programmering i Java

Videregående programmering i Java Videregående programmering i Java Dag 9 Andre designmønstre Andre designmønstre: Uforanderlig, Fluevægt, Lagdelt Initialisering, Komposit/Rekursiv Komposition, Kommando/Ændring Fremlæggelse af programmering/status

Læs mere

Metoder Klasser Arv. Operatorer Løkker. Praksis eksempel. Grundlæggende programmering Lektion 3

Metoder Klasser Arv. Operatorer Løkker. Praksis eksempel. Grundlæggende programmering Lektion 3 Praksis eksempel Operatorer Løkker Metoder Klasser Arv Grundlæggende programmering Lektion 3 Praksis eksempel Et program der benytter Unity til at lave et 3D spil Praksis eksempel Spil der benytter Unity

Læs mere

Anvendelse af metoder - Programmering

Anvendelse af metoder - Programmering Denne guide er oprindeligt udgivet på Eksperten.dk Anvendelse af metoder - Programmering En forhåbentlig rigtig god forklaring på hvad metoder er og hvordan de anvendes. Lidt om private og public, retur

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

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

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

Læs mere

Kursusarbejde 3 Grundlæggende Programmering

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

Læs mere

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

INDHOLDSFORTEGNELSE INTRODUKTION SØGERESULTAT

INDHOLDSFORTEGNELSE INTRODUKTION SØGERESULTAT INDHOLDSFORTEGNELSE Introduktion Søgeresultat Ikoner i søgeresultatet Sådan arbejder du med dit søgeresultat Sammenlign valgte Føj alle til overvågning Eksporter data Gem som eksportkriterium Hent eksportkriterium

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

Java Programmering. En bog for begyndere. Skrevet af Henrik Kressner

Java Programmering. En bog for begyndere. Skrevet af Henrik Kressner Java Programmering En bog for begyndere Skrevet af Henrik Kressner Indholdsfortegnelse Introduktion...3 1 Introduktion til Java...4 1.1 Javakoden...4 1.2 Det første program...6 1.2 Skriv til skærmen...6

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

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

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

Uniq.Survey-Xact.DK. Vejledning. Rambøll Management Olof Palmes Allé 20 DK-8200 Århus N Denmark. Tlf: 8944 7800 www.ramboll-management.

Uniq.Survey-Xact.DK. Vejledning. Rambøll Management Olof Palmes Allé 20 DK-8200 Århus N Denmark. Tlf: 8944 7800 www.ramboll-management. Uniq.Survey-Xact.DK Vejledning Rambøll Management Olof Palmes Allé 20 DK-8200 Århus N Denmark Tlf: 8944 7800 www.ramboll-management.dk TU1.UT TUIndledningUT TU2.UT TUKlargøring TU3.UT TUOprettelse TU4.UT

Læs mere

Generelt Internationalisering

Generelt Internationalisering Bekendtgørelse om krav til anvendelse af Informations- og Side 1 af 7 Generelt Digital Konvergens samarbejdet, har i sit hidtidige arbejde fokuseret på at implementere vindende, digitale standarder, der

Læs mere

Tabelbegrebet. Klassediagrammer (III) Oversigt. Anvendelse af Tabeller. Tabeller og qualified associations

Tabelbegrebet. Klassediagrammer (III) Oversigt. Anvendelse af Tabeller. Tabeller og qualified associations Tabelbegrebet Klassediagrammer (III) Tabeller og qualified associations originally by Michael R. Hansen modified/extended by Anne E. Haxthausen Informatics and Mathematical Modelling Technical University

Læs mere

Kursus navn: Indledende programmering Kursus nr. 02101

Kursus navn: Indledende programmering Kursus nr. 02101 Danmarks Tekniske Universitet Side 1 af 8 sider Skriftlig prøve, den 15. december 2007 Kursus navn: Indledende programmering Kursus nr. 02101 Tilladte hjælpemidler: Alle skriftlige hjælpemidler Vægtning

Læs mere

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

University of Southern Denmark Syddansk Universitet. DM502 Forelæsning 6 DM502 Forelæsning 6 Klasser og objekter Introduktion Math-klassen Indhold Klasser vs. objekter Først et tænkt eksempel: Vi vil lave en bil i Java 1. spørgsmål: Hvad karakteriserer en bil? Model År Farve...

Læs mere

Forelæsning Uge 1 Torsdag

Forelæsning Uge 1 Torsdag Forelæsning Uge 1 Torsdag Objekters tilstand og opførsel Java og BlueJ Skabelse af objekter (via new-operatoren) Iteration (gentagelser) og parametrisering Java's for løkke Parametre i metoder Forskellige

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

dcomnet-nr. 6 Talrepræsentation Computere og Netværk (dcomnet)

dcomnet-nr. 6 Talrepræsentation Computere og Netværk (dcomnet) dcomnet-nr. 6 Talrepræsentation Computere og Netværk (dcomnet) Efterår 2009 1 Talrepræsentation På maskinkodeniveau (Instruction Set Architecture Level) repræsenteres ordrer og operander ved bitfølger

Læs mere

Forelæsning Uge 4 Torsdag

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

Læs mere

Civilingeniøreksamen 49104 12. januar 2001. Skriftelig prøve den 12. januar 2001 Kursusnummer 49104

Civilingeniøreksamen 49104 12. januar 2001. Skriftelig prøve den 12. januar 2001 Kursusnummer 49104 Skriftelig prøve den 12. januar 2001 Kursusnummer 49104 Kursusnavn: Programmering. Tilladte hjælpemidler: Alle skriftlige hjælpemidler Opgavesættet består af fire opgaver, der har følgende vægtning: Opgave

Læs mere

UML-Light (Note: UML-Light T133, ver. 2004) Finn Overgaard Hansen, IHA

UML-Light (Note: UML-Light T133, ver. 2004) Finn Overgaard Hansen, IHA UML-Light (Note: UML-Light T33, ver. 2004) Finn Overgaard Hansen, IHA Programmering PRG + Semesterprojekter PRJ+PRJ2 Version: 20--2004 Indhold Første del: Introduktion til UML-Light og UML Klasser og objekter

Læs mere

Faggruppernes troværdighed

Faggruppernes troværdighed Radius Kommunikation Faggruppernes troværdighed Faktaark Oktober 2014 Materialet er fortroligt og må ikke anvendes uden for klientens organisation uden forudgående skriftligt samtykke fra Radius Kommunikation

Læs mere

0KAPITEL 5: DOKUMENTGODKENDELSE OPSÆTNINGSVEJLEDNING

0KAPITEL 5: DOKUMENTGODKENDELSE OPSÆTNINGSVEJLEDNING Kapitel 5: Dokumentgodkendelse Opsætningsvejledning 0KAPITEL 5: DOKUMENTGODKENDELSE OPSÆTNINGSVEJLEDNING 1Målsætninger Målene er at: Opsætte dokumentgodkendelsessystemets generelle funktioner. Opsætte

Læs mere

REGLER FOR DANMARKSRANGLISTEN FOR SENIORER

REGLER FOR DANMARKSRANGLISTEN FOR SENIORER REGLER FOR DANMARKSRANGLISTEN FOR SENIORER 1. Licens a. For at være omfattet af Danmarksranglisten for seniorer skal en spiller være registreret med spillerlicens og tilhørende licensnummer hos DSqF. b.

Læs mere

Assignment #5 Toolbox Contract

Assignment #5 Toolbox Contract Assignment #5 Toolbox Contract Created by: René Kragh Trine Randløv E mail address cph rk70@cphbusiness.dk 23 11 2014 1 Introduktion Dette dokument indeholder en vertikal kontrakt for et system som skal

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

dintprog Manual Revision: 1241 August 24, 2010 I Introduktion 3 1 Notation 3 II Begreber 4 2 Grundbegreber om programmering 4

dintprog Manual Revision: 1241 August 24, 2010 I Introduktion 3 1 Notation 3 II Begreber 4 2 Grundbegreber om programmering 4 dintprog Manual Revision: 1241 August 24, 2010 Indhold I Introduktion 3 1 Notation 3 II Begreber 4 2 Grundbegreber om programmering 4 3 Grundbegreber om modellering 4 III Sprogkonstruktioner 5 4 Klasser

Læs mere

Hashing og hashtabeller

Hashing og hashtabeller Datastrukturer & Algoritmer, Datalogi C Forelæsning 16/11-2004 Hashing og hashtabeller Teknik til at repræsentere mængder Konstant tid for finde og indsætte men ingen sortering af elementerne Specielt

Læs mere

Modelbase findes under Maskinhandel Opsætning Modelbase.

Modelbase findes under Maskinhandel Opsætning Modelbase. Modelbase Modelbase findes under Maskinhandel Opsætning Modelbase. En modelbase, f.eks. Agrimach, kan anvendes ved oprettelse af maskiner: I stedet for at indmelde alle oplysninger manuelt, er der mulighed

Læs mere

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

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

Læs mere

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

Database "opbygning"

Database opbygning Database "opbygning" Dette områder falder mest under en DBA's ansvarsområde. Det kan sagtens tænkes at en database udvikler i nogle situationer vil blive nød til at oprette produktions og test) databaser,

Læs mere

Indholdsfortegnelse Avanceret søgning:

Indholdsfortegnelse Avanceret søgning: Indholdsfortegnelse Avanceret søgning: Behov/ overskredet behov Manglende us behov (Småbørnstjek, Alm us, Udskrivning) Manglende klinik Manglende behandler Gl. aftaler uden mødekoder Antal udeblivelser

Læs mere

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

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

Læs mere

Computerspil som vindue til læring

Computerspil som vindue til læring Computerspil som vindue til læring Space Marines Stave Challenger Series Af Nikolaj Egholk Jakobsen og Suayb Köse Roskilde Tekniske Gymnasium Informationsteknologi B 9/1 2014 1 Indledning Analyse Danmark

Læs mere

Forslag til visioner og strategier for fremtidens overbygning i Norddjurs Kommune

Forslag til visioner og strategier for fremtidens overbygning i Norddjurs Kommune Forslag til visioner og strategier for fremtidens overbygning i Norddjurs Kommune Indledning Norddjurs Kommune har i de senere år sat fokus på mulighederne for at udvikle en folkeskole, hvor de unge i

Læs mere

Forelæsning Uge 4 Mandag

Forelæsning Uge 4 Mandag Forelæsning Uge 4 Mandag Algoritmeskabeloner findone, findall, findnoof, findsumof Primitive typer (forfremmelse og begrænsning) Identitet versus lighed (for objekter, herunder strenge) Opfølgning på Skildpadde

Læs mere

3 Algebraisk Specifikation af Abstrakte Datatyper.

3 Algebraisk Specifikation af Abstrakte Datatyper. 3 Algebraisk Specifikation af Abstrakte Datatyper. Specifikation kontra program. Bestanddele af en algebraisk specifikation. Klassificering af funktioner i en ADT. Systematisk definition af ligninger.

Læs mere

CCS Formål Produktblad December 2015

CCS Formål Produktblad December 2015 CCS Formål Produktblad December 2015 Kolofon 2015-12-14

Læs mere

Undervisningsplan. Side 1 af 9. Termin Rybners Tekniske Gymnasium. Uddannelse. Fag og niveau. Informationsteknologi B

Undervisningsplan. Side 1 af 9. Termin Rybners Tekniske Gymnasium. Uddannelse. Fag og niveau. Informationsteknologi B Undervisningsplan Termin 2015-2016 Institution Uddannelse Fag og niveau Lærer(e) Hold Rybners Tekniske Gymnasium HTX Informationsteknologi B Jeppe Moritz Led, Jens Ahlmann Hansen 8HX215ema Oversigt over

Læs mere

Eksamensadministration, EUD, udtrækning af elever Sidst opdateret 16-03-2010/version 1.3 /UNI C/Steen Eske Christensen

Eksamensadministration, EUD, udtrækning af elever Sidst opdateret 16-03-2010/version 1.3 /UNI C/Steen Eske Christensen Eksamensadministration, EUD, udtrækning af elever Sidst opdateret 16-03-2010/version 1.3 /UNI C/Steen Eske Christensen Indhold Ændringer Centrale begreber Generelt Arbejdsgange mv. Vejledningen består

Læs mere

Rapport vedrørende. etniske minoriteter i Vestre Fængsel. Januar 2007

Rapport vedrørende. etniske minoriteter i Vestre Fængsel. Januar 2007 Rapport vedrørende etniske minoriteter i Vestre Fængsel Januar 2007 Ved Sigrid Ingeborg Knap og Hans Monrad Graunbøl 1 1. Introduktion Denne rapport om etniske minoriteter på KF, Vestre Fængsel er en del

Læs mere

DATALOGI 1E. Skriftlig eksamen torsdag den 3. juni 2004

DATALOGI 1E. Skriftlig eksamen torsdag den 3. juni 2004 Københavns Universitet Naturvidenskabelig Embedseksamen DATALOGI 1E Skriftlig eksamen torsdag den 3. juni 2004 Opgaverne vægtes i forhold til tidsangivelsen herunder, og hver opgaves besvarelse bedømmes

Læs mere

Tabeller (I) Tabeller

Tabeller (I) Tabeller Tabeller (I) Klassediagrammer (III) Tabeller og qualified associations Michael R. Hansen mrh@imm.dtu.dk Informatics and Mathematical Modelling Technical University of Denmark En tabel fra en mængde A til

Læs mere

Forslag til oprettelse af et konferencemodul

Forslag til oprettelse af et konferencemodul Forslag til oprettelse af et konferencemodul Motivation Konferencerelaterede aktiviteter kan i dag ikke registreres tilfredsstillende. En forsker, der har været på konference, vil typisk skulle registrere

Læs mere

Kursusarbejde 2 Grundlæggende Programmering

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

Læs mere

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

University of Southern Denmark Syddansk Universitet. DM502 Forelæsning 3 DM502 Forelæsning 3 Indlæsning fra tastatur Udskrift til skærm Repetition Beregning af middelværdi Gentagelse med stop-betingelse (while) Heltalsdivision Division med nul Type-casting ( (double) ) Betinget

Læs mere

DOMSTOLENS DOM (Første Afdeling) 20. juni 1996 *

DOMSTOLENS DOM (Første Afdeling) 20. juni 1996 * DOM AF 20.6.1996 SAG C- 121/95 DOMSTOLENS DOM (Første Afdeling) 20. juni 1996 * I sag C-121/95, angående en anmodning, som Bundesfinanzhof i medfør af EF-traktatens artikel 177 har indgivet til Domstolen

Læs mere

Vejledning for anvendelse af PensionsIndberetningssystem PI

Vejledning for anvendelse af PensionsIndberetningssystem PI Vejledning for anvendelse af PensionsIndberetningssystem PI PNN PENSION 190503/AMB Indholdsfortegnelse 1. INDBERETNINGER... 3 2. SØG INDBERETNING... 4 3. NY INDBERETNING... 5 4. INDLÆS FIL... 7 5. INDTAST

Læs mere

InfoPro 2i. Profil Softwarefirmaet MaCom A/S blev etableret i 1992. Vi udvikler og markedsfører dokumenthåndteringssystemet InfoPro.

InfoPro 2i. Profil Softwarefirmaet MaCom A/S blev etableret i 1992. Vi udvikler og markedsfører dokumenthåndteringssystemet InfoPro. InfoPro 2i Profil Softwarefirmaet MaCom A/S blev etableret i 1992. Vi udvikler og markedsfører dokumenthåndteringssystemet InfoPro. Mission MaCom's mission er at sikre og skabe struktur i vores kunders

Læs mere

C++ Programmering V. 0.99

C++ Programmering V. 0.99 Indholdsfortegnelse 1. Indledning...3 1.2 Forudsætninger:...3 1.3 Udeståender...4 6 Start med C++...5 6.1 Det første C++ program...5 6.2 Formatering af output...8 6.3 Kommentarer...9 6.4 Funktions prototyper...9

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

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

Programmering i C. Lektion november 2008

Programmering i C. Lektion november 2008 Programmering i C Lektion 3 18. november 2008 Kontrolstrukturer Udvælgelse Gentagelse Eksempler Fra sidst 1 Kontrolstrukturer 2 Udvælgelse 3 Gentagelse 4 Eksempler Kontrolstrukturer Udvælgelse Gentagelse

Læs mere

Miniprojekt i Programmering (MIP) for DAT2 og SW2, Forår 2012

Miniprojekt i Programmering (MIP) for DAT2 og SW2, Forår 2012 Miniprojekt i Programmering (MIP) for DAT2 og SW2, Forår 2012 Opgaven er delt op i 2 dele. Læs hele opgaven igennem inden I begynder. 1. Struktur I denne opgave skal der laves et system der håndterer salg

Læs mere

Klasser. Grundlæggende Programmering med Projekt. Peter Sestoft Tirsdag 2. september 2008. (Tak til Jakob Bardram for nogle slides) Dagens begreber

Klasser. Grundlæggende Programmering med Projekt. Peter Sestoft Tirsdag 2. september 2008. (Tak til Jakob Bardram for nogle slides) Dagens begreber Klasser Grundlæggende Programmering med Projekt Peter Sestoft Tirsdag 2. september 2008 (Tak til Jakob Bardram for nogle slides) Dagens begreber Felt (field) Metode (method) Parameter (parameter) Sætning,

Læs mere

Athena DIMENSION Varmeanlæg 4

Athena DIMENSION Varmeanlæg 4 Athena DIMENSION Varmeanlæg 4 Juni 2001 Indhold 1 Introduktion.................................. 2 2 Programmets opbygning........................... 2 3 Fremgangsmåde................................ 3

Læs mere

Side 1 af 16. Vedligehold decentrale stamdata i SKS

Side 1 af 16. Vedligehold decentrale stamdata i SKS Side 1 af 16 Vedligehold decentrale stamdata i SKS Indholdsfortegnelse Side 2 af 16 1. Indledning... 3 2. Generelt om stamdata i SKS og vedligeholdelse af disse... 3 2.1. CENTRALE STAMDATA... 4 2.2. DECENTRALE

Læs mere

EASY-A 13.2 nyhedsbrev

EASY-A 13.2 nyhedsbrev EASY-A 13.2 nyhedsbrev EASY-A 13.2 frigives d. 11/12-2013. Dette nyhedsbrev beskriver de væsentligste nyheder. Indhold EASY-A 13.2 nyhedsbrev... 1 Eksamen: B570 tilrettes så den også kan håndtere karakterer

Læs mere

I3PRG3+I3DTM3+I3ISY1-3. semester

I3PRG3+I3DTM3+I3ISY1-3. semester INGENIØRHØJSKOLEN I ÅRHUS Elektro- og IKT-afdelingen Side 1 af 5 Varighed: 4 timer - fra kl. 9.00 til kl. 13.00 Ingeniørhøjskolen udleverer: 3 omslag samt papir til kladde og renskrift Særlige bemærkninger:

Læs mere

Individ og fællesskab

Individ og fællesskab INDIVIDUALITET I DET SENMODERNE SAMFUND Individ og fællesskab - AF HENNY KVIST OG JÓRUN CHRISTOPHERSEN I forholdet mellem begreberne individ og fællesskab gælder det til alle tider om at finde en god balance,

Læs mere

Grundlæggende Programmering ITU, Efterår 1999. Skriftlig eksamen i Grundlæggende Programmering

Grundlæggende Programmering ITU, Efterår 1999. Skriftlig eksamen i Grundlæggende Programmering Skriftlig eksamen i Grundlæggende Programmering ITU, 20. januar 2000 Alle hjælpemidler tilladt, dog ikke datamat. Eksamen er skriftlig, fire timer, og bedømmes efter 13-skalaen. Opgavesættet består af

Læs mere

1 KlassifikationStruktur

1 KlassifikationStruktur ..27 KlassifikationStruktur. KlassifikationStruktur Klassifikation er det abstrakte objekt som samler et klassifikationssystem. Klassifikation holder klassifikationssystemets metadata. Klassifikationssystemet

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