Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Einführung in die Algorithmik Informatik am Gymnasium aus objektorientierter Sicht.

Ähnliche Präsentationen


Präsentation zum Thema: "Einführung in die Algorithmik Informatik am Gymnasium aus objektorientierter Sicht."—  Präsentation transkript:

1 Einführung in die Algorithmik Informatik am Gymnasium aus objektorientierter Sicht

2 Probleme -Ablauforientiertes Denken: Jeder kleine Bearbeitungsschritt muss zielgerichtet und zweckdienlich für die Gesamtlösung sein -Die Reaktion des Systems auf einen Einzelschritt ist meist nicht direkt sichtbar und damit nicht nachvollziehbar -Gleichzeitige Einführung der Algorithmik und des Variablenkonzepts

3 -Unterschied zwischen Anweisungsfolge (Programmtext) und Systemreaktion beim Programmablauf verstehen Probleme -Programmiersprache erfordert schon bei einfachsten Aufgabenstellungen umfang- reiche syntaktische Grundkenntnisse -Direkte Einführung der einzelnen Kontroll- strukturen mit einer imperativen Program- miersprache führt zu „Einschrittigen Algorithmen“ PROGRAM Beispiel_1; USES crt; VAR a, p, q, c, h : real; BEGIN read(p,q); c := p + q; h := sqrt(p*q); a := sqrt(c*p) write(c,h,a); REPEAT UNTIL keypressed; END. (define zins (/ 3 100)) (define kapital 763) (+ kapital (* zins kapital)) ==> 78589/100 (exact->inexact (+ kapital (* zins kapital))) ==> (do ((i 0 (+ i 1))) ((> i 10)) (display (* i i)) (newline) )

4 Didaktische Forderungen -Einfache, klar aufgebaute, leicht bedienbare Entwicklungsumgebung -Minilanguage Sublanguage Anlehnung der Programmiersprache an die natürliche Sprache -Eingabehilfen bei der Erfassung des Programms

5 Didaktische Forderungen -Reaktion des Systems auf Einzelanweisung muss sichtbar und nachvollziehbar sein -Ein Verständnis für den Begriff Algorithmus als die Beschreibung eines Lösungsverfahrens muss sich entwickeln

6 Historie Minilanguages Richard E. Pattis Karel the Robot A Gentle Introduction to the Art of Programming John Wiley & Sons 1981

7 Objektorientierte Sicht ROBOTER PositionX PositionY Blickrichtung Karol PositionX = 2 PositionY = 1 Blickrichtung = S Karol PositionX = 2 PositionY = 1 Blickrichtung = S Schritt() LinksDrehen() RechtsDrehen()

8 Karol PositionX = 2 PositionY = 1 Blickrichtung = S Schritt() LinksDrehen() RechtsDrehen() Mache einen Schritt vorwärts Objektorientierte Sicht Schritt()

9 Karol PositionX = 2 PositionY = 2 Blickrichtung = S Schritt() LinksDrehen() RechtsDrehen() Objektorientierte Sicht Anweisung Senden einer Botschaft an ein Objekt, das mit der zugehörigen Methode reagiert (Methodenaufruf)

10 „Robot Karol“

11 Anweisungen „Karol soll sich in einer U-Form bewegen“ Schritt LinksDrehen Schritt LinksDrehen Schritt 2 mal vorwärts Linksum 2 mal vorwärts Linksum 2 mal vorwärts

12 Algorithmus Ein Algorithmus ist eine eindeutige, endliche Beschreibung eines allgemeinen, schrittweisen und ausführbaren Lösungsverfahrens. Ein Algorithmus ist eine endliche Folge aus eindeutigen und ausführbaren Anweisungen zur Lösung eines allgemeinen Problems.

13 Programm Ein Programm ist ein Algorithmus, der in einer formalisierten Programmiersprache abgefasst ist und maschinell ausgeführt werden kann. Ein Programm stellt die Realisierung eines Algorithmus dar.

