5 Das Projekt Apfelwein

Größe: px
Ab Seite anzeigen:

Download "5 Das Projekt Apfelwein"

Transkript

1 Kapitel 5 Zustandsorientierte Modellierung (Teil 1) Seite 1 5 Das Projekt Apfelwein Bemerkung: In der 10. Jahrgangsstufe (G8) werden die Schüler in die zustandsorientierte Programmierung eingeführt. Dies erfolgt mit Hilfe von if-else-anweisungen und kann dann auf die switch-anweisung erweitert werden. Bei komplexen Automaten halte ich es jedoch sinnvoller, diese mit Hilfe einer Zustandsübergangstabelle einzuführen. Im Kapitel 6 ZOM in BlueJ zeige ich einige Beispiele. Soll bei der Programmierung von Automaten auf Erweiterbarkeit geachtet werden, empfehle ich die Verwendung des STATE-Entwurfsmusters. Ein Bauer und sein Freund kauften ein 8-Liter-Fass, gefüllt mit besten Apfelwein. Sie wollten den Wein gerecht aufteilen, besaßen aber nur einen 5-Liter-Krug und einen 3-Liter- Krug. Wie gelang es ihnen dennoch? Übung 5.1: Finde eine Lösung dieses Problems. Diese bekannte Knobelaufgabe wirst Du nun programmieren. Abbildung 5.1 zeigt eine mögliche Benutzeroberfläche für dieses Spiel. Abbildung 5.1: Grafische Oberfläche des Apfelwein-Problems

2 Kapitel 5 Zustandsorientierte Modellierung (Teil 1) Seite Zustandsdiagramm Zur Lösung des Problems kannst du eine Tabelle verwenden. Diese erleichtert dir das systematische Durchgehen aller Füllstände: 8-Liter-Fass 5-Liter-Fass 3-Liter-Fass 8 Liter 0 Liter 0 Liter 5 Liter 0 Liter 3 Liter Abbildung 5.2: Tabelle der Füllstände der einzelnen Fässer Jede Zeile dieser Tabelle zeigt den entsprechenden Inhalt der drei Fässer an. Um einen Überblick zu erlangen, ist es leichter, diese Zustände in einem Zustandsdiagramm darzustellen. Abbildung 5.3: Darstellung von Zuständen und Zustandsübergängen Wie in Abbildung 5.3 dargestellt ist, wird jeder Zustand als Kreis abgebildet und die Zustandsübergänge mit Pfeilen symbolisiert. Jedes Ereignis, z.b. das Umfüllen, führt zu einem neuen Zustand. Übung 5.2: Erstelle mit Hilfe deiner Lösung aus Übung 5.1 das Zustandsdiagramm. 5.2 Zustandstabelle Zustände kannst du auch in einer Tabelle darstellen. Hierzu gibst du jedem Zustand einen Namen, bei diesem Projekt eignet sich hierfür eine Zahl.

3 Kapitel 5 Zustandsorientierte Modellierung (Teil 1) Seite 3 Zustand Fass8 Fass5 Fass Abbildung 5.4: Zustandstabelle In einer solchen Zustandstabelle wird dargestellt, welche Zustände die drei Fässer annehmen. Es wird jedoch nichts über die Reihenfolge der Zustände ausgesagt. Wahrscheinlich wirst du intuitiv die Zustände in der richtigen Reihenfolge in deiner Tabelle eingetragen haben. Dies ist allerdings nicht notwendig, wie du bei späteren Beispielen kennen lernen wirst. Für die Implementierung des Projekts Apfelwein ist nun eine Kombination aus Zustandstabelle und Zustandsdiagramm ideal. Du ergänzt die Zustandstabelle um eine weitere Spalte. Diese gibt den jeweiligen Folgezustand bei Betätigen des Buttons umfuellen an. Zustand Fass8 Fass5 Fass3 Folgezustand Übung 5.3: Abbildung 5.5: Kombination aus Zustandstabelle und Zustandsübergangstabelle Vervollständige die Kombination aus Zustandstabelle und Zustandsübergangstabelle. Nun hast du dich mit dem Apfelwein so weit beschäftigt, dass du diese programmieren kannst. 5.3 Die Klasse Bauer Als Erstes suchst du alle Zustände zusammen:

4 Kapitel 5 Zustandsorientierte Modellierung (Teil 1) Seite 4 Abbildung 5.6: Hier sind die Zustände insgesamt 9 Als Nächstes gibst du jedem Zustand eine Bezeichnung. In diesem Beispiel eignet sich eine Nummerierung von 0 bis 8 wie in der Zustandstabelle dargestellt. Als Letztes definierst du noch drei Datenfelder fass8, fass5 und fass3 für die Fässer und ein Datenfeld zustand, das den aktuellen Zustand hält. public class Bauer private Fass fass8, fass5, fass3; private int zustand; //aktueller Zustand Abbildung 5.7: Datenfelder der Klasse Bauer Übung 5.4: Erstelle ein Projekt Apfelwein01a und die Klasse Bauer mit ihren Datenfeldern. Nun musst du dich um die Zustandsübergänge kümmern. Wie in Abbildung 5.3 dargestellt, benutzt du die Methode umfuellen() als Ereignis für einen Zustandsübergang. public void umfuellen() if (zustand == 0) fass8.setzeaktuelleninhalt(8); fass5.setzeaktuelleninhalt(0); fass3.setzeaktuelleninhalt(0); zustand = 1; weitere Anweisungen Abbildung 5.8: Die Methode umfüllen() in der Klasse Bauer In der Methode umfuellen() wird jeder mögliche Zustand mit einer Bedingungsanweisung überprüft und gemäß dem jeweiligen Zustand wird für

5 Kapitel 5 Zustandsorientierte Modellierung (Teil 1) Seite 5 das richtige Verhalten gesorgt. Falls notwendig muss ein Übergang in einen anderen Zustand erfolgen. Übung 5.5: Implementiere und vervollständige die Methode umfuellen() in der Klasse Bauer. Du erzeugst nun also innerhalb der Klasse Bauer eine Variable zustand, die die Zustandswerte hält. In den Methoden, die die Zustandsübergänge durchführen, schreibst du Bedingungsanweisungen, um gemäß den entsprechenden Zuständen handeln zu können. Bemerkung: Die Klasse Bauer kann noch nicht kompiliert werden, da diese Objekte einer Klasse Fass benötigt. 5.4 Die Klasse Fass Nun wirst du das Fass modellieren. Dazu musst du überlegen, welchen Eigenschaften ein Fass besitzt und welche Fähigkeiten es hat. Abbildung 5.9: Modellierung der Klasse Fass Ein Fass muss sein Gesamtvolumen und seinen aktuellen Inhalt kennen. Diese werden in die Datenfelder volumen und inhalt gespeichert. Beim Umfüllen wird der aktuelle Inhalt festgesetzt. Also benötigt die Klasse Fass die Methode setzeaktuelleninhalt(). Mit der Methode gibaktuelleninhalt() kann das Fass seinen aktuellen Inhalt anderen mitteilen. public class Bauer private Fass fass8, fass5, fass3;

