Programmierkonzepte in

Ähnliche Dokumente
JavaScript. Dies ist normales HTML. Hallo Welt! Dies ist JavaScript. Wieder normales HTML.

JAVA-Datentypen und deren Wertebereich

Informatik. Studiengang Chemische Technologie. Michael Roth WS 2012/2013. Hochschule Darmstadt -Fachbereich Informatik-

Tutorial zum Umgang mit Scratch

Java 8. Elmar Fuchs Grundlagen Programmierung. 1. Ausgabe, Oktober 2014 JAV8

Actionscript Kleine Programme Fragen & Aufgaben

Schleifen dienen dazu, bestimmte Anweisungen immer wieder abzuarbeiten.

Autor: Michael Spahn Version: 1.0 1/10 Vertraulichkeit: öffentlich Status: Final Metaways Infosystems GmbH

Modul Entscheidungsunterstützung in der Logistik. Einführung in die Programmierung mit C++ Übung 2

Processing Info zu Variablen und Bedingungen

Schleifen in Javascript

SCRATCH BC8. Spielend programmieren lernen. Arbeitsheft. Webcode für Download

Tutorium für Fortgeschrittene

Access 2010 Programmierung Schleifen

Algorithmen und ihre Programmierung

Java Kurzreferenz Für Fortgeschrittene

zu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme

Grundlegende Programmierkonzepte: Abläufe mit Wiederholungen (Schleifen)

Arbeiten mit JavaKara

Kapitel 2: Programmfluss steuern

Einführung in die Programmierung mit VBA

PT, 1.2 Sequenzen T. Jenni,

VORKURS INFORMATIK EINE EINFÜHRUNG IN JAVASCRIPT

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

Greenfoot: Verzweigungen

Einstieg in die Informatik mit Java

Informatik I Übung, Woche 40

PHP 5.4 ISBN Stephan Heller, Andreas Dittfurth 1. Ausgabe, September Grundlagen zur Erstellung dynamischer Webseiten GPHP54

Eine Klasse beschreibt Objekte mit gleichen Attributen und Methoden.

Kapitel 3: Variablen

2. Programmierung in C

Grundlagen der Programmiersprache C++

VBA-Programmierung: Zusammenfassung

13 OOP MIT DELPHI. Records und Klassen Ein Vergleich

Luftballons. Einführung. Scratch. Wir wollen ein Spiel machen, bei dem man Luftballons platzen lässt! Activity Checklist.

Inhaltsverzeichnis Einleitung xi Kapitel 1: Die Vorbereitung aufs Abenteuer

Java Einführung VARIABLEN und DATENTYPEN Kapitel 2

Variablen und Datentypen

Objektorientierte Programmierung

Infokarte: Snap4Arduino

2.5 Programmstrukturen Entscheidung / Alternative

Welche Informatik-Kenntnisse bringen Sie mit?

Programmieren I. Kapitel 5. Kontrollfluss

zu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme

Einführung in die C++ Programmierung für Ingenieure

Inhalt. 4.7 Funktionen

Flussdiagramm / Programmablaufplan (PAP)

Scratcher werden Arbeitsblatt

Einführung in den Einsatz von Objekt-Orientierung mit C++ I

Informationsverarbeitung im Bauwesen

12. ArcView-Anwendertreffen Workshop Programmierung in ArcGIS. Daniel Fuchs. Wo kann eigene Programmierung in ArcGIS verwendet werden?

Grundlagen der Programmierung

Programmieren in C/C++ und MATLAB

Der Aufruf von DM_in_Euro 1.40 sollte die Ausgabe 1.40 DM = Euro ergeben.

12 == 12 true 12 == 21 false 4 === 7 true 4 === "vier" false 4 === 4.0 false 12!= 13 true 12!== 12 false 12!== 12.0 true. 1 < 3 true 3 < 1 false

Übungen zur Vorlesung Wissenschaftliches Rechnen I. Grundelemente von Java. Eine Anweisung. wird mit dem Wertzuweisungsoperator = geschrieben.

Elementare Datentypen in C++

Man kann bei der Deklaration einen Wert der Variablen angeben oder später den Wert zuweisen. Beide Befehlsfolgen leisten dasselbe:

Objektorientierte Programmierung

Probeklausur: Programmierung WS04/05

5. Elementare Befehle und Struktogramme

Informationsverarbeitung auf Bitebene

Programmieren. 10. Tutorium 4./ 5. Übungsblatt Referenzen

