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

Størrelse: px
Starte visningen fra side:

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

Transkript

1 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, ordre (statement) Tildeling (assignment statement) Betinget sætning (conditional statement) 2 1

2 Simpel engelsk-dansk ordbog Hjemmeside > Ressourcer > Simpel Objekt-orienteret programmering Historisk set Simula 67, ca 1966 Ole Johan Dahl og Kristen Nygaard Norsk Regnesentral IEEE John von Neumann Medal ACM Turing Award Smalltalk, ca 1970 Alan Kay m.fl. Xerox PARC Beta, ca 1980 Ole L. Madsen m.fl. Aarhus Universitet 4 2

3 C++, ca 1980 Nyere OOP sprog Bjarne Stroustrup Aarhus, Cambridge, Bell labs Java, ca 1995 James Gosling SUN Microsystems C#, ca 2000 Anders Hejlsberg København, Californien, Microsoft 5 Programmeringssprogs historie LISP SASL ML SML HASKELL SCHEME C# 2.0 PROLOG BETA GJ Java 5.0 SMALLTALK JAVA C# SIMULA VISUAL BASIC ALGOL 68 C++ ALGOL CPL BCPL B C FORTRAN BASIC COBOL PASCAL ADA FORTRAN77 FORTRAN90 Objektorientede

4 Billetautomat set udefra En billetautomat laver billetter til en fast pris Hvordan er prisen fastlagt? Hvordan får man penge ind i maskinen? Hvordan holder maskinen styr på pengene? Hvordan får man en billet? 7 Billetautomat set indefra Ved at læse kildeteksten kan vi se hvad programmet gør Vi kan se hvordan det er implementeret Alle Java klasser har samme struktur 8 4

5 Basal Java klasse struktur public class TicketMachine Inner part of the class omitted. Definition af klassen TicketMachine public class ClassName Fields Constructors Methods Indholdet af en klasse 9 Anatomien for en klasse public class TicketMachine... erklæringer... Erklæring af klasse TicketMachine public class ClassName... felter konstruktorer metoder... Generel form af klasseerklæring 10 5

6 Felter Et felt indeholder en værdi for et objekt Kaldes også instansvariabel Højreklik og Inspect i BlueJ til at se objekts felter public class TicketMachine private int price; private int balance; private int total;... synlighed type feltnavn private int price; 11 Konstruktorer En konstruktor initialiserer et objekt Kaldes når man laver et objekt med new En konstruktor er en speciel metode som har samme navn som klassen ikke har nogen returværdi Konstruktoren bruges typisk til at initialisere objektets felter ved brug af værdier givet som parametre public TicketMachine(int ticketcost) price = ticketcost; balance = 0; total = 0; 12 6

7 og hvordan gør man så det? 13 Tildeling (Assignment) En værdi kan gemmes i et felt ved hjælp af en tildelingssætning, fx price = ticketcost; felt = udtryk ; Udregn udtryk og gem resultatet i felt Et felt gemmer kun en enkelt værdi dvs. den gamle værdi overskrives price = 42; price = ticketcost; 42 gemmes i price men bliver straks overskrevet 14 7

8 En metode har Metoder en signatur: navn, returtype og parametre en implementation (metodekrop) med sætninger public int getprice() return price; Signatur Krop Signaturen afgør hvordan metoden kaldes Kroppen afgør hvilken effekt metoden har 15 Udskrift i billetautomaten public void printticket() // Simulate the printing of a ticket. System.out.println("##################"); System.out.println("# The BlueJ Line"); System.out.println("# Ticket"); System.out.println("# " + price + " cents."); System.out.println("##################"); System.out.println(); // Update the total collected with the balance. total = total + balance; // Clear the balance. balance = 0; 16 8

9 Accessor- og mutator-metoder Accessor metoder giver informationer om et objekts tilstand typisk returnerer en felt eller en simpel beregning tager typisk ingen parametre typisk navn: getetellerandet() Mutator metoder bruges til at ændre et objekts tilstand ændre typisk et eller flere felter tager typisk parametre har typisk ingen return sætning Nogle metoder er både accessor og mutator 17 Accessor metode returtype synligheds-modifier metodenavn public int getprice() return price; parameterliste, her tom returnsætning start og slut af metode blokken 18 9