6 Kapitel 5 Zustandsorientierte Modellierung (Teil 1) Seite 6 private int zustand; //aktueller Zustand //Konstruktor und weitere Methoden fehlen noch Übung 5.6: Implementiere im Projekt Apfelwein01a die Klasse Fass. Implementiere einen geeigneten Konstruktor. Nun benötigst du noch die sondierende Methode gibaktuelleninhalt() und die verändernde Methode setzeaktuelleninhalt(). public void setzeaktuelleninhalt(int menge) inhalt = menge; public int gibaktuelleninhalt() return inhalt; Abbildung 5.10: Die Methoden setzeaktuelleninhalt() und gibaktuelleninhalt() in der Klasse Fass Übung 5.7: Implementiere in der Klasse Fass die Methoden setzeaktuelleninhalt() und gibaktuelleninhalt(). Überprüfe diese mit Hilfe des Inspektors. Da der Bauer die Fässer umfüllen muss, benötigt er einen Konstruktor, der ihm die Fässer übergibt. public Bauer(Fass fass8h, Fass fass5h, Fass fass3h) fass8 = fass8h; fass5 = fass5h; fass3 = fass3h; zustand = 0; //Anfangszustand Abbildung 5.11: Konstruktor der Klasse Bauer Übung 5.8:

7 Kapitel 5 Zustandsorientierte Modellierung (Teil 1) Seite 7 Implementiere in der Klasse Bauer nun den geeigneten Konstruktor aus Abbildung Abbildung 5.12: Klassendiagramm mit dem Aufruf der Methode umfuellen() Übung 5.9: Teste dein Projekt Apfelwein01a ausführlich. Erzeuge das volle 8-Liter-Fass und ein jeweils leeres 5- bzw. 3-Liter-Fass. Anschließend erzeuge einen Bauern, der den Wein zwischen diesen drei Fässern umschütten kann. Spiele das eingangs erwähnte Apfelwein-Problem durch. Übung 5.10: (Für Experten) Bisher musst du die drei Fässer direkt erzeugen. Entwerfe einen Konstruktor in der Klasse Bauer, der diese Aufgabe automatisch durchführt. 5.5 Grafische Benutzeroberfläche Bemerkung: Das Erstellen einer grafischen Oberfläche soll in diesem Kapitel nicht im Vordergrund stehen, es würde zu sehr vom eigentlichen Ziel der zustandsorientierten Programmierung wegführen. Deswegen habe ich bereits alle notwendigen Anweisungen in der Klasse ApfelweinGUI implementiert, einige davon musst du allerdings noch auskommentieren. Die grafische Benutzeroberfläche ist weit gehend bereits vorbereitet. Ich habe diese in zwei größere Panels eingeteilt: das Steuerungspanel steuerungp, das die

8 Kapitel 5 Zustandsorientierte Modellierung (Teil 1) Seite 8 Buttons zum Umfüllen und zum Beenden enthält, und das Darstellungspanel darstellungp, das die Bühne für die drei Fässer enthält. Abbildung 5.13: Die vorbereitete grafische Oberfläche von ApfelweinGUI Das Projekt ApfelweinGUI enthält bereits die Klassen Ansicht und Buehne. Die Klasse Ansicht erzeugt die in Abbildung 5.13 dargestellte Benutzeroberfläche. Sie enthält a) die Zeichenfläche, in der die drei Fässer dargestellt werden sollen, b) ein TextArea, Buttons und die dafür notwendigen Methoden, von denen zum jetzigen Zeitpunkt viele noch auskommentiert sind. Die Klasse Buehne dient zur bildlichen Darstellung der Fässer. Sie enthält zum jetzigen Zeitpunkt bereits die Methode paintcomponent(), die das oben abgebildete Koordinatensystem mit der Beschriftung zeichnet. Die Fässer und deren Inhalt soll von jedem Fass selbst gezeichnet werden. Übung 5.11: Hole vom Schulserver das Projekt ApfelweinGUI. Speichere dieses unter dem Namen Apfelwein01b. Versuche im Quelltext der Klassen Ansicht und Buehne die in Abbildung 5.13 dargestellten Panels, Buttons und Textaeas wiederzufinden. Du wirst nicht jeden Zusammenhang verstehen, aber versuche es wenigstens. Übung 5.12 Füge mit Hilfe von Edit > Add Class from File die Klassen Bauer und Fass in das Projekt Apfelwein01b hinzu. Entferne in den Klassen Ansicht und Buehne die entsprechenden Kommentierungen. Wie bereits oben erwähnt, sollen die Fässer sich selbst zeichnen. Das bedeutet, du musst in der Klasse Fass die Methoden zeichne() und zeichnefass()

9 Kapitel 5 Zustandsorientierte Modellierung (Teil 1) Seite 9 implementieren, die die Größe der entsprechenden Rechtecke berechnet und anschließend diese Rechtecke auf die Zeichenfläche buehne setzt. Abbildung 5.14: Zeichnen der Fässer Wie in Abbildung 5.14 dargestellt, stehen die Fässer auf einer gemeinsamen Bodenlinie. Mit Hilfe des Vergrößerungsfaktors wird das Volumen und der Füllstand für die Zeichnung ermittelt. Anschließend werden die Daten xpos, ypos, hoehe und fuellstand verwendet, um die korrekten grauen und roten Rechtecke zu zeichnen. Hierbei hilft die Methode zeichnefass(). Zum Schluss wird als Feature der aktuelle Fassinhalt angegeben. public void zeichne(graphics g, int xposh) int boden = 180; //Bodenlinie aller Faesser int faktor = 20; //Vergroesserungsfaktor int xpos, ypos, hoehe, fuellstand; xpos = xposh; ypos = boden - volumen * faktor; //somit steht das Fass auf Bodenlinie hoehe = volumen * faktor; //Hoehe des Fasses fuellstand = inhalt * faktor; //momentaner Fuellanzeige des Fasses zeichnefass(g, xpos, ypos, hoehe, fuellstand); g.setcolor(color.blue); g.drawstring("inhalt: " + inhalt, xpos, 200); //schreibt momentanen Inhalt Abbildung 5.15: Quelltext der Methode zeichne() in der Klasse Fass private void zeichnefass(graphics g, int xpos, int ypos, int hoehe, int fuellstand)

10 Kapitel 5 Zustandsorientierte Modellierung (Teil 1) Seite 10 int breite = 40; //Breite aller Faesser g.setcolor(color.lightgray); g.fillrect(xpos, ypos, breite, hoehe - fuellstand); g.setcolor(color.red); g.fillrect(xpos, ypos + (hoehe - fuellstand), breite, fuellstand); Abbildung 5.16: Quelltext der Methode zeichnefass() in der Klasse Fass Übung 5.13 Implementiere die beiden Methoden zeichne() und zeichnefass() in der Klasse Fass. Wenn du alles korrekt übernommen hast, sollte dein Projekt Apfelwein01b wie in Abbildung 5.17 aussehen und auch funktionieren. Abbildung 5.17: Das fertige Projekt Apfelwein 5.6 Ausblick Du hast die Zustände in diesem Projekt Apfelwein zyklisch angeordnet. Der Benutzer hat somit keine Auswahl, er wird sozusagen automatisch von Zustand zu Zustand geführt. Auf eine analoge Weise könntest Du nun beispielsweise auch eine Ampelanlage modellieren. Dies sollte dir nun nicht mehr schwer fallen. Das Apfelwein-Problem lässt sich allerdings auch als Spiel programmieren.

