Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Class HelloWorldApp { public static void main(String[] args) {... } Grundkurs Inf - wie einsteigen ?

Ähnliche Präsentationen


Präsentation zum Thema: "Class HelloWorldApp { public static void main(String[] args) {... } Grundkurs Inf - wie einsteigen ?"—  Präsentation transkript:

1 class HelloWorldApp { public static void main(String[] args) {... } Grundkurs Inf - wie einsteigen ?

2 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! Grundlagen der Programmierung ?

3 Programme im Modell darstellen Ein oft benutztes Modell ist der endliche Automat (EA). Dieses Modell möchte ich mit einem Spiel vorstellen.

4 Einstieg in endliche Automaten

5 Einstieg in Automaten

6 Lösung

7 Theorie Ein endlicher Automat hat Zustände (die Inseln) und Übergänge (die Pfeile). Ein besonderer Zustand ist der Startzustand, in dem das Programm beginnt. Wenn der Endzustand erreicht wurde, wird das Programm beendet.

8 Automaten im Alltag

9 Ein ganz einfacher Automat: Lichtschalter Licht aus Licht ein drücken start Ein Lichtschalter hat nur zwei Zustände, ein und aus. Ein „Sensor“ meldet, wenn der Schalter betätigt wird.

10 Dieser Automat... akzeptiert nur zeigt eingeworfenen Betrag an gibt nur aus für 3, Getränkeautomaten

11 0,-1,-2,-3, Coke Sprite Das Leben eines Getränkeautomaten...

12 Frage: oder ? 0,-1,-2,-3,- Zustand stellt sich der Automat in einem Zustand werden von seinen Sensoren beantwortet Das Leben eines Getränkeautomaten...

13 ,-1,-2,-3,- Übergang Frage: oder ? die Antwort darauf gibt der Automat in einem Übergang führt dabei gewisse Aktionen aus Coke Sprite Das Leben eines Getränkeautomaten...

14 Kara, der programmierbare Marienkäfer !

15 ... gibt es: unbewegliche Baumstümpfe, Pilze, die Kara verschieben und Kleeblätter, die Kara legen und aufnehmen kann... und natürlich Kara selbst! In der Welt des Marienkäfers...

16 ... hat Sensoren, mit denen er seine Umwelt wahrnimmt: stehe ich vor einem Baumstumpf? ist links von mir ein Baumstumpf? ist rechts von mir ein Baumstumpf? stehe ich vor einem Pilz? stehe ich auf einem Kleeblatt?... versteht einige Befehle, die er folgsam ausführt: mache einen Schritt vorwärts! drehe um 90° nach links! drehe um 90° nach rechts! lege ein Kleeblatt hin! nimm ein Kleeblatt auf! Kara, der Marienkäfer...

17 Das Program: ein Zustand „suche Baum“, ein Sensor „stehe vor Baum“ Die Aufgabe: bis zum nächsten Baumstumpf laufen, dann 180° Drehung! Kara sucht einen Baumstumpf !

18 Zeit... 1.Sensorwerte betrachten, Zeile auswählen Befehle ausführen 3.In nächsten Zustand gehen 1.Sensorwerte betrachten, Zeile auswählen Befehle ausführen 3.In nächsten Zustand gehen Kara sucht einen Baumstumpf

19 Die Aufgabe: alle Blätter bis zum nächsten Baumstumpf aufnehmen! Das Programm: ein Zustand „collect leaves“, benötigt zwei Sensoren Kara, der Blättersammler !

20 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 Kara, der Wächter (1)

21 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! Kara, der Wächter (2)

22 Aufgaben Kara hat auch eingebaute Übungen. Bearbeiten Sie die ersten Übungen bis zur Labyrinth-Aufgabe. Überlegen Sie dabei, welche Prinzipien für den Programmentwurf wichtig sind.


Herunterladen ppt "Class HelloWorldApp { public static void main(String[] args) {... } Grundkurs Inf - wie einsteigen ?"

Ähnliche Präsentationen


Google-Anzeigen