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/
Agenda für heute, 19. Februar, 2009 Begrüssung Ziele und Struktur der Lehrveranstaltung, Leistungskontrolle Grundlagen der Programmierung Die Arbeitsumgebungen Der Aufbau eines Pascal-Programms Fehlerquellen Lesen Sie den Begleittext Kapitel 1 & 2. 2/16 Programmieren und Problemlösen © Departement Informatik, ETH Zürich
Dozent Prof. Dr. H. Hinterberger Das Team Dozent Prof. Dr. H. Hinterberger Departement Informatik Assistierende Hilfsassistent Karl Presser Serkan Bozyigit Stephanie Balzer Barbara Scheuner 3/16 Programmieren und Problemlösen © Departement Informatik, 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 4/16 Programmieren und Problemlösen © Departement Informatik, ETH Zürich
Themen der 7 Übungen, Leistungskontrolle Abgabetermine Übung 1: Grundlagen, erste Programme (TP) 5. März Übung 2: Wiederholte Programmausführung 5. März Übung 3: Arrays, Prozeduren 19. März Übung 4: Grafische Objekte (Delphi) 2. April Übung 5: Parametr. Prozeduren, Funktionen 23. April Übung 6: Externe Daten verarbeiten 7. Mai Übung 7: Bilddaten verarbeiten 28. Mai Midtermprüfung 9. April (45 Min.) Semesterendprüfung 22. Mai, 9 – 10 Uhr Leistungskontrolle: Alle 7 Übungen bearbeiten und abgegeben Semesterendprüfung bestehen (Note 4 oder besser) 5/16 Programmieren und Problemlösen © Departement Informatik, 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 © Departement Informatik, ETH Zürich
Themen der Vorlesungen Datum 1 Einführung 19. Feb. 2 Bedingte Programmausführung 26. Feb. 3 Wiederholte Programmausführung 5. März 4 Strukturierte Variablen: Array 12. März 5 Prozeduren 19. März 6 Delphi, imp. vs. oo Programmieren 26. März 7 Parametrisierte Prozeduren 2. April Midtermprüfung 9. April Vorlesungsfrei (Osterferien) 16. April 8 Besprechung Midtermprüfung 23. April 9 Permanente Datenspeicherung: Files 30. April 10 Strukturierte Programmierung: Units 7. Mai 11 Strukturierte Variablen: Record 14. Mai Vorlesungsfrei (Auffahrt) 21. Mai Semesterendprüfung 22. Mai Vorlesungsfrei (Synthesewoche UWIS) 28. Mai 7/16 Programmieren und Problemlösen © Departement Informatik, 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 Kapitel 1 lesen xyz.pas Quell- programm Computer tpc.exe xyz.exe Computer Pascal- compiler Objekt- programm Eingabe- daten Ausgabe- daten 8/16 Programmieren und Problemlösen © Departement Informatik, 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 © Departement Informatik, 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 Individueller Programmname Eingabe-/Ausgabeparameter program ; begin end. Programmkopf Deklarationen Anweisungen Programmblock Prozedur-/ Funktionsaufrufe 10/16 Programmieren und Problemlösen © Departement Informatik, ETH Zürich
Eine informelle Einführung program quadratwurzel (input, output); var x: real; begin read (x); write (sqrt (x)) end. Prozedur für die Dateneingabe Standardfunktion von Pascal Prozedur für die Datenausgabe 11/16 Programmieren und Problemlösen © Departement Informatik, ETH Zürich
Deklarationsabschnitt: Definition von Variablen und Konstanten const c = 22; meldung = 'sind Sie sicher?'; Konstantenbezeichner Wert (Literal) var x: real; temp: integer; Variablenbezeichner Datentyp 12/16 Programmieren und Problemlösen © Departement Informatik, ETH Zürich
Eine informelle Einführung Pascal setzt standardmässig (input, output) program fahrenheit; {Autor: Peter Hacker, Juni, 2008} 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 © Departement Informatik, 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. Dieser Wert ist von einem bestimmten Datentyp. Die Resultate der arithmetischen Operationen bestimmen den Datentyp. 14/16 Programmieren und Problemlösen © Departement Informatik, 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 © Departement Informatik, ETH Zürich
Illegale Instruktion (z.B. Division durch 0) Fehlerquellen Illegale Instruktion (z.B. Division durch 0) Laufzeit-Fehler Fehlerhafte Eingabe (z.B. Zeichen statt Zahl) Falsche Programmlogik (z.B. falsche Arithmetik) (semantische Fehler) 16/16 Programmieren und Problemlösen © Departement Informatik, ETH Zürich