Grundlagen der Programmierung

Schleifen in C/C++/Java

Excel VBA. Teil Zusammenfassung! Was wir können sollten! V

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

BKTM - Programmieren leicht gemacht.

Einstieg in die Informatik mit Java

Werkzeuge zur Programmentwicklung

Einführung in die Programmierung Wintersemester 2011/12

Programmablaufplan. Vorkurs Informatik. Sommersemester Institut für Informatik Heinrich-Heine-Universität Düsseldorf

Grundlagen Programmierung

Einführung in die Programmierung 1

Damit du Scratch verwenden und deine Projekte auch gleich veröffentlichen und mit anderen teilen kannst brauchst du ein Scratch-Konto.

Noch für heute: primitive Datentypen in JAVA. Primitive Datentypen. Pseudocode. Dezimal-, Binär- und Hexadezimalsystem. der logische Typ boolean

Aufgabe Im Quadrat fahren

GI Vektoren

Java 7. Elmar Fuchs Grundlagen Programmierung. 1. Ausgabe, Dezember 2011 JAV7

2.5 Primitive Datentypen

5 DATEN Variablen. Variablen können beliebige Werte zugewiesen und im Gegensatz zu

Syntax von LOOP-Programmen

Javaprogrammierung mit NetBeans. Variablen, Datentypen, Methoden

Übungen mit Anleitung. Hamster-Simulator. Nicola Ramagnano 23. Oktober 2011

Ab jetzt: Java ohne Kara

Einführung in VisualBasic for Applications. Stefan Mahlitz

Wiederholung Wozu Methoden? Methoden Schreiben Methoden Benutzen Rekursion?! Methoden. Javakurs 2012, 3. Vorlesung

1 Visual Basic for Application mit Excel (VBA)

Überschrift/Caption. Eigenschaftenfenster

Tutoraufgabe 1 (Zweierkomplement): Lösung: Programmierung WS16/17 Lösung - Übung 2

C.3 Funktionen und Prozeduren

Operatoren für elementare Datentypen Bedingte Anweisungen Schleifen. Programmieren I. Martin Schultheiß. Hochschule Darmstadt Wintersemester 2010/2011

Makro + VBA 2007 effektiv

Transkript:

Programmierkonzepte in

Inhaltsverzeichnis Programmierkonzept Seite Anweisung 3 Sequenz 3 Schleife 4 Bedingung 5 Ereignis 6 Unterprogramm 7 Parameter 8 Variable 9 Boolesche Algebra I 10 Boolesche Algebra II 11 Datentypen 12 Impressum Version: 0.5 Datum: 6. September 2017 Autorin: Dr. Dorit Assaf, Pädagogische Hochschule Zürich PHZH Bereich Medienbildung und Informatik Dorit Assaf 2017 2 / 12

Anweisung Eine Anweisung ist ein eindeutiger Befehl, der ein Objekt im Programm manipuliert. Anweisungsblöcke haben in diese Form: Bewegung Anweisungen für Figur Aussehen Anweisungen für Klangausgabe Anweisungen für Malstift Aussehensblöcke und Bewegungsblöcke manipulieren das Aussehen bzw. die Bewegung der Figur. Klangblöcke steuern die Klangausgabe des Programms und die Malstiftblöcke steuern den Malstift. Anweisungsblöcke, die dasselbe Objekt manipulieren, sind mit der gleichen Farbe dargestellt. Ein Doppelklick auf einen Anweisungsblock führt diesen direkt aus. Sequenz Eine Sequenz ist eine Abfolge von Anweisungen, die untereinander zusammengesteckt werden können. Sie werden nacheinander (sequenziell) von oben nach unten ausgeführt. Hier wird zunächst die Bewegung der Figur gesteuert, d.h. ihre Position und Richtung im Spielfeld festgelegt. Danach werden die Schriftdicke und Farbe des Malstifts eingestellt (grüne Blöcke). Die folgenden blauen Bewegungsblöcke steuern die Bewegung der Figur. Zuerst geht diese 50 Schritte vorwärts, dann dreht sie und geht wieder vorwärts usw. Sequenz von Anweisungen Abarbeitung der Anweisungen von oben nach unten. Ergebnis der Sequenz von Anweisungen: Mit dem Malstift zusammen zeichnet die Bewegung der Figur eine Zickzacklinie im Spielfeld. Passende Blöcke schnappen immer ineinander. PHZH Bereich Medienbildung und Informatik Dorit Assaf 2017 3 / 12