10 Mutator metode visibility modifier return type metode navn parameter public void insertmoney(int amount) balance = balance + amount; felt som ændres tildeling 19 Miniøvelser Opgave 2.1: B&K 2.21, 2.23, 2.24, 2.25, 2.26, 2.27 B&K 2.34, 2.35, 2.36, 2.37 Vi mødes igen her kl xxxx 10

11 men er der ikke noget galt med billetautomaten? Kan man indsætte negative beløb? Kan man få en billet uden at betale fuld pris? Kan man få penge tilbage? Er det rimeligt at man kan sætte billetprisen til at være negativ fra start? Hvordan kan vi gøre det bedre? 21 Betingede sætninger Hvis en betingelse er sand, så gør en ting, ellers gør noget andet: public void insertmoney(int amount) if (amount > 0) balance = balance + amount; else System.out.println("Use a positive amount: " + amount); 22 11

12 Betingede sætninger, if-else ifsætning logisk udtryk sætninger der udføres hvis betingelsen er sand if (betingelse) Gør dette hvis betingelsen er sand else Gør dette hvis betingelsen er falsk sætninger der udføres hvis betingelsen er falsk 23 Lokale variable Et felt private int balance; gemmer en værdi i hele objektets levetid kan tilgås fra alle objektets metoder En lokal variabel int amounttorefund; erklæres i en metode eller konstruktor eksisterer kun indenfor denne metode dvs. kan ikke tilgås fra andre metoder 24 12

13 Lokale variable versus felter Ingen modifier! public class TicketMachine private int balance;... public int refundbalance() int amounttorefund; amounttorefund = balance; balance = 0; return amounttorefund; felt lokal variabel public int othermethod()... kan ikke se amounttorefund Navnekonventioner i Java Klasser har stort begyndelsesbogstav: Circle, Triangle,... Felter, metoder og lokale variable har lille: price, balance, total, name,... Sammensatte navne har camel case getprice, ticketcost, TicketMachine... Konstruktorer har samme navn som klassen: Circle, Triangle, TicketMachine,... 13

14 Opsummering Klasser rummer felter konstruktorer metoder Et felt gemmer en værdi Konstruktorer initialiserer objektet når det skabes Metoder implementerer objektets opførsel Felter, parametre og lokale variable er alle variable Felter lever i hele objektets levetid Parametre bruges til at modtage værdier i en konstruktor eller metode Lokale variable bruges til mellemregninger If sætninger bruges til at lave betinget opførsel 27 Udtryk eller sætning? Et udtryk har en værdi, fx x+2*y En sætning har ingen værdi, kun effekt, fx if (...) x=2; else x=3; System.out.println( Godnat ); 14

15 Udtryk opbygges af... Konstanter, fx 117 false abc Variable og felter, fx balance Metodekald, fx machine1.getbalance() Aritmetiske operatorer + - * / % Sammenligningsoperatorer ==!= < > <= >= Logiske operatorer! && Nogle matematiske funktioner (metoder, faktisk) Java Math.pow(x, y) Math.exp(x) Math.log(x) Math.log10(x) Math.sqrt(x) Math.sin(x) Math.asin(x) Math.abs(x) x y e x ln(x) log(x) x sin(x) sin -1 (x) x Matematik 15

16 Microsoft software fra MSDNAA Microsoft Developer Network Academic Alliance giver adgang til: Windows XP, Windows Vista, Visual Studio 2008,.NET, MS Project, MS Visio, Men ikke MS Office (Word, Excel, osv) bortset fra MS Access som kan bruges i projektet I får en mail med login om ca 14 dage I stedet for MS Office kan man fx bruge OpenOffice, fra Det er ikke nødvendigt at piratkopiere Fredag og næste uge Til fredag 5. september Ikke noget nyt stof fra bogen Vi laver opgaver sammen Til tirsdag 9. september Lav Opgave 2 færdig hjemme Læs B&K kapitel 2 Læs i B&K kapitel 3 men spring det over der virker uforståeligt Til fredag 12. september Start på B&K kapitel 4 16

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

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

dintprog Manual Revision: 731 September 30, 2009 1 Introduktion 3 1.1 Notation... 3 I Begreber 4 2 Grundbegreber om programmering 4

