Robot Karol - Erlernen grundlegender Kontrollstrukturen
|
|
- Ute Hartmann
- vor 6 Jahren
- Abrufe
Transkript
1 Robot Karol - Erlernen grundlegender Kontrollstrukturen Tags: Kontrollstrukturen, Mini-Language, Programmieren, 9. Klasse, 10. Klasse, eine Epoche Autor/Impressum: Norbert Harz, FWS Werder / Havel Geeignet für Klassenstufe: 9 und 10 Zeitdauer: 20 Doppelstunden Pädagogische Ziele: Erlernen grundlegender Kontrollstrukturen Pädagogischer Hintergrund: Nötige Vorbereitungen: Windows-Betriebssystem, Programm Robot Karol, benötigte Welten ertsellen Hilfsmittel: Computer Involvierbare Fächer: Mathematik, Informatik, Computerkunde Erscheinungsdatum: 2017 Letztes 9. November 2017 Überarbeitungsdatum: Kurzbeschreibung Die Grundidee zu Robot Karol ist schon recht alt. Sie entstammt dem Buch Karel the Robot, A Gentle Introduction to the Art of Programming von Richard E. Pattis aus dem jahre Der Ansatz war (und ist), einen Roboter zu programmieren, der in einer Bildschrimwelt lebt und welchem man bei der Abarbeitung der einzelnen Programmschritt direkt zusehen kann. Robot Karol folgt dabei der Tradition der Mini-Languages Programmiersprachen mit einem bewusst kleinem Sprachumfang, um den Einstieg in die Algorithmik zu erleichtern. Die hier vorgestellte Version stammt von Ondrej Krško (Slowakei) und Ulli Freiberger (München). Sie ist in eine zeitgemäße Form gebracht und läuft auf fast allen Windows Versionen 1. In dieser Epoche erlernen die Schüler 2 die grundlegenden Kontrollstrukturen. Dabei spannt sich der Bogen von der sequenziellen Programmierung bis hin zu selbstdefinierten Anweisungen und Bedingungen. Sie lernen Zählschleifen, kopf- und fußgesteuerte Wiederholungen, Fallunterscheidungen und deren Verschachtelungen kennen. 1 Es sei darauf verwiesen, dass es auch eine betriebssystemunabhängige Java-Version gibt. 2 Es sei an dieser Stelle deutlich darauf hingewiesen, dass der Autor dieser Zeilen fortan in dieser Form schreiben wird. Hier ist jedoch jegliche Form von Diskriminierung ausgeschlossen. Einzig aus Gründen der Lesbarkeit bleibt der Autor bei dieser Form. Pädagogische Forschungsstelle Kassel 1
2 INHALTSVERZEICHNIS Inhaltsverzeichnis 1 Einleitung 5 2 Erste Schritte Lineare Programmierung und vordefiniertet Anweisungen Selbstdefinierte Anweisungen Bedingungem bekannte Bedingungen selbstdefinierte Bedingungen Bedingte Anweisung Wiederholungen Zählschleifen Kopfgesteuerte Schleife Fußgesteuerte Schleife Endloswiederholungen Erweiterungen und Parameter Erweiterungen Parameter Vordefinierte Anweisungen Selbstdefinierte Anweisungen Einige komplexere Beispiele Burgwall Zwei natürliche Zahlen addieren Gleich hohe Mauer bauen Pädagogische Forschungsstelle Kassel 2
3 ABBILDUNGSVERZEICHNIS Abbildungsverzeichnis 1 Robot Karol hat vier Quadrate gelegt Beispiel für ein erstes sequenzielles Programm Beispiel für eine selbstdefinierte Anweisung Beispiel für eine selbstdefinierte Anweisung Welt, in der Robot Karol an einer Mauer entlang laufen soll Beispiel für eine selbstdefinierte Bedingung und deren Anwendung Welt, in der Robot Karol an der Weltwand entlang laufen soll Beispiel für eine Fallunterscheidung Beispiel für eine Zählschleife Beispiel für ein Struktogramm Beispiel einer Bücherei Beispiel für eine kopfgesteuerte Schleife Struktogramm für kopfgesteuerte Schleifen Beispiel für eine fußgesteuerte Schleife Struktogramm einer fußgesteuerten Schleife Ein weiteres Beispiel für eine fußgesteuerte Schleife Das entsprechende Struktogramm Robot Karol läuft Wacht Beispiel für eine Endlosschleife Das entsprechende Struktogramm Verschiedene Trenner im Einsatz Das Ergebnis des linken Programmcodes Verschiedene Arten von Kommentaren Das Ergebnis des linken Programmcodes Objekte und Methoden Einfügen einer Bibliothek und Aufruf Parameter bei vordefinierten Anweisungen Erstes Beispiel für formale Parameter in einer selbstdefinierten Anweisung Das Ergebnis des linken Programmcodes Pädagogische Forschungsstelle Kassel 3
4 ABBILDUNGSVERZEICHNIS 30 Zweites Beispiel mit einer verschachtelten Anweisung Das Ergebnis des linken Programmcodes Robot Karol läuft Wacht Robot Karol addiert zwei Zahlen Robot Karol baut eine Mauer, die so hoch ist, wie die höchste Stelle Pädagogische Forschungsstelle Kassel 4
5 1. EINLEITUNG 1 Einleitung Das Programm Robot Karol kann man sich von verschiedenen Webseiten herunter laden. Eine erste und gut fundierte Anlaufstelle kann sein. Dort findet man zum einen immer die aktuellste Programmversion, sowie viele nützliche Tipps und auch schon fertige Lösungen zu Aufgaben. In dem vorliegendem Text geht es um eine mögliche Unterrichtssequenz, die vom Autor selbst schon mehrfach erprobt wurde. Völlig einsichtig und klar ist, dass es natürlich keinen festen Weg durch die Thematik geben kann. Vielmehr ist der Weg natürlich durch die Vorlieben und Vorkenntnisse des Lehrers geprägt und er muss selbstredend auch seine Klasse im Blick haben und so den Weg anpassen. Pädagogische Forschungsstelle Kassel 5
6 2. ERSTE SCHRITTE 2 Erste Schritte 2.1 Lineare Programmierung und vordeniertet Anweisungen Ein erster Weg in die Programmierung mit Robot Karol kann das spielerische Kennenlernen der Welt von Robot Karol sein. Dazu können wir die Schüler zunächst frei programmieren lassen. Sie sollen und dürfen durch herumexperimentieren die Fähigkeiten des kleinen Lego - Männchen erfahren. Dazu verwenden wir zunächst die vordefinierten Anweisungen, wie zb: Schritt LinksDrehen RechtsDrehen Hinlegen Um dieser Unterrichtssequenz dann eine Richtung zu geben, kann man folgende einfache Aufgabe stellen: Die Schüler sollen in einer 10 x 10 - Welt vier Quadrate aus jeweils vier Marken legen (vgl. Abbildung 1). Die Quadrate sollen dabei symmetrisch angeordnet sein. Um diese Problem zu lösen, sollen die Schüler zunächst den Weg der linearen (also geradlinigen) Programmierung gehen. Sie schreiben dazu einfach alle Anweisung direkt untereinander (vgl. Abbildung 2). Abbildung 1: Robot Karol hat vier Quadrate gelegt Abbildung 2: Beispiel für ein erstes sequenzielles Programm Pädagogische Forschungsstelle Kassel 6
7 2. ERSTE SCHRITTE Bei dieser Art der Programmierung erkennen die meisten Schüler recht schnell, dass es es wohl recht einfach ist, den schon geschriebenen Quellcode per Copy and Past weiter zu benutzen. Hier können wir dann anknüpfen, und erfragen, ob es nicht elegantere Varianten geben könnte, als das bloße kopieren des schon geschriebenen Textes. In der Regel gelingt es den Schülern recht schnell dahin zu gelangen, dass man ja den schon mal geschriebenen Text irgendwie noch mal verwenden könnte. Hier führen wir dann die sogenannte selbstdefinierte Anweisung quasi als parameterfreie Funktion ein. 2.2 Selbstdenierte Anweisungen Schauen wir uns zunächst kurz den Aufbau einer selbstdefinierten Anweisung an. Abbildung 3: Beispiel für eine selbstdefinierte Anweisung Eine selbstdefinierte Anweisung wird immer mit dem Begriff ANWEI- SUNG 3 begonnen. Danach folgt der Name der Anweisung, unter welchem sie später aufgerufen wird. Dieser Name kann frei vergeben werden, darf aber keine Leerzeichen enthalten. Es empfiehlt sich, einen aussagekräftigen Namen zu verwenden. Sie muss zwingend mit *ANWEI- SUNG enden. Dazwischen werden die Befehle notiert, die durch diese Anweisung ausgeführt werden. Im obigen Beispiel (Abbildung 3) ist gut zu sehen, wie die selbstdefinierte Anweisung dann aufgerufen werden. Dieses geschieht einfach dadurch, dass man an der Stelle, an der die Befehle ausgeführt werden sollen, den Name der Anweisung schreibt. Häufig ist an dieser Stelle das Phänomen zu beobachten, dass es den Schüler zuerst recht schwer fällt, zu erkennen, dass man an dieser Aufgabe das legen der Quadrate so auslagern muss, dass Robot Karol zu Beginn möglichst an der gleichen Stelle bei jedem Quadrat stehen soll. 3 Die Groß- oder Kleinschreibung spielt hier keine Rolle. Der Autor hat jedoch der besseren Übersichtlichkeit an dieser Stelle die Großschreibung eingeführt. Pädagogische Forschungsstelle Kassel 7
8 2. ERSTE SCHRITTE In diesem Codeabschnitt (siehe linke Abbildung) ist recht gut zu erkennen, dass sich bestimmte Anweisungen immer wieder wiederholen. Wir können nun überlegen, ob es nicht eine elegantere Lösung gibt, um diese Wiederholungen zu vermeiden. In der Regel kommen die Schüler recht schnell auf die Idee, an dieser Stelle irgendwie zu schreiben, dass diese Sequenz vier mal wiederholt werden müsste. Damit ergibt sich der Übergang zu den Zählschleifen. Abbildung 4: Beispiel für eine selbstdefinierte Anweisung Pädagogische Forschungsstelle Kassel 8
9 3. BEDINGUNGEN 3 Bedingungen Unter einer Bedingung verstehen wir eine Anfrage Robot Karols an seine Umgebung, die ein eindeutiges Ergebnis liefert. Die Ergebnisse können entweder WAHR (also TRUE) oder FALSCH (also FALSE) sein. 3.1 bekannte` Bedingungen Unser kleiner Robot Karol kennt von vornherein Bedingungen, die in allen möglichen Kontexten verwendet werden können. Schauen wir uns zunächst an, welche vordefinierten Bedingungen es gibt 4 : Bedingung Karol meldet WAHR, IstWand wenn er vor der Wand oder vor einem Quader steht und in diese Richtung schaut IstZiegel wenn er vor einem Ziegel oder Ziegelstapel steht und in dessen Richtung schaut IstMarke wenn er auf einer Marke steht IstSüden, IstNorden, IstWesten, IstOsten wenn Karol in diese Richtung schaut Ebenso ist es natürlich möglich auch die Verneinung aller Bedingungen zu benutzen. Als Beispiel sie hier NICHT IstWand genannt. Damit werden alle Varianten erfasst, bei denen WENN Ist- Wand nicht zutrifft. Es sei hier kurz darauf verwiesen, dass wir in der allgemeinen Fachsprache hier von Fallunterscheidung sprechen. Ein kleines Beispiel wollen wir uns im Abschnitt Bedingte Anweisung näher ansehen. 3.2 selbstdenierte Bedingungen Eine weitere Variante, um Bedingungen zu definieren, sind sogenannte selbstdefinierte Bedingungen. Ein häufiges Problem, über welches Schüler an dieser Stelle stolpern, ist, dass Robot Karol zum Anfnag und zum Ende der Prüfung der Bedingung wieder an der selben Stelle (also auf dem selben Feld) stehen muss und wieder in die selbe Richtung schauen muss. Dann müssen im Programmcode der Bedingung die Wörter WAHR und FALSCH auftreten. Erst damit kann in geeigneter Weise festgelegt werden, welchen Wert die Bedingung zurück gibt. Der Bedingung kann mit einem frei definierten Namen benannt werden. Dieser kann Buchstaben, Ziffern und den Unterstrich enthalten. Schauen wir uns dazu ein kleines Beispiel an. In diesem Beispiel soll Robot Karol solange gerade aus laufen, solange sich rechts von ihm eine Wand befindet. Wenn die Wand zu Ende ist, soll er einfach stehen bleiben. 4 An dieser Stelle wird auf die Überwachung der Tragfähigkeit verzichtet. Dem geneigten Leser wird statt dessen die Literatur des Handbuches für diese Bedingungen empfohlen. Pädagogische Forschungsstelle Kassel 9
10 3. BEDINGUNGEN Abbildung 5: Welt, in der Robot Karol an einer Mauer entlang laufen soll Abbildung 6: Beispiel für eine selbstdefinierte Bedingung und deren Anwendung Wie wir in Abbildung 6 gut sehen können, muss die selbstdefinierte Bedingung vor dem eigentlichem Programmcode stehen. Ebenso können wir dort auch einen geeigneten Einsatz der Wahrheitswerte WAHR und FALSCH sehen. In dem Moment, in dem die selbstdefinierte Bedingung WAHR zurück gibt, geht Robot Karol einen Schritt vorwärts, sonst wird dieses Prozedere abgebrochen. 3.3 Bedingte Anweisung An einem kleinen Beispiel sei nun noch einmal die Verwendung von Bedingungen gezeigt. In diesem Beispiel soll Robot Karol bis zur Wand laufen und wenn er diese erreicht hat, soll er sich nach links drehen und solange weiter gehen, bis die Zählschleife (vgl. Zählschleifen) beendet ist. Abbildung 7: Welt, in der Robot Karol an der Weltwand entlang laufen soll Abbildung 8: Beispiel für eine Fallunterscheidung Pädagogische Forschungsstelle Kassel 10
11 4. WIEDERHOLUNGEN 4 Wiederholungen 4.1 Zählschleifen An den vorhergehenden Überlegungen haben wir ersehen können, dass es sinnvoll sein kann, bestimmte Codezeilen nicht beliebig oft untereinander zu schreiben, sondern diese durch eine festgelegte Art und Weise zu wiederholen. Dieses realisiert die Zählschleife. An dieser Stelle bietet es sich an, über Struktogramme zu reden bzw. diese einzuführen 5. In Abbildung 9 ist gut zu erkennen, wie die Struktur einer Zählschleife aussieht (Im Beispiel wurde die Zählschleife gleich in eine selbstdefinierte Anweisung integriert...). Jede Zählschleife wird mit einem WIEDERHOLE X MAL eingeleitet, wobei X für die Anzahl der Schleifendurchläufe steht. Danach folgen die Programmteile, welche wiederholt werden sollen. Die Zählschleife wird (wie gehabt) mit *WIEDERHOLE beendet. Abbildung 9: Beispiel für eine Zählschleife In Struktogrammschreibweise: In der Abbildung 10 sehen wir eine grundlegende Eigenschaft eines korrekten Struktogramms. Jedes Struktogramm ist immer rechteckig. Wir können hier gut erkennen, wie Zählschleifen als Struktogramm dargestellt werden. Abbildung 10: Beispiel für ein Struktogramm 4.2 Kopfgesteuerte Schleife Im nachfolgenden wollen wir uns einer weiteren Aufgabe zuwenden. Robot Katol hat die Aufgabe, Bücher in einem Regalfach einer Bücherei abzulegen. 5 Natürlich kann das Thema Struktogramme schon vorher behandelt worden sein, ausgelagert werden oder auch ganz weggelassen werden. Dieses hängt selbstverständlich von der ganz konkreten Unterrichtssituation ab. Pädagogische Forschungsstelle Kassel 11
12 4. WIEDERHOLUNGEN Abbildung 11: Beispiel einer Bücherei In der nebenstehenden Abbildung sei eine erste Bücherei dargestellt. Jedes Fach wird hier durch eine Lücke in der Wand dargestellt. Das Ende des Buchregals wird für erste einfache Aufgaben durch eine Marke festgelegt. Eine erste mögliche Programmierung wird durch eine feste Bücherei, d.h. die Struktur (hier der Abstand zu Robot Karol und die Anzahl der Fächer) ist bestimmt, realisiert. Hier kann z.b. die Zählschleife angewandt werden. Nachfolgend wollen wir uns nun einer erweiterten Aufgabenstellung zuwenden. Nachdem die Schüler die Aufgabe mit einer bekannten Bücherei gelöst haben, können wir jetzt dazu übergehen, dass wir eine Lösung suchen, bei der der Abstand des Buchregals zur Ausgangsposition Robot Karols unbekannt ist. Recht schnell gelangen Schüler an dieser Stelle dazu, Formulierungen zu finden, wie: Robot Karol soll solange laufen, bis er am Regal angekommen ist. Hier kommen wir dann zur Kopfgesteuerten Schleife. In der nebenstehenden Abbildung ist gut zu erkennen, wie die Struktur einer kopfgesteuerten Schleife aussieht. Abbildung 12: Beispiel für eine kopfgesteuerte Schleife Jede kopfgesteuerte Schleife wird mit einem WIEDERHOLE SOLANGE BEDINGUNG eingeleitet. Hier steht BEDINGUNG selbstverständlich für die Bedingung, bei der die Schleife durchlaufen werden soll. In unserem Beispiel wäre das NichtIstWand Ḋie Bedingung kann aber auch verneint werden, also in etwa: Nicht IstWand Danach folgen die Programmteile, welche wiederholt werden sollen. Die kopfgesteuerte Schleife wird (wie gehabt) mit *WIEDERHOLE beendet. In Struktogrammschreibweise: In der Abbildung 13 sehen wir in der Mitte den entsprechenden Abschnitt für die Struktogrammdarstellung einer kopfgesteuerten Schleife. Abbildung 13: Struktogramm für kopfgesteuerte Schleifen Pädagogische Forschungsstelle Kassel 12
13 4. WIEDERHOLUNGEN Fuÿgesteuerte Schleife Im Unterschied zu der oben dargestellten kopfgesteuerten Schleife, wird die fußgesteuerte Schleife mindestens einmal durchlaufen. Nachfolgenden wollen wir uns nur kurz einen möglichen Programmcode und das dazugehörige Struktogramm anschauen. Abbildung 14: Beispiel für eine fußgesteuerte Schleife Abbildung 15: Struktogramm einer fußgesteuerten Schleife Es sei an dieser Stelle auch noch auf die fußgesteuerten Schleifen mit dem Abbruchkriterium bis verwiesen. Auch hier wollen wir uns nachfolgend ein kurzes Beispiel dazu anschauen. Wir können dort noch einmal sehr gut erkennen, warum wir an dieser Stelle von fußgesteuerten Schleife sprechen. Die Bedingungen, bei der die Schleifen durchlaufen werden bzw. die zum Abbruch der Schleife führen, stehen im Fuß der Schleife. Abbildung 16: Ein weiteres Beispiel für eine fußgesteuerte Schleife Abbildung 17: Das entsprechende Struktogramm Endloswiederholungen Als eine letzte Schleifenart wollen wir uns die Endloswiederholungen anschauen. Dazu betrachten wir wieder ein Beispiel. Im nachfolgenden soll zunächst nur der Ausschnitt einer Aufgabe betrachtet werden. In dieser ist Robot Karol als Burgwächter auf dem Wall einer Burg unterwegs. Dazu soll er zuerst auf den Wall hinaufsteiegen und dann auf diesem Wall unendlich lange Wache gehen. Pädagogische Forschungsstelle Kassel 13
14 4. WIEDERHOLUNGEN Abbildung 18: Robot Karol läuft Wacht Die dafür zu verwendende Syntax ist recht einfach und setzt sich passend zu allen anderen Wiederholungen fort: Abbildung 19: Beispiel für eine Endlosschleife Abbildung 20: Das entsprechende Struktogramm... Wie wir auch sehr leicht erkennen können, wird eine Endlosschleife mit den Worten WIEDERHOLE IMMER eingeleitet. Danach folgt der zu wiederholende Programmcode und die Schleife wird mit *WIEDERHOLE beendet. Pädagogische Forschungsstelle Kassel 14
15 5. ERWEITERUNGEN UND PARAMETER 5 Erweiterungen und Parameter 5.1 Erweiterungen Wir wollen uns nun kurz einigen Besonderheiten der Programmiersprache Robot Karols zuwenden. Diese orientieren sich zum Teil an den Programmiersprachen wie PHP, Pascal, C und C++. Trenner Zwischen den einzelnen Anweisungen können außer einer Lücke und einer neuen Zeile auch Semikolons verwendet werden. Abbildung 21: Verschiedene Trenner im Einsatz Abbildung 22: Das Ergebnis des linken Programmcodes Kommentare Ein guter Programmcode enthält immer Kommentare, um ihn zum einen für andere lesbar zu machen und auch um ihn bei späterer Bearbeitung wieder verständlich in die Erinnerung zu bringen. Kommentare können an fast allen Stellen im Programm stehen und werden einzeilig durch zwei // eingeleitet. Mehrzeilige Kommentare werden mit einer geschweiften Klammer begonnen und auch wieder beendet. Abbildung 23: Verschiedene Arten von Kommentaren Abbildung 24: Das Ergebnis des linken Programmcodes Objekt Robot Karol An dieser Stelle wollen wir den Programmierer von Robot Karol selbst zu Wort kommen lassen, um zu erläutern, was wir darunter verstehen: Um zu verdeutlichen, dass die Ausführung einer Anweisung der Aufruf der entsprechenden Methode des Objekts bedeutet, kann man in Karol auch die Punkt-Schreibweise für den Objektbezug verwenden. Ebenso ist, aus didaktischen Überlegungen, die Verwendung von Klammern möglich. Pädagogische Forschungsstelle Kassel 15
16 5. ERWEITERUNGEN UND PARAMETER Abbildung 25: Objekte und Methoden Bibliothek Auch in Robot Karol ist es möglich, auf externe Bibliotheken zu verweisen. Diese werden durch den Befehl EINFÜGEN hinzugefügt werden. Liegen die entsprechenden Bibliotheken im selben Verzeichnis, wie das Hauptprogramm, reicht alleine der Name der Bibliothek. Liegen die Bibliotheken in einem anderem Verzeichnis, muss dieses im Verweis mit angegeben werden 6 Abbildung 26: Einfügen einer Bibliothek und Aufruf 5.2 Parameter In der Programmiersprache von Robot Karol kann man ähnlich wie bei den großen Schwestern Parameter bei einigen Aufrufen verwenden. 5.3 Vordenierte Anweisungen Bei folgenden vordefinierten Anweisungen und Bedingungen kann als Parameter eine Anzahl übergeben werden: Schritt Hinlegen Aufheben Warten IstZiegel NichtIstZiegel bei Überwachung der Tragfähigkeit: HatZiegel 6 Der Autor hat mehrfach die Erfahrung gemacht, dass Verweise auf Pfadnamen mit Leerzeichen zu Problemen führen können. Es ist daher ratsam, diese möglichst immer im selben Verzeichnis zu speichern. Pädagogische Forschungsstelle Kassel 16
17 5. ERWEITERUNGEN UND PARAMETER Der Aufruf erfolgt recht einfach mit der entsprechenden Anzahl: Schritt(10). Abbildung 27: Parameter bei vordefinierten Anweisungen 5.4 Selbstdenierte Anweisungen Auch bei selbstdefinierten Anweisungen und Bedingungen kann ein formaler Parameter verwendet werden. Dieser hat die fest vorgegebene Bezeichnung X. Innerhalb der selbstdefinierten Anweisungen und Bedingungen kann dann dieser Parameter bei allen unterstützen Anweisungen und Bedingungen verwendet werden (Siehe die Liste in Vordefinierte Anweisungen). Eine Angabe des formalen Parameters in der Definitionszeile der Anweisung ist nicht nötig, aber aus didaktischen Gründen empfehlenswert. Der Aufruf der selbstdefinierten Anweisung oder der Bedingung muss dann mit einer natürlichen Zahl als Parameter erfolgen. Null ist dabei bei Bedingungen auch möglich. Abbildung 28: Erstes Beispiel für formale Parameter in einer selbstdefinierten Anweisung Abbildung 29: Das Ergebnis des linken Programmcodes Pädagogische Forschungsstelle Kassel 17
18 5. ERWEITERUNGEN UND PARAMETER Auch Verschachtelungen sind möglich. Abbildung 30: Zweites Beispiel mit einer verschachtelten Anweisung Abbildung 31: Das Ergebnis des linken Programmcodes Pädagogische Forschungsstelle Kassel 18
19 6. EINIGE KOMPLEXERE BEISPIELE 6 Einige komplexere Beispiele Im nachfolgenden sollen zum Abschluss einige teilweise recht komplexe Beispiele vorgestellt werden. 6.1 Burgwall In dieser Aufgabe geht es darum, dass Robot Karol unendlich lang auf einem gegebenem Burgwall Wacht geht (vgl. Endloswiederholungen). Abbildung 32: Robot Karol läuft Wacht Eine mögliche Beispiellösung sei hier gegeben. Listing 1: Burgwall 1 / / p r ü f e, ob r e c h t s Wand 2 Bedingung I s t R e c h t s Z i e g e l 3 F a l s c h 4 RechtsDrehen 5 Wenn I s t Z i e g e l Dann 6 Wahr 7 Wenn 8 LinksDrehen 9 Bedingung / / p r ü f e, ob l i n k s Wand 12 Bedingung I s t L i n k s Z i e g e l 13 F a l s c h 14 LinksDrehen 15 Wenn I s t Z i e g e l Dann 16 Wahr 17 Wenn 18 RechtsDrehen Pädagogische Forschungsstelle Kassel 19
20 6. EINIGE KOMPLEXERE BEISPIELE 19 Bedingung Anweisung BaueMauerAb 22 LinksDrehen 23 LinksDrehen 24 Wiederhole s o l a n g e i s t z i e g e l 25 wenn i s t z i e g e l dann 26 Aufheben 27 wenn 28 Wiederhole 29 RechtsDrehen 30 RechtsDrehen 31 Anweisung / / Hauptprogramm 34 Programm 35 w i e d e r h o l e 3 mal 36 s c h r i t t 37 bauemauerab 38 w i e d e r h o l e 39 w i e d e r h o l e immer 40 Wenn N i c h t I s t L i n k s Z i e g e l Dann 41 Wenn N i c h t I s t R e c h t s Z i e g e l Dann 42 S c h r i t t 43 s o n s t 44 RechtsDrehen 45 S c h r i t t 46 Wenn 47 s o n s t 48 LinksDrehen 49 S c h r i t t 50 Wenn 51 Wiederhole 52 Programm 6.2 Zwei natürliche Zahlen addieren In diesem Beispiel geht es darum, dass Robot Karol zwischen zwei natürlichen Zahlen steht und diese addieren soll. Dieses Beispiel ist den Beispielen entnommen, welche dem Paket Robot Karol beiliegen 7. 7 Es sei an dieser Stelle darauf verwiesen, dass die Lösung zur Zeit vom Programmautor selbst stammt. Pädagogische Forschungsstelle Kassel 20
21 6. EINIGE KOMPLEXERE BEISPIELE Abbildung 33: Robot Karol addiert zwei Zahlen Die mögliche Beispiellösung vom Programmautor sei hier gegeben. 1 { Programm Summe von zwei Zahlen Listing 2: Summe zweier Zahlen 2 Karol s t e h t zu Beginn vor der e r s t e n Z i f f e r und 3 s c h a u t zum z w e i t e n Summanden 4 ( e v e n t u e l l v o r h e r genügend o f t LinksDrehen m i t t e l s 5 Bedingung I s t O s t e n ) 6 7 Das Programm z e i g t 8 s e l b s t d e f i n i e r t e Anweisungen 9 s e l b s t d e f i n i e r t e Bedingung 10 Anweisungen langsam und s c h n e l l 11 Parameter ( zum B e i s p i e l wenn Z i e g e l ( 1 0 ) dann... ) 12 Bedingungen, d i e d i e A u s r i c h t u n g von Karol p r ü f e n 13 ( I s t N o r d e n, I s t S ü d e n, I s t W e s t e n, I s t O s t e n ) a = b = a+b = } Anweisung Umdrehen ; 21 s c h n e l l 22 LinksDrehen 23 LinksDrehen 24 langsam Pädagogische Forschungsstelle Kassel 21
22 6. EINIGE KOMPLEXERE BEISPIELE 25 Anweisung { Eine Marke i s t 10 Z i e g e l wert } 28 Anweisung P r ü f e Ü b e r t r a g 29 wenn I s t Z i e g e l ( 1 0 ) dann 30 w i e d e r h o l e 10 mal Aufheben w i e d e r h o l e ; 31 MarkeSetzen 32 wenn 33 Anweisung { Einen S t a p e l a u f den z w e i t e n v e r s e t z e n. 36 Wenn s i c h e i n " Übertrag " e r g i b t, wird e i n e Marke g e s e t z t } 37 Anweisung V e r s e t z e n 38 s o l a n g e I s t Z i e g e l t u e 39 Aufheben 40 Umdrehen 41 H i n l e g e n P r ü f e Ü b e r t r a g Umdrehen 46 s o l a n g e 47 Anweisung { E r g i b t wahr, wenn r e c h t e r h a n d von Karol e i n e Wand i s t } 50 Bedingung IstWandRechts 51 s c h n e l l 52 RechtsDrehen 53 wenn IstWand dann 54 wahr 55 s o n s t 56 f a l s c h 57 wenn 58 LinksDrehen 59 langsam 60 Bedingung Anweisung Rechnen 63 / / w i e d e r h o l e 9 mal 64 s o l a n g e n i c h t IstWandRechts t u e 65 V e r s e t z e n 66 RechtsDrehen wenn I s t M a r k e dann 69 MarkeLöschen 70 S c h r i t t Pädagogische Forschungsstelle Kassel 22
23 6. EINIGE KOMPLEXERE BEISPIELE 71 RechtsDrehen 72 H i n l e g e n P r ü f e Ü b e r t r a g Umdrehen 77 s o n s t 78 S c h r i t t 79 LinksDrehen 80 wenn 81 s o l a n g e 82 Anweisung / / Hauptprogramm 85 { Karol z u r r i c h t i g e n S e i t e drehen } 86 Programm 87 s o l a n g e n i c h t I s t O s t e n t u e LinksDrehen s o l a n g e 88 { Summe berechnen } 89 Rechnen 90 Programm 6.3 Gleich hohe Mauer bauen In dieser Aufgabe geht es darum, dass Robot Karol aus einer gegebenen Zick-Zick - Mauer eine gleich hohe Mauer bauen soll. Abbildung 34: Robot Karol baut eine Mauer, die so hoch ist, wie die höchste Stelle Pädagogische Forschungsstelle Kassel 23
24 6. EINIGE KOMPLEXERE BEISPIELE Eine mögliche Beispiellösung sei hier gegeben. 1 / / Mauer a u f g e l i c h e max. Höhe b r i n g e n 2 Bedingung I s t R e c h t s Z i e g e l 3 S c h n e l l 4 f a l s c h 5 RechtsDrehen 6 wenn I s t Z i e g e l dann 7 wahr 8 wenn 9 LinksDrehen 10 Langsam 11 Bedingung Bedingung I s t L i n k s Z i e g e l 14 S c h n e l l 15 f a l s c h 16 LinksDrehen 17 wenn I s t Z i e g e l dann 18 wahr 19 wenn 20 RechtsDrehen 21 Langsam 22 Bedingung / / Großer S c h r i t t nach r e c h t s 26 Anweisung R e c h t s S c h r i t t 27 w i e d e r h o l e 2 mal 28 RechtsDrehen 29 S c h r i t t 30 w i e d e r h o l e 31 Anweisung / / Großer S c h r i t t nach l i n k s 34 Anweisung L i n k s S c h r i t t 35 w i e d e r h o l e 2 mal 36 LinksDrehen 37 S c h r i t t 38 w i e d e r h o l e 39 Anweisung Anweisung Umdrehen 42 LinksDrehen Listing 3: Mauer bauen Pädagogische Forschungsstelle Kassel 24
25 6. EINIGE KOMPLEXERE BEISPIELE 43 LinksDrehen 44 Anweisung / / g e h t z u r ück z u r Wand 47 Anweisung SucheWandHinterDir 48 Umdrehen 49 w i e d e r h o l e s o l a n g e NichtIstWand 50 S c h r i t t 51 w i e d e r h o l e 52 Anweisung / / g e h t z u r ück z u r Wand 55 Anweisung SucheWandVorDir 56 w i e d e r h o l e s o l a n g e NichtIstWand 57 S c h r i t t 58 w i e d e r h o l e 59 Anweisung Anweisung BaueEineReiheAb 62 w i e d e r h o l e s o l a n g e NichtIstWand 63 wenn I s t R e c h t s Z i e g e l dann 64 RechtsDrehen 65 Aufheben 66 LinksDrehen 67 wenn 68 S c h r i t t 69 w i e d e r h o l e 70 SucheWandHinterDir 71 Umdrehen 72 Anweisung Anweisung L e g e L i n k s Z i e g e l 75 S c h n e l l 76 LinksDrehen 77 H i n l e g e n 78 RechtsDrehen 79 Langsam 80 Anweisung / / damit wird e i n e Marke g e l e g t und d i e Mauer 83 / / e i n e Reihe a b g e b a u t Anweisung ZaehlMarke 85 SucheWandHinterDir 86 R e c h t s S c h r i t t 87 wenn N i c h t I s t M a r k e dann 88 MarkeSetzen Pädagogische Forschungsstelle Kassel 25
26 6. EINIGE KOMPLEXERE BEISPIELE 89 s o n s t 90 w i e d e r h o l e s o l a n g e I s t M a r k e 91 S c h r i t t 92 w i e d e r h o l e 93 MarkeSetzen 94 wenn 95 SucheWandHinterDir 96 L i n k s S c h r i t t 97 BaueEineReiheAb 98 Anweisung Anweisung S u c h e L e t z t e n Z i e g e l 101 SucheWandVorDir 102 Umdrehen 103 w i e d e r h o l e s o l a n g e n i c h t I s t l i n k s Z i e g e l 104 S c h r i t t 105 w i e d e r h o l e 106 MarkeSetzen 107 SucheWandVorDir 108 Umdrehen 109 Anweisung Programm / / gehe z u e r s t e i n e n S c h r i t t nach l i n k s 114 LinksDrehen 115 S c h r i t t 116 RechtsDrehen 117 MarkeSetzen 118 / / bloed, b r a u c h e n wir a b e r f ü r s Ende S u c h e L e t z t e n Z i e g e l 120 / / w ieder s o l a n g e vor d i r k e i n e Wand i s t 121 / / w i e d e r h o l e s o l a n g e NichtIstWand 122 w i e d e r h o l e s o l a n g e NichtIstWand 123 / / gehe z u e r s t zum e r s t e n Z i e g l r e c h t s von d i r 124 wenn n i c h t I s t R e c h t s Z i e g e l dann 125 S c h r i t t 126 s o n s t 127 / / h i e r S c h l e i f e ü ber a l l e s 128 ZaehlMarke 129 wenn 130 w i e d e r h o l e 131 Umdrehen 132 w i e d e r h o l e s o l a n g e N i c h t I s t M a r k e 133 S c h r i t t 134 w i e d e r h o l e Pädagogische Forschungsstelle Kassel 26
27 6. EINIGE KOMPLEXERE BEISPIELE w i e d e r h o l e 136 L e g e L i n k s Z i e g e l 137 S c h r i t t 138 w i e d e r h o l e b i s I s t M a r k e Programm Pädagogische Forschungsstelle Kassel 27
Robot Karol - ein Lehrgang
1. Wir steuern Robot Karol mit Maus und Tastatur Du kannst Robot Karol mit der Maus steuern. Klicke dazu einfach auf die Pfeile oder Buchstaben. Wenn Robot Karol deinem Befehl nicht gehorchen kann, dann
MehrArbeitsgemeinschaft Robot Karol
Humboldt-Universität zu Berlin ProMINT-Kolleg Arbeitsgemeinschaft Robot Karol Version 1.0 Katja Wundermann wunder@informatik.hu-berlin.de Michael Rücker ruecker@informatik.hu-berlin.de 23. Mai 2012 This
Mehr1 Karol stellt sich vor
Kapitel 1 Karol stell sich vor Seite 1 1 Karol stellt sich vor 1.1 Algorithmus Fritz hat zum Geburtstag einen CD-Player als Geschenk erhalten. Natürlich will er sofort das Geschenk ausprobieren und legt
MehrKleine Anekdote. Schleifen in C
Kleine Anekdote 1786 kam ein Junge mit 9 Jahren in die Volksschule. Um die Schüler zu beschäbigen, gab der Lehrer die Aufgabe alle Zahlen von 1 bis 100 zusammenzuzählen. Dieser neunjährige Junge lieferte
MehrSchleifen in Javascript
Schleifen in Javascript Jobst-Hartmut Lüddecke 3. April 2013 Zusammenfassung In dieser Lektion geht es um Schleifen (engl. loop). Diese Schleifen sind in jeder Programmiersprache das beste Werkzeug für
MehrJavaScript. Dies ist normales HTML. Hallo Welt! Dies ist JavaScript. Wieder normales HTML.
JavaScript JavaScript wird direkt in HTML-Dokumente eingebunden. Gib folgende Zeilen mit einem Texteditor (Notepad) ein: (Falls der Editor nicht gefunden wird, öffne im Browser eine Datei mit der Endung
MehrSchleifen dienen dazu, bestimmte Anweisungen immer wieder abzuarbeiten.
Folge 6 WHILE-Schleife JAVA 6.1 Schleifen Schleifen dienen dazu, bestimmte Anweisungen immer wieder abzuarbeiten. Zu einer Schleife gehören die Schleifenbedingung und der Rumpf. Die Schleifenbedingung
MehrJava 8. Elmar Fuchs Grundlagen Programmierung. 1. Ausgabe, Oktober 2014 JAV8
Java 8 Elmar Fuchs Grundlagen Programmierung 1. Ausgabe, Oktober 2014 JAV8 5 Java 8 - Grundlagen Programmierung 5 Kontrollstrukturen In diesem Kapitel erfahren Sie wie Sie die Ausführung von von Bedingungen
MehrGrundwissen Natur und Technik - Informatik 6/7
Grundwissen Natur und Technik - Informatik 6/7 I. Informationen und ihre Darstellung Die Informatik beschäftigt sich u. a. mit den Fragen: Wie kann man Informationen für eine Maschine eindeutig darstellen?
MehrDie Sprache Karol. Roboter Karol und seine Welt
Die Sprache Karol Die Sprache Karol umfasst: vordefinierte Anweisungen; eigene, selbstdefinierte Anweisungen; vordefinierte Bedingungen; eigene, selbstdefinierte Bedingungen; Kontrollstrukturen: bedingte
MehrProgrammiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny
Programmiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny 5. Kontrollstrukturen Allgemein Kontrollstrukturen dienen zur Steuerung des Programmablaufs. (Bemerkung: C und C++ besitzen die selben Kontrollstrukturen.)
MehrKlausur Informatik Programmierung, Seite 1 von 8 HS OWL, FB 7, Malte Wattenberg
Klausur Informatik Programmierung, 22.09.2011 Seite 1 von 8 Klausurteilnehmer Name: Matrikelnummer: Wichtige Hinweise Es sind keinerlei Hilfsmittel zugelassen auch keine Taschenrechner! Die Klausur dauert
Mehr2.5 Programmstrukturen Entscheidung / Alternative
Entscheidung, ob der folgende Anweisungsblock ausgeführt wird oder ein alternativer Block Entscheidung ob die Bedingung wahr oder falsch (True / False) ist Syntax: 2.5 Programmstrukturen 2.5.1 Entscheidung
MehrEs ist für die Lösung der Programmieraufgabe nicht nötig, den mathematischen Hintergrund zu verstehen, es kann aber beim Verständnis helfen.
Ziele sind das Arbeiten mit Funktionen und dem Aufzählungstyp (enum), sowie - einfache Verzweigung (if else) - Alternativen switch case - einfache Schleifen (while oder do while) Aufgabe 3: Diese Aufgabe
MehrEntwurf von Algorithmen - Kontrollstrukturen
Entwurf von Algorithmen - Kontrollstrukturen Eine wichtige Phase in der Entwicklung von Computerprogrammen ist der Entwurf von Algorithmen. Dieser Arbeitsschritt vor dem Schreiben des Programmes in einer
MehrKapitel 5 Zustand eines Objekts
Kapitel 5 Zustand eines Objekts Seite 1 / 6 Kapitel 5 Zustand eines Objekts Lernziel: Bedingte Anweisung in Java Objektzustand 5.1 Unverwundbar soll sichtbar sein Die Methode VerwundbarSetzen sorgt dafür,
MehrGrundlagen der Programmentwicklung
Informatik für Elektrotechnik und Informationstechnik Benedict Reuschling benedict.reuschling@h-da.de Hochschule Darmstadt Fachbereich Informatik WS 2013/14 Über C++ Über C++ C++ ist eine in der Industrie
MehrPHP 5.4 ISBN 978-3-86249-327-2. Stephan Heller, Andreas Dittfurth 1. Ausgabe, September 2012. Grundlagen zur Erstellung dynamischer Webseiten GPHP54
PHP 5.4 Stephan Heller, Andreas Dittfurth 1. Ausgabe, September 2012 Grundlagen zur Erstellung dynamischer Webseiten ISBN 978-3-86249-327-2 GPHP54 5 PHP 5.4 - Grundlagen zur Erstellung dynamischer Webseiten
MehrEinstieg in die Informatik mit Java
1 / 34 Einstieg in die Informatik mit Java Klassen mit Instanzmethoden Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 34 1 Definition von Klassen 2 Methoden 3 Methoden
MehrFlussdiagramm / Programmablaufplan (PAP)
Flussdiagramm / Programmablaufplan (PAP) Basissysmbole Grenzstelle (Anfang, Zwischenhalt oder Ende des Programms/Algorithmus) Verbindung Zur Verdeutlichung der Ablaufrichtung werden Linien mit einer Pfeilspitze
MehrBKTM - Programmieren leicht gemacht.
BKTM Programmieren leicht gemacht. + Struktogramm Das Struktogramme ist eine Entwurfsmethode für die strukturierte Programmierung. Es ist nach der DIN 66261 genormt. Es ist 1972/73 von Dr. Isaac Nassi
MehrGreenfoot: Verzweigungen
Greenfoot: Verzweigungen Nicolas Ruh und Dieter Koch Betrachten wir die act()-methode des Wombats aus dem Wombats-Szenario: Wie interpretieren Sie diesen Code? (einfach übersetzen) Falls der Wombat ein
MehrObjektorientierte Programmierung
Objektorientierte Programmierung Eine Einführung mit anschaulichen Beispielen aus der Java-Welt apl. Prof. Dr. Achim Ebert Inhalt Kapitel 3: Kontrollstrukturen Einfache Anweisungen Anweisungsblöcke Steuerung
MehrEinführung in die Programmierung mit VBA
Einführung in die Programmierung mit VBA Vorlesung vom 07. November 2016 Birger Krägelin Inhalt Vom Algorithmus zum Programm Programmiersprachen Programmieren mit VBA in Excel Datentypen und Variablen
MehrSchachtelung der 2. Variante (Bedingungs-Kaskade): if (B1) A1 else if (B2) A2 else if (B3) A3 else if (B4) A4 else A
2.4.6. Kontrollstrukturen if-anweisung: Bedingte Ausführung (Verzweigung) 2 Varianten: if (Bedingung) Anweisung (Anweisung = einzelne Anweisung oder Block) Bedeutung: die Anweisung wird nur ausgeführt,
MehrRobot Karol für Delphi
Robot Karol für Delphi Reinhard Nitzsche, OSZ Handel I Version 0.1 vom 24. Januar 2003 Zusammenfassung Nach der Einführung in die (variablenfreie) Programmierung mit Robot Karol von Freiberger und Krško
Mehrsyntax.tex Eine Übersicht
syntax.tex Eine Übersicht Bernd Worsch 7. Juli 1997 Inhaltsverzeichnis 1 Einleitung 1 2 Bevor es funktioniert... 1 3 Grundelemente von syntax.tex 1 4 Strukturelemente von syntax.tex 3 5 Setzen von Syntaxdiagrammen
Mehr3. Anweisungen und Kontrollstrukturen
3. Kontrollstrukturen Anweisungen und Blöcke 3. Anweisungen und Kontrollstrukturen Mit Kontrollstrukturen können wir den Ablauf eines Programmes beeinflussen, z.b. ob oder in welcher Reihenfolge Anweisungen
MehrAufgaben zum Einarbeiten in die Turtle
Aufgaben zum Einarbeiten in die Turtle Aufgabe 1: Lies die erste halbe Seite der Anleitung durch, starte dann Turbo Pascal und tippe das Programm im zweiten Kasten ( PROGRAM Ein_n ) ein. Beachte dabei:
MehrEinführung in die Programmierung Wintersemester 2011/12
Einführung in die Programmierung Wintersemester 2011/12 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund : Kontrollstrukturen Inhalt Wiederholungen - while
MehrProgrammieren I + II Regeln der Code-Formatierung
Technische Universität Braunschweig Dr. Werner Struckmann Institut für Programmierung und Reaktive Systeme WS 2016/2017, SS 2017 Programmieren I + II Regeln der Code-Formatierung In diesem Dokument finden
Mehr1.8 Kontrollstrukturen 73. default : ziffer = 0; if (ziffer > 0) { cout << "Ziffer = " << ziffer; else { cout << "keine römische Ziffer!
1.8 Kontrollstrukturen 73 default : ziffer = 0; if (ziffer > 0) { cout
MehrDemo für
SUMMENZEICHEN Regeln und Anwendungen Gebrauchs des Summenzeichens mit Aufgaben aus vielen Bereichen für Angela Datei Nr. 4 Stand:. Oktober INTERNETBIBLIOTHEK FÜR SCHULMATHEMATIK Demo für 4 Summenzeichen
MehrVariablen in MATLAB. Unterschiede zur Mathematik: Symbolisches und numerisches Rechnen. Skriptdateien. for-schleifen.
Variablen in MATLAB. Unterschiede zur Mathematik: Symbolisches und numerisches Rechnen. Skriptdateien. for-schleifen. Wir wollen uns heute dem Thema Variablen widmen und uns damit beschäftigen, wie sich
Mehr2 Karol lernt einfache Tätigkeiten
Kapitel 2 Karol lernt einfache Tätigkeiten Seite 1 2 Karol lernt einfache Tätigkeiten Bisher hast du Karol im Direktmodus durch seine Karol-Welt bewegt mit Hilfe der blauen Pfeiltasten und den entsprechenden
MehrSchleifenanweisungen
Schleifenanweisungen Bisher: sequentielle Abarbeitung von Befehlen (von oben nach unten) Nun: Befehle mehrfach ausführen (= Programmschleife): for-anweisung - wenn feststeht, wie oft z.b.: eine Berechnung
MehrInformatik. Studiengang Chemische Technologie. Michael Roth WS 2012/2013. michael.roth@h-da.de. Hochschule Darmstadt -Fachbereich Informatik-
Informatik Studiengang Chemische Technologie Michael Roth michael.roth@h-da.de Hochschule Darmstadt -Fachbereich Informatik- WS 2012/2013 Inhalt Teil VII Einstieg in Java I Michael Roth (h_da) Informatik
MehrInformatik Grundwissen Klasse 6/7 M. Rapp 2009
Lehrbuch: IKARUS Natur und Technik (Schwerpunkt Informatik) Oldenbourg Verlag I Information und ihre Darstellung Seite 5 ff Die Informatik beschäftigt sich u. a. mit den Fragen: Wie kann man Informationen
MehrÜbungen mit Anleitung. Hamster-Simulator. Nicola Ramagnano 23. Oktober 2011
Übungen mit Anleitung Hamster-Simulator Nicola Ramagnano 23. Oktober 2011 Dieses Dokument steht unter einer Creative Commons Namensnennung-NichtKommerziell-Weitergabe unter gleichen Bedingungen 2.5 Schweiz
MehrKapitel 3: Variablen
Kapitel 3: Variablen Thema: Programmieren Seite: 1 Kapitel 3: Variablen Im letzten Kapitel haben wir gelernt, bestimmte Ereignisse zu wiederholen solange eine Bedingung erfüllt ist. Nun möchten wir aber
MehrProgrammieren was ist das genau?
Programmieren was ist das genau? Programmieren heisst Computerprogramme herstellen (von griechisch programma für Vorschrift). Ein Computerprogramm ist Teil der Software eines Computers. Als Software bezeichnet
MehrErwin Grüner 09.02.2006
FB Psychologie Uni Marburg 09.02.2006 Themenübersicht Folgende Befehle stehen in R zur Verfügung: {}: Anweisungsblock if: Bedingte Anweisung switch: Fallunterscheidung repeat-schleife while-schleife for-schleife
MehrS. d. I.: Programieren in C Folie 4-1. im Gegensatz zu Pascal gibt es in C kein Schlüsselwort "then"
S. d. I.: Programieren in C Folie 4-1 4 Anweisungen 4.1 if-anweisung 1) if (Ausdruck) 2) if (Ausdruck) } else im Gegensatz zu Pascal gibt es in C kein Schlüsselwort "then" es wird nur der numerische Wert
MehrVorlesung Programmieren
Vorlesung Programmieren 3. Kontrollstrukturen 04.11.2015 Prof. Dr. Ralf H. Reussner Version 1.1 LEHRSTUHL FÜR SOFTWARE-DESIGN UND QUALITÄT (SDQ) INSTITUT FÜR PROGRAMMSTRUKTUREN UND DATENORGANISATION (IPD),
Mehr1.6. Flussdiagramme: Der Programmablauf im Diagramm.
1.6. Flussdiagramme: Der Programmablauf im Diagramm. Übungen Übung 1: Aufräumen1 Zu folgender Aufgabenstellung hast du bereits ein Programm geschrieben: Karol soll alle Ziegelsteine aufheben, die auf seinem
MehrRobot Karol - Einführung
obot Karol - Einführung http://www.mirko-hans.de/info/profil/nawi/algo/einfuehrung_robot_kar... von 3 11.09.2011 10:08 Robot Karol - Einführung Im Informatikteil des Lernbereichs "Messen Steuern Regeln"
MehrÜbungen zur Vorlesung Wissenschaftliches Rechnen I. Grundelemente von Java. Eine Anweisung. wird mit dem Wertzuweisungsoperator = geschrieben.
Eine Anweisung wird mit dem Wertzuweisungsoperator = geschrieben. Eine Anweisung wird mit dem Wertzuweisungsoperator = geschrieben. Daher ist y = x + 5.6; keine Gleichung, sondern die Anweisung den Wert
MehrDiana Lange. Generative Gestaltung Grundlagen von Processing
Diana Lange Generative Gestaltung Grundlagen von Processing Bereichsaufbau leitet einen Bereich ein Name des Bereichs (z.b. setup, draw, keypressed,...) (genaue Erklärung kommt später) kommt später, momentan
MehrAKTUEL ZU JAVA 8 PROGRAMMIEREN IN JAVA. 7. Auflage. Im Internet: Alle Beispielprogramme und Lösungen
L AKTUEL ZU fritz JOBST JAVA 8 PROGRAMMIEREN IN JAVA 7. Auflage Im Internet: Alle Beispielprogramme und Lösungen 4 1 Der Einstieg in Java keinem Fall zulässig. Die Schreibweisen Hello.java für den Namen
MehrGrundlegende Programmierkonzepte: Abläufe mit Wiederholungen (Schleifen)
Grundlegende Programmierkonzepte: Abläufe mit Wiederholungen (Schleifen) Wiederholung mit Abbruchbedingung (while-schleife) Kara soll geradeaus laufen, bis er vor einem Baum steht: Situation vor dem Start
MehrAUFGABE 1: REGULÄRE AUSDRÜCKE (5 PUNKTE)
AUFGABE 1: REGULÄRE AUSDRÜCKE (5 PUNKTE) a Das Zeichen a. Ein beliebiges Zeichen [abc] Ein beliebiges Zeichen aus der Menge {a, b, c [a-f] Ein beliebiges Zeichen aus der Menge {a, b, c, d, e, f \d eine
MehrPräzedenz von Operatoren
Präzedenz von Operatoren SWE-30 Die Präzedenz von Operatoren bestimmt die Struktur von Ausdrücken. Ein Operator höherer Präzedenz bindet die Operanden stärker als ein Operator geringerer Präzedenz. Mit
MehrRobot Karol. Eine Programmiersprache für Schülerinnen und Schüler Version 2.3
Robot Karol Eine Programmiersprache für Schülerinnen und Schüler Version 2.3 Beschreibung der Sprache Beschreibung der Programmierumgebung kommentierte Beispiele Ulli Freiberger freiberger@schule.bayern.de
MehrEinführung in die Informatik I (autip)
Einführung in die Informatik I (autip) Dr. Stefan Lewandowski Fakultät 5: Informatik, Elektrotechnik und Informationstechnik Abteilung Formale Konzepte Universität Stuttgart 24. Oktober 2007 Was Sie bis
MehrSoftwareentwicklung 1. Übungsaufgabe 4 Kontrollstrukturen
Softwareentwicklung Übungsaufgabe 4 Kontrollstrukturen Wintersemester 2006/2007 Prof. Dr. rer.nat. Richard Alznauer Dipl.-Ing. (FH) Joachim Hampel Dipl.-Ing. (FH) Marc Jüttner Version.0.., 2. Dezember
MehrOperatoren für elementare Datentypen Bedingte Anweisungen Schleifen. Programmieren I. Martin Schultheiß. Hochschule Darmstadt Wintersemester 2010/2011
Programmieren I Martin Schultheiß Hochschule Darmstadt Wintersemester 2010/2011 1 Operatoren für elementare Datentypen 2 Bedingte Anweisungen 3 Schleifen Zuweisungsoperator Die Zuweisung von Werten an
Mehrzu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme
Bisher Datentypen: einfach Zahlen, Wahrheitswerte, Zeichenketten zusammengesetzt Arrays (Felder) zur Verwaltung mehrerer zusammengehörender Daten desselben Datentypes eindimensional, mehrdimensional, Array-Grenzen
MehrBei for-schleifen muss man nur immer bedenken, dass die letzte Anweisung immer erst nach der Ausführung der restlichen Anweisungen der Schleife
303 Bei for-schleifen muss man nur immer bedenken, dass die letzte Anweisung immer erst nach der Ausführung der restlichen Anweisungen der Schleife durchgeführt wird. 304 305 for-schleifen sind in Aktivitätsdiagrammen
MehrVisual Basic Hamster
1. Einleitung Visual Basic Hamster Harald R. Haberstroh Die Idee zum Hamstermodell ist ganz einfach: Sie als Programmierer müssen einen virtuellen Hamster in einer virtuellen Landschaft steuern. Das Hamster-Modell
MehrGrundlagen der Programmiersprache C++
/ TU Braunschweig Grundlagen der Programmiersprache C++ Um den Studierenden den Einstieg in die FE-Programmierung zu erleichtern werden die wesentlichen Elemente eines C-Programmes beschrieben, soweit
MehrAlgorithmen & Programmierung. Steuerstrukturen im Detail Selektion und Iteration
Algorithmen & Programmierung Steuerstrukturen im Detail Selektion und Iteration Selektion Selektion Vollständige einfache Selektion Wir kennen schon eine Möglichkeit, Selektionen in C zu formulieren: if
MehrDeinen EV3-Kasten vorbereiten
1 Deinen EV3-Kasten vorbereiten Alle Roboter dieses Buchs können mit nur einem Lego-Mindstorms-EV3- Kasten gebaut werden (Lego-Katalognummer 31313). Wenn du diesen Kasten, gezeigt in Abbildung 1-1, besitzt,
MehrGruber I Neumann. Erfolg in VERA-8. Vergleichsarbeit Mathematik Klasse 8 Gymnasium
Gruber I Neumann Erfolg in VERA-8 Vergleichsarbeit Mathematik Klasse 8 Gymnasium . Zahlen Zahlen Tipps ab Seite, Lösungen ab Seite 0. Zahlen und Zahlenmengen Es gibt verschiedene Zahlenarten, z.b. ganze
MehrSchleifen in C/C++/Java
Schleifen in C/C++/Java Alle 3 Sprachen stellen mindestens die folgenden 3 Schleifenkonstruktionen zur Verfügung. In C gibt es auch keine weiteren, C++, Java und C# haben noch weitere nützliche Varianten.
MehrVBA-Programmierung: Zusammenfassung
VBA-Programmierung: Zusammenfassung Programmiersprachen (Definition, Einordnung VBA) Softwareentwicklung-Phasen: 1. Spezifikation 2. Entwurf 3. Implementierung Datentypen (einfach, zusammengesetzt) Programmablaufsteuerung
MehrProgrammieren I. Kapitel 5. Kontrollfluss
Programmieren I Kapitel 5. Kontrollfluss Kapitel 5: Kontrollfluss Ziel: Komplexere Berechnungen im Methodenrumpf Ausdrücke und Anweisungen Fallunterscheidungen (if, switch) Wiederholte Ausführung (for,
MehrModul Entscheidungsunterstützung in der Logistik. Einführung in die Programmierung mit C++ Übung 2
Fakultät Verkehrswissenschaften Friedrich List, Professur für Verkehrsbetriebslehre und Logistik Modul Entscheidungsunterstützung in der Logistik Einführung in die Programmierung mit C++ Übung 2 SS 2016
Mehr4 Schleifen -= Entstanden unter Excel 2003 =-
Excel KnowHow / Visual Basic (VBA) 4 Schleifen -= Entstanden unter Excel 2003 =- Die erste Schleife habe ich bereits im letzten Kapitel benutzt: Die FOR-Schleife. Schauen wir uns das Beispiel noch einmal
MehrStarten Sie die Arduino IDE und geben Sie den folgenden Programmcode ein:
Blinken Starten Sie die Arduino IDE und geben Sie den folgenden Programmcode ein: // Projekt 1 - LED Blinker int ledpin = 13; void setup() pinmode(ledpin, OUTPUT); void loop() digitalwrite(ledpin, HIGH);
MehrProgrammieren für Wirtschaftswissenschaftler SS 2015
DEPARTMENT WIRTSCHAFTSINFORMATIK FACHBEREICH WIRTSCHAFTSWISSENSCHAFT Programmieren für Wirtschaftswissenschaftler SS 2015 Lucian Ionescu Blockveranstaltung 16.03 27.3.2015 3. Verzweigungen und Schleifen
MehrEinführung in die C++ Programmierung für Ingenieure
Einführung in die C++ Programmierung für Ingenieure MATTHIAS WALTER / JENS KLUNKER Universität Rostock, Lehrstuhl für Modellierung und Simulation 16. November 2012 c 2012 UNIVERSITÄT ROSTOCK FACULTY OF
MehrAufgabe Im Quadrat fahren
Aufgabensammlung LEGO MINDSTORMS NXT Version 4.6.13 Aufgabe Im Quadrat fahren Ziel Sie programmieren den Lego Roboter mit dem Programm LEGO MINDSTORMS Sie kennen Bedingungen und Schleifen Zeitaufwand 20
MehrVom Leichtesten zum Schwersten Sortieralgorithmen
Aktivität 7 Vom Leichtesten zum Schwersten Sortieralgorithmen Zusammenfassung Häufig verwendet man Computer dazu Listen von Elementen in eine bestimmte Ordnung zu bringen. So kann man beispielsweise Namen
MehrErste Schritte in LATEX
Erste Schritte in LATEX Jan Rautner, Benedikt Wolf, Albin Zehe Donnerstag, 8. Oktober 2015 Inhaltsverzeichnis 1 Einführung 3 1.1 Motivation................................... 3 1.2 Installation..................................
MehrKurze Begründung, warum der Ausdruck korrekt ist oder jeweils zwei Gegenbeispiele, die zeigen, warum der Ausdruck nicht korrekt ist
Lösungen AUFGABE 1: REGULÄRE AUSDRÜCKE (5 PUNKTE) AUFGABE 1.1 (3 PUNKTE) Lösung [3 Punkte total - jeweils 1 Punkt für gute Begründung der korrekten Ausdrücke, 1 Punkt für die mind. 1 korrektes Gegenbeispiel
MehrAutor: Michael Spahn Version: 1.0 1/10 Vertraulichkeit: öffentlich Status: Final Metaways Infosystems GmbH
Java Einleitung - Handout Kurzbeschreibung: Eine kleine Einführung in die Programmierung mit Java. Dokument: Autor: Michael Spahn Version 1.0 Status: Final Datum: 23.10.2012 Vertraulichkeit: öffentlich
MehrKlassen in Java. Grundlagen der Programmierung. Stephan Kleuker 68
Klassen in Java Stephan Kleuker 68 Klassen in Java (Syntax) (1/3) class Datum { int tag; int monat; int jahr; } Java hat Schlüsselworte (z. B. class), diese dürfen z. B. nicht als Variablennamen genutzt
Mehr5 Grundlagen der Java-Syntax
5 Grundlagen der Java-Syntax Es sollen nun einige Grundregeln besprechen, die in jeder Java-Programmdatei berücksichtigt werden müssen. 5.1 Grundsätzliches zur Syntax von Java Programmen Zunächst sollten
MehrInformatik I Übung, Woche 40
Giuseppe Accaputo 2. Oktober, 2014 Plan für heute 1. Fragen & Nachbesprechung Übung 2 2. Zusammenfassung der bisherigen Vorlesungsslides 3. Tipps zur Übung 3 Informatik 1 (D-BAUG) Giuseppe Accaputo 2 Nachbesprechung
MehrKapitel 2: Programmfluss steuern
Kapitel 2: Programmfluss steuern Thema: Programmieren Seite: 1 Kapitel 2: Programmfluss steuern Das Flussdiagramm Um schwierige Aufgaben beim Programmieren zu lösen, ist es oft hilfreich, den Programmablauf
MehrZugriff auf Matrizen. Anhängen von Elementen. Punktweise Operatoren. Vektoren und Matrizen in MATLAB II
Zugriff auf Matrizen. Anhängen von Elementen. Punktweise Operatoren. Vektoren und Matrizen in MATLAB II Matrixzugriff Wir wollen nun unsere Einführung in die Arbeit mit Vektoren und Matrizen in MATLAB
MehrProgrammiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny
Programmiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny 7. Funktionen Einleitung Nach dem Prinzip Divide and Conquer bietet es sich an, größere Aufgaben in kleinere Teile zu unterteilen. Anweisungsblöcke,
MehrNatur und Technik - Informatik 7 Grundwissenskatalog
Natur und Technik - Informatik 7 Grundwissenskatalog 1. Vernetzte Informationsstrukturen Klassen VERWEIS und VERWEISZIEL Verweist_auf -Beziehung zwischen Objekten der Klassen VERWEIS und VERWEISZIEL. VERWEIS
Mehrzu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme
Bisher Datentypen: einfach Zahlen, Wahrheitswerte, Zeichenketten zusammengesetzt Arrays (Felder) zur Verwaltung mehrerer zusammengehörender Daten desselben Datentypes eindimensional, mehrdimensional, Array-Grenzen
MehrWebbasierte Programmierung
Webbasierte Programmierung Eine Einführung mit anschaulichen Beispielen aus der HTML5-Welt apl. Prof. Dr. Achim Ebert Inhalt Kapitel 6: JavaScript Kontrollstrukturen Verzweigungen Einseitig, zweiseitig,
MehrKapitel 5. Programmierkurs. Kontrollstrukturen. Arten von Kontrollstrukturen. Kontrollstrukturen Die if-anweisung Die switch-anweisung
Kapitel 5 Programmierkurs Birgit Engels, Anna Schulze ZAIK Universität zu Köln Kontrollstrukturen Die if-anweisung Die switch-anweisung Die for-schleife Die while-schleife Die do-schleife WS 7/8 /55 Kontrollstrukturen
Mehr5. Elementare Befehle und Struktogramme
5. Elementare Befehle und Struktogramme Programmablauf Beschreibung des Programmablaufs mittel grafischer Symbole Beispiel : Flussdiagramme ja nein Besser : Struktogramme Dr. Norbert Spangler / Grundlagen
MehrAccess 2010 Programmierung Schleifen
Access 2010 Programmierung Schleifen Gehe nach links oder rechts Gehe solange geradeaus... Beispiel für Schleifen In einem Formular gibt der Benutzer für den Farbanteil Rot einen Unter- und Obergrenze
Mehr1 Mengen und Aussagen
$Id: mengen.tex,v 1.2 2010/10/25 13:57:01 hk Exp hk $ 1 Mengen und Aussagen Der wichtigste Grundbegriff der Mathematik ist der Begriff einer Menge, und wir wollen damit beginnen die klassische, 1878 von
Mehr.htaccess HOWTO. zum Schutz von Dateien und Verzeichnissen mittels Passwortabfrage
.htaccess HOWTO zum Schutz von Dateien und Verzeichnissen mittels Passwortabfrage Stand: 21.06.2015 Inhaltsverzeichnis 1. Vorwort...3 2. Verwendung...4 2.1 Allgemeines...4 2.1 Das Aussehen der.htaccess
MehrGrundlagen der Programmierung
Grundlagen der Programmierung Dr. Tom Kamphans 1. Vorlesung 12.10.2016 1 Organisatorisches Vorlesung: Mittwochs 14:00 15:30, Raum F 201 Übung: Mittwochs 15:45 19:00, Raum F 225 Übung: alle zwei Wochen
MehrSOI 2013. Die Schweizer Informatikolympiade
SOI Die Schweizer Informatikolympiade Lösung SOI Wie schreibe ich eine gute Lösung? Bevor wir die Aufgaben präsentieren, möchten wir dir einige Tipps geben, wie eine gute Lösung für die theoretischen
MehrQuadratische Funktionen und Gleichungen Mathematik Jahrgangsstufe 9 (G8) Bergstadt-Gymnasium Lüdenscheid. Friedrich Hattendorf
Mathematik Jahrgangsstufe 9 (G8) Lüdenscheid Friedrich Hattendorf 4. September 2014 Vorbemerkung Die Datei entsteht noch; noch nicht alles ist optimal Hinweis zum Ausdruck: (Fast) Alles sollte noch gut
MehrC.3 Funktionen und Prozeduren
C3 - Funktionen und Prozeduren Funktionsdeklarationen in Pascal auch in Pascal kann man selbstdefinierte Funktionen einführen: Funktionen und Prozeduren THEN sign:= 0 Funktion zur Bestimmung des Vorzeichens
MehrVORKURS INFORMATIK EINE EINFÜHRUNG IN JAVASCRIPT
4. Oktober 2016 VORKURS INFORMATIK EINE EINFÜHRUNG IN JAVASCRIPT Benjamin Förster Institut für Informatik, Informations- und Medientechnik INHALT 1. HTML5 Einstieg HTML5 2. Einführung in JavaScript Zeichnen
MehrJAVA-Datentypen und deren Wertebereich
Folge 8 Variablen & Operatoren JAVA 8.1 Variablen JAVA nutzt zum Ablegen (Zwischenspeichern) von Daten Variablen. (Dies funktioniert wie beim Taschenrechner. Dort können Sie mit der Taste eine Zahl zwischenspeichern).
MehrAccess Automatisierung, Programmierung. Ricardo Hernández Garcia. 1. Ausgabe, April 2016 ISBN ACC2016P
Access 2016 Ricardo Hernández Garcia 1. Ausgabe, April 2016 Automatisierung, Programmierung ACC2016P ISBN 978-3-86249-460-6 7 Access 2016 Automatisierung, Programmierung 7 Steuerung des Programmablaufs
MehrLernzirkel Grundrechenarten und Terme Mathematik Nikolaus-von-Kues-Gymnasium Fachlehrer : W. Zimmer Blatt 1 /18. a + b = c
Mathematik Nikolaus-von-Kues-Gymnasium Fachlehrer : W. Zimmer Blatt 1 /18 Station 1 Addition (lat. addere = dazutun) 1.1 Wie lauten die korrekten Bezeichnungen? a + b = c 1.2 Addiere schriftlich 3 5 6
MehrVB.net Programmierung und Beispielprogramm für GSV
VB.net Programmierung und Beispielprogramm für GSV Dokumentation Stand vom 26.05.2011 Tel +49 (0)3302 78620 60, Fax +49 (0)3302 78620 69, info@me-systeme.de, www.me-systeme.de 1 Inhaltsverzeichnis Vorwort...2
MehrProbeklausur: 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