Grundkurs Informatik Klasse 11
2 Bearbeiten von Problemen mit PASCAL Delphi  * ist ein Entwicklungssystem zum Erstellen von Windowsprogrammen * hat einen leistungsfähiger Pascal-Compiler,  * hat visuelle Komponenten und  * bietet die Möglichkeit des Erstellens von Datenbankprogrammen Vorteil von Windowsprogrammen  * einheitlichen Bedienung * Menüleiste und ein Hauptfenster * Bedienung mit der Maus * Programme werden in Fenstern ausgeführt, die oft nur einen Teil des gesamten Bildschirmes beanspruchen * über Fenster und Dialoge, die so genannten Benutzerschnitt-stellen, kommuniziert der Anwender mit dem Programm
DOS WINDOWS nur ein Programm gestartet mehrere Programme gleichzeitig laufendes Programm besitzt alleinigen und uneingeschränkten Zugriff auf die Hardware mehrere Programme können gleichzeitig auf die Hardware zugreifen, z.B. auf den Drucker; Zugriff von Windows kontrolliert Hardware wird direkt programmiert Windows stellt Funktionen für Zugriff auf Hardware zur Verfügung Oberfläche ist textorientiert Oberfläche ist grafikorientiert Programm wartet auf Benutzereingaben, indem es in einer Schleife die Maus und die Tastatur abfragt Windowsprogramme bekommen eine Nachricht, wenn für sie eine Maus- oder Tastatureingabe vorliegt Ein- und Ausgabe ist bildschirmorientiert Ein- und Ausgabe ist fensterorientiert
a) Entwicklung und Einteilung der Programmiersprachen
* erste EDV-Anlagen (Ende der 40er Jahre) ließen sich nur maschinennah programmieren.  * Programmcode wurde bitweise in den Speicher geschrieben *  Vorteil:  Programm direkt vom Computer ausgeführt *  Nachteil:  sehr genaue Rechnerkenntnisse erforderlich, da alle Anweisungen in Form von elementaren Befehlen sehr kleinschrittig beschrieben werden müssen Problematische Fehlersuche 1. Generation: Maschinensprachen Beispiel:  11001011 00110101 11100011 10111101
2. Generation: Assemblersprachen * Befehlsvorrat speziell für jeden Rechnertyp zugeschnitten ist * Programm ist auf einem Computer nicht mehr direkt ablauffähig,  sondern muss erst in ein entsprechendes Maschinenprogramm  übersetzt werden  Programm, das dies automatisch durchführt, bezeichnet man als  Assembler * Nachteil: auf eine ganz bestimmte Hardware zugeschnitten sind und nur schwer auf andere Computertypen  übertragbar Programme sehr umfangreich und damit wartungs-  unfreundlich * Assemblersprachen hauptsächlich nur noch da, wo Programme und  Programmsysteme schnell reagieren müssen Beispiel: ADD FELD_2 FELD_3 MOV BX, OFFSET FELD_3
3. Generation: Prozedurale Programmiersprachen * Mehrheit der heute gebräuchlichen Programmiersprachen * unabhängig von einem Computersystem * Übersetzer (Interpreter oder Compiler) muss an System angepasst  sein und entsprechenden Maschinencode erzeugen * Prozedurale Sprachen besitzen speziellen, der menschlichen Sprache  angenäherten Befehlssatz * lehnen sich an die Denkweise des Programmierers an * auch ohne fundamentierte Programmierkenntnisse lassen sich diese  Programme leicht nachvollziehen.  * "prozedural" kennzeichnet den modularen Aufbau der entsprechenden  Programme in Prozeduren oder Funktionen. Beispiel: Write('Fahrstrecke='); Readln(kilometer); Write('Benzin='); Readln(liter); verbrauch := liter/kilometer * 100; Writeln('Sie verbrauchten auf 100 km ',verbrauch); if verbrauch > 7 then writeln "Verbrauch zu hoch!";
4. Generation: Nichtprozedurale Programmiersprachen * es wird nicht mehr festgelegt, wie ein Problem gelöst wird, sondern  der Programmierer beschreibt lediglich, was das Programm leisten soll * diese Angaben werden vom Programmiersystem in ein Programm  umgesetzt * Vorteil: keine umfangreiche Programmierausbildung notwendig; nichtprozedurale Programmiersprachen werden z.B. für  Datenbankabfragen oder Tabellenkalkulationen eingesetzt. In Delphi verwendet man z.B. die visuellen Komponenten, um eine Benutzerschnittstelle zu erstellen Beispiel: select KUNDE from TABLE_1 where ALTER > 18 create ERWACHSENE
5. Generation: Programmiersprachen der künstlichen Intelligenz * Programmierung der künstlichen Intelligenz (KI) dient der  fortgeschrittenen Programmierung. Es wird versucht, die natürliche  Intelligenz des Menschen (z.B. seine Lernfähigkeit) durch  entsprechend konstruierte Computer nachzuvollziehen * Hierbei fließt beispielsweise auch die natürliche Sprache in die  Programmierung ein * KI-Programme werden überwiegend zu Forschungszwecken eingesetzt  und beschreiben Schlussfolgerungen aus Forschungsergebnissen.  * Erfolgreich werden solche Systeme zur Spracherkennung eingesetzt  Beispiel: Berechnung auswerten
b) Algorithmen und Programme  In einem Programm stehen somit nur Anweisungen, die der Computer versteht und umsetzen kann Algorithmus     eine eindeutige Beschreibung eines endlichen Verfahrens zur Lösung einer Vielzahl von Problemen gleicher Art Jedes Problem, dessen Lösung durch einen Algorithmus beschrieben werden kann, ist im Prinzip durch einen Computer lösbar Programm     eine Folge von Anweisungen (Algorithmus), die in einer Programmiersprache   wie z.B. Pascal formuliert sind.
c) Interpreter und Compiler * Prozessor eines Computers kann nur Maschinenbefehle lesen (bestehend aus Binärcode 0/1).  *Programme, die nicht in Maschinensprache geschrieben sind, müssen erst in diese übersetzt werden. * übersetzt einen Programmtext vollständig in Maschinensprache und legt diesen in eigenständiger Programm-Datei ab.  * während Compilierung wird Programmgröße und –geschwindigkeit optimiert * bei Neustart arbeitet der Prozessor direkt die Programmdatei ab * Programme 10 bis 20 mal schneller * Beispiele für Compiler-Sprachen: PASCAL, DELPHI, C++ * übersetzen (interpretieren) die Programme zeilenweise - Programm  deshalb zur Laufzeit änderbar * Befehle werden Zeile für Zeile in Maschinensprache übersetzt und vom Prozessor ausgeführt * bei jedem Neustart des Programms muss dieses auch wieder neu interpretiert werden * Optimierungen können nicht vorgenommen werden, Programme laufen langsamer ab * Beispiele für Interpreter-Sprachen: Q-BASIC, JAVA, LOGO Compiler Interpreter
d) Entwicklungsumgebung
Formular     zentrales Entwicklungsobjekt eines Delphi-Programms    gewünschte Komponenten (wie Schaltflächen, Menüs und Eingabefelder) per Mausklick platziert und angepasst    Erscheinungsbild entspricht dem Aussehen des Windows-Fensters, in dem das fertige Programm später ablaufen wird Komponentenpalette     in verschiedene Register (Standard, Zusätzlich usw.) unterteilt  Auswahl der benötigten Windows-Komponenten Objektinspektors    Darstellungsweise und Verhalten der Objekte (Komponenten) in einem Formular sowie das Aussehen des Formulars festgelegt    Erscheinungsbild wird über die Seite "Eigenschaften", das Verhalten beim Eintritt eines Ereignisses über die Seite "Ereignisse" eingestellt Quelltexteditor     Schreiben des Programmcodes in Programmiersprache Pascal  Delphi generiert für neu eingefügte Komponenten automatisch den Programmcode, der im Editor angezeigt wird.     Programmierer muss "nur noch" die Algorithmen zur Ereignisbehandlung einarbeiten
e) Prinzip der Programmierung   E V A Eingabe Verarbeitung Ausgabe Aktionen (Tastatureingaben, Mausbewegungen) eines Benutzers, wie zum Beispiel: * einfaches oder doppeltes  Klicken auf eine Befehls- schaltfläche,  * Verschieben, Öffnen oder  Schließen eines Fensters mit  der Maus,  * Positionieren des Cursors in  ein Eingabefeld mit der  Tabulatortaste   Interne Programmabläufe, wie zum Beispiel:  * Berechnungen durchführen,  *  Öffnen und Schließen eines Fensters (vom Programm gesteuert),  * Ermitteln von aktueller Uhrzeit und Datum   Reaktionen wie zum Beispiel: * Öffnen eines Fensters * Ausgabe von Werten Informationsfluss

