Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
2
Programmieren - wie einsteigen ?
class HelloWorldApp { public static void main(String[] args) { System.out.println("Hello World!"); }
3
Programmiersprachen: Wie Sand am Meer
4
tiobe.com/index.php/content/paperinfo/tpci/
5
tiobe.com/index.php/content/paperinfo/tpci/
iPhone
6
Eine Kernidee der Informatik: Computer formales System
Intuition Formale Beschreibung
7
Das Ziel: Algorithmisches Denken
It has often been said that a person does not really understand something until he teaches it to someone else. Actually a person does not really understand something until he can teach it to a computer, i.e., express it as an algorithm. [...] The attempt to formalize things as algorithms leads to a much deeper understanding than if we simply try to comprehend things in the traditional way. Knuth: Computer Science and its relation to mathematics. The American Mathematical Monthly, 81(4), 1974.
8
Grundlagen der Programmierung ?
Programmieren heisst: Probleme lösen! die Probleme zu analysieren Lösungen zu entwerfen in Abläufen zu denken strikt logisch zu denken und die Lösung in Programme umzusetzen!
9
Kara, der programmierbare Marienkäfer !
10
In der Welt des Marienkäfers...
... gibt es: unbewegliche Baumstümpfe, Pilze, die Kara verschieben und Kleeblätter, die Kara legen und aufnehmen kann ... und natürlich Kara selbst!
11
Kara, der Marienkäfer... ... hat Sensoren, mit denen
er seine Umwelt wahrnimmt: ... versteht einige Befehle, die er folgsam ausführt: stehe ich vor einem Baumstumpf? mache einen Schritt vorwärts! ist links von mir ein Baumstumpf? drehe um 90° nach links! ist rechts von mir ein Baumstumpf? drehe um 90° nach rechts! stehe ich vor einem Pilz? lege ein Kleeblatt hin! stehe ich auf einem Kleeblatt? nimm ein Kleeblatt auf!
12
Automaten im Alltag
13
Ein ganz einfacher Automat: Lichtschalter
Ein Lichtschalter hat nur zwei Zustände, ein und aus. Ein „Sensor“ meldet, wenn der Schalter betätigt wird. drücken Licht aus Licht ein start drücken
14
Ein wenig komplexer: Videogerät
Spulen „play“ „forward“ „rewind“ „play“ „pause“ Warten Video abspielen Nichts tun start „play“ „stop“ Time out
15
Getränkeautomaten Dieser Automat... akzeptiert nur
zeigt eingeworfenen Betrag an gibt nur aus für 3,- 0.00
16
Das Leben eines Getränkeautomaten...
2.00 3.00 1.00 2.00 3.00 0,- 1,- 2,- 3,- 0.00 Coke Sprite
17
Das Leben eines Getränkeautomaten...
Frage: oder ? stellt sich der Automat in einem Zustand werden von seinen Sensoren beantwortet 0,- 1,- 2,- 3,- Zustand
18
Das Leben eines Getränkeautomaten...
Frage: oder ? die Antwort darauf gibt der Automat in einem Übergang führt dabei gewisse Aktionen aus 2.00 3.00 0,- 1,- 2,- 3,- 1.00 2.00 3.00 Coke Übergang 0.00 Sprite
19
Automat für Videogerät
Play / Pause Stop Zustände Übergänge Sensoren
20
Automat für Videogerät
Play / Pause Stop Zustände Übergänge Sensoren
21
Automat für Videogerät
Play / Pause Stop Zustände Übergänge Sensoren
22
Automat für Videogerät
Play / Pause Stop Zustände Übergänge Sensoren
24
Kara sucht einen Baumstumpf !
Die Aufgabe: bis zum nächsten Baumstumpf laufen, dann 180° Drehung! Das Program: ein Zustand „suche Baum“, ein Sensor „stehe vor Baum“
25
Kara sucht einen Baumstumpf
1. Sensorwerte betrachten, Zeile auswählen Befehle ausführen 3. In nächsten Zustand gehen ... 1. Sensorwerte betrachten, Zeile auswählen Befehle ausführen Zeit 3. In nächsten Zustand gehen
26
Kara, der Blättersammler
Die Aufgabe: alle Blätter bis zum nächsten Baumstumpf aufnehmen! Das Programm: ein Zustand „collect leaves“, benötigt zwei Sensoren
27
Kara, der Blättersammler !
Programm als alltagsähnlicher Pseudo-Code falls (nicht vor Baum) UND (nicht auf Kleeblatt), dann [Schritt vorwärts] und [gehe zu collect leave] ODER falls (nicht vor Baum) UND (auf Kleeblatt), dann [fresse Kleeblatt, Schritt vorwärts] und [gehe zu collect leave] ODER falls (vor Baum) UND (nicht auf Kleeblatt), dann [] und [gehe zu Stop] ODER falls (vor Baum) UND (auf Kleeblatt), dann [fresse Kleeblatt] und [gehe zu Stop]
28
Kara, der Wächter (1) Die Aufgabe: Raum linksherum bis Kleeblatt,
dann rechtsherum bis Kleeblatt, dann linksherum... laufen Das Programm: zwei Zustände: einer für Linksdrehung, einer für Rechtsdrehung
29
Welche Lösung ist „besser“?
Kara, der Wächter (2) Das Programm: ein Zustand ! Welche Lösung ist „besser“? Lesbarkeit des Programms? Anzahl Befehle: Weniger = besser? Anzahl Zustände: Weniger = besser? Eine Frage des persönlichen Programmierstils!
30
Kara-Steckbrief Worum geht‘s Einführung in „Programmierdenken“
Für wen Schüler/innen ohne oder mit wenig Programmiererfahrung Lernziele Grundlagen der Programmierung Modell der endlichen Automaten Einsatz-dauer 6-12 Lektionen Technik Java 1.2, JRE, keine Installation. Windows, Mac OS X, Unix / Linux.
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.