Schleife In einem Programmcode reihen sich Anweisungsblöcke in langen Sequenzen aneinander. Um den Programmcode kompakter zu gestalten, kann man sich wiederholende Anweisungssequenzen in Schleifen packen. Programmcode zum Zeichnen eines Sterns. Kompaktere Darstellung des Programmcodes zum Zeichnen eines Sterns mittels einer Schleife. Die Ausgabe ist in beiden Programmen identisch. Schleifenblöcke findet man im Menü Steuerung: Wiederholung 1 Es gibt drei Arten von Schleifen: Wiederhole x mal: Diese Schleife wiederholt die Sequenz innerhalb der Schleife genau so oft, wie in dem Zahlenfeld eingegeben. Wiederholung 2 3x Wiederhole fortlaufend: Die Sequenz innerhalb der Schleife wird unendlich oft wiederholt. Wiederhole bis: Jeder Durchlauf prüft, ob die Abbruchbedingung erfüllt ist. Hier wird z.b. die Wiederholung beendet, sobald die Leertaste gedrückt wurde. Wiederholung 3 Durch Mustererkennung identifiziert man Programmcode, der sich wiederholt. Sich wiederholende Programmblöcke werden in Schleifen gepackt. PHZH Bereich Medienbildung und Informatik Dorit Assaf 2017 4 / 12

Bedingung Wenn man die Ausführung einer Anweisung oder einer Sequenz von bestimmten Faktoren abhängig machen möchte, dann eignen sich die Bedingungsblöcke. Programmcode zum Zeichnen eines Sterns mit zufällig gewählter Farbe. Bedingungsblöcke findet man im Menü Steuerung: Eine Bedingung prüft immer, ob eine Frage mit (true) beantwortet werden kann. Falls ja, wird die Anweisung oder die Sequenz innerhalb des Bedingungsblocks ausgeführt. Wenn die Antwort auf die Frage (false) ist, wird der Programmcode übersprungen. Unmittelbar nach dem Bedingungsblock wird das Programm wieder fortgesetzt. Neben der falls/dann-bedingung gibt es die falls/dann/sonst-bedingung. Der Unterschied ist, dass hier bei einer en Antwort die Anweisungen im «sonst»-teil ausgeführt werden. In diesem Block wird immer entweder der «dann»-teil oder der «sonst»-teil ausgeführt. Jede Farbe hat eine Wahrscheinlichkeit von 1:2. Jede Farbe hat eine Wahrscheinlichkeit von 1:3. PHZH Bereich Medienbildung und Informatik Dorit Assaf 2017 5 / 12

Ereignis Wenn man die Ausführung einer Anweisung oder einer Sequenz von äusseren Faktoren abhängig machen möchte, dann eignet sich das Ereignis. Programmcode zum Zeichnen eines Sterns und zum Abspielen eines «Miau»-Geräusches beim Starten des Programms (Anklicken der grünen Fahne oberhalb des Spielfeldes). Zusätzlich wird beim Drücken der Leertaste eine Sprechblase neben der Figur angezeigt. Ereignisblöcke findet man hauptsächlich im Menü Ereignisse: Sobald ein Ereignis eintrifft, wird die Sequenz unterhalb des Ereignisblocks ausgeführt. Ereignisblöcke haben diese Form: Egal, an welcher Position sich das Programm gerade zum Zeitpunkt des Eintreffens des Ereignisses befindet, der Ereignisblock wird immer sofort ausgeführt. Dieses Verhalten wird auch als «Interrupt» bezeichnet. In diesem Beispiel gibt es zwei Ereignisblöcke «grüne Fahne wurde oberhalb des Spielfelds angeklickt». Beide Blöcke werden somit bei diesem Ereignis gleichzeitig ausgeführt. Wenn die Leertaste irgendwann im Verlauf des Programms gedrückt wird, erscheint die Sprechblase «Hallo!» für 2 Sekunden neben der Figur im Spielfeld. Ereignisblöcke unterscheiden sich von Bedingungen dadurch, dass sie jederzeit ausgeführt werden können. Bei Bedingungen geschieht das nur zu dem Zeitpunkt, in dem das Programm den Bedingungsblock innerhalb einer Sequenz erreicht und die Frage prüft. Mehrere Ereignisblöcke können zudem parallel laufen. Ereignisblöcke, die nicht durch ein Ereignis ausgelöst werden, werden nie ausgeführt. PHZH Bereich Medienbildung und Informatik Dorit Assaf 2017 6 / 12

