Gestern: Kara Steuerung: Endliche Automaten.

Slides:



Advertisements
Ähnliche Präsentationen
Ziele von EINI I + II Einführen in „Informatik“
Advertisements

ALP II: Objektorientierte Programmierung Sommersemester 2006
Klassen - Verkettete Liste -
Forschungszentrum caesar
Konzepte objektorientierter Systeme
Einführung in die Programmierung Zusammenfassung
Kapselung , toString , equals , Java API
Progwerkstatt JAVA Klasse, Objekte, Konstruktoren, Methoden
(kleine!) Java Einführung Mittwoch, Heute Ziel: erstes Java-Programm erstellen Von der Aufgabenstellung bis zur Lösung Grundlagen Einfache.
Prof. Dr.-Ing. habil. B. Steinbach - Informatik / Softwaretechnologie und Programmierungstechnik - Institut für Informatik Verteilte Software - Java -
Java: Objektorientierte Programmierung
Java: Dynamische Datentypen
Java: Grundlagen der Sprache
Java: Referenzen und Zeichenketten
Java: Grundlagen der Objektorientierung
Konstruktoren.
V AdresseWert public static void main(...){ int[] v; v=new int[2]; } Was veranlasst diese Anweisung im Arbeitsspeicher ? Es wird im Arbeitsspeicher.
Dynamischer Speicher. In einer Funktion wird z.B. mit der Deklaration int i; Speicher auf dem sogenannten Stack reserviert. Wenn die Funktion verlassen.
Praktikum Entwicklung und Einsatz von Geosoftware I - Sitzung 6 Model-View-Controler als Grundlage für Nutzerschnittstellen Sommersemester 2003 Lars Bernard.
Universität Dortmund, Lehrstuhl Informatik 1 EINI II Einführung in die Informatik für Naturwissenschaftler und Ingenieure.
Programmieren mit JAVA
PKJ 2005/1 Stefan Dissmann Zusammenfassung Bisher im Kurs erarbeitete Konzepte(1): Umgang mit einfachen Datentypen Umgang mit Feldern Umgang mit Referenzen.
PKJ 2005/1 Stefan Dissmann Zusammenfassung der Vorwoche Variable stehen für (einen) Wert, der sich im Programmablauf ändern kann. Variablen besitzen einen.
Algorithmisches Problemlösen mit Kara
Das Java-Hamstermodell
Java in 9 Folien Besser: Online-Buch Go to Java 2.
Einführung in die Programmierung Datensammlung
Informatikunterricht mit Java
Struktogramme IF-ELSE FOR – Schleife
Seite 1 Interface - Konzept Ein Interface führt einen neuen Datentyp ein: interface Frau {... } Das Interface enthält Deklarationen ( keine Definitionen.
Grundkonzepte Java - Klassendefinition
Java programmieren mit JavaKara
Wieder und wieder und wieder …. Nicht vor Pilz? ja Schritt vorwärts.
Kapitel 1 – Erste Schritte
Wenn Programme Entscheidungen fällen müssen, dann …
Algorithmisches Problemlösen mit Kara
Java ohne Kara. Java ohne Kara Ab jetzt: Java ohne Kara Ziel: Erfahrungen sammeln mit ersten Java Programmen.
Programmieren - wie einsteigen ?
Programmieren Kapitel 3 – Variablen.
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Guten Nachmittag!.
Wir haben gesehen Das Gerüst ist bei JavaKara fix vorgegeben
1.2 Attribute und Methoden Aufbau einer Java-Klasse:
Javakurs FSS 2012 Lehrstuhl Stuckenschmidt
Einführung in die Programmierung
Didaktische Programminterpreter
Vom Umgang mit Daten. public void myProgram() { int[] saeulenWerte = new int[world.getSizeX()]; for (int i = 0; i < saeulenWerte.length; i++) { saeulenWerte[i]
Informatik Objekte und Klassen 1. Objektorientiertes Modellieren und Programmieren 1.1 Objekte und Klassen.
2. Zustandsorientiertes Modellieren 2.1 Einfachauswahl
Einführung in JavaKara
1. Entwicklungsumgebung 2. Kontextmenü 3. Compile 4. Objekt 5. Attribut 6. Klasse 7. Deklaration 8. Intialisierung.
EPROG Tutorium #3 Philipp Effenberger
Wilfried Imrich CuP - Java Erste Vorlesung Entspricht ungefähr Kapitel 1.1 des Skriptums Wilfried Imrich Montanuniversität Leoben Freitag, 4. Oktober 2002.
Starten der Entwicklungsumgebung (IDE)
Agenda für heute, 7. April, 2005 Bedingte ProgrammausführungBedingte Programmausführung Algorithmische Grundlagen Vergleichsoperatoren, Wahrheitswerte.
Programmieren - wie einsteigen ?
Paul, Morten, Yannick Blue J. Entwicklungsumgebung  versteht Java Programmcode  Für die Entwicklung eigener Software  Durch die Programmierung.
3. Beschreibung von Abläufen durch Algorithmen 3.4 Zufall
Java Syntaxdiagramme Buchstabe A B Z a z ... Ziffer
Einführung Blue J. Inhaltsverzeichnis  Definition  Vokabeln.
Java-Kurs - 4. Übung Hausaufgabe Weitere Kontrollstrukturen
Lernlandkarte OOP (ObjektOrientiertes Programmieren)
G. Gröger - Einführung in die Programmierung mit Java - 1. Semester - WS 02/ Übungsaufgabe vom Logische Ausdrücke 1.true & false | true 2.(10>2)
Einführung in Java PING e.V. Weiterbildung Andreas Rossbacher 24. März 2005.
Objektorientierte Programmierung (OOP)
Christos, Kornelia, Jan Christos, Kornelia, Jan Entwicklungsumgebung Versteht unseren Java Programm Code Versteht unseren Java Programm.
Das Fach Informatik am SMG.  wird als Wahlfach in Klasse 9/10 angeboten,  wird als Grundfach in der MSS angeboten,  wird als Leistungsfach in der MSS.
Java Programme nur ein bisschen objektorientiert.
Class HelloWorldApp { public static void main(String[] args) {... } Grundkurs Inf - wie einsteigen ?
JavaKara programmieren: Verzweigungen
 Präsentation transkript:

Gestern: Kara Steuerung: Endliche Automaten

Heute: JavaKara Steuerung: Programmier-sprache Java

Java ist „objektorientiert“ Zentrales Element: Objekt Bett kara Stuhl world Tisch

Objekte: Befehle und Sensoren Jedes Objekt stellt Methoden zur Verfügung Objekt Methodenaufruf Resultat meinTisch.setColor(rot); kara.move(); true (ja) / false (nein) (...) kara.treeFront() (...)

Was das Objekt „kara“ alles kann Anweisungen kara.move() Kara läuft einen Schritt vorwärts kara.turnRight() Kara dreht sich an Ort und Stelle nach rechts kara.turnLeft() Kara dreht sich nach links kara.putLeaf() Kara legt ein Kleeblatt ab kara.removeLeaf() Kara nimmt ein Kleeblatt auf Sensoren, um die Umgebung zu überprüfen kara.treeFront() Gibt es einen Baum auf dem Feld vor Kara? kara.treeLeft() Gibt es einen Baum auf dem Feld links von Kara? kara.treeRight() Gibt es einen Baum auf dem Feld rechts von Kara? kara.mushroomFront() Gibt es einen Pilz auf dem Feld vor Kara? kara.onLeaf() Steht Kara auf einem Kleeblatt?

Grundlagen des Programmierens Ein kleiner Werkzeugkasten mit flexiblen und daher mächtigen Werkzeugen. Die Werkzeuge fallen grob in zwei Kategorien: 1 – Steuerung des Programmablaufs: Kontrollstrukturen 2 – Verarbeiten von Daten: Variablen

Kontrollstrukturen

kara.putLeaf(); Befehl

{ kara.putLeaf(); kara.move(); kara.turnRight(); kara.turnLeft(); } Sequenz Befehl

while (!kara.onLeaf()) do { kara.putLeaf(); kara.move(); kara.turnRight(); kara.turnLeft(); } Wiederholung Sequenz Befehl

if (!kara.treeFront()) { while (!kara.onLeaf()) do kara.putLeaf(); kara.move(); kara.turnRight(); kara.turnLeft(); } Verzweigung Wiederholung Sequenz Befehl

Programme in JavaKara: „Schablone“ ist vorgegeben import javakara.JavaKaraProgram; public class SchrittVorwaerts extends JavaKaraProgram { public void myProgram() { // hier kommt das Hauptprogramm hin kara.move(); }

Zweites Programm Identisch! import javakara.JavaKaraProgram; public class GeheUmBaumHerum extends JavaKaraProgram { public void myProgram() { // hier kommt das Hauptprogramm hin kara.turnLeft(); kara.move(); kara.turnRight(); } Identisch!

Geschickter: Neue Methode import javakara.JavaKaraProgram; public class GeheUmBaumHerum extends JavaKaraProgram { void viertelDrehung() { kara.move(); kara.turnRight(); } public void myProgram() { // hier kommt das Hauptprogramm hin kara.turnLeft(); viertelDrehung(); er

Programmieren im Kleinen Programmieren bedingt gewisse Handfertigkeiten. Zuerst der Umgang mit einzelnen Befehlen und Kontrollstrukturen – die Tonleiter sozusagen. Mit der Zeit kommen Design Patterns hinzu, man erkennt wiederkehrende Muster zur Strukturierung – Akkorde etc. Und vor allem gilt: Übung macht den Meister! Auch Klavierspielen lernt niemand in einigen wenigen Lektionen.

Programmieren im Grossen Die einzelnen Bestandteile riesiger Software-Systeme sind überschaubar. Schlussendlich gibt es ja nur ein paar wenige Befehle, die ein Prozessor ausführen kann. Die Komplexität entsteht wie bei einer Symphonie durch das raffinierte Zusammenspiel einer grossen Anzahl von Bestandteilen.

Was haben wir gemacht ? Programm schreiben und speichern Programm laufen lassen Programm ausführen

Unser Koch versteht nur Schwedisch „Ägg i blå sås Detta milt exotiska recept ingick i "Smekmånadens Kokbok", vilken Kooperativa Förbundet distribuerade till nygifta under 1930-talet. En verklig funkis-rätt! Var inte oroliga för metylenblått, den akuta giftigheten är låg.“ Wir brauchen einen Übersetzer! Bei Programmiersprachen heisst ein solcher Übersetzer Kompiler

Kompilieren Um Kara mit Java zu füttern, muss der Text mit dem Java-Programm kompiliert werden GeheUmBaumHerum.java 010010011011101011110101001010011100001011011110100110101011100 GeheUmBaumHerum.class ?? Compiler

Nochmals die Schablone für JavaKara-Programme import JavaKaraProgram; public class SchrittVorwaerts extends JavaKaraProgram { public void myProgram() { // hier kommt das Hauptprogramm hin kara.move(); }

McDonalds machen BigMacs

Klassen definieren Datentypen: McDonalds machen Burger Klassen definieren Datentypen: McDonalds machen Burger. JavaKaraProgramme machen myProgram. class McDonalds { McDonalds(Ort) { … } BigMac gibMirBigMac() { return machNenBigMac(); } Was macht McDonalds? McDonalds macZurich = new McDonalds(zurich); macZurich.gibMirBigMac(); class SchrittVorwaerts extends JavaKaraProgram { public void myProgram() { kara.move(); } Was macht JavaKara? JavaKaraProgram program = new SchrittVorwaerts(); program.myProgram();