11 Kapitel 5 Zustandsorientierte Modellierung (Teil 1) Seite 11 Abbildung 5.18: Anregung zum Projekt Apfelwein02 Hier kann der Benutzer auf der Registerkarte manuell selbstständig die Umfüllaktionen wählen und durch Ausprobieren zum Ziel gelangen. Übung 5.14 (Für Experten) Erstelle das Projekt Apfelwein02 ähnlich wie in Abbildung 5.18 dargestellt.

Kapitel 5 Das Projekt Bahn Seite 1

Kapitel 5 Das Projekt Bahn Seite 1 Kapitel 5 Das Projekt Bahn Seite 1 8 Das Projekt Bahn In diesem Kapitel möchte ich nur einen ersten Einblick in die Konzepte der Vererbung und des Polymorphismus geben. Als Motivation dient ein Zug, den

Mehr

124 Kompetenzorientierte Aufgaben im Informatikunterricht

124 Kompetenzorientierte Aufgaben im Informatikunterricht 124 Kompetenzorientierte Aufgaben im Informatikunterricht 4.2 Aufgaben 4.2.1 Aufgabe 1: Kühlschrank 4.2.1.1 Aufgabenstellung Ein einfacher Kühlschrank besitzt einen Ein-Aus-Schalter, der jederzeit betätigt

Mehr

1 Modellierung einer Uhr

1 Modellierung einer Uhr PNS Wahlpflichtfach Informatik Projekt: Uhrzeit Seite 1 1 Modellierung einer Uhr Aufgabe: Es soll ein Modell für eine Digitaluhr erstellt werden, die Stunden und Minuten im Format hh:mm repräsentiert.

Mehr

2 Entwurf eines einfachen Telefonbuchs

2 Entwurf eines einfachen Telefonbuchs Kapitel 2 Entwurf eines einfachen Telefonbuchs (Phase 1) Seite 1 2 Entwurf eines einfachen Telefonbuchs Zuerst solltest du dir darüber Gedanken machen, welche Funktionen von unserem Telefonbuch erwarten.

Mehr

Kapitel 3 Das Projekt Bankkonto Seite 1

Kapitel 3 Das Projekt Bankkonto Seite 1 Kapitel 3 Das Projekt Bankkonto Seite 1 3 Das Projekt Bankkonto Nun wirst du dich etwas gründlicher mit dem Quelltext einer Klasse beschäftigen. Du lernst, wie zwei Objekte eine gemeinsame Aufgabe erledigen.

Mehr

5 Projekt Bankverwaltung

5 Projekt Bankverwaltung Kapitel 5 Bankverwaltung (Lösung) Seite 1/7 5 Projekt Bankverwaltung 5.1 Festlegen der Schnittstelle Bevor du mit der Programmierung beginnst, musst du dir einige Gedanken über die Schnittstelle zwischen

Mehr

2. Vererbung und Kapselung

2. Vererbung und Kapselung 2. Vererbung und Kapselung Die Objekte der Klasse BALL werden im Gegensatz zu den Objekten von KREIS noch nicht graphisch dargestellt. Um die BALL-Objekte auch graphisch darzustellen zu können, muss BALL

Mehr

Wuerfel - augenzahl: int + Wuerfel() + wuerfeln() + gibaugenzahl(): int

Wuerfel - augenzahl: int + Wuerfel() + wuerfeln() + gibaugenzahl(): int Informatik Eph IFG1/2 (GA) Bearbeitungszeit: 90 min. Seite 1 Aufgabe 1: Kniffel Modellierung und Implementierung Im Folgenden sollen Teile eines kleinen "Kniffel"-Spiels modelliert, analysiert und implementiert

Mehr

Kapitel 4 Das Projekt Digitaluhr Seite 1

Kapitel 4 Das Projekt Digitaluhr Seite 1 Kapitel 4 Das Projekt Digitaluhr Seite 1 4 Das Projekt Digitaluhr Im letzten Kapitel hast du untersucht, was Objekte sind und wie diese implementiert werden. Dabei hast du Datenfelder, Konstruktoren und

Mehr

5 Codierung nach RSA (Lösung)

5 Codierung nach RSA (Lösung) Kapitel 5 Codierung nach RSA (Lösung) Seite 1/17 5 Codierung nach RSA (Lösung) 5.1 Einführung Die drei Mathematiker Rivest, Shamir und Adleman entwickelten 1977 das nach ihnen benannte RSA-Verfahren. Es

Mehr

Einführung in die Programmierung mit BlueJ

Einführung in die Programmierung mit BlueJ Einführung in die Programmierung mit BlueJ Thema 4 Steuerstrukturen - Verzweigungen Dr. Henry Herper Otto-von-Guericke-Universität Magdeburg - WS 2012/13 Daten speichern: Datenfelder Instanzvariablen,

Mehr

Institut für Programmierung und Reaktive Systeme 17. Juli Programmieren II. Übungsklausur

Institut für Programmierung und Reaktive Systeme 17. Juli Programmieren II. Übungsklausur Technische Universität Braunschweig Dr. Werner Struckmann Institut für Programmierung und Reaktive Systeme 17. Juli 2015 Hinweise: Klausurtermine: Programmieren II Übungsklausur Programmieren I: 7. September

Mehr

4 Codierung nach Viginere (Lösung)

4 Codierung nach Viginere (Lösung) Kapitel 4 Codierung nach Viginere (Lösung) Seite 1/14 4 Codierung nach Viginere (Lösung) 4.1 Einführung Blaise de Vigenère lebte von 1523 bis 1596 in Frankreich und war nach dem Studium bei verschiedenen

Mehr

Probeklausur: Programmierung WS04/05

Probeklausur: Programmierung WS04/05 Probeklausur: Programmierung WS04/05 Name: Hinweise zur Bearbeitung Nimm Dir für diese Klausur ausreichend Zeit, und sorge dafür, dass Du nicht gestört wirst. Die Klausur ist für 90 Minuten angesetzt,

Mehr

Vererbung. Generalisierung und Spezialisierung Vererbung und Polymorphismus

Vererbung. Generalisierung und Spezialisierung Vererbung und Polymorphismus Vererbung Generalisierung und Spezialisierung Vererbung und Polymorphismus Wir wollen in unserem Aquarium verschiedene Arten von Fischen schwimmen lassen. In einem ersten Ansatz definieren wir nicht nur

Mehr

Stick & Strick - Bordürensimulator

Stick & Strick - Bordürensimulator Seite 1 In der Firma Stick & Strick gab es ein größeres Computerproblem. Dabei löschte die Panne Teile des Quellcodes der Bordürensimulationssoftware unwiderruflich. Gerettet werden konnten verschiedenen

