Informatik 11/12 2004-2006 Programmieren mit Delphi A. Gillmann, V. Reimchen, M. Reker.

31
Informatik 11/12 2004-2006 Programmieren mit Delphi A. Gillmann, V. Reimchen, M. Reker

Transcript of Informatik 11/12 2004-2006 Programmieren mit Delphi A. Gillmann, V. Reimchen, M. Reker.

Page 1: Informatik 11/12 2004-2006 Programmieren mit Delphi A. Gillmann, V. Reimchen, M. Reker.

Informatik 11/12 2004-2006

Programmieren mit Delphi

A. Gillmann, V. Reimchen, M. Reker

Page 2: Informatik 11/12 2004-2006 Programmieren mit Delphi A. Gillmann, V. Reimchen, M. Reker.

Inhalt 1. Halbjahr Jahrgangstufe 11

Arbeiten mit Delphi 7 Einführung in Delphi Karel Ausbau des Programms Kontrollstrukturen Objektorientiertes Programmieren Erstellung eigener Welten

Page 3: Informatik 11/12 2004-2006 Programmieren mit Delphi A. Gillmann, V. Reimchen, M. Reker.

Arbeiten mit Delphi 7

Bei Delphi handelt es sich um eine Programmiersprache, mit deren Hilfe man eigene Windowsanwendungen erstellen kann. Das Programm Delphi 7 von Borland hilft einem dabei.

Page 4: Informatik 11/12 2004-2006 Programmieren mit Delphi A. Gillmann, V. Reimchen, M. Reker.

Einführung in Delphi Karel Delphi Karel ist ein

vorgefertigtes Roboter Programm, das einem beim Erlernen von Delphi hilft

Wir testeten den Roboter RD1 und seine Welten

Page 5: Informatik 11/12 2004-2006 Programmieren mit Delphi A. Gillmann, V. Reimchen, M. Reker.

Ausbau des Programms

Links drehen Slalom laufen (um Bäume)

Wir haben das Programm um kleinere Befehle ergänzt und kleine Probleme gelöst, z. B.:

Page 6: Informatik 11/12 2004-2006 Programmieren mit Delphi A. Gillmann, V. Reimchen, M. Reker.

Kontrollstrukturen For-Schleife

soll ein Anweisung (oder ein Anweisungsblock) eine bestimmte Anzahl lang wiederholt werden, so kann man die Zählschleife benutzen.

Repeat-Schleifeführt die Anweisung aus, falls die Ausstiegsbedingung erfüllt ist, bricht sie ab, sonst startet sie von vorn

While-Schleifeüberprüft die Eintrittsbedingung, falls die Bedingung erfüllt ist, führt die Anweisung aus und startet von vorn, sonst bricht sie ab

Page 7: Informatik 11/12 2004-2006 Programmieren mit Delphi A. Gillmann, V. Reimchen, M. Reker.

Kontrollstrukturen 2

Fallunterscheidungen (if-Abfrage) if Bedingung erfüllt then Anweisung ausführen

Fallunterscheidungen mit Alternative (if-then-else)

if Bedingung erfüllt then Anweisung else Anweisung

Page 8: Informatik 11/12 2004-2006 Programmieren mit Delphi A. Gillmann, V. Reimchen, M. Reker.

Objektorientiertes Programmieren

OOP bedeutet Anweisungen zu Funktionen, Prozeduren und Methoden zusammenzufassen, z.B:

procedure GeheZweiSchritteVor; begin

RD1.Vor; RD1.Vor end;

Page 9: Informatik 11/12 2004-2006 Programmieren mit Delphi A. Gillmann, V. Reimchen, M. Reker.

Erstellung eigener Welten Wir haben eigene Welten erstellt,

in denen sich Karel bewegen kann In diesen Welten haben wir weitere

Probleme gelöst (z.B. Blumenpflücken)

Beispiel:

Page 10: Informatik 11/12 2004-2006 Programmieren mit Delphi A. Gillmann, V. Reimchen, M. Reker.

Inhalt 2. Halbjahr Jahrgangstufe 11

Bearbeitung von Labyrinthproblemen

Rekursive Algorithmen Türme von Hanoi Eigene Programme Besuch im Rathaus

(Stadtverwaltung)

Page 11: Informatik 11/12 2004-2006 Programmieren mit Delphi A. Gillmann, V. Reimchen, M. Reker.

Bearbeitung von Labyrinthproblemen Um die komplexeren

Labyrinthprobleme zu bearbeiten, haben wir unseren Roboter verbessert

Wir arbeiten jetzt mit dem Roboter MyRobot