14 Programmieren: Konzeption und Entwurf von Algorithmen, die als Programme realisiert und durch Computersysteme ausgeführt werden. Programmieren Problembeschreibung Algorithmus Programm Maschinenprogramm Umgangssprache, mehrdeutig eindeutig, semiformal, schrittweiser Ablauf exakter Formalismus, genormt, vom Prozessor unabhängig einfache Sprache, Prozessor abhängig

15 Programm in der Sprache Karol Schritt LinksDrehen Schritt LinksDrehen Schritt uform.kdp und uform.kdw

16 Bausteine von Algorithmen Eine Sequenz ist die Zusammenfassung einer Folge von Anweisungen, die hintereinander ausgeführt werden. Sequenz

17 Karol PositionX = 1 PositionY = 1 Blickrichtung = O Schritt() LinksDrehen() RechtsDrehen() Hinlegen() Aufheben() MarkeSetzen() MarkeLöschen() Objektorientierte Sicht

18 Methoden von Karol Schritt() Schritt(Anzahl) LinksDrehen() RechtsDrehen() Hinlegen() Hinlegen(Anzahl) Aufheben() Aufheben(Anzahl) MarkeSetzen() MarkeLöschen() Warten() Warten(Anzahl) Ton()

19 Karol PositionX = 2 PositionY = 3 Blickrichtung = O Schritt() LinksDrehen() RechtsDrehen() Hinlegen() Aufheben() MarkeSetzen() MarkeLöschen()... Objektorientierte Sicht Für die Klasse ROBOTER können zusätzlich neue Methoden festgelegt werden.

20 Programm in der Sprache Karol Anweisung Umdrehen LinksDrehen *Anweisung Programm Umdrehen Schritt Umdrehen *Programm

21 Die Anweisungen im Wiederholungsteil werden nacheinander mehrfach ausgeführt. (entsprechend der angegebenen Anzahl) Wiederholung mit fester Anzahl wiederhole n mal Anweisungen Bausteine von Algorithmen wiederhole n mal Anweisungen *wiederhole

22 Karol PositionX = 2 PositionY = 3 Blickrichtung = O Schritt() LinksDrehen() RechtsDrehen() Hinlegen() Aufheben() MarkeSetzen() MarkeLöschen() IstWand() NichtIstWand() IstZiegel() IstMarke() Objektorientierte Sicht

23 Methoden von Karol IstWand() NichtIstWand() IstZiegel() IstZiegel(Anzahl) NichtIstZiegel() NichtIstZiegel(Anzahl) IstMarke() NichtIstMarke() IstSüden() IstNorden() IstWesten() IstOsten()

24 Die Anweisungen im Wiederholungsteil werden so oft wiederholt, solange die Bedingung WAHR ergibt. Die Überprüfung der Bedingung erfolgt am Anfang jeder Wiederholung. Wiederholung mit Anfangsbedingung wdh. solange Bedingung Anweisungen Bausteine von Algorithmen wiederhole solange Bedingung Anweisungen *wiederhole

25 Die Anweisungen im Wiederholungsteil werden so oft wiederholt, solange die Bedingung WAHR ergibt. Die Überprüfung der Bedingung erfolgt am Ende jeder Wiederholung. Wiederholung mit Endbedingung wdh. solange Bedingung Anweisungen Bausteine von Algorithmen wiederhole Anweisungen *wiederhole solange Bedingung

26 In Abhängigkeit von der Bedingung werden die Anweisungen1 bzw. die Anweisungen2 ausgeführt. Bedingte Anweisung (zweiseitig) Bausteine von Algorithmen wenn Bedingung dann Anweisungen1 sonst Anweisungen2 *wenn Bedingung Anweisungen1Anweisungen2 wahrfalsch

27 Wenn die Bedingung WAHR ergibt werden die Anweisungen ausgeführt. Bedingte Anweisung (einseitig) Bausteine von Algorithmen wenn Bedingung dann Anweisungen *wenn Bedingung Anweisungen wahrfalsch