Einfuehrung Delphi

  • 1.
  • 2.
    2 Bearbeiten vonProblemen mit PASCAL Delphi * ist ein Entwicklungssystem zum Erstellen von Windowsprogrammen * hat einen leistungsfähiger Pascal-Compiler, * hat visuelle Komponenten und * bietet die Möglichkeit des Erstellens von Datenbankprogrammen Vorteil von Windowsprogrammen * einheitlichen Bedienung * Menüleiste und ein Hauptfenster * Bedienung mit der Maus * Programme werden in Fenstern ausgeführt, die oft nur einen Teil des gesamten Bildschirmes beanspruchen * über Fenster und Dialoge, die so genannten Benutzerschnitt-stellen, kommuniziert der Anwender mit dem Programm
  • 3.
    DOS WINDOWS nurein Programm gestartet mehrere Programme gleichzeitig laufendes Programm besitzt alleinigen und uneingeschränkten Zugriff auf die Hardware mehrere Programme können gleichzeitig auf die Hardware zugreifen, z.B. auf den Drucker; Zugriff von Windows kontrolliert Hardware wird direkt programmiert Windows stellt Funktionen für Zugriff auf Hardware zur Verfügung Oberfläche ist textorientiert Oberfläche ist grafikorientiert Programm wartet auf Benutzereingaben, indem es in einer Schleife die Maus und die Tastatur abfragt Windowsprogramme bekommen eine Nachricht, wenn für sie eine Maus- oder Tastatureingabe vorliegt Ein- und Ausgabe ist bildschirmorientiert Ein- und Ausgabe ist fensterorientiert
  • 4.
    a) Entwicklung undEinteilung der Programmiersprachen
  • 5.
    * erste EDV-Anlagen(Ende der 40er Jahre) ließen sich nur maschinennah programmieren. * Programmcode wurde bitweise in den Speicher geschrieben * Vorteil: Programm direkt vom Computer ausgeführt * Nachteil: sehr genaue Rechnerkenntnisse erforderlich, da alle Anweisungen in Form von elementaren Befehlen sehr kleinschrittig beschrieben werden müssen Problematische Fehlersuche 1. Generation: Maschinensprachen Beispiel: 11001011 00110101 11100011 10111101
  • 6.
    2. Generation: Assemblersprachen* Befehlsvorrat speziell für jeden Rechnertyp zugeschnitten ist * Programm ist auf einem Computer nicht mehr direkt ablauffähig, sondern muss erst in ein entsprechendes Maschinenprogramm übersetzt werden  Programm, das dies automatisch durchführt, bezeichnet man als Assembler * Nachteil: auf eine ganz bestimmte Hardware zugeschnitten sind und nur schwer auf andere Computertypen übertragbar Programme sehr umfangreich und damit wartungs- unfreundlich * Assemblersprachen hauptsächlich nur noch da, wo Programme und Programmsysteme schnell reagieren müssen Beispiel: ADD FELD_2 FELD_3 MOV BX, OFFSET FELD_3
  • 7.
    3. Generation: ProzeduraleProgrammiersprachen * Mehrheit der heute gebräuchlichen Programmiersprachen * unabhängig von einem Computersystem * Übersetzer (Interpreter oder Compiler) muss an System angepasst sein und entsprechenden Maschinencode erzeugen * Prozedurale Sprachen besitzen speziellen, der menschlichen Sprache angenäherten Befehlssatz * lehnen sich an die Denkweise des Programmierers an * auch ohne fundamentierte Programmierkenntnisse lassen sich diese Programme leicht nachvollziehen. * "prozedural" kennzeichnet den modularen Aufbau der entsprechenden Programme in Prozeduren oder Funktionen. Beispiel: Write('Fahrstrecke='); Readln(kilometer); Write('Benzin='); Readln(liter); verbrauch := liter/kilometer * 100; Writeln('Sie verbrauchten auf 100 km ',verbrauch); if verbrauch > 7 then writeln "Verbrauch zu hoch!";
  • 8.
    4. Generation: NichtprozeduraleProgrammiersprachen * es wird nicht mehr festgelegt, wie ein Problem gelöst wird, sondern der Programmierer beschreibt lediglich, was das Programm leisten soll * diese Angaben werden vom Programmiersystem in ein Programm umgesetzt * Vorteil: keine umfangreiche Programmierausbildung notwendig; nichtprozedurale Programmiersprachen werden z.B. für Datenbankabfragen oder Tabellenkalkulationen eingesetzt. In Delphi verwendet man z.B. die visuellen Komponenten, um eine Benutzerschnittstelle zu erstellen Beispiel: select KUNDE from TABLE_1 where ALTER > 18 create ERWACHSENE
  • 9.
    5. Generation: Programmiersprachender künstlichen Intelligenz * Programmierung der künstlichen Intelligenz (KI) dient der fortgeschrittenen Programmierung. Es wird versucht, die natürliche Intelligenz des Menschen (z.B. seine Lernfähigkeit) durch entsprechend konstruierte Computer nachzuvollziehen * Hierbei fließt beispielsweise auch die natürliche Sprache in die Programmierung ein * KI-Programme werden überwiegend zu Forschungszwecken eingesetzt und beschreiben Schlussfolgerungen aus Forschungsergebnissen. * Erfolgreich werden solche Systeme zur Spracherkennung eingesetzt Beispiel: Berechnung auswerten
  • 10.
    b) Algorithmen undProgramme In einem Programm stehen somit nur Anweisungen, die der Computer versteht und umsetzen kann Algorithmus  eine eindeutige Beschreibung eines endlichen Verfahrens zur Lösung einer Vielzahl von Problemen gleicher Art Jedes Problem, dessen Lösung durch einen Algorithmus beschrieben werden kann, ist im Prinzip durch einen Computer lösbar Programm  eine Folge von Anweisungen (Algorithmus), die in einer Programmiersprache wie z.B. Pascal formuliert sind.
  • 11.
    c) Interpreter undCompiler * Prozessor eines Computers kann nur Maschinenbefehle lesen (bestehend aus Binärcode 0/1). *Programme, die nicht in Maschinensprache geschrieben sind, müssen erst in diese übersetzt werden. * übersetzt einen Programmtext vollständig in Maschinensprache und legt diesen in eigenständiger Programm-Datei ab. * während Compilierung wird Programmgröße und –geschwindigkeit optimiert * bei Neustart arbeitet der Prozessor direkt die Programmdatei ab * Programme 10 bis 20 mal schneller * Beispiele für Compiler-Sprachen: PASCAL, DELPHI, C++ * übersetzen (interpretieren) die Programme zeilenweise - Programm deshalb zur Laufzeit änderbar * Befehle werden Zeile für Zeile in Maschinensprache übersetzt und vom Prozessor ausgeführt * bei jedem Neustart des Programms muss dieses auch wieder neu interpretiert werden * Optimierungen können nicht vorgenommen werden, Programme laufen langsamer ab * Beispiele für Interpreter-Sprachen: Q-BASIC, JAVA, LOGO Compiler Interpreter
  • 12.
  • 13.
    Formular  zentrales Entwicklungsobjekt eines Delphi-Programms  gewünschte Komponenten (wie Schaltflächen, Menüs und Eingabefelder) per Mausklick platziert und angepasst  Erscheinungsbild entspricht dem Aussehen des Windows-Fensters, in dem das fertige Programm später ablaufen wird Komponentenpalette  in verschiedene Register (Standard, Zusätzlich usw.) unterteilt  Auswahl der benötigten Windows-Komponenten Objektinspektors  Darstellungsweise und Verhalten der Objekte (Komponenten) in einem Formular sowie das Aussehen des Formulars festgelegt  Erscheinungsbild wird über die Seite "Eigenschaften", das Verhalten beim Eintritt eines Ereignisses über die Seite "Ereignisse" eingestellt Quelltexteditor  Schreiben des Programmcodes in Programmiersprache Pascal  Delphi generiert für neu eingefügte Komponenten automatisch den Programmcode, der im Editor angezeigt wird.  Programmierer muss "nur noch" die Algorithmen zur Ereignisbehandlung einarbeiten
  • 14.
    e) Prinzip derProgrammierung E V A Eingabe Verarbeitung Ausgabe Aktionen (Tastatureingaben, Mausbewegungen) eines Benutzers, wie zum Beispiel: * einfaches oder doppeltes Klicken auf eine Befehls- schaltfläche, * Verschieben, Öffnen oder Schließen eines Fensters mit der Maus, * Positionieren des Cursors in ein Eingabefeld mit der Tabulatortaste Interne Programmabläufe, wie zum Beispiel: * Berechnungen durchführen, * Öffnen und Schließen eines Fensters (vom Programm gesteuert), * Ermitteln von aktueller Uhrzeit und Datum Reaktionen wie zum Beispiel: * Öffnen eines Fensters * Ausgabe von Werten Informationsfluss