Dann haben wir eigene Objekte entwickelt: (TSchatz)

Zusätzlich haben wir Methoden entwickelt, um den Ausgang eines Labyrinths zu finden

Page 12: Informatik 11/12 2004-2006 Programmieren mit Delphi A. Gillmann, V. Reimchen, M. Reker.

Bearbeitung von Labyrinthproblemen Wir haben unseren neuen

Roboter nun in unseren eigenen Labyrinthen auf die Suche nach unserem selbsterstellten Schatz geschickt

Beispiel:

Page 13: Informatik 11/12 2004-2006 Programmieren mit Delphi A. Gillmann, V. Reimchen, M. Reker.

Rekursive Algorithmen Eine Rekursion ist ein Algorithmus, der

sich selbst wieder aufruft Mit Hilfe dieser Rekursionen haben wir

mathematische Probleme (z.B. Fibonacci-Folge, Fakultät, Quadrieren) erarbeitet

Zusätzlich haben wir rekursiv Programme für unseren Roboter entwickelt, mit denen er zum Beispiel Treppen hinauf und wieder heruntergehen kann

Page 14: Informatik 11/12 2004-2006 Programmieren mit Delphi A. Gillmann, V. Reimchen, M. Reker.

Türme von Hanoi Mit Hilfe der Türme von Hanoi

(eine hinduistische Geschichte) haben wir verzweigte Rekursionen kennen gelernt, bei denen im Inneren mehr als 1 Aufruf erfolgt

Page 15: Informatik 11/12 2004-2006 Programmieren mit Delphi A. Gillmann, V. Reimchen, M. Reker.

Eigene Programme Nun haben wir eigene Programme

entwickelt, um unter anderem das eigene Idealgewicht auszurechnen und Währungen umzurechnen

Beispiel Idealgewicht:

Page 16: Informatik 11/12 2004-2006 Programmieren mit Delphi A. Gillmann, V. Reimchen, M. Reker.

Besuch im Rathaus (Stadtverwaltung)

Im Rathaus wurde uns gezeigt, dass man in der Stadtverwaltung ohne EDV nicht auskommen würde

Auch haben wir etwas über das Netzwerk der Stadtverwaltung und ihrer Außenbezirke erfahren

Wichtig hierfür sind gute Virenschutzprogramme, da ein Virus große Schäden verursachen könnte

Page 17: Informatik 11/12 2004-2006 Programmieren mit Delphi A. Gillmann, V. Reimchen, M. Reker.

Inhalt 1.Halbjahr Jahrgangsstufe 12 Berechnung von Nullstellen

(Newtonsche Näherungsverfahren) Ackermannfunktion Sortierverfahren Besuch im Mathias-Spital Mathe-Tiger

Page 18: Informatik 11/12 2004-2006 Programmieren mit Delphi A. Gillmann, V. Reimchen, M. Reker.

Berechnung von Nullstellen (Newtonsche Näherungsverfahren)

Mit Hilfe des Newtonschen Näherungsverfahrens haben wir ein Projekt bearbeitet, das Nullstellen von Funktionen berechnet

Page 19: Informatik 11/12 2004-2006 Programmieren mit Delphi A. Gillmann, V. Reimchen, M. Reker.

Ackermannfunktion Die Ackermannfunktion ist eine

extrem schnell wachsende mathematische Funktion, mit deren Hilfe Grenzen von Computer- und Berechnungsmodellen aufgezeigt werden können

Wir haben weitere Funktionen, mit denen man z.B. das Pascalsche Dreieck darstellen kann, erarbeitet

Page 20: Informatik 11/12 2004-2006 Programmieren mit Delphi A. Gillmann, V. Reimchen, M. Reker.

Sortierverfahren Sortieren von Daten ist ein

zentrales Problem der Informatik, was mit Hilfe der EDV schnell gelöst werden kann

Es gibt verschieden Sortierverfahren und wir haben die drei folgenden kennen gelernt:

Bubble Sort, direktes Einfügen, Quicksort

Page 21: Informatik 11/12 2004-2006 Programmieren mit Delphi A. Gillmann, V. Reimchen, M. Reker.

Sortierverfahren Bubble Sort ein einfaches Sortierverfahren, das jedes Element mit seinem

Nachbar vergleicht und es so an die richtige Position befördert, allerdings ist es eher langsam und für große Datenmengen nicht geeignet

Direktes Einfügen komplexeres Sortierverfahren als Bubble Sort, das die Elemente

miteinander vergleicht und sie direkt auf die richtige Position einfügt

Quicksort gilt als schnellstes internes Sortierverfahren, das die Datenmenge