Unterprogramm Um eine Sequenz mehrfach zu benutzen und wiederzuverwenden und um das Programm kompakter zu gestalten, werden Unterprogramme verwendet. Unterprogramme findet man im Menü Weitere Blöcke: Der Programmcode zum Zeichnen eines Sterns wird in einem Unterprogramm definiert und «ausgelagert». Beim Hauptprogramm wird das Unterprogramm über die Anweisung «zeichne Stern» an zwei verschiedenen Stellen aufgerufen. Dies macht den Programmcode modularer und das Zeichnen des Sterns in anderen Programmen wiederverwendbar. Bei Unterprogrammen fasst man eine Sequenz in eine einzige Anweisung zusammen. Darum hat ein Unterprogramm immer zwei Blöcke: Unterhalb des Definitionsblocks werden die Anweisungen für das Unterprogramm definiert. Der zweite Block ist der dazugehörige Anweisungsblock des Unterprogramms. Über diesen wird das Unterprogramm aufgerufen und ausgeführt. Unterprogramme werden auch als «Methoden» oder «Funktionen» bezeichnet. Im Grunde führt jede Anweisung ein Unterprogramm aus. Existierende Anweisungen sind bereits als Unterprogramme vorprogrammiert und stehen als «Bibliothek» zur Verfügung. Durch Abstraktion identifiziert man eine Sequenz, die ins Unterprogramm ausgelagert werden kann. Hier stellt sich die Frage, welche Anweisungen für das Zeichnen des Sterns essenziell sind. Es wurde entschieden, das Setzen der Stiftfarbe nicht im Unterprogramm zu integrieren. So lässt sich die Stiftfarbe im Laufe des Hauptprogramms noch ändern. Dabei werden zwei Sterne im Spielfeld nebeneinander gezeichnet. PHZH Bereich Medienbildung und Informatik Dorit Assaf 2017 7 / 12

Parameter Oft möchte man die Ausführung eines Unterprogramms flexibel gestalten: man möchte erst zum Zeitpunkt des Aufrufs der Anweisung gewisse Werte dem Unterprogramm mitgeben. Dafür gibt es Parameter. Die Anweisung «wische Malspuren weg» benötigt keine Parameter. Hingegen benötigt die Anweisung «gehe zu x: y» die Koordinaten der Zielposition. Parameter werden in die runden Textfelder der Anweisung eingegeben. Das Unterprogramm zum Zeichnen eines Sterns wird mit zwei Parametern definiert: Farbe und Stiftdicke. So können Farbe und Stiftdicke im Hauptprogramm der «zeichne Stern»-Anweisung über die Parameterfelder mitgegeben werden. Dies macht das Unterprogramm flexibler. = 20 = 3 Bei der Definition des Unterprogramms lassen sich ebenfalls Parameter definieren: = 150 = 10 In Scratch haben Parameter drei Datentypen: - Zahl (rund) - Text (rechteckig) - Boolesche (Aussagenlogik) (Polygon). Der Beschriftungstext dient nur der Lesbarkeit der Anweisung. = 150 = 10 = 20 = 3 In anderen Programmiersprachen werden Parameter, die einer Anweisung übergeben werden, auch als Argumente bezeichnet. Die Bezeichnungen sind synonym. PHZH Bereich Medienbildung und Informatik Dorit Assaf 2017 8 / 12

Variable Häufig möchte man Werte speichern und an verschiedenen Orten im Programm wiederverwenden. Dafür eignen sich Variablen. Variablen findet man im Menü Daten: Programmcode zum Zeichnen eines Sterns mit zufällig gewählter Farbe. Die Zufallszahl von 1-3 wird über eine Variable gespeichert, die Farbwerte Gelb, Pink und Türkis ebenso. Die Variablen der Farben werden als Parameter den «setze Stiftfarbe auf»-anweisungen übergeben. Die aktuellen Werte der Variablen lassen sich auf dem Spielfeld anzeigen. Bei der Definition einer Variablen kann man angeben, ob diese nur lokal für eine bestimmte Figur oder global für alle Figuren zur Verfügung stehen soll: Sobald die Variable erstellt wurde, stehen verschiedene Blöcke zur Verfügung: Anweisungsblöcke, welche die Variable verändern können, sowie ein runder Block, der den Variablenwert speichert und somit als Parameter eingesetzt werden kann. Mit der Anweisung «setze Variablenname auf» wird der Variablen ein Wert zugewiesen. Dieser Wert bleibt bestehen, bis er durch dieselbe Anweisung später im Programm überschrieben wird. PHZH Bereich Medienbildung und Informatik Dorit Assaf 2017 9 / 12