Mehr

Implementieren von Klassen

Implementieren von Klassen Implementieren von Klassen Felder, Methoden, Konstanten Dr. Beatrice Amrhein Überblick Felder/Mitglieder (Field, Member, Member-Variable) o Modifizierer Konstanten Methoden o Modifizierer 2 Felder und

Mehr

1 Fragen aus dem Unterricht zu Projekt Garten

1 Fragen aus dem Unterricht zu Projekt Garten Kapitel 1z Grundlagen der Objektorientierung Seite 1 1 Fragen aus dem Unterricht zu Projekt Garten In diesem Zusatzkapitel werde ich Probleme ansprechen, die sich im Laufe des Unterrichtsgesprächs ergeben

Mehr

Zustände umsetzen Enumerations (Aufzählungen) Zustandsobjekte

Zustände umsetzen Enumerations (Aufzählungen) Zustandsobjekte Zustände umsetzen Enumerations (Aufzählungen) Zustandsobjekte Dr. Beatrice Amrhein Kursinhalt Aufzählungen erzeugen Aufzählungen verwenden Zustandsobjekte erzeugen Zustandsobjekte verwenden Nach dem Handbuch

Mehr

1. Teilklausur Gruppe A. Bitte in Druckschrift leserlich ausfüllen!

1. Teilklausur Gruppe A. Bitte in Druckschrift leserlich ausfüllen! Objektorientierte Programmierung & Modellierung WS 2007/8 Universität Koblenz-Landau Institut für Informatik Prof. Dr. Ralf Lämmel Dr. Manfred Jackel 1. Teilklausur 07.12.2007 Gruppe A Bitte in Druckschrift

Mehr

Informatik 10 Objektorientiertes Modellieren und Programmieren mit Java

Informatik 10 Objektorientiertes Modellieren und Programmieren mit Java Informatik 10 Objektorientiertes Modellieren und Programmieren mit Java 1. Klassen und Objekte Zunächst wollen wir mit Hilfe eines Miniprogramms die Entwicklungsumgebung BlueJkennen lernen. Die Installation

Mehr

Kapitel 13. Abstrakte Methoden und Interfaces. Fachgebiet Knowledge Engineering Prof. Dr. Johannes Fürnkranz

Kapitel 13. Abstrakte Methoden und Interfaces. Fachgebiet Knowledge Engineering Prof. Dr. Johannes Fürnkranz Kapitel 13 Abstrakte Methoden und Interfaces 13. Abstrakte Klassen und Interfaces 1. Abstrakte Klassen 2. Interfaces und Mehrfachvererbung Folie 12.2 Abstrakte Methoden und Klassen Manchmal macht es überhaupt

Mehr

Probeklausur Informatik 2 Sommersemester 2013

Probeklausur Informatik 2 Sommersemester 2013 Probeklausur Informatik 2 Sommersemester 2013 1 Probeklausur Informatik 2 Sommersemester 2013 Name: Matrikelnummer: Hilfsmittel: Es sind alle schriftlichen Unterlagen, aber keine elektronischen Hilfsmittel

Mehr

Theorie zu Übung 8 Implementierung in Java

Theorie zu Übung 8 Implementierung in Java Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich Theorie zu Übung 8 Implementierung in Java Klasse in Java Die Klasse wird durch das class-konzept

Mehr

Lernteam OOP2 SW Programmieren 1 - H1103 Felix Rohrer

Lernteam OOP2 SW Programmieren 1 - H1103 Felix Rohrer Aufgabe 1. Klasse Balloon In der Vorlesung wurde bruchstückhaft eine Klasse Balloon eingeführt. Programmieren Sie eine entsprechende Klasse mit BlueJ bzw. fügen Sie nun die "Bruchstücke" zusammen. Kommentieren

Mehr

Gui-Objekte und Datenmodellobjekte

Gui-Objekte und Datenmodellobjekte Gui-Objekte und Datenmodellobjekte Anja Faatz 2010 Gymnasium Gonsenheim Die Themen Beispiel Ampel Trennung: Datenmodell-GUI Datenmodell GUI Erzeugung der Objekte Übungen Literatur Die Themen Beispiel Ampel

Mehr

Kapitel 4 Einfache Methoden der Klasse MAMPFI

Kapitel 4 Einfache Methoden der Klasse MAMPFI Kapitel 4 Einfache Methoden der Klasse MAMPFI Seite 1 / 9 Kapitel 4 Einfache Methoden der Klasse MAMPFI Lernziel: Eine Klasse in Java erstellen: Methoden 4.1 Vervollständigen des Klassendiagramms Nachdem

Mehr

Kapitel 7 Algorithmem Seite 1

Kapitel 7 Algorithmem Seite 1 Kapitel 7 Algorithmem Seite 1 7 Algorithmen In diesem Kapitel will ich einige einfache Algorithmen mit ihren Kontrollstrukturen in Java besprechen. Zum Nachschlagen steht am Ende dieses Kapitels eine Zusammenfassung

Mehr

Der Ball kann angezeigt werden: anzeigen( ) {... } Der Ball kann z.b. seine Größe verändern: groesseaendern(int veraenderung) {... } usw.

Der Ball kann angezeigt werden: anzeigen( ) {... } Der Ball kann z.b. seine Größe verändern: groesseaendern(int veraenderung) {... } usw. Objekt-Orientierung Die ersten objektorientierten Sprachen wurden ab 1967 entwickelt (Simula, Smalltalk). Die Grundidee besteht darin, Objekte der realen Welt abzubilden. Java-Programme bestehen aus Klassen.

Mehr

Objektorientierung. Programmierstarthilfe WS 2010/11 Fakultät für Ingenieurwissenschaften und Informatik

Objektorientierung. Programmierstarthilfe WS 2010/11 Fakultät für Ingenieurwissenschaften und Informatik Programmierstarthilfe WS 2010/11 Fakultät für Ingenieurwissenschaften und Informatik Organisatorisches Im Web unter http://www.uni-ulm.de/psh Vorwissen Du kannst bereits Klassen als Typen mit statischen

Mehr

Zahlenraten: Ein Spiel in Java.

Zahlenraten: Ein Spiel in Java. Zahlenraten: Ein Spiel in Java. Nach dem Start vom Java-Editor (und dem Erstellen eines JFrame-Programms) sieht man Folgendes: Dieser Code startet das Programm, indem es ein Objekt der Klasse Zahlenraten

Mehr

Objektorientierung. Klassen und Objekte. Dr. Beatrice Amrhein

Objektorientierung. Klassen und Objekte. Dr. Beatrice Amrhein Objektorientierung Klassen und Objekte Dr. Beatrice Amrhein Überblick Konzepte der Objektorientierten Programmierung Klassen und Objekte o Implementierung von Klassen o Verwendung von Objekten 2 Konzepte

Mehr

6. Zustandsorientierte Modellierung