dintprog Manual Revision: 731 September 30, 2009 1 Introduktion 3 1.1 Notation... 3 I Begreber 4 2 Grundbegreber om programmering 4 dintprog Manual Revision: 731 September 30, 2009 Indhold 1 Introduktion 3 1.1 Notation................................. 3 I Begreber 4 2 Grundbegreber om programmering 4 3 Grundbegreber om modellering

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

Forelæsning Uge 2 Torsdag

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

Læs mere

Integer.parseInt(args[0]) konverterer tegnstreng (f.eks. "10") til heltal (10). if (udtryk) else

Integer.parseInt(args[0]) konverterer tegnstreng (f.eks. 10) til heltal (10). if (udtryk) else Programmering 1999 Forelæsning 2, fredag 3. september 1999 Betingede ordrer: if-, if Indlejrede betingede ordrer Løkker med begrænset iteration: for Løkker med ubegrænset iteration: while Betingede ordrer,

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

Databaseadgang fra Java

Databaseadgang fra Java Databaseadgang fra Java Grundlæggende Programmering med Projekt Peter Sestoft Fredag 2007-11-23 Relationsdatabasesystemer Der er mange databaseservere Microsoft Access del af Microsoft Office MySQL god,

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

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

Programmering I Java/C#

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

Læs mere

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

Virkefeltsregler i Java

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

Læs mere

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

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

Kursus 02199: Programmering. Kontrol af programudførelsen. afsnit 3.1-3.5. if (indkomst > 267000) topskat = (indkomst-267000) * 0.

Kursus 02199: Programmering. Kontrol af programudførelsen. afsnit 3.1-3.5. if (indkomst > 267000) topskat = (indkomst-267000) * 0. Kursus 02199: Programmering afsnit 3.1-3.5 Anne Haxthausen IMM, DTU 1. Kontrol af programudførn (afsnit 3.1) 2. Valg-sætninger (if og switch) (afsnit 3.2 og 3.3) 3. Bloksætninger (afsnit 3.2) 4. Logiske

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

Aritmetiske Forelæsning Pr ogrammering operatorer tir 1999 sda præcedens september 1999 Logiske Sammenligningsoperatorer operatorer præcedens

Aritmetiske Forelæsning Pr ogrammering operatorer tir 1999 sda præcedens september 1999 Logiske Sammenligningsoperatorer operatorer præcedens Programmering 1999 Forelæsning 3, tirsdag 7. september 1999 Aritmetiske og logiske operatorer, præcedens Den indbyggede klasse String: tegnstrenge Metoder i klasser Metoder: returtype eller void Metoder:

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

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

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

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

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

University of Southern Denmark Syddansk Universitet. DM502 Forelæsning 2 DM502 Forelæsning 2 Repetition Kompilere og køre Java program javac HelloWorld.java java HeloWorld.java Debugge Java program javac -g HelloWorld.java jswat Det basale Java program public class HelloWorld

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

Programmering i C. Lektion oktober 2008

Programmering i C. Lektion oktober 2008 Programmering i C Lektion 2 20 oktober 2008 Historie Processen At kompilere 2 / 23 Fra sidst 1 Historie 2 Processen 3 At kompilere Historie Processen At kompilere 3 / 23 ALGOL 60 1963 CPL 1966 BCPL 1969

Læs mere

Sproget Rascal (v. 2)

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

Læs mere

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

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

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

Læs mere

Sproget Limba. Til brug i G1 og K1. Dat1E 2003

Sproget Limba. Til brug i G1 og K1. Dat1E 2003 Sproget Limba Til brug i G1 og K1 Dat1E 2003 Abstract Limba er et simpelt imperativt sprog med hoballokerede tupler. Dette dokument beskriver uformelt Limbas syntaks og semantik samt en fortolker for Limba,

Læs mere

Jacob Christiansen, Institut for MAtematik og DAtalogi, Syddansk Universitet, Odense

Jacob Christiansen, Institut for MAtematik og DAtalogi, Syddansk Universitet, Odense 7 DM -. Obligatoriske Opgave Løsning af ligningssystem vha. fipunktmetoden Jacob Christiansen, 8 moffe@imada.sdu.dk Institut for MAtematik og DAtalogi, Syddansk Universitet, Odense. Opgaven Der skal implementeres

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

