Programmieren und Problemlösen Willkommen . . . . . . Studentinnen und Studenten der Studiengänge Umweltnaturwissenschaften Erdwissenschaften Agrarwissenschaften zur Vorlesung Programmieren und Problemlösen http://www.pup.ethz.ch/
Begrüssung Agenda für heute, 22. März, 2007 Ziele und Struktur der Lehrveranstaltung, Leistungskontrolle Grundlagen der Programmierung Die Arbeitsumgebungen Der Aufbau eines Pascal-Programms Fehlerquellen 2/16 Programmieren und Problemlösen © Institut für Computational Science, ETH Zürich
Dozent Prof. Dr. H. Hinterberger Das Team Dozent Prof. Dr. H. Hinterberger Institut für Computational Science Assistierende Stephanie Balzer Reto Spöhel Barbara Scheuner 3/16 Programmieren und Problemlösen © Institut für Computational Science, ETH Zürich
Ziele und Struktur der Lehrveranstaltung, Leistungskontrolle Begrüssung Ziele und Struktur der Lehrveranstaltung, Leistungskontrolle Grundlagen der Programmierung Die Arbeitsumgebungen Der Aufbau eines Pascal-Programms Fehlerquellen
Ziele und Struktur der Vorlesung, Leistungskontrolle In dieser Lehrveranstaltung lernen Sie: Die Grundlagen der Programmierung verstehen und anwenden Einen PC mit Pascal und Delphi zu programmieren So arbeiten Sie: Vorlesung: 1h Begleitetes Selbststudium + Übungen 2h Selbständiges Arbeiten Damit Sie die 3 Kreditpunkte erhalten müssen Sie: Alle sieben Übungen bearbeiten (= lauffähiges Programm) Den Semsterende-Test absolvieren 4/16 Programmieren und Problemlösen © Institut für Computational Science, ETH Zürich
Themen der 7 Übungen Abgabe-Zeitraum Übung 1: Grundlagen, erste Programme (TP) 22. März bis 2. April Übung 2: Wiederholte Programmausführung 2. April bis 12. April Übung 3: Arrays, Prozeduren 12. April bis 23. April Übung 4: Grafische Objekte (Delphi) 23. Mai bis 10. Mai Übung 5: Parametr. Prozeduren, Funktionen 10. Mai bis 24. Mai Übung 6: Externe Daten verarbeiten 24. Mai bis 7. Juni Übung 7: Bilddaten verarbeiten 7. Juni bis 21. Juni Semesterende-Test 14. Juni Leistungskontrolle: Alle 7 Übungen bearbeiten und abgegeben sowie den Semesterende-Test absolvieren. 5/16 Programmieren und Problemlösen © Institut für Computational Science, ETH Zürich
Ihre Computerarbeitsplätze Raum Anzahl Typ IFW C 31 24 PC/XP IFW D 31 24 PC/XP 6/16 Programmieren und Problemlösen © Institut für Computational Science, ETH Zürich
Themen der Vorlesungen Datum 1 Einführung 22. März 2 Bedingte Programmausführung 29. März 3 Wiederholte Programmausführung 5. April 4 Strukturierte Variablen: Array 12. April 5 Datenein- und ausgabe 19. April 6 Delphi, imp. vs. oo Programmieren 26. April 7 Prozeduren 3. Mai 8 Permanente Datenspeicherung: seq. Files 10. Mai Vorlesungsfrei 17. Mai 9 Permanente Datenspeicherung: dir. Files 24. Mai 10 Strukturierte Variablen: Record 31. Mai 11 Reserve 7. Juni 12 Semesterende-Test 14. Juni Vorlesungsfrei (Synthesewoche) 21. Juni 7/16 Programmieren und Problemlösen © Institut für Computational Science, ETH Zürich
Grundlagen der Programmierung Begrüssung Ziele und Struktur der Lehrveranstaltung, Leistungskontrolle Grundlagen der Programmierung Die Arbeitsumgebungen Der Aufbau eines Pascal-Programms Fehlerquellen
Grundlagen der Programmierung xyz.pas Quell- programm Computer xyz.exe Computer Pascal- compiler Objekt- programm Eingabe- daten Ausgabe- daten 8/16 Programmieren und Problemlösen © Institut für Computational Science, ETH Zürich
Die Arbeitsumgebungen Begrüssung Ziele und Struktur der Lehrveranstaltung, Leistungskontrolle Grundlagen der Programmierung Die Arbeitsumgebungen Der Aufbau eines Pascal-Programms Fehlerquellen
Die Arbeitsumgebungen Konsole –Text Befehlszeilen-Ebene (DOS) Werkzeuge: Texteditor Notepad Pascal-compiler tpc.exe Konsole – Grafik Befehlszeilen-Ebene (DOS) Werkzeuge: Programmeditor turbo.exe Desktop Windows XP Werkzeuge: "Visuelle" Programmier-umgebung delphi.exe 9/16 Programmieren und Problemlösen © Institut für Computational Science, ETH Zürich
Der Aufbau eines Pascal-Programms Begrüssung Ziele und Struktur der Lehrveranstaltung, Leistungskontrolle Grundlagen der Programmierung Die Arbeitsumgebungen Der Aufbau eines Pascal-Programms Fehlerquellen
Eine informelle Einführung Das erste Wort aller Pascal-Programme Individueller Programmname program quadratwurzelvonzwei (output); begin write (sqrt (2)) end. Programm erzeugt Resultate Standardfunktion von Pascal Prozedur für die Datenausgabe Markieren Anfang und Ende des Programms Schlüsselwörter sind fett gedruckt 10/16 Programmieren und Problemlösen © Institut für Computational Science, ETH Zürich
Eine informelle Einführung Programm verlangt Daten program quadratwurzel (input, output); var x: real; begin read (x); write (sqrt (x)) end. Deklarationsabschnitt Anweisungsfolge Prozedur für die Dateneingabe 11/16 Programmieren und Problemlösen © Institut für Computational Science, ETH Zürich
Deklarationsabschnitt: Definition von Variablen und Konstanten const c = 22; meldung = 'sind Sie sicher?'; Konstantenbezeichner Wert var x: real; temp: integer; Variablenbezeichner Datentyp 12/16 Programmieren und Problemlösen © Institut für Computational Science, ETH Zürich
Eine informelle Einführung program fahrenheit (input, output); {Autor: Peter Hacker, März, 2005} var x, y: real; begin read (x); y:= (x - 32) * 5 / 9; write (y:5:2) end. Kommentar Zuweisungsanweisung 13/16 Programmieren und Problemlösen © Institut für Computational Science, ETH Zürich
Zuweisungsanweisung y := (x - 32) * 5 / 9; Variablenbezeichner Arithmetischer Ausdruck y := (x - 32) * 5 / 9; Zuweisungssymbol Ein arithmetischer Ausdruck erzeugt einen einzigen Wert Der Datentyp des Werts ist gegeben durch die Operanden und Operatoren 14/16 Programmieren und Problemlösen © Institut für Computational Science, ETH Zürich
Fehlerquellen Begrüssung Ziele und Struktur der Lehrveranstaltung, Leistungskontrolle Grundlagen der Programmierung Die Arbeitsumgebungen Der Aufbau eines Pascal-Programms Fehlerquellen
Fehlerquellen xyz.pas xyz.exe Syntax- fehler Laufzeit- fehler Quell- programm Computer xyz.exe Computer Pascal- compiler Objekt- programm Eingabe- daten Syntax-Fehler werden während der Übersetzung des Programms entdeckt. Laufzeitfehler entstehen während der Programmausführung Ausgabe- daten 15/16 Programmieren und Problemlösen © Institut für Computational Science, ETH Zürich
Laufzeit-Fehler Fehlerhafte Eingabe Fehlerhafte Programmlogik Fehlerquellen Illegale Instruktion Laufzeit-Fehler Fehlerhafte Eingabe Fehlerhafte Programmlogik (semantische Fehler) 16/16 Programmieren und Problemlösen © Institut für Computational Science, ETH Zürich