Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
Veröffentlicht von:Reiner Hartmann Geändert vor über 7 Jahren
1
Einführung in die objektorientierte Programmierung mit Squeak - BotsInc
2
BotsInc Roboterumgebung zum Programmieren verwendet Squeak-Syntax zur Einführung in objektorientierte Programmierung spezielles Squeak-Image mit Umgebung für BotsInc
3
BotsInc Informationen und Download unter http://smallwiki.unibe.ch/botsinc/ http://smallwiki.unibe.ch/botsinc/ Startbildschirm zeigt einen Roboter, eine Roboterfabrik und zwei Klappen mit Werkzeugen Programmieren heißt, Befehle an Roboter zu senden
4
BotsInc
5
Hilfetext erscheint beim Überfahren mit der Maus enthält Informationen über den Roboter wie Position und Richtung Nachrichten werden verschickt durch Links- Klick, Tippen der Nachricht und Enter
8
BotsInc Syntax der Nachrichten entspricht Squeak- Syntax Roboter ist ein Objekt Nachrichten können einzeln oder als Kaskade geschickt werden, auch eigene Nachrichten einige Squeak-Smarties verfügbar
9
Sprachkonzept Aufbau angelehnt an natürliche Sprache: S-P-O 5 reservierte Wörter: nil, true, false, self, super beim Aufruf einer Methode Parameter übergeben, ist keiner angegeben, wird self übergeben Rückgabewert aus Methode mit ^, sonst wird self zurückgegeben
10
Sprachkonzept unäre Nachrichten bestehen aus Empfänger und Methode meinString size. binäre Nachrichten bestehen aus Empfänger, Methode, Parameterobjekt 1 + 2. Schlüsselwort-Nachrichten bestehen aus Empfänger, Methode mit : und Parameterobjekt(e) meinString at: 1 put: ‘text‘.
11
Sprachkonzept Kaskadieren von Nachrichten, mehrere Nachrichten an das selbe Objekt: aStream nextPutAll: ’abc’; nextPutAll: ’def’; nextPutAll: ’ghi’. ist einfacher und übersichtlicher als: aStream nextPutAll: ’abc’. aStream nextPutAll: ’def’. aStream nextPutAll: ’ghi’.
12
Variablen und Speicher Variablen sind weder Objekte noch Speicherpositionen, sondern zeigen auf Objekte nicht initialisierte Variablen zeigen auf nil mehrere Variablen können auf das selbe Objekt zeigen - Duplikate erzeugt man mit copy
13
Variablen und Speicher Vergleich zweier Variablen mit = testet auf Gleichheit (selbe Werte), mit == auf Äquivalenz (selbes Objekt) automatische Speicherverwaltung erfolgt nebenbei, in der Regel dann, wenn nicht mehr genügend Speicherplatz verfügbar ist
14
Werkzeuge Workspace, Arbeitsbereich um Befehle direkt auszuführen Transcript, Ausgabefenster, z.B. vom Workspace ansprechbar Klassenbrowser, Übersicht über alle Klassen
15
BotsInc neuer Roboter wird in Roboterfabrik erzeugt Roboterfabrik ist eine Klasse beachten: Groß- und Kleinschreibung der Namen von Klasse und Objekt Nachrichten an Fabrik wie an Roboter
18
BotsInc neue Roboter werden mit new in der Fabrik erzeugt und zeigen immer nach Osten spezielles Weltmenü mit Einträgen nur für BotsInc zum Speichern und Beenden, erscheint bei Klick auf den Hintergrund
19
BotsInc Nachrichten-Kaskaden, indem Nachrichten durch Semikolon getrennt werden für komplexe Programme sind direkte Nachrichten ungeeignet deshalb: Skripte im Workspace
21
BotsInc vorherige Nachrichten sind mit Pfeiltasten verfügbar Skripte im Bot Workspace schreiben wie in Squeak Do It All führt alle Nachrichten im Workspace aus, Do It führt markierten Teil aus, Clear Trails löscht Spuren, Clear Robots löscht Roboter und Clear All löscht beides
22
BotsInc
24
| pica | definiert eine Variable, damit ich ein erzeugtes Objekt anfassen kann pica := Bot new erzeugt Objekt der Klasse Bot pica go: 100 sendet die Nachricht go: mit Parameter 100 an pica
25
BotsInc Workspace hat Syntaxhighlighting im Weltmenü gibt es unter Hilfe eine Übersicht über das Vokabular
26
BotsInc Unterstützung bei Fehlern
27
BotsInc unbekannte oder unbenutzte Variablen werden angezeigt
28
BotsInc erste Aufgaben zum Zeichnen jump: bewegen ohne Linie zu zeichnen beInvisible und beVisible zum Unsichtbarmachen bzw. Darstellen Richtungen können als Himmelsrichtungen angegeben werden color: Color blue erzeugt blaues Farbobjekt, das nun einem Roboter zugewiesen werden kann
29
im Weltmenü unter open Browser für Bot öffnen
30
BotsInc Browser, Workspace und Transcript auch in der Seitenklappe verfügbar Skripte speichern im Menü vom Workspace mit save contents Skripte laden im Weltmenü mit open-->file list-- >Datei, Inhalt kopieren Bildschirm erfassen mit capture im Weltmenü um Bilder zu sichern Nachrichten direkt ausführen im Workspace durch Markieren, printIt im Menü
31
BotsInc penSize: und penColor: für Strichstärke und - farbe Color r:g:b: für Farbangaben zwischen 0 und 1 pro Farbkomponente lookLikeTriangle, lookLikeCircle für andere Form extent: width@height für Größenänderungenwidth@height
32
BotsInc Malwerkzeug, um Roboter selber zu malen (wie in eToys) rotes Smartie öffnet Malwerkzeug blaues Smartie zum Speichern der Graphik lila Smartie zum Laden einer Graphik
33
BotsInc wenn Roboterfabrik eigene Graphik verwenden soll: Graphik an Klasse Bot senden mit orangem Smartie oder Roboter sendet Nachricht passImageToClass Bot sendet Nachricht lookLikeImage von da an wird eigene Graphik bei new verwendet
34
BotsInc Nachrichten auch in Skripten verwendbar loadImage (Nutzer wird nach Name gefragt) und loadImage: 'dateiname' (Datei muss vorhanden sein) saveImage und saveImage: 'dateiname' zum Speichern clearImage setzt Roboterfabrik auf Anfangszustand zurück lookLikeBot stellt wieder Roboterbild ein getImageFromClass lädt Graphik der Roboterfabrik
35
Programmieren mit BotsInc grundlegende Algorithmenstrukturen kennenlernen wie Folge, Schleife und Verzweigung Variablenbegriff objektorientierte und ereignisorientierte Softwareentwicklung Implementierung von Algorithmen als Methode von Objekten Verwendung graphischer Basisroutinen zur Visualisierung
36
Programmieren mit BotsInc Folge: sequentielle Ausführung aller Anweisungen im Ballon, Workspace oder Methode Beispiel: Zeichnen vorgegebener einfacher geometrischer Formen
37
Programmieren mit BotsInc Zählschleifen: n timesRepeat: [ Folge von Anweisungen] Variablen: werden zwischen Balken am Beginn des Skriptes angegeben, beginnen mit Kleinbuchstaben | hoehe breite | Zuweisung von Werten mit :=
38
Programmieren mit BotsInc Parameter können im Quelltext wie jede andere Variable verwendet werden Unterschied zu Variablen: - Parameter müssen nicht explizit deklariert werden - Parametern kann kein Wert zugewiesen werden - Initialisierung eines Parameters erfolgt beim nur Senden der Nachricht und Ausführen der korrespondierenden Methode
39
Programmieren mit BotsInc Erstellen und Kombinieren von Methoden Parameterübergabe an Methoden, Formalparameter, Aktualparameter quadrat: seitenlänge Methodenquelltext Formalparameter seitenlänge Aktualparameter noch nicht bekannt, das Objekt, was bei Programmausführung beim Aufruf der Methode quadrat als Parameter übergeben wird
40
Programmieren mit BotsInc Verzweigung: Abfragen von Bedingungen bedingung ifTrue: [Folge von Anweisungen] ifFalse: [Folge von Anweisungen] Bedingung muss Wahrheitswert ergeben Verzweigungen können auch nur einen Zweig zur Ausführung enthalten Verzweigungen können verschachtelt werden
41
Programmieren mit BotsInc bedingungsabhängige Schleifen: [bedingung] whileTrue: [Folge von Anweisungen] Debugger kann jederzeit aus dem Quelltext aufgerufen werden self halt. Ausgabe von Text in Transcript
42
BotsInc im Browser der Klasse Bot kann editiert werden Erstellen eigener Methoden für Roboter wie Programmierung in Squeak Hintergrund kann Gitter sein
46
Programmieren mit BotsInc Dateien laden BotsInc starten Kommandos ausprobieren Beispiel-Methode unter turning testen eigenen Robot zeichnen
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.