Programmering. Udvidet Programmering. Kurserne. Kurset: programmering i sproget Java. Lærerne: Morten Larsen og Peter Sestoft

Programmering. Udvidet Programmering. Kurserne. Kurset: programmering i sproget Java. Lærerne: Morten Larsen og Peter Sestoft Kurserne Kurset: programmering i sproget Java Programmering og Udvidet Programmering Lærerne: Morten Larsen og Peter Sestoft Kursusmål: I skal lære at skrive interessante programmer i Java Forudsætninger:

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

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

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

Skriftlig eksamen i Datalogi

Skriftlig eksamen i Datalogi Roskilde Universitetscenter Skriftlig eksamen i Datalogi Modul 1 Vinter 1998/99 Opgavesættet består af 5 opgaver, der ved bedømmelsen tillægges følgende vægte: Opgave 1 16% Opgave 2 12% Opgave 3 10% Opgave

Læs mere

Introduktion til C programmering

Introduktion til C programmering Introduktion til C programmering Rasmus Erik Voel Jensen Uge 17 voel@math.ku.dk Dagens forelæsning Formalia Indledende programmering, main, include, printf, variable, scanf, if-else, statements, eksempler

Læs mere

Maskinarkitektur. Lars Kristensen kris@daimi.au.dk. Christian Storm cstorm@daimi.au.dk. dmasark 1

Maskinarkitektur. Lars Kristensen kris@daimi.au.dk. Christian Storm cstorm@daimi.au.dk. dmasark 1 Maskinarkitektur Lars Kristensen kris@daimi.au.dk Christian Storm cstorm@daimi.au.dk dmasark 1 Praktiske oplysninger http://www.daimi.au.dk/dmasark dmasark 2 Forelæsninger Tirsdag 12.15-14.00, Store Aud,

Læs mere

Indhold. Maskinstruktur... 3. Kapitel 1. Assemblersprog...3. 1.1 Indledning...3 1.2 Hop-instruktioner... 7 1.3 Input og output...

Indhold. Maskinstruktur... 3. Kapitel 1. Assemblersprog...3. 1.1 Indledning...3 1.2 Hop-instruktioner... 7 1.3 Input og output... Indhold Maskinstruktur... 3 Kapitel 1. Assemblersprog...3 1.1 Indledning...3 1.2 Hop-instruktioner... 7 1.3 Input og output... 9 Kapitel 2. Maskinkode... 13 2.1 Den fysiske maskine... 13 2.2 Assemblerens

Læs mere

Python programmering. Per Tøfting. MacFest

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

Læs mere

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

Numerisk differentiation og integration med Python

Numerisk differentiation og integration med Python Numerisk differentiation og integration med Python En uformel prototype til en tutorial, Karl Bjarnason, maj 2010 Vi vil gerne lave et program som numerisk integrerer og differentierer funktionen f(x)=x

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

Real-time programming safety in Java and Ada

Real-time programming safety in Java and Ada Real-time programming safety in Java and Ada Bo Sandén Presenter: Thomas Bøgholm 25. oktober 2007 Forfatteren Artiklen Synkroniserings Begreber Bo Sandén Professor på Colorado Technical University Beskæftiger

Læs mere

MapBasic &.NET interaktion. MapBasic.NET. Jakob Lanstorp IT konsulent COWI. Odense 23. Juni 2011. 1 8 jun 2011 MapBasic &.

MapBasic &.NET interaktion. MapBasic.NET. Jakob Lanstorp IT konsulent COWI. Odense 23. Juni 2011. 1 8 jun 2011 MapBasic &. MapBasic &.NET interaktion MapBasic.NET Jakob Lanstorp IT konsulent COWI Odense 23. Juni 2011 1 MapBasic &.NET interaktion Erfaring med MapBasic.NET / Visual Studio Anden programmering 2 Program Hurtig

Læs mere

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

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

Programmering. Det rent og skært nødvendige, det elementært nødvendige! Morten Dam Jørgensen

