Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Interaktion mit Informatikmitteln

Ähnliche Präsentationen


Präsentation zum Thema: "Interaktion mit Informatikmitteln"—  Präsentation transkript:

1 Interaktion mit Informatikmitteln
Agenda für heute, 6. Juni 2007 Interaktion mit Informatikmitteln Grundlagen der Programmierung Hilfsmittel für die Programmierung Webprogrammierung

2 Interaktion mit Informatikmitteln
Dialogbetrieb Echtzeitbetrieb Stapelbetrieb Programme 2/37 Informatik für Biol. & Pharm. Wissenschaften © Institut für Computational Science, ETH Zürich

3 Interaktion mit Informatikmitteln
Dialogbetrieb Interaktive Eingabe von Instruktionen und Daten Ausgabe von Daten in Echtzeit Steuerung eines Programms während seiner Ausführung möglich Programme 3/37 Informatik für Biol. & Pharm. Wissenschaften © Institut für Computational Science, ETH Zürich

4 Interaktion mit Informatikmitteln
Echtzeitbetrieb Kurze Reaktionszeiten Hohe Zuverlässigkeit Messen, Regeln, Ablauf-steuerungen Programme 4/37 Informatik für Biol. & Pharm. Wissenschaften © Institut für Computational Science, ETH Zürich

5 Interaktion mit Informatikmitteln
Stapelbetrieb Vollständig spezifizierter Auftrag wird ausgeführt Keine Möglichkeit, auf den Programmablauf einzuwirken Rechenintensive Arbeiten, Routineaufgaben (z.B. autom. Backup) Batch-Dateien (.BAT), Makros Programme 5/37 Informatik für Biol. & Pharm. Wissenschaften © Institut für Computational Science, ETH Zürich

6 Grundlagen der Programmierung
Interaktion mit Informatikmitteln Grundlagen der Programmierung Hilfsmittel für die Programmierung Webprogrammierung

7 Was ist ein Programm? Algorithmus
Sequenz Verzweigung Wiederholung Algorithmus Eine Folge von Instruktionen, mit denen ein Computer(programm) den Inhalt von Speicherzellen verändert. Datenstrukturen Variable . . . Datei . . . . . . Objekt 6/37 Informatik für Biol. & Pharm. Wissenschaften © Institut für Computational Science, ETH Zürich

8 Instruktionen sind durch die Programmierumgebung vorgegeben
Anwendungs- Befehle der Anwendung + ev. Anweisungen programme: einer Programmiersprache Betriebssystem: Anweisungen einer Kommandosprache Webseite: Anweisungen einer Skriptsprache Aber was führt der Prozessor schlussendlich aus? 7/37 Informatik für Biol. & Pharm. Wissenschaften © Institut für Computational Science, ETH Zürich

9 Hierarchische Gliederung von Programmierumgebungen
Anwendungsspezifische Programme Sub Makro1 () Range("B6").Select while not finished do begin if temp >= 32 then Höhere Programmiersprache INC R2 ; MOV R2,R0 ; CALCULATE ADD R1,R2 ; F(3) Assemblierer 14 000016 010200 15 000020 060102 16 000022 010001 Maschinensprache Prozessor Befehlssatz 8/37 Informatik für Biol. & Pharm. Wissenschaften © Institut für Computational Science, ETH Zürich

10 Zwei Arten der Programmausführung (vereinfacht)
1) Programm wird kompiliert (übersetzt) Quellcode Prozessor- Instruktionen Compiler Prozessor Müssen nicht auf dem ausführenden Computer sein Muss auf dem ausführenden Computer sein 2) Programm wird interpretiert Quellcode Prozessor- Instruktionen Interpreter Compiler Prozessor 9/37 Informatik für Biol. & Pharm. Wissenschaften © Institut für Computational Science, ETH Zürich

11 Nobody's perfect: Fehlerquellen
Falsche Programmlogik: diese Fehler müssen wir selber finden Nichtbeachten der Regeln der Programmiersprache: Hier kann uns ein "Debugger" helfen Falsche Daten: Verantwortung der Programmiererin, Programmiersprache kann helfen (Datentypen) 10/37 Informatik für Biol. & Pharm. Wissenschaften © Institut für Computational Science, ETH Zürich

