1 / 44

Einführung in die Algorithmik

Informatik am Gymnasium. Einführung in die Algorithmik. aus objektorientierter Sicht. Probleme. - Ablauforientiertes Denken: Jeder kleine Bearbeitungsschritt muss zielgerichtet und zweckdienlich für die Gesamtlösung sein

spence
Télécharger la présentation

Einführung in die Algorithmik

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Informatik am Gymnasium Einführung in die Algorithmik 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. Probleme (define zins (/ 3 100)) (define kapital 763) (+ kapital (* zins kapital)) ==> 78589/100 (exact->inexact (+ kapital (* zins kapital))) ==> 785.89 (do ((i 0 (+ i 1))) ((> i 10)) (display (* i i)) (newline) ) - Programmiersprache erfordert schon bei einfachsten Aufgabenstellungen umfang-reiche syntaktische Grundkenntnisse 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. - Direkte Einführung der einzelnen Kontroll-strukturen mit einer imperativen Program-miersprache führt zu „Einschrittigen Algorithmen“ - Unterschied zwischen Anweisungsfolge (Programmtext) und Systemreaktion beim Programmablauf verstehen

  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. ROBOTER PositionX PositionY Blickrichtung Karol Karol PositionX = 2 PositionY = 1 Blickrichtung = S PositionX = 2 PositionY = 1 Blickrichtung = S Schritt() LinksDrehen() RechtsDrehen() Objektorientierte Sicht

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

  9. Karol PositionX = 2 PositionY = 2 Blickrichtung = S Schritt() LinksDrehen() RechtsDrehen() Objektorientierte Sicht AnweisungSenden 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 Schritt LinksDrehen Schritt Schritt LinksDrehen Schritt 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 Problembeschreibung Umgangssprache, mehrdeutig Algorithmus eindeutig, semiformal, schrittweiser Ablauf Programm exakter Formalismus, genormt, vom Prozessor unabhängig Maschinenprogramm einfache Sprache, Prozessor abhängig Programmieren: Konzeption und Entwurf von Algorithmen, die als Programme realisiert und durch Computersysteme ausgeführt werden.

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

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

  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 LinksDrehen *Anweisung Programm Umdrehen Schritt Umdrehen *Programm

  21. wiederhole n mal Anweisungen Bausteine von Algorithmen Wiederholung mit fester Anzahl Die Anweisungen im Wiederholungsteil werden nacheinander mehrfach ausgeführt. (entsprechend der angegebenen Anzahl) 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. wdh. solange Bedingung Anweisungen Bausteine von Algorithmen Wiederholung mit Anfangsbedingung Die Anweisungen im Wiederholungsteil werden so oft wiederholt, solange die Bedingung WAHR ergibt. Die Überprüfung der Bedingung erfolgt am Anfang jeder Wiederholung. wiederhole solange Bedingung Anweisungen *wiederhole

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

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

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

  28. Anweisungen einfache Anweisungen Kontrollstrukturen Methodenaufruf bed.Anweisungen Wiederholungen einseitige zweiseitige mit fester Anzahl Anfangsbedingung Endbedingung Bausteine von Algorithmen

  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. 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

  32. Zustandsorientierte Sicht 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.

  33. Zustandsorientierte Sicht PositionX = 2 PositionY = 1 Blickrichtung = S MaxSprunghöhe = 1 PositionX = 2 PositionY = 3 Blickrichtung = O MaxSprunghöhe = 1

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

  35. 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.

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

  37. 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).

  38. Bausteine von Algorithmen Zuweisung 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.

  39. einfache Anweisungen Kontrollstrukturen Zuweisung Aufruf bed.Anweisungen Wiederholungen einseitige zweiseitige mit fester Anzahl Anfangsbedingung Endbedingung Bausteine von Algorithmen Anweisungen

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

  41. 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

  42. Heimat von Karol www.schule.bayern.de/karol

  43. Algorithmik Ende

More Related