Programmering. Det rent og skært nødvendige, det elementært nødvendige! Morten Dam Jørgensen Programmering Det rent og skært nødvendige, det elementært nødvendige! Morten Dam Jørgensen Oversigt Undervisningen Hvad er programmering Hvordan er et program organiseret? Programmering og fysik Nobelprisen

Læs mere

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

Introduktion til Flash, fortsat

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

Læs mere

Kursus 02199: Programmering. Lidt om forelæseren. Velkommen til. Praktisk information: kursusaktiviteter. Praktisk information: forelæsninger

Kursus 02199: Programmering. Lidt om forelæseren. Velkommen til. Praktisk information: kursusaktiviteter. Praktisk information: forelæsninger Velkommen til Kursus 02199: Programmering ved Anne Haxthausen IMM, DTU 4. september, 2001 1. Praktisk information 2. Introduktion til faget (a) kursusmål og motivation (b) hvad er en datamaskine, et program,

Læs mere

Sproget Six. Til brug i rapportopgaven på kurset Oversættere. Vinter 2006. Abstract

Sproget Six. Til brug i rapportopgaven på kurset Oversættere. Vinter 2006. Abstract Sproget Six Til brug i rapportopgaven på kurset Oversættere Vinter 2006 Abstract Six er baseret på det sprog, der vises i figur 6.2 og 6.4 i Basics of Compiler Design. Den herværende tekst beskriver basissproget

Læs mere

MS Visual Studio Basic 2010. En kort vejledning

MS Visual Studio Basic 2010. En kort vejledning Du kan hente programmet gratis her: MS Visual Studio Basic 2010 Express http://www.microsoft.com/visualstudio/eng/downloads#d-2010-express Tryk på Install Now og følg vejledningen. Indholdsfortegnelse

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

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

Curriculum Vitae for Tine Ditmar Unnerup

Curriculum Vitae for Tine Ditmar Unnerup Curriculum Vitae for Tine Ditmar Unnerup Indhold Generelt...2 Stamdata...2 Personlig profil...2 Kvalifikationer...3 Fagområder...3 Brancher...3 Sprog...3 Fagspecifikke kompetencer...4 Programmeringssprog...4

Læs mere

Oversigt. Modellering.6. Begrebsmodellering. Begrebsapparat til OO. Fænomener og begreber. Objektorienteret modellering

Oversigt. Modellering.6. Begrebsmodellering. Begrebsapparat til OO. Fænomener og begreber. Objektorienteret modellering Oversigt Modellering Begrebsmodellering, UML og Java Begrebsapparat til objektorientering Begrebsopfattelser og -modellering Strukturer: specialisering, aggregering, associering Anvendes til organisering

Læs mere

Oversættere Skriftlig eksamen onsdag d. 24. januar 2007

Oversættere Skriftlig eksamen onsdag d. 24. januar 2007 Københavns Universitet Naturvidenskabelig Embedseksamen Oversættere Skriftlig eksamen onsdag d. 24. januar 2007 Eksamenstiden er to timer. Opgavernes vægt i procent er angivet ved hver opgave. Den skriftlige

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

Modern Concurrency Abstractions for C#

Modern Concurrency Abstractions for C# Modern Concurrency Abstractions for C# Nick Benton Luca Cardelli Cédric Fournet Presenter: Henrik Kragh-Hansen September 27, 2007 Motivation for concurrency Forbedring af concurrency Baggrundsinformation

Læs mere

Noter til KAP HORN programmer den 23 januar 2006

Noter til KAP HORN programmer den 23 januar 2006 Noter til KAP HORN programmer den 23 januar 2006 Nyeste tiltag med KAP HORN programmer version 5.0.2: 1. Momsangivelsen er blevet udvidet med nye systemkonti 2. Speciel eksport af Finansrapporter 3. CRM

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

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

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

REDCAPS DATADICTIONARY. Ekport og overblik over datadictionary Redigering af instrumenter via datadictionary Import a datadictionary

REDCAPS DATADICTIONARY. Ekport og overblik over datadictionary Redigering af instrumenter via datadictionary Import a datadictionary REDCAPS DATADICTIONARY Ekport og overblik over datadictionary Redigering af instrumenter via datadictionary Import a datadictionary Datadictionary Den komplette samling af opbyggede instrumenter, felter,

Læs mere

Kapitel 3 Betinget logik i C#

Kapitel 3 Betinget logik i C# Kapitel 3 i C# er udelukkende et spørgsmål om ordet IF. Det er faktisk umuligt at programmere effektivt uden at gøre brug af IF. Du kan skrive små simple programmer. Men når det bliver mere kompliceret

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

Hvad er et distribueret objekt? Plan 12.3. Objekter, objektreferencer, metoder, parameteroverførsel. Objekter: notation

Hvad er et distribueret objekt? Plan 12.3. Objekter, objektreferencer, metoder, parameteroverførsel. Objekter: notation Plan 12.3. Oversigt over grundlæggende begreber Java: eksempel på applikation, programmering og oversættelse Uddybning af grundlæggende begreber Java RMI implementation Forklaring af øvelsen Hvad er et

Læs mere

Undervisningsbeskrivelse

Undervisningsbeskrivelse Undervisningsbeskrivelse Stamoplysninger til brug ved prøver til gymnasiale uddannelser Termin August 2009 - juni 2010 Institution HTX Sukkertoppen/Københavns Tekniske Skole Uddannelse Fag og niveau Lærer(e)

Læs mere

Oversættere Vejledende løsninger til Skriftlig eksamen onsdag d. 24. januar 2007

Oversættere Vejledende løsninger til Skriftlig eksamen onsdag d. 24. januar 2007 Københavns Universitet Naturvidenskabelig Embedseksamen Oversættere Vejledende løsninger til Skriftlig eksamen onsdag d. 24. januar 2007 Eksamenstiden er to timer. Opgavernes vægt i procent er angivet

Læs mere

Objektorienteret programmering

Objektorienteret programmering Forelæsning 1.2 Objektorienteret programmering Java er et OO programmeringssprog BlueJ og Greenfoot er programmeringsomgivelser for Java Praktiske ting Mail sendes til jer på adressen årskortnr@post.au.dk

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

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

Kontraktbaseret Design. Anker Mørk Thomsen

Kontraktbaseret Design. Anker Mørk Thomsen Kontraktbaseret Design Anker Mørk Thomsen 5. marts 2014 -2 Kontraktbaseret Design Anker Mørk Thomsen 1. udgave ISBN: 9788740491500 Forord Bogen er blevet til gennem undervisning i faget Kontraktbaseret

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

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

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

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

Design by Contract. Design and Programming by Contract. Oversigt. Prædikater Design by Contract Design and Programming by Contract Anne Haxthausen ah@imm.dtu.dk Informatics and Mathematical Modelling Technical University of Denmark Design by Contract er en teknik til at specificere

Læs mere

Skriftlig eksamen, Programmer som Data 2. 3. januar 2014

Skriftlig eksamen, Programmer som Data 2. 3. januar 2014 Skriftlig eksamen, Programmer som Data 2. 3. januar 2014 Dette eksamenssæt har 5 sider. Tjek med det samme at du har alle siderne. Eksamenssættet udleveres elektronisk fra kursets hjemmeside torsdag 2.

Læs mere

Speciale. Evaluering af Java til udvikling af indlejrede realtidssystemer ved brug af en eksisterende Java Optimized Processor (JOP)

Speciale. Evaluering af Java til udvikling af indlejrede realtidssystemer ved brug af en eksisterende Java Optimized Processor (JOP) Speciale Evaluering af Java til udvikling af indlejrede realtidssystemer ved brug af en eksisterende Java Optimized Processor (JOP) Speciale efterår 2005 Teknisk Informationsteknologi Jan Lauritzen & Mads

Læs mere

Introduktion til programmering. Programmeringssprog Uge 44 Computer Science, kap 6. Learning Python: kap 13, 14.

Introduktion til programmering. Programmeringssprog Uge 44 Computer Science, kap 6. Learning Python: kap 13, 14. Introduktion til programmering Programmeringssprog Uge 44 Computer Science, kap 6. Learning Python: kap 13, 14. Plan Programmeringsparadigmer Funktionel programmering i Python Pause Scope: referencekonteksten

Læs mere

Testservice med anvendelse af Microsoft software.

Testservice med anvendelse af Microsoft software. Testservice med anvendelse af Microsoft software. Få offentlig nøgle fra installeret signeringscertifikat 1. Klik Start Kør på den pc eller server hvor signeringscertifikatet er installeret. 2. Skriv MMC

Læs mere

OPC Access 3.0 opdatering via Stored Procedure

OPC Access 3.0 opdatering via Stored Procedure OPC Access 3.0 opdatering via Stored Procedure Dette dokument gennemgår et eksempel på, hvordan OPC Access 2.0 kan konfigureres til at opdatere en database via en stored procedure. OPC ACCESS 2.0 OPDATERING

Læs mere

Indholdsfortegnelse. javabog.dk Forord

Indholdsfortegnelse. javabog.dk Forord javabog.dk Forord javabog.dk Forord Indholdsfortegnelse 0 Forord...1 0.1 Bogens opbygning...1 0.1.1 Veje gennem bogen...1 0.1.2 Kapitlernes opbygning...3 0.2 Til underviseren...3 0.3 Ændringer i tredje

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

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

Installation og Drift. Aplanner for Windows Systemer Version 8.15

Installation og Drift. Aplanner for Windows Systemer Version 8.15 Installation og Drift Aplanner for Windows Systemer Version 8.15 Aplanner for Windows løsninger Tekniske forudsætninger Krav vedr. SQL Server SQL Server: SQL Server 2008 Express, SQL Server 2008 R2 eller

Læs mere

User Guide AK-SM 720 Boolean logic

User Guide AK-SM 720 Boolean logic User Guide AK-SM 720 Boolean logic ADAP-KOOL Refrigeration control systems Anvendelse Funktionen er indeholdt i Systemmanager type AK-SM 720, og kan anvendes til brugerdefinerede funktioner. Funktionerne

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

Advanced Word Template Brugermanual

Advanced Word Template Brugermanual Advanced Word Template Brugermanual Forord: Advanced Word Template er et værktøj, der anvendes sammen med Microsoft Word til at opbygge ensartet beskrivelser på en mere intelligent måde end Copy and Paste

Læs mere

Noter til C# Programmering Selektion

Noter til C# Programmering Selektion Noter til C# Programmering Selektion Sætninger Alle sætninger i C# slutter med et semikolon. En sætning kontrollerer sekvensen i programafviklingen, evaluerer et udtryk eller gør ingenting Blanktegn Mellemrum,

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

Crash course i Programmering. HumTek, RUC

Crash course i Programmering. HumTek, RUC Crash course i Programmering HumTek, RUC Resume - Vigtigste begreber Kommentarer Funktioner Udtryk Sætning Koordinater i display-vindue Funktioner (til tegning): size(), background(), point(), line(),

Læs mere

Konsulent resume. Referencer Svend Holm Henriksen IT-udviklingschef Region Syddanmark +45/76631169 svend.holm.henriksen@regionsyddanmark.

Konsulent resume. Referencer Svend Holm Henriksen IT-udviklingschef Region Syddanmark +45/76631169 svend.holm.henriksen@regionsyddanmark. Konsulent resume Navn: Adresse: Kemal Pajevic Klingstrupvænget 105, 2-tv 5230 Odense M Telefon: 29726221 / 63130411 Email: kemal@pajevic.dk Født: 31.07.1982 Civilstand: Gift Jeg er en meget åben og udadvendt

Læs mere

ODIN-webservice ændringer release 2010 v2.0

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

Læs mere

Python 3 kursus lektion 1:

Python 3 kursus lektion 1: Python 3 kursus lektion 1: Her laves et nyt program Her køre programmet! Her skrives koden: Gem (CTRL-s) Tryk F5 (for at køre) www.madsmatik.dk d.14-01-2016 1/5 At skrive til skærmen: Hello World Man kan

Læs mere

Indhold. Senest opdateret : 30. juli 2010. Side 1 af 5

Indhold. Senest opdateret : 30. juli 2010. Side 1 af 5 Indhold Introduktion... 2 Scenarier hvor API et kan benyttes... 2 Scenarie 1 Integration til lagerhotel... 2 Scenarie 2 Integration til økonomi system... 2 Webshop2 API Model... 3 Brugen af API et... 4

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

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

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