12 Debugger (Entstörer) Sucht formale Fehler Prüft während der Ausführung
Kann ein- oder ausgeschaltet werden 11/37 11/34 Informatik für Biol. & Pharm. Wissenschaften © Institut für Computational Science, ETH Zürich

13 Programmiersprachen: Historische Entwicklung (Bsp.)
1999 DELPHI 2005 JINI 1998 Active Oberon 1997 1996 JAVA 1995 FORTRAN 95 DELPHI 1994 1992 Object-Pascal VBA 1991 1989 1988 Oberon 1986 Eiffel 1985 Turbo-Pascal C++ 1980 FORTRAN 77 PASCAL MODULA-2 SMALLTALK 80 C BASIC 12/37 Informatik für Biol. & Pharm. Wissenschaften © Institut für Computational Science, ETH Zürich

14 Die wichtigsten Programmierparadigmen
(Paradigma: Denkmuster) Imperative Programmierung Befehls- oder Anweisungsorientiert Objektorientierte Programmierung Objekte mit Eigenschaften und Operationen Deklarative Programmierung Fakten & logische Aussagen (Regeln) 13/37 Informatik für Biol. & Pharm. Wissenschaften © Institut für Computational Science, ETH Zürich

15 Imperative Programmierung
Ein Befehl in der Eingabeaufforderung löst eine Folge von Anweisungen aus Befehlszeile Pascal-Anweisungsfolge Bildschirm Programmcode 14/37 Informatik für Biol. & Pharm. Wissenschaften © Institut für Computational Science, ETH Zürich

16 Objektorientierte Programmierung
Konkretes oder imaginäres Objekt hat Eigenschaften kann Aktionen auslösen 15/37 Informatik für Biol. & Pharm. Wissenschaften © Institut für Computational Science, ETH Zürich

17 Hilfsmittel für die Programmierung
Interaktion mit Informatikmitteln Grundlagen der Programmierung Hilfsmittel für die Programmierung Webprogrammierung

18 Hilfsmittel für den Programmentwurf
Pseudocode Natürlichsprachliche, knappe Beschreibung unter Einbezug der Notation einer Programmier sprache Flussdiagramme Gerichtete Liniendiagramme zur Illustration von Abläufen (Programmablaufplan) Struktogramme Darstellung von Aktionen durch Blöcke, die aneinander gereiht oder ineinander geschachtelt werden (Nassi-Shneiderman Diagramm) 16/37 Informatik für Biol. & Pharm. Wissenschaften © Institut für Computational Science, ETH Zürich

19 Beispiel: Temperaturwerte sollen von Grad Fahrenheit in
Pseudocode Beispiel: Temperaturwerte sollen von Grad Fahrenheit in Grad Celsius umgerechnet werden read(F) subtrahiere 32 multipliziere mit 5/9 write(C) 17/37 Informatik für Biol. & Pharm. Wissenschaften © Institut für Computational Science, ETH Zürich

20 Sequenz, Fallunterscheidung und Wiederholung
Flussdiagramme Drei elementare Konstruktionselemente für Algorithmen: Sequenz, Fallunterscheidung und Wiederholung Diese Elemente lassen sich durch geeignetes Aneinanderreihen der folgenden zwei Symbole grafisch darstellen: Operation Fallunterscheidung Eingabe/Ausgabe 18/37 Informatik für Biol. & Pharm. Wissenschaften © Institut für Computational Science, ETH Zürich

21 Flussdiagramme: Sequenz
Am Beispiel der Temperaturumrechnung: read(F) T = F - 32 C = T x 5 / 9 write(C) 19/37 Informatik für Biol. & Pharm. Wissenschaften © Institut für Computational Science, ETH Zürich

22 Flussdiagramme: Fallunterscheidung
Angenommen, wir rechnen die Temperaturen nur um, falls sie über dem Gefrierpunkt sind, andernfalls geben wir eine Warnung aus. read(F) falsch F  32 wahr Pseudocode: read(F) if F >= 32 then begin subtrahiere 32 multipliziere mit 5/9 write(C) end else gebe warnung aus T = F - 32 Warnung C = T x 5 / 9 write(C) 20/37 Informatik für Biol. & Pharm. Wissenschaften © Institut für Computational Science, ETH Zürich