6. Zustandsorientierte Modellierung bertram.hafner@t-online.de Informatik 11 Seite 25 6. Zustandsorientierte Modellierung Im Alltag benutzen wir vielfältige Automaten: denke an Getränkeautomat, Ampelanlage, Kaffeeautomat, Waschmaschine,

Mehr

Begriffe 1 (Wiederholung)

Begriffe 1 (Wiederholung) Begriffe 1 (Wiederholung) Klasse Eine Klasse ist der Bauplan für ein oder mehrere Objekte. In einer Klasse werden Dienste (Methoden) zur Verfügung gestellt. Klassennamen beginnen mit einem Großbuchstaben.

Mehr

5.5.8 Öffentliche und private Eigenschaften

5.5.8 Öffentliche und private Eigenschaften 5.5.8 Öffentliche und private Eigenschaften Schnittstellen vs. Implementierungen: Schnittstelle einer Klasse beschreibt, was eine Klasse leistet und wie sie benutzt werden kann, ohne dass ihre Implementierung

Mehr

Objektorientierte Programmierung Studiengang Medieninformatik

Objektorientierte Programmierung Studiengang Medieninformatik Objektorientierte Programmierung Studiengang Medieninformatik Hans-Werner Lang Hochschule Flensburg Vorlesung 5 12.04.2017 Was bisher geschah... Objektorientierte Programmierung Klassen und Objekte, Attribute

Mehr

Kapitel 7 Schnittstelle als Außenansicht eines Objekts Seite 1 / 9

Kapitel 7 Schnittstelle als Außenansicht eines Objekts Seite 1 / 9 Kapitel 7 Schnittstelle als Außenansicht eines Objekts Seite 1 / 9 Kapitel 7 Schnittstelle als Außenansicht eines Objekts Lernziele: Schnittstelle, Wiederholung Umsetzung von Beziehungen, Objektkommunikation

Mehr