zunächst grob vorsortiert und anschließend verfeinert und ist besonders geeignet für große Datenmengen

Page 22: Informatik 11/12 2004-2006 Programmieren mit Delphi A. Gillmann, V. Reimchen, M. Reker.

Besuch im Mathias-Spital Hier haben wir uns angesehen,

wie mit Hilfe von EDV die Patientenakten verarbeitet werden und sie durch das Netzwerk im ganzen Haus abrufbar sind

Zusätzlich haben wir uns den Kernspinttomographen angesehen

Page 23: Informatik 11/12 2004-2006 Programmieren mit Delphi A. Gillmann, V. Reimchen, M. Reker.

Mathe-Tiger Der Mathe-Tiger ist unser

selbstentwickeltes Lernspiel mit dem man sein mathematisches Geschick unter Beweis stellen und einfache Rechenregeln trainieren kann

Page 24: Informatik 11/12 2004-2006 Programmieren mit Delphi A. Gillmann, V. Reimchen, M. Reker.

Inhalt 2.Halbjahr Jahrgangsstufe 12

Programmierung von „Verbotene 1“ Schülerverwaltungsprogramme

(Verwendung von Arrays und Listen mit Zeigern)

UPN – Rechner Anatomie eines Baumes (Binärbaum) Huffman – Code Besuch im Architekturbüro

Hofschröer

Page 25: Informatik 11/12 2004-2006 Programmieren mit Delphi A. Gillmann, V. Reimchen, M. Reker.

Programmierung von „Verbotene 1“ Die „Verbotene 1“ ist ein Spiel bei dem ein

Spieler so lange würfelt und die Augenzahlen addiert bis er eine „1“ würfelt oder er die Summe sichert dann ist der andere Spieler an der Reihe

Bei einer „1“ wird die Summe zurückgesetzt Durch den Button Sichern wird die Summe

auf den Kontostand verschoben Das Ziel des Spiels ist einen Kontostand von

100 Augen zu erreichen

Page 26: Informatik 11/12 2004-2006 Programmieren mit Delphi A. Gillmann, V. Reimchen, M. Reker.

Programmierung von „Verbotene 1“ Die Oberfläche des Spiels

„Verbotene 1“

Page 27: Informatik 11/12 2004-2006 Programmieren mit Delphi A. Gillmann, V. Reimchen, M. Reker.

Schülerverwaltungsprogramme Mithilfe von Listen und Arrays haben

wir eigene Verwaltungsprogramme erstellt, die verschiedene Daten von Schülern (z.B. Name, Vorname, gewählte Fächer usw.) speichern konnten.

Diese Programme haben durch weitere Fähigkeiten wie Lösch-, Such- und Sortierfunktionen verbessert.

Page 28: Informatik 11/12 2004-2006 Programmieren mit Delphi A. Gillmann, V. Reimchen, M. Reker.

UPN - Rechner UPN ist eine Abkürzung für „umgekehrte

polnische Notation“ und beschreibt ein Verfahren, einen mathematischen Term ohne Klammern darzustellen (Postfixnotation), z.B:

Infixnotation: 2*(3+4*7) Postfixnotation: 2 3 4 7 * + * Der UPN-Rechner basiert auf dem Prinzip

eines Kellers (LIFO-Prinzip) und so sind weder Klammern noch Punkt-vor-Strich-Rechnung nötig.

Ein Keller (Stack) ist eine spezielle Liste, bei der die Daten wie auf einem Stapel abgelegt und bearbeitet werden.

Page 29: Informatik 11/12 2004-2006 Programmieren mit Delphi A. Gillmann, V. Reimchen, M. Reker.

Anatomie eines Binärbaumes Ein Binärbaum ist eine besondere Art

von Liste mit zwei Nachfolgern Beispiel für einen Binärbaum:

Page 30: Informatik 11/12 2004-2006 Programmieren mit Delphi A. Gillmann, V. Reimchen, M. Reker.

Der Huffman-Code Um einen Text auf dem Computer

speichern zu können, muss er zunächst in eine Abfolge von Nullen und Einsen codiert werden.

Mit dem Huffman-Code geschieht dies in einer besonders Platz sparenden Weise.

Hierbei arbeitet er nach der Struktur des Binärbaumes

Page 31: Informatik 11/12 2004-2006 Programmieren mit Delphi A. Gillmann, V. Reimchen, M. Reker.

Besuch im Architekturbüro Hofschröer Im Architekturbüro Hofschröer

haben wir verschiedene Programme zur Planung und Durchführung von Bauvorhaben kennen gelernt.