23 Flussdiagramme: Wiederholung
Nun möchten wir eine Umrechnungstabelle erstellen, die für jedes ganze Grad Fahrenheit zwischen 0 und 100 die entsprechende Temperatur in Celcius angibt. Pseudocode: F = 0 solange F < 101 begin subtrahiere 32 multipliziere mit 5/9 write(F,C) F = F + 1 end F = 0 Berechne C write(F,C) erhöhe F falsch F < 101 wahr Stopp 21/37 Informatik für Biol. & Pharm. Wissenschaften © Institut für Computational Science, ETH Zürich

24 Automatische Titration
Beispielaus dem Labor Automatische Titration 22/37 Informatik für Biol. & Pharm. Wissenschaften © Institut für Computational Science, ETH Zürich

25 Struktogramme: Sequenz, Fallunterscheidung
Anweisung 1 Anweisung 2 Bedingung b Anweisung 1 Anweisung 2 .... Anweisung n ja nein 23/37 Informatik für Biol. & Pharm. Wissenschaften © Institut für Computational Science, ETH Zürich

26 Struktogramme: Wiederholung
Schleife genau n mal Schleife 0 bis n mal Solange Bedingung b tue Anweisungen Für i = Anfangswert bis Endwert tue Anweisungen Schleife 1 bis n mal Wiederhole Anweisungen bis Bedingung b 24/37 Informatik für Biol. & Pharm. Wissenschaften © Institut für Computational Science, ETH Zürich

27 Struktogramme: Beispiele
Lösung einer quadratischen Gleichung. Mitteilung falls nicht lösbar (Diskriminante < 0). Umrechnungstabelle, die für jedes ganze Grad Fahrenheit zwischen 0 und 100 die entsprechende Temperatur in Celcius angibt. Eingabe: p, q a = p : 2 d = a2 - q ja d < nein Ausgabe: "nicht lösbar" h = √ d X1 = a + h X2 = a -h X1, X2 Für F = 0 bis 100, Schrittw. 1 F = F -32 tue C = F • 5/9 Ausgabe C 25/37 Informatik für Biol. & Pharm. Wissenschaften © Institut für Computational Science, ETH Zürich

28 Webprogrammierung Interaktion mit Informatikmitteln
Grundlagen der Programmierung Hilfsmittel für die Programmierung Webprogrammierung

29 Statische Webauftritte
Kommunikationsschema für Webseiten Client Server 2. Bearbeitung HTML-Seite an Client zur Interpretation senden 1. Anforderung 3. Antwort Internet Interaktion zwischen Web und Nutzer auf Mausklicks beschränkt "Plakatcharakter" der Kommunikation 26/37 Informatik für Biol. & Pharm. Wissenschaften © Institut für Computational Science, ETH Zürich

30 Dynamische Webauftritte
Clientseitig Client erhält HTML-Dokumente, die Programme enthalten, zur Steuerung des Erscheinungsbildes im Browser Z.B. in Abhängigkeit von Mausaktionen oder von Zeitgebern (Animationen) Serverseitig Server beantwortet Anfragen qualifiziert Webdokumente werden durch Programme des Servers für den Client bedarfsgerecht aufbereitet Jede Anfrage erhält eine individuelle Antwort 27/37 Informatik für Biol. & Pharm. Wissenschaften © Institut für Computational Science, ETH Zürich

31 Clientseitige dynamische Webauftritte
Server 1. Anforderung 2. Bearbeitung HTML-Seite an Client zur Interpretation senden 3. Antwort 4. Bearbeitung Dynamische Effekte für komfortable Benutzerschnittstellen (z.B. Erscheinen von neuen Fenstern mit Zusatz-informationen) Bereichs- und Gültigkeitsüberprüfung von Zahlen und Texten in Formularen Hervorheben von Dokumentteilen bei Erhalt des Mausfokus sorgfältig einsetzen! 28/37 Informatik für Biol. & Pharm. Wissenschaften © Institut für Computational Science, ETH Zürich