Am Anfang werden die Attribute deklariert public class Kreis {

Am Anfang werden die Attribute deklariert public class Kreis { Klassendiagramm Kreis Entwerfen Sie ein Klassendiagramm der Klasse Kreis mit allen Attributen und min. drei Methoden. public class Kreis { sichtbar Platz für Atributeund Methoden protected int xposition;

Mehr

Programmierstarthilfe SS 2008 Fakultät für Ingenieurwissenschaften und Informatik 8. Blatt Für den 16. und

Programmierstarthilfe SS 2008 Fakultät für Ingenieurwissenschaften und Informatik 8. Blatt Für den 16. und Programmierstarthilfe SS 2008 Fakultät für Ingenieurwissenschaften und Informatik 8. Blatt Für den 16. und 17.6.2008 Organisatorisches Um auf die Mailingliste aufgenommen zu werden schicke einfach eine

Mehr

Lerne programmieren mit Sequentielle Programmierung mit VPL

Lerne programmieren mit Sequentielle Programmierung mit VPL Lerne programmieren mit Sequentielle Programmierung mit VPL von Basil Stotz Der Bootsverleih Du vermietest Ruderboote an deine Kunden. Du besitzt Ruderboote: Der Einer: ein Boot mit einen Platz. Der Zweier:

Mehr

Gobales Gedächtnis. AntMe. Sebastian Loers. lb-sys.info. Projekt: AntMe - Globales Gedächtnis (Version 1.0)

Gobales Gedächtnis. AntMe. Sebastian Loers. lb-sys.info. Projekt: AntMe - Globales Gedächtnis (Version 1.0) AntMe Sebastian Loers lb-sys.info Projekt: AntMe - Globales Gedächtnis (Version 1.0) Dokument Version: 1.0 Erstellt am: 15.04.2007 Geändert am: 30.04.2007 Copyright 2007 lb-sys.info. Alle Rechte vorbehalten.

Mehr

Objektorientierte Beschreibung einfacher Vektorgrafiken

Objektorientierte Beschreibung einfacher Vektorgrafiken Objektorientierte Beschreibung einfacher Vektorgrafiken Stand: 20.01.2016 Jahrgangsstufen Lernbereich 1: Modul 1.2 Fach/Fächer Zeitrahmen Benötigtes Material Informationstechnologie 1 Unterrichtsstunde

Mehr

Grafik-Programmierung

Grafik-Programmierung Grafik-Programmierung In dieser Übung beschäftigen wir uns zunächst mit elementaren Grundlagen der Grafikprogrammierung. In der nächsten Übung werden wir dies auf Spiele anwenden. Aufgabe 1: Einfache Grafik:

Mehr

Schlussendlich geben wir die Listen aus. Es kommt zu folgender Ausgabe:

Schlussendlich geben wir die Listen aus. Es kommt zu folgender Ausgabe: Musterlösung Übung 7 Aufgabe 1 Sehen wir uns zu allererst das gegebene Forth Programm an: 0 3 new - list constant list1 list1 5 new - list constant list2 list1 6 new - list constant list3 list2 2 new -

Mehr

Aufgabenblatt: OOP - Seite 1. (2.) Geometrie: Erstellen Sie eine Klasse CPyramid, die sich von der Klasse Square ableitet:

Aufgabenblatt: OOP - Seite 1. (2.) Geometrie: Erstellen Sie eine Klasse CPyramid, die sich von der Klasse Square ableitet: Aufgabenblatt: OOP - Seite 1 Aufgabenblatt: OOP II (1.) Gegeben ist nebenstehende die Klasse CPoint! (a.) Schreiben Sie eine Subklasse CPoint3 mit nebenstehenden Eigenschaften und Methoden und Testen Sie

Mehr

/** Main-Methode erzeugt einen neuen Editor zum Testen */ public static void main(string[] args) { new Editor();

/** Main-Methode erzeugt einen neuen Editor zum Testen */ public static void main(string[] args) { new Editor(); Bereich: Grafische Benutzeroberflächen (UI), Events (2) Editor Package: de.dhbwka.java.exercise.ui.editor Klasse: Editor Aufgabenstellung: Schreiben Sie einen kleinen Texteditor mit Swing! Keine Panik,

Mehr

Graphische Benutzungsoberflächen mit Java. Einführung in NetBeans

Graphische Benutzungsoberflächen mit Java. Einführung in NetBeans Graphische Benutzungsoberflächen mit Java Einführung in NetBeans Graphische Benutzungsoberflächen! Interaktion mit dem Programm! Datenein- und ausgabe! Rückmeldungen über Verarbeitung der Daten! Visualisierung

Mehr

EAD II Übung 5. Graphische Benutzungsoberfläche mit BlueJ

EAD II Übung 5. Graphische Benutzungsoberfläche mit BlueJ EAD II Übung 5 Graphische Benutzungsoberfläche mit BlueJ Graphische Benutzungsoberfläche (GUI) Fenster, das weitere Komponenten zur Darstellung und Interaktion enthält spezielle Standardbibliotheken erforderlich,

Mehr

Neben der Verwendung von Klassen ist Vererbung ein wichtiges Merkmal objektorientierter

Neben der Verwendung von Klassen ist Vererbung ein wichtiges Merkmal objektorientierter Kapitel 1 Der vierte Tag 1.1 Vererbung Neben der Verwendung von Klassen ist Vererbung ein wichtiges Merkmal objektorientierter Sprachen. Unter Vererbung versteht man die Möglichkeit, Eigenschaften vorhandener

Mehr

12. Fachseminar Informatik Martin Jakobs Zustandsorientierte Modellierung (Standard 2)

12. Fachseminar Informatik Martin Jakobs Zustandsorientierte Modellierung (Standard 2) Ergebnisse der Seminarsitzung vom 14. Januar 2008 Definition 1 Ein ist eine struktur- und verhaltenstreue Beschreibung eines eistierenden oder geplanten Sstems. Definition 2 Ein ist eine vereinfachte Nachbildung

Mehr

Felder. M. Jakob. 28. April Gymnasium Pegnitz

Felder. M. Jakob. 28. April Gymnasium Pegnitz Felder M. Jakob Gymnasium Pegnitz 28. April 2015 Inhaltsverzeichnis 1 Begriffsbildung 2 Verwendung von Feldern Begriffsbildung Gliederung 1 Begriffsbildung 2 Verwendung von Feldern M. Jakob (Gymnasium

Mehr

Arbeitsblatt 6: Programmierung geometrischer Figuren

Arbeitsblatt 6: Programmierung geometrischer Figuren Arbeitsblatt 6: Programmierung geometrischer Figuren Die Karten, auf denen die Lärmmessungen dargestellt werden, bestehen aus einer Vielzahl geometrischer Formen. Diese geometrischen Formen ergeben zusammen

Mehr

Kapitel 14 Das Labyrinth optimieren

Kapitel 14 Das Labyrinth optimieren Kapitel 14 Das Labyrinth optimieren Seite 1 / Kapitel 14 Das Labyrinth optimieren Lernziele: Erstellen mehrerer Methoden mit gleichem Namen in einer einzigen Klasse Vertiefungen zur Objektkommunikation.

Mehr

Serienbrief erstellen

Serienbrief erstellen Um in Word 2010 einen Serienbrief zu erstellen, muss man den Seriendruck-Assistenten aufrufen. Der Seriendruck-Assistent führt dich in sechs Schritten durch diese Thematik. Dabei enthält jeder Schritt

Mehr

Jetzt sollt ihr von der Vorlage der Grundversion 1.0 ein eigenes Textadventure erstellen.

Jetzt sollt ihr von der Vorlage der Grundversion 1.0 ein eigenes Textadventure erstellen. Teil B: Erweiterungen Jetzt sollt ihr von der Vorlage der Grundversion 1.0 ein eigenes Textadventure erstellen. Die folgenden Aufgaben und Ausführungen geben einige Hilfestellungen, welche (mindestens

Mehr

Übung Informatik I - Programmierung - Blatt 8

Übung Informatik I - Programmierung - Blatt 8 RHEINISCH- WESTFÄLISCHE TECHNISCHE HOCHSCHULE AACHEN LEHR- UND FORSCHUNGSGEBIET INFORMATIK II RWTH Aachen D-5056 Aachen GERMANY http://programmierung.informatik.rwth-aachen.de LuFG Informatik II Prof.

Mehr

Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung

Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung Ludwig-Maximilians-Universität München WS 2013/14 Institut für Informatik Übungsblatt 10 Prof. Dr. R. Hennicker, A. Klarl Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung

Mehr

1. Das Koordinatensystem

1. Das Koordinatensystem Liebe Schülerin! Lieber Schüler! In den folgenden Unterrichtseinheiten wirst du die Unterrichtssoftware GeoGebra kennen lernen. Mit ihrer Hilfe kannst du verschiedenste mathematische Objekte zeichnen und

Mehr

Exkurs: ANONYME KLASSEN. Techniken der Programmentwicklung Prof. Dr. Wolfgang Schramm

Exkurs: ANONYME KLASSEN. Techniken der Programmentwicklung Prof. Dr. Wolfgang Schramm Exkurs: ANONYME KLASSEN Techniken der Programmentwicklung Prof. Dr. Wolfgang Schramm Anonyme Klassen Eigenschaften 1 Häufigste Anwendung lokaler Klassen: anonyme Definition. Klasse erhält keinen eigenen

Mehr

Drei-Schichten-Architektur. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 16: 3-Schichten-Architektur 1 Fachkonzept - GUI

Drei-Schichten-Architektur. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 16: 3-Schichten-Architektur 1 Fachkonzept - GUI Universität Osnabrück Drei-Schichten-Architektur 3 - Objektorientierte Programmierung in Java Vorlesung 6: 3-Schichten-Architektur Fachkonzept - GUI SS 2005 Prof. Dr. F.M. Thiesing, FH Dortmund Ein großer

Mehr

Fakultät Angewandte Informatik Programmierung verteilter Systeme 28.11.2011. Übungen zur Vorlesung Informatik II, Blatt 6

Fakultät Angewandte Informatik Programmierung verteilter Systeme 28.11.2011. Übungen zur Vorlesung Informatik II, Blatt 6 WS 2011/12 Fakultät Angewandte Informatik Programmierung verteilter Systeme 28.11.2011 Prof. Dr. Bernhard Bauer Übungen zur Vorlesung Informatik II, Blatt 6 Abgabe: Montag, 05.12.2011, 12.00 Uhr, Informatik

Mehr

Unterrichtsmaterialien in digitaler und in gedruckter Form. Auszug aus: Einführung in das objektorientierte Modellieren und Implementieren mit Java

Unterrichtsmaterialien in digitaler und in gedruckter Form. Auszug aus: Einführung in das objektorientierte Modellieren und Implementieren mit Java Unterrichtsmaterialien in digitaler und in gedruckter Form Auszug aus: Einführung in das objektorientierte Modellieren und Implementieren mit Java Das komplette Material finden Sie hier: Download bei School-Scout.de

Mehr

Der Serienbrief bzw. Seriendruck

Der Serienbrief bzw. Seriendruck Der Serienbrief bzw. Seriendruck Sie lernen einen Serienbrief zu erstellen. In Word 2010 wird der Serienbrief unter der allgemeinen Bezeichnung Seriendruck geführt. Er besteht aus einem Hauptdokument (dem

Mehr

7. Übung Informatik II - Objektorientierte Programmierung

7. Übung Informatik II - Objektorientierte Programmierung 7. Übung Informatik II - Objektorientierte Programmierung 29. Mai 2015 Inhalt 1 2 3 Übersicht 1 2 3 Idee Menschen nehmen die Welt in Form von Objekten wahr manche Objekte haben gleiche Eigenschaften, hierüber

Mehr

Klassen und Objekte. Klassen sind Vorlagen für Objekte. Objekte haben. Attribute. Konstruktoren. Methoden. Merkblatt

Klassen und Objekte. Klassen sind Vorlagen für Objekte. Objekte haben. Attribute. Konstruktoren. Methoden. Merkblatt Klassen und Objekte Klassen sind Vorlagen für Objekte. Objekte haben Attribute Konstruktoren Methoden Aus einer Klasse kann man beliebig viele Objekte herstellen. Attribute bestimmen die Eigenschaften

Mehr

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 15/16. Kapitel 7. Grafische Benutzeroberflächen 1

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 15/16. Kapitel 7. Grafische Benutzeroberflächen 1 Kapitel 7 Grafische Benutzeroberflächen Grafische Benutzeroberflächen 1 Ziele Grafische Benutzeroberflächen (Graphical User Interfaces) als Anwendungsbeispiel für die objektorientierte Programmierung kennenlernen.

Mehr

Informatik 1 MaVt FS Übung 10

Informatik 1 MaVt FS Übung 10 Informatik 1 MaVt FS 2010 Übung 10 Claudia Kuster ckuster@inf.ethz.ch Mittwoch 13-15h HG E 27 http://graphics.ethz.ch/~ckuster/teaching/mavt_info1_2010.html Vorlesung Objektorientierte Programmierung Konstruktoren

Mehr

Projektarbeit Java. 4-Gewinnt. Berner Fachhochschule. 2004, Labor für Technische Informatik

Projektarbeit Java. 4-Gewinnt. Berner Fachhochschule. 2004, Labor für Technische Informatik Berner Fachhochschule Hochschule für Technik und Informatik, HTI Fachbereich Elektro- und Informatik Labor für technische Informatik Projektarbeit Java 4-Gewinnt 2004, Labor für Technische Informatik Dateiname:

Mehr

Arbeitsblatt 5 EAD II NetBeans

Arbeitsblatt 5 EAD II NetBeans Arbeitsblatt 5 EAD II NetBeans Graphische Oberfläche für Uhrenanzeige mit NetBeans Für die Einführung in die Verwendung von NetBeans erstellen wir die graphische Oberfläche für die Uhr nun mit NetBeans.

Mehr

Programmieren in Java -Eingangstest-

Programmieren in Java -Eingangstest- Programmieren in Java -Eingangstest- Nummer: 1. Studiengang: Informatik B.Sc. Informatik M.Sc. ESE B.Sc. ESE M.Sc. Sonstiges: Fachsemester: Bitte Fragen, die Sie nicht beantworten können unbedingt mit

Mehr

Durch die Möglichkeit, Ein- und Ausgaben auf der Konsole durchzuführen, kann man auch systematisch das Verhalten von Klassen analysieren.

Durch die Möglichkeit, Ein- und Ausgaben auf der Konsole durchzuführen, kann man auch systematisch das Verhalten von Klassen analysieren. Durch die Möglichkeit, Ein- und Ausgaben auf der Konsole durchzuführen, kann man auch systematisch das Verhalten von Klassen analysieren. 267 Das hier skizzierte Problem basiert auf der strategischen Entscheidung

Mehr

Beispiel zum Schaltungsentwurf mithilfe endlicher Automaten Ein Zähler modulo 3 mit Reset

Beispiel zum Schaltungsentwurf mithilfe endlicher Automaten Ein Zähler modulo 3 mit Reset Eckart Modrow Beispiel zum Schaltungsentwurf S. 1 Beispiel zum Schaltungsentwurf mithilfe endlicher Automaten Ein Zähler modulo 3 mit Reset Inhalt: 1. Bezug zum Unterricht 2. Beschreibung durch einen endlichen

Mehr

Staubsauger-Roboter. Als Vorlage dienen dir drei Klassen: RECHTECK Damit kannst du die Wände des Raums darstellen.

Staubsauger-Roboter. Als Vorlage dienen dir drei Klassen: RECHTECK Damit kannst du die Wände des Raums darstellen. Projekt: Staubsauger-Roboter Immer beliebter werden die kleinen automatischen Haushaltshilfen. Du sollst nun einen Staubsauger-Roboter programmieren, der gesteuert von einer künstlichen Intelligenz (KI)

Mehr

Informationsverarbeitung im Bauwesen

Informationsverarbeitung im Bauwesen 12 im Bauwesen Markus Uhlmann 1 Zusammenfassung der 11. Vorlesung Objektorientierte Programmierung (OOP) Wozu eigentlich? Was unterscheidet OOP von traditionellen Techniken? Verwendung von vordefinierten

Mehr

Prüfung Programming, Automation, Computation

Prüfung Programming, Automation, Computation Prüfung Programming, Automation, Computation Programming: Visualisierung ung mit Google Code Playground (5 Punkte) Die Software GoalScape stellt Hierarchien kreisförmig dar. Die Visualisierung links unten

Mehr

Formulare. Datenbankanwendung 113

Formulare. Datenbankanwendung 113 Formulare Wenn Sie mit sehr umfangreichen Tabellen arbeiten, werden Sie an der Datenblattansicht von Access nicht lange Ihre Freude haben, sind dort doch immer zu wenig Felder gleichzeitig sichtbar. Um

Mehr

Ein kleiner Blick auf die generische Programmierung

Ein kleiner Blick auf die generische Programmierung TgZero Technik.Blosbasis.net June 3, 2013 1 Inhaltsverzeichnis 1 Vorwort 3 2 Ein kleines Beispiel 3 3 Templates 3 4 Verschiedene Datentypen 4 5 Variadic Templates 5 6 Unterschied zwischen den Programmiersprachen

Mehr

Space Shooter. Die Gesteinsbrocken sollen sich von selbst von rechts nach links bewegen.

Space Shooter. Die Gesteinsbrocken sollen sich von selbst von rechts nach links bewegen. Space Shooter 1. Grundlegende Funktionen Lade das Szenario SpaceShooter-0. In diesem Spiel soll zunächst nur Folgendes geschehen: Die Gesteinsbrocken sollen sich von selbst von rechts nach links bewegen.

Mehr

Softwareentwicklung Lösungen zu Programmierung von Klassen mit BlueJ

Softwareentwicklung Lösungen zu Programmierung von Klassen mit BlueJ Klasse, Objekt, Eigenschaften und Verhalten Aufgaben: 1. Erläutern Sie die im obigen Text fett gedruckten Worte. 2. Stellen Sie eine Klasse, die als Bauanleitung für Objekte vom Typ "frische Lebensmittel"

Mehr

Processing Info zu Variablen und Bedingungen

Processing Info zu Variablen und Bedingungen Processing Info zu Variablen und Bedingungen Dieses Dokument enthält - Variablen (Variablen, Datentypen, Deklaration, Geltungsbereich, Benennung) - Bedingungen (if, mousepressed, else) Variablen Eine Variable

Mehr

Inventor. C:\Dokumente und Einstellungen\Administrator\Desktop\COMENIUS_Juni2005\Inventor01_D.doc Seite 1

Inventor. C:\Dokumente und Einstellungen\Administrator\Desktop\COMENIUS_Juni2005\Inventor01_D.doc Seite 1 EINZELTEILMODELLIERUNG MIT DEM INVENTOR... 3 DIE BENUTZEROBERFLÄCHE...4 BAUTEILKONSTRUKTION FÜR EINE BOHRVORRICHTUNG MIT HILFE VON SKIZZENABHÄNGIGKEITEN... 22 Editieren von Skizzen mit Abhängigkeiten...

Mehr

Einführung in Automation Studio

Einführung in Automation Studio Einführung in Automation Studio Übungsziel: Der links abgebildete Stromlaufplan soll mit einer SPS realisiert werden und mit Automation Studio programmiert werden. Es soll ein Softwareobjekt Logik_1 in

Mehr

Eine Klasse beschreibt Objekte mit gleichen Attributen und Methoden.

Eine Klasse beschreibt Objekte mit gleichen Attributen und Methoden. Grundwissen Informatik Objekt Attribut Methoden Als Objekte bezeichnet man alle Gegenstände, Dinge, Lebewesen, Begriffe oder Strukturen unserer Welt ( Autos, Räume, Bakterien, Lehrer, Schüler, Kunden,

Mehr

8 Baum in perfekter Komposition

8 Baum in perfekter Komposition 8 Baum in perfekter Komposition Die Implementierung des Binärbaums im letzten Kapitel wird mithilfe des Entwurfsmusters Kompositum optimiert. Knoten und Abschluss Bei der einfach verketteten Liste wurde

Mehr

Programmiersprache 2 (C++) Prof. Dr. Stefan Enderle NTA Isny

Programmiersprache 2 (C++) Prof. Dr. Stefan Enderle NTA Isny Programmiersprache 2 (C++) Prof. Dr. Stefan Enderle NTA Isny 3. UML Klassendiagramm Nachtrag 3.1 Einführung UML UML ist eine standardisierte Sprache zur Modellierung von Systemen. In UML werden graphische

Mehr

JTable. W. Lang HWR Berlin, SS

JTable. W. Lang HWR Berlin, SS JTable W. Lang HWR Berlin, SS 2014 1 JTable Die Swing-Komponente JTable dient der Darstellung einer zweidimensionalen Tabelle Verwendung häufig im Zusammenhang mit Datenbankanwendungen Im Gegensatz zu

Mehr

Praktikum Software Engineering

Praktikum Software Engineering Praktikum Software Engineering Verwendung von Enterprise Architect Pascal Weber, David Kulicke KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft

Mehr

Flash 8 Lupeneffekt. Natürlich funktioniert diese Anleitung auch mit einem anderen Bild.

Flash 8 Lupeneffekt. Natürlich funktioniert diese Anleitung auch mit einem anderen Bild. Flash 8 Lupeneffekt Allgemein Für die folgenden Lernschritte benötigst du das Foto Winter.jpg aus dem Übungsordner Übungsdateien für Corel Photopaint und Painter. Du kannst den Ordner unter folgender Adresse

Mehr

Praktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester 2017/18. Vorbereitende Aufgaben

Praktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester 2017/18. Vorbereitende Aufgaben Praktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester 2017/18 Fakultät für Informatik Lehrstuhl 14 Lars Hildebrand Übungsblatt 8 Besprechung: 11. 15.12.2017 (KW 50) Vorbereitende

Mehr

Beziehungen zwischen Objekten

Beziehungen zwischen Objekten M. Jakob Gymnasium Pegnitz 10. Dezember 2014 Inhaltsverzeichnis 3 / 15 Beispiel Stadt und Land Objekte einer Klasse (hier LAND) können als Attribute Objekte einer anderen Klasse (hier hauptstadt der Klasse

Mehr

Einführung in die Programmierung

Einführung in die Programmierung Technische Universität München WS 2003/2004 Institut für Informatik Prof. Dr. Christoph Zenger Semestralklausur Einführung in die Programmierung Semestralklausur Java (Lösungsvorschlag) 1 Die Klasse ArrayList

Mehr

Vorbereitende Aufgaben

Vorbereitende Aufgaben Praktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester 2017/18 Fakultät für Informatik Lehrstuhl 14 Lars Hildebrand Übungsblatt 4 Besprechung: 13. 17.11.2017 (KW 46) Vorbereitende

Mehr

Überschreiben von Methoden

Überschreiben von Methoden Vergleich der DoME Realisierungen: Methode ausgeben Version 1 (ohne Vererbung): Anzeigen aller Informationen CD: A Swingin Affair (64 Min)* Frank Sinatra Titelanzahl: 16 Mein Lieblingsalbum von Sinatra

Mehr

7.5 Mit bunten Kreisen spielen

7.5 Mit bunten Kreisen spielen Workshop (fakultativ) 7.5 Mit bunten Kreisen spielen In diesem fakultativen Workshop wollen wir mit Objekt-Arrays arbeiten. Sie erinnern sich an die Klasse Kreis, die wir in der Folge 5 konstruiert hatten.

Mehr

Einführung in die Programmierung für Nebenfach Medieninformatik. Beat Rossmy, Michael Kirsch

Einführung in die Programmierung für Nebenfach Medieninformatik. Beat Rossmy, Michael Kirsch Einführung in die Programmierung für Nebenfach Medieninformatik Beat Rossmy, Michael Kirsch Direct Feedback - Socrative Eure Mitarbeit ist uns wichtig! Installiert euch dazu die kostenlose App Socrative

Mehr

Beziehungen zwischen Objekten

Beziehungen zwischen Objekten Beziehungen zwischen Objekten M. Jakob Gymnasium Pegnitz 2. Februar 2015 Inhaltsverzeichnis 1 Aggregation und Referenzen 1.1 Begriffsbildung 1.2 Umsetzung in Java 2 Sequenzdiagramme 1 Gliederung 1 Aggregation

Mehr

Welche Informatik-Kenntnisse bringen Sie mit?

Welche Informatik-Kenntnisse bringen Sie mit? Welche Informatik-Kenntnisse bringen Sie mit? So gehen Sie vor! Lösen Sie die Aufgaben der Reihe nach von 1 bis 20, ohne das Lösungsblatt zur Hilfe zu nehmen. Der Schwierigkeitsgrad der Aufgaben nimmt

Mehr

Problemlösen Denkaufgaben

Problemlösen Denkaufgaben Problemlösen Denkaufgaben Hufeisenaufgabe Das Hufeisen soll durch 2 gerade Schnitte in so viele Teile wie möglich zerschnitten werden. In der Skizze ist es z.b. in 3 Stücke geteilt. Das Hufeisen ist so

Mehr

Tutorial zum Umgang mit Scratch

Tutorial zum Umgang mit Scratch Tutorial zum Umgang mit Scratch In diesem Tutorial sollst du die grundlegenden Funktionen von Scratch ausprobieren und kennen lernen Danach solltest du gut mit dem Programm umgehen können und eigene Programme

Mehr

Universität zu Lübeck Institut für Telematik. Prof. Dr. Stefan Fischer

Universität zu Lübeck Institut für Telematik. Prof. Dr. Stefan Fischer Universität zu Lübeck Institut für Telematik Prof. Dr. Stefan Fischer Probeklausur im Fach Programmieren Hinweise zur Bearbeitung: Es sind keinerlei Hilfsmittel zugelassen. Diese Klausur umfasst 18 Seiten.

Mehr