28 Bausteine von Algorithmen Anweisungen einfache AnweisungenKontrollstrukturen bed.AnweisungenWiederholungenMethodenaufruf mit fester Anzahl Anfangsbedingung Endbedingung einseitige zweiseitige

29 Programm in der Sprache Karol Bedingung IstZiegelRechts falsch Rechtsdrehen wenn IstZiegel dann wahr *wenn Linksdrehen *Bedingung Programm wiederhole solange IstZiegelRechts Schritt *wiederhole *Programm

30 Algorithmen Beispiele -Ziegelrand -Turmbauen -Treppebauen -Auf der Mauer laufen -Spirale legen -Buchstaben (Projekt)

31

32 Zustandsorientierte Sicht Der Zustand des Karol-Systems wird beschrieben durch: -Breite, Länge und Höhe der Welt -Position und Blickrichtung von Karol -Position der Ziegel und Stapelhöhe -Position der Marken

33 Karol PositionX = 2 PositionY = 3 Blickrichtung = O MaxSprunghöhe = 1 Schritt()... Der Zustand eines Objekts ist durch seine Attributwerte und die Beziehungen zu anderen Objekten festgelegt. Zustandsorientierte Sicht

34 PositionX = 2 PositionY = 1 Blickrichtung = S MaxSprunghöhe = 1 PositionX = 2 PositionY = 3 Blickrichtung = O MaxSprunghöhe = 1

35 Ein Algorithmus führt das Karol-System von einem Zustand in einen anderen Zustand über. Er vollzieht einen Zustandsübergang. Zustandsorientierte Sicht

36 Variable / Konstante Eine Variable ist ein Attribut, dem nacheinander verschiedene Werte zugewiesen werden können. D.h. auf eine Variable kann sowohl lesend als auch schreibend zugegriffen werden. Eine Konstante ist ein Attribut, dem nur einmal ein Wert zugewiesen wird, der dann unveränderbar ist. D.h. auf eine Konstante kann nach der Initialisierung nur lesend zugegriffen werden.

37 Variable / Konstante 2 PositionX - Bezeichner, Name - Typ, Wertebereich - Wert, Inhalt Deklaration Instanzierung Initialisierung Typen: Ganzzahl Gleitpunktzahl Zeichen Zeichenfolgen Logisch

38 Zustand Ein Zustand ist durch den aktuellen Wert aller Variablen festgelegt (Variablenzustände). Es werden nicht immer alle möglichen Variablen- zustände betrachtet, sondern nur ausgewählte, für die Modellierung wesentliche (Modellzustände).

39 Zuweisung Bausteine von Algorithmen Eine Zuweisung ist eine Anweisung, bei der einer Variablen ein errechneter oder fester Wert zugewiesen wird, d.h. dieser Wert wird in die Speicherzelle(n) der Variablen eingetragen und überschreibt einen bereits vorhandenen Wert.

40 Anweisungen Bausteine von Algorithmen einfache AnweisungenKontrollstrukturen bed.AnweisungenWiederholungen mit fester Anzahl Anfangsbedingung Endbedingung einseitige zweiseitige AufrufZuweisung

41 Karol PositionX = 2 PositionY = 3 Blickrichtung = O MaxSprunghöhe = 1 ImRucksack = 5 MaxImRucksack = 20 Schritt()... IstVoll() IstLeer() NichtIstLeer()... Variable / Konstante Überwachung des Rucksacks

42 Algorithmen Wiederholung und Vertiefung Beispiel mit Robot Karol -auf einer Mauer laufen -eine Spirale legen -gesamte Fläche invertieren -Zimmer mit Ausgang -Summe von zwei Zahlen -in einer Reihe stapeln (mit Rucksack) -einfaches Labyrinth

43 Heimat von Karol

44 Algorithmik Ende


Herunterladen ppt "Einführung in die Algorithmik Informatik am Gymnasium aus objektorientierter Sicht."

Ähnliche Präsentationen


Google-Anzeigen