32 Serverseitige dynamische Webauftritte
Client Server 2. Bearbeitung 1. Anforderung Programmaufruf (*.pl) CGI (Common Gateway Interface) Am meisten verbreitete Technik um Programme in Webservern aufzurufen Für die Programmierung selbst werden sog. Script-sprachen verwendet 3. Antwort 29/37 Informatik für Biol. & Pharm. Wissenschaften © Institut für Computational Science, ETH Zürich

33 Was sind Scriptsprachen?
Scripting Das Zusammenfassen von Programmaufrufen zu einem "Drehbuch" (script), das nach belieben auf- gerufen werden kann Scriptsprache Erweiterung des Scripting um Programmier- sprachliche Elemente (Übergabe von Resultaten an Folgeprogramm, Überspringen von Programmen, Wiederholungen) 30/37 Informatik für Biol. & Pharm. Wissenschaften © Institut für Computational Science, ETH Zürich

34 Clientseitige Dynamik: Beispiel
Grundlage des Webs sind HTML-Dokumente (HyperText Markup Language) HTML-Dokumente sind Textdateien, deren Inhalt durch einen Browser interpretiert wird und die mittels Hypertext-Techniken andere Dokumente einbinden können Markups sind Anweisungen in einem HTML-Dokument, die angeben, wie Texte und grafische Elemente zu präsentieren sind 31/37 Informatik für Biol. & Pharm. Wissenschaften © Institut für Computational Science, ETH Zürich

35 Markups Ein HTML-Dokument besteht aus einer Folge von Markups, die durch einen Browser der Reihe nach abgearbeitet werden Beispiel <TABLE Border=1 Width=400 Heigth=300 BGcolor=silver> <TR><TD Height=20% Colspan=2>   </TD></TR> <TR><TD Width=25%>   </TD> <TD>   </TD></TR> </TABLE> Diese Markups codieren eine 400 x 300 Pixel grosseTabelle, die sichtbar gemacht wird (Border=1) 32/37 Informatik für Biol. & Pharm. Wissenschaften © Institut für Computational Science, ETH Zürich

36 <TD> . . . </TD> (Table Data) Die Symbole:
Markups Markups sind z.B.: <TR> </TR> (Table Row) oder <TD> </TD> (Table Data) Die Symbole: <TR>, <TD>, <TABLE> werden als Tags oder Marken bezeichnet, wobei <TR> eine Startmarke und </TR> eine Endmarke ist Tags werden mit Attributen ergänzt, welche die Details der Darstellung angeben: <TABLE Border=1 Width=400 Heigth=300 BGcolor=silver> 33/37 Informatik für Biol. & Pharm. Wissenschaften © Institut für Computational Science, ETH Zürich

37 Formulare: Interaktive Webseiten
Durch Drücken des "Bestellen!"-Knopfes (Submit-Knopf) wird das Formular zum Ziel gesandt (gegeben durch den URL der Webseite des Formulars) 34/37 Informatik für Biol. & Pharm. Wissenschaften © Institut für Computational Science, ETH Zürich

38 "Abschicken" eines Formulars
Formulare "Abschicken" eines Formulars Das Method-Attribut bestimmt, in welcher Form dies geschieht Bei GET werden die Daten als "Query-String" an die Action-URL geheftet Die Daten schliessen sich dem Fragezeichen der URL an: Ziel-URL/formular.html?Anzahl=6&Item=Birnen Trennzeichen Datenelement Der Query-String wird vom Webserver an dort ablaufende Programme weitergegeben (z.B. über CGI), kann aber auch HTML-Dokumenten auf der Client-Seite verfügbar gemacht werden Hinweis: Kein Schutz gegen Missbrauch!! 35/37 Informatik für Biol. & Pharm. Wissenschaften © Institut für Computational Science, ETH Zürich

39 Programmieren kann in allen Bereichen des Informatik-Arbeitsplatzes eingesetzt werden! Datenverwaltung Kommunikation Datenverarbeitung Informationserzeugung 36/37

40 Programmiervorlesungen für die Naturwissenschaften (SS)
Anwendungsnahes Programmieren (Java) Programmieren und Problemlösen (Delphi) 37/37 Informatik für Biol. & Pharm. Wissenschaften © Institut für Computational Science, ETH Zürich

41 Danke für Ihre Aufmerksamkeit


Herunterladen ppt "Interaktion mit Informatikmitteln"

Ähnliche Präsentationen


Google-Anzeigen