Boolesche Algebra I Eines der wichtigsten Werkzeuge beim Programmieren ist die Boolesche Algebra. Bei einer UND (AND) Verknüpfung müssen immer beide Seiten der Aussage sein, damit die gesamte Aussage ist. Bei einer ODER (OR) Verknüpfung muss mindestens eine Seite der Aussage sein, damit die gesamte Aussage ist. Boolesche Algebra findet man im Menü Operatoren: Das Ergebnis einer Booleschen Algebra ist entweder (true) oder (false). Dieser Datentyp wird in Form eines Polygons dargestellt. In Scratch gibt es drei Arten von Aussagen. Dabei muss jeder Platzhalter der Aussage ebenso einen booleschen Wert enthalten (Polygonform). Die Ergebnisse von mathematischen Vergleichen ergeben ebenso die Aussage oder. Darum haben diese Blöcke eine Polygonform und können als Eingaben im booleschen Aussagenblock dienen. Bei einer NICHT (NOT) Verknüpfung wird die Aussage ins Gegenteil gesetzt. Wahr, wenn die Leertaste nicht gedrückt ist. Nicht, wenn sie gedrückt ist. PHZH Bereich Medienbildung und Informatik Dorit Assaf 2017 10 / 12

Boolesche Algebra II Überall, wo in Scratch ein Datentyp in Polygonform verlangt wird, kann das Ergebnis einer beliebig komplex verschachtelten Booleschen Algebra verwendet werden. Dies trifft bei Bedingungen zu: Programmcode zum Zeichnen eines Sterns mit zufällig gewählter Farbe abhängig von der Figur. Beide Figuren können türkise Sterne zeichnen. Zusätzlich kann die Figur mit Kostümnummer 1 (spazierend) pinke Sterne zeichnen. Die Figur mit Kostümnummer 2 (fliegend) kann zusätzlich gelbe Sterne zeichnen. Diese Kombinationen sind möglich: Bei der «warte bis»-anweisung: Hier wird der Programmcode solange nicht weiter ausgeführt, bis die Aussage ist. Bei der «wiederhole bis»-schleife wird diese solange ausgeführt, bis die Aussage ist. Das ist die Abbruchbedingung. Mit einem «nicht»-block kann die «wiederhole bis» Schleife zur «wiederhole solange»- Schleife umfunktioniert werden. Dieser Programmcode ist identisch für beide Figuren. Jede Figur würfelt ihre eigene Zufallszahl. PHZH Bereich Medienbildung und Informatik Dorit Assaf 2017 11 / 12

Datentypen Datentypen beschreiben Eigenschaften von Daten, wie z.b. deren Wertebereich und Operationen, die man auf alle Daten dieses Typs anwenden kann. In Scratch existieren hauptsächlich drei Arten von Datentypen: Zum Zeitpunkt der Zuordnung eines Wertes einer Variablen mittels der Anweisung «setze Variablenname auf» wird der Datentyp festgelegt. Dabei kann im rechteckigen Textfeld eine Zahl, eine Zeichenkette oder eine boolesche Aussagenlogik eingegeben werden. Zahl, dargestellt als rundes Textfeld: - Ganzzahl (Integer), z.b. 0, -4, 67, 200, - Gleitkommazahl (Float), z.b. 0.1, -27.8,... mit einer Genauigkeit von 6 Stellen hinter dem Komma. Zeichenkette (String), dargestellt als rechteckiges Textfeld Boolesche (Boolean), dargestellt als Polygon. Der Datentyp bestimmt auch die Arten von Operationen, die diesen manipulieren können. Die folgende Operation ergibt keinen Sinn, darum ist das Ergebnis undefiniert: NaN (not a number). Beim Umgang mit unterschiedlichen Datentypen muss man sich immer überlegen, welcher Wertebereich der Datentyp besitzt und welcher Datentyp als Ergebnis einer Operation erwartet wird. Es ist auch möglich, verschieden lange Listen (aus Menü «Daten») mit unterschiedlichen Datentypen zusammenzustellen: Doppelklick auf den Operationsblock zeigt das Ergebnis direkt in einer Sprechblase direkt an. PHZH Bereich Medienbildung und Informatik Dorit Assaf 2017 12 / 12