 Bærbak & Caspersen, 2000Introducerende objektorienteret programmering1.1 Turtlemaskinen Arkitektur, instruktionssæt og eksempler.

Slides:



Advertisements
Lignende præsentationer
Grundlæggende programmering Efterår 2001
Advertisements

01 – Java platform for starters. 2 NOEA2009Java-kursus – Java Platform Introduktion til Java Baggrund Hvad er Java? Faciliteter i Java.
Structs Structs allokeres på stakken Memory-allokering sker ved oprettelse af variabel og ikke ved new Der kan defineres metoder incl. Constructor. Eksempel.
FEN IntroJava AAU1 Opsamling: afvikling af Java-programmer Input fra keyboard og fil Fra en prompt Fra BlueJ Fra NetBeans.
FEN NOEA/IT Programmeringsteknologi 1 Arv og polymorfi Substitutionsprincippet Abstrakte klasser Design Patterns (Composite)
Iteration og parametrisering
MEC, DAIMIIntroJava AAU1 Crayon-objekter nu med loops og metoder.
Interfaces – brug. Overblik Tidligere: –Interfaces Comparable gør det muligt at bruge Collections metoderne –min, max, sort, … –Algoritmemønstre Find.
Begreber og Redskaber 7. Plan for idag Rekursive underprogrammer Rekursive datastrukturer Rekursion vs iteration Rekursivt: Flette sortering.
FEN IntroJava AAU1 Klasser og objekter Grundbegreber Student-Course.
FEN IntroJava AAU1 Grafik – Crayon-objekter.
Forelæsning 2.2 Tilstand og opførsel (repetition)
FEN IntroJava AAU1 Endnu mere om Klasser og Objekter Mange til mange relationer Student-Course v3.
Begreber og Redskaber 4. Plan for idag Om metoder, parametre, returværdier Et par ord om objekt-orientering Håndkøring af programmer.
Begreber og Redskaber 3. Plan for idag Om metoder, parametre, returværdier Overblik over klasser,objekter,nedarvning Et par ord om objekt-orientering.
 Michael E. Caspersen, 2000Introducerende objektorienteret programmering9B.1 Fletning.
 Michael E. Caspersen, 2000Introducerende objektorienteret programmering6B.1 Virkefeltsregler i Java int i; int j; int k; i = i+j; String t; Sequence.
Klassevariable- og metoder Tilstand og opførsel på klasseniveau.
DAIMIIntroducerende Objektorienteret Programmering1 Polymorfi og nedarvning Motivation for arv og “mange former”
Rekursion 2.  Michael E. Caspersen, 2000Introducerende objektorienteret programmeringRekursion 2.2 Introduktion Vi har tidligere set eksempler på rekursive.
 1999, Henrik B. ChristensenIntroducerende objektorienteret programmering8A.1 Polymorfi og nedarvning Motivation for arv og “mange former”
 Michael E. Caspersen, 2000Introducerende objektorienteret programmering5A.1 OOP – Model før funktioner Funktionsorienteret versus objektorienteret systemudvikling.
 Jens Bennedsen 2001Multimedie programmering10A.1 Polymorfi og nedarvning Motivation for arv og “mange former”
Rekursive skildpadder Supertrekanter.....  Michael E. Caspersen, 2000Introducerende objektorienteret programmeringRekursive skildpadder.2 Penta, etc.
Lærde skildpadder Specialisering af skildpadder – nye kompetencer (metoder/kommandoer)
DAIMIIntroducerende objektorienteret programmering4B.1 Typer og tilstand i Java Typer, tilstand, erklæring, variable, primitive datatyper, reference- og.
 Jens Bennedsen 2002Objektorienteret systemudvikling Design -> kode Mapning af et klassediagram til kode.
 Bærbak & Caspersen, 2000Introducerende objektorienteret programmeringAlgebra.1 Algebraiske begreber Tal, sandhedsværdier og figurer.
DAIMIIntroducerende objektorienteret programmering3B.1 Definition af klasser Klasseskelet, metoder, et eksempel: dato.
DAIMIIntroducerende objektorienteret programmeringkd.1 Definition af klasser Klasseskelet, metoder, et eksempel: dato.
 Bærbak & Caspersen, 2000 Introducerende objektorienteret programmering4B.1 Talsystemer Positionstalsystemer Decimale og binære tal.
 Michael E. Caspersen, 2000Introducerende objektorienteret programmering6A.1 Programmering med interfaces – en stak og en HP-regnemaskine push pop.
 Henrik Bærbak, 2000Introducerende objektorienteret programmering11B.1 Destilleret UML Oversættelse fra UML til Java.
DAIMIIntroducerende objektorienteret programmering1B.1 Skildpadder Modeller, objekter og opførsel.
DAIMIIntroducerende objektorienteret programmering4B.1 Grundlæggende og Reference Typer i Java Typer, tilstand, erklæring, reference- og værdi semantik,
Indledende Programmering Uge 6 - Efterår 2006
Lærde skildpadder Specialisering af skildpadder – nye kompetencer (metoder/kommandoer)
Kari Rye Schougaard, Ph.d.-stud. Værktøjer og Teknikker, 2006 A A R H U S U N I V E R S I T E T DATALOGISK INSTITUT Java på 20 minutter (eller lidt mere)
DAIMIIntroducerende Objektorienteret Programmering8A.1 Polymorfi og nedarvning Motivation for arv og “mange former”
Grafik Modeller, objekter og opførsel. dIntProg, F08Grafik.2 Nye begreber Repetition (iteration) –gentagelse af opførsel Parametrisering –generalisering.
Klasser og objekter – grundbegreber.  Michael E. Caspersen, 2001Introducerende objektorienteret programmeringKlasser og objekter.2 Klasser og objekter.
Programmering med interfaces – en stak og en HP-regnemaskine push pop.
 Jens Bennedsen 2001Multimedie programmering4.1 Definition af begreber Interface, implements, klasse.
 Jens Bennedsen 2001Multimedie programmering1.1 Skildpadder Modeller, objekter og opførsel.
DAIMIIntroducerende objektorienteret programmering4A.1 Kontrakter og Design Kontraktbaseret design, JavaDoc dokumentation,
I o p o DAIMI, AU, September 1999Introducerende objektorienteret programmering6B.1 Rekursive skildpadder Supertrekanter....
Lærde skildpadder Specialisering af skildpadder – nye kompetencer (metoder/kommandoer)
 Jens Bennedsen 2001Multimedie programmering3A.1 Definition af klasser Klasseskelet, metoder, et eksempel: dato.
I o p o DAIMI, AU, September 1999Introducerende objektorienteret programmering5B.1 Sweep-algoritmer Programmering med invarianter og uden kaniner.
Tutankhamons Grav Et modellerings eksempel
Virkefeltsregler i Java int i; int j; int k; i = i+j; String t; Sequence s; int i; int j; Sequence s; String s; int i; int j;
DAIMI, AUIntroducerende objektorienteret programmering11A.1 Destilleret UML Oversættelse fra UML til Java.
I o p o DAIMI, AU, Oktober 1999Introducerende objektorienteret programmering3E.1 Syntaksbeskrivelse Udtryk og Java-programmer.
I o p o DAIMI, AU, September 1999Introducerende objektorienteret programmering5C.1 Virkefeltsregler i Java int i; int j; int k; i = i+j; String t; Sequence.
 Michael E. Caspersen, 2000 Introducerende objektorienteret programmering4A.1 Sweep-algoritmer Programmering med invarianter og uden kaniner.
DAIMIIntroducerende objektorienteret programmering2A.1 Lærde skildpadder Specialisering af skildpadder – nye kompetencer (metoder/kommandoer)
Skildpadder Modeller, objekter og opførsel.  Michael E. Caspersen, 2000Introducerende objektorienteret programmeringSkildpadder.2 Model Modeller bruges.
Computerens talsystem
GeoGebra 1 Mål: Du kan tænde og slukke for algebravindue og tegneblok.
Forelæsning Uge 1 – Torsdag
Quiz – Uge 3 – mandag – første time
Forelæsning Uge 2 – Mandag
Forelæsning Uge 2 – Torsdag
Forelæsning Uge 2 – Torsdag
Quiz – Uge 3 – mandag – første time
Parametrisering En kort introduktion.
Forelæsning Uge 2 – Mandag
Forelæsning Uge 4 – Torsdag
Quiz – Uge 3 – mandag – første time
Præsentationens transcript:

 Bærbak & Caspersen, 2000Introducerende objektorienteret programmering1.1 Turtlemaskinen Arkitektur, instruktionssæt og eksempler

 Bærbak & Caspersen, 2000Introducerende objektorienteret programmering1.2 Arkitektur (0,0) Sandkasse Skildpaddens tilstand: (position, vinkel, farve, pen) - starttilstand: ((0,0), 0, Color.black, til) 0 (360)  Position: (x,y)  Vinkel: v  Farve: color  Pen: til/fra...

 Bærbak & Caspersen, 2000Introducerende objektorienteret programmering1.3 Instruktionssæt  Ved hjælp af operationer (beskeder) kan man kontrollere en turtles opførsel og tilstand: t.move(l) flytter t l positioner frem t.moveTo(x,y) flytter t til position (x,y) t.turn(v) drejer t v grader t.turnTo(v) drejer t til retning v t.penUp() løfter t’s pen (intet spor) t.penDown() sænker t’s pen (spor) t.setColor(color) sætter farven på t’s pen  Alle operationer udføres relativt til den aktuelle tilstand.

 Bærbak & Caspersen, 2000Introducerende objektorienteret programmering1.4 Skildpadden på tur Turtle t = new Turtle(); t.turn(45); t.move(100); t.turn(-45); t.move(20); t.turn(90); t.move(40);

 Bærbak & Caspersen, 2000Introducerende objektorienteret programmering1.5 Sporløs skildpadde Turtle t = new Turtle(); t.turn(45); t.move(100); t.turn(-45); t.move(20); t.turn(90); t.move(40); t.turn(-90); t.penUp(); t.move(50); t.penDown(); t.move(50);

 Bærbak & Caspersen, 2000Introducerende objektorienteret programmering1.6 Kulørt spor Turtle t = new Turtle(); t.turn(45); t.move(100); t.turn(-45); t.setColor(Color.blue); t.move(20); t.turn(90); t.setColor(Color.red); t.move(40); t.turn(-90); t.penUp(); t.move(50); t.penDown(); t.setColor(Color.green); t.move(50);

 Bærbak & Caspersen, 2000Introducerende objektorienteret programmering1.7 Turtleprogrammer import java.awt.*; //hvis der skal bruges farver import turtle.*; class Drawing { public static void main(String args[]) { Turtle t = new Turtle(); t.turn(45); t.move(100); t.turn(-45); }  Drawing.java:

 Bærbak & Caspersen, 2000Introducerende objektorienteret programmering1.8 Gentagelser //tegn en firkant t.move(100); t.turn(90); //tegn en tolvkant... (suk!) //tegn en firkant for ( int i=0; i<4; i++ ) { t.move(100); t.turn(90); } //tegn en tolvkant for ( int i=0; i<12; i++ ) { t.move(100); t.turn(30); }

 Bærbak & Caspersen, 2000Introducerende objektorienteret programmering1.9  BlueJ Pakker Klasser Objekter Editering Oversættelse (Compile) –oversætterfejl (compile-fejl) Afvikling (Run) –køretidsfejl (runtime-fejl) Help  Turtleprogrammering med BlueJ Eksempler Demonstration af BlueJ

 Bærbak & Caspersen, 2000Introducerende objektorienteret programmering1.10  Hvordan tegner man en ligesidet trekant med turtlemaskinen? Øvelser  Hvordan tegner man en cirkel?  Hvordan får man en figur (for eksempel en streg) til at “bevæge” sig frem og tilbage over skærmen?