Agenda für heute, 12. Mai 2010 Interaktionen von InformatikmittelnInteraktionen von...

Preview:

Citation preview

Agenda für heute, 12. Mai 2010

• Interaktionen von InformatikmittelnInteraktionen von Informatikmitteln• Interaktion mit Anwender: Betriebsarten• Interaktion mit Programmen: Datenformate• Interaktion mit Prozessor: Programmierung• Hilfsmittel für die Programmierung • Webprogrammierung

Das heutige Thema im Kontext des Informationsarbeitsplatzes

2/35

Interaktionen von Informatikmitteln

Drei Betriebsarten: • Dialog• Echtzeit • Stapel

Unzählige Datenformate:• ".a" (Archiv bei UNIX) bis• • • ".zvd" (Voice-Datei)

Zwei Interaktionstypen:• mit Anwendern (Betriebsart)• mit Daten (Formate)

Informatik für Biol. & Pharm. Wissenschaften © Departement Informatik, ETH Zürich3/35

• Interaktionen von Informatikmitteln

• Interaktion mit Anwender: BetriebsartenInteraktion mit Anwender: Betriebsarten• Interaktion mit Programmen: Datenformate• Interaktion mit Prozessor: Programmierung• Hilfsmittel für die Programmierung • Webprogrammierung

Informatik für Biol. & Pharm. Wissenschaften © Departement Informatik, ETH Zürich

Anwender: Betriebsarten im Vergleich

Dialogbetrieb

4/35

• Interaktive Eingabe von Instruktionen und Daten

• Sofortige Ausgabe von Daten (< 0.1 sec.)

• Steuerung eines Programms während seiner Ausführung möglich

Programme

Informatik für Biol. & Pharm. Wissenschaften © Departement Informatik, ETH Zürich

Anwender: Betriebsarten im VergleichEchtzeitbetrieb

5/35

• Kurze Reaktionszeiten (μsek.)

• Hohe Zuverlässigkeit (Redundanz)

• Messen, Regeln, Ablaufsteuerungen

Programme

Informatik für Biol. & Pharm. Wissenschaften © Departement Informatik, ETH Zürich

Anwender: Betriebsarten im VergleichStapelbetrieb

6/35

• Vollständig spezifizierter Auftrag wird selbständig ausgeführt

• Keine Möglichkeit, auf den Programmablauf einzuwirken

• Rechenintensive Arbeiten, Routineaufgaben (z.B. autom. Backup)

• Makros, Batch-Dateien (.BAT)

Programmierung

• Interaktionen von Informatikmitteln

• Interaktion mit Anwender: Betriebsarten

• Interaktion mit Programmen: DatenformateInteraktion mit Programmen: Datenformate• Interaktion mit Prozessor: Programmierung• Hilfsmittel für die Programmierung • Webprogrammierung

Informatik für Biol. & Pharm. Wissenschaften © Departement Informatik, ETH Zürich

Standardisierung ermöglicht Datenaustausch

7/35

Traditionelle Standards für • Zahlen (Prozessor, arithmetische Operationen)• Zeichen (Alphabet, Zeichensätze, Programmsteuerung)• Graphik (Bildverarbeitung, Ausgabemedien)

Neuere Standards beschreiben• Darstellung der Daten (Dokumente, Bilder)• Bedeutung der Daten (Beschreibung des Dateiinhalts)

Informatik für Biol. & Pharm. Wissenschaften © Departement Informatik, ETH Zürich

Datenformate: Grafik

BMP-Dateien (Windows Bitmap) speichern für jeden Bildpunkt die intensität der Farben rot, grün und blau. In der Regel wird für jede Farbe 1 Byte (8 Bit) verwendet

Speicherintensiv weil unkomprimiert.

8/35

GIF-Dateien (Graphics Interchange Format, US Online-Dienst Compuserve) arbeitet mit "Paletten" von bis zu 256 Farben.

Verlustlose Komprimierung erspart Speicher.

JPEG-Dateien (Joint Photographic Experts Group, ISO 10980) wurde als Standard für die Komprimierung fotografischer Bilder eingeführt.

Führt je nach Komprimierungsgrad zu mehr oder weniger Qualitätsverlust.

Informatik für Biol. & Pharm. Wissenschaften © Departement Informatik, ETH Zürich

Datenformate: Dokumente

Rich Text Format (RTF, Microsoft).• Inhalt plus Beschreibung, wie dieser dargestellt werden soll.

• Ein öffentliches Dateiformat für Dokumente, das die meisten Textverarbeitungsprogramme lesen können.

• Die Datei ist reiner Text, ähnlich wie HTML.

9/35

Obiger Text in einer RTF-Datei:{\rtf1\ansi\ansicpg1252{\fonttbl{\f1\fnil\fcharset0\fprq0 Helvetica;}}{\colortbl;\red0\green102\blue102;

Informatik für Biol. & Pharm. Wissenschaften © Departement Informatik, ETH Zürich

Datenformate: Dokumente

Portable Document Format (PDF).

• Vektorbasierte Seitenbeschreibungssprache. Plattformunabhängige, originalgetreue Darstellung von Dokumenten.

• Seitengrösse nur durch Verarbeitungsprogramm beschränkt.

• Enthält Schutzmechanismen.

• Dateigrösse hängt u.a. davon ab, ob Schriften eingebettet sind.

• Ideal zum Publizieren von Inhalten.

• Verwendet Bildkompressionsverfahren.

10/35

Informatik für Biol. & Pharm. Wissenschaften © Departement Informatik, ETH Zürich

Datenformate: Auszeichnungssprachen (markup languages)

Hypertext Markup Language (HTML, W3C).• Die vorherrschende, textbasierte, Auszeichnungssprache für

Webseiten.• Verwendet zur Strukturierung von Inhalten wie Texte, Bilder

und Hyperlinks in Dokumenten.

• Enthält zusätzliche Angaben, z. B. über die im Text verwendete Sprache, die Autorin oder den Inhalt des Textes.

• Diese Auszeichnungssprache wurde vom World Wide Web Consortium weiterentwickelt und ist durch XHTML ersetzt worden.

11/35

Informatik für Biol. & Pharm. Wissenschaften © Departement Informatik, ETH Zürich

Datenformate: Auszeichnungssprachen (markup languages)

Extensible Markup Language (XML, W3C).• Textbasierte (im einfachsten Fall ASCII) Auszeichnungs-

sprache zur Darstellung von hierarchisch strukturierten Daten.

• XML-Dokument können in andere Dokumente transformiert werden, beispielsweise nach XHTML, um das Dokument in einem Webbrowser anzuzeigen.

• XML wird auch für den Austausch von Daten zwischen unterschiedlichen IT-Systemen eingesetzt.

• Um die Struktur von XML-Sprachen zu beschreiben, bedient man sich so genannter Schemasprachen wie DTD (Document Type Definition) oder XML Schema.

12/35

• Interaktionen von Informatikmitteln • Interaktion mit Anwender: Betriebsarten• Interaktion mit Programmen: Datenformate

• Interaktion mit Prozessor: ProgrammierungInteraktion mit Prozessor: Programmierung• Hilfsmittel für die Programmierung • Webprogrammierung

Informatik für Biol. & Pharm. Wissenschaften © Departement Informatik, ETH Zürich

Was ist ein Programm?

Eine Folge von Instruktionen, mit denen ein Computer(programm)

den Inhalt von Speicherzellen verändert

Datenstrukturen

Algorithmus

SequenzVerzweigungWiederholung

Variable . . .. . . Datei . . .

. . . Objekt

13/35

Algorithmen + Datenstrukturen = Programme

Informatik für Biol. & Pharm. Wissenschaften © Departement Informatik, ETH Zürich

Instruktionen und Programmierumgebungen

14/35

Anwendungs- Befehle der Anwendung + ev. Anweisungen einer programme: Programmiersprache (Bsp. Excel + VBA)

Programmier- Anweisungen einer Programmiersprache + ev. vor-systeme: programmierte Elemente (Bsp. VBA + Steuerelemente)

Betriebssystem: Anweisungen einer Kommandosprache (Bsp. Windows Eingabeaufforderung)

Webseite: Anweisungen einer Skriptsprache (Bsp. PHP)

Problemstellung diktiert die Datenstrukturen

Berechnungen: Variablen

Fixe Listen: Felder (Arrays)

Dynamische Listen: verkettete Variablen (Records)

Permanente Daten: Dateien (Files)

T A M I F U

6 + 13 19x y z

1 2 3 4 5 6

T 2 A 3 M 4 I 5 F 6 U

1 2 3 4 5 6

T A M I F U1 2 3 4 5 6 M

output

Informatik für Biol. & Pharm. Wissenschaften © Departement Informatik, ETH Zürich15/35

Problemstellung diktiert die Datenstrukturen

Berechnungen: Variablen

Fixe Listen: Felder (Arrays)

Dynamische Listen: verkettete Variablen (Records)

Permanente Daten: Dateien (Files)

T A M I F U

6 + 13 19x y z

1 2 3 4 5 6

T 2 A 3 M 4 I 5 F 7 U L 61 2 3 4 5 6 7

T A M I F U1 2 3 4 5 6 M

output

Informatik für Biol. & Pharm. Wissenschaften © Departement Informatik, ETH Zürich16/35

Informatik für Biol. & Pharm. Wissenschaften © Departement Informatik, ETH Zürich

Strukturiertes Programmieren

17/35

Problemanalytiker haben festgestellt, dass Algorithmen, die mit Hilfe der drei elementaren Konstruktionselementen

Sequenz, Fallunterscheidung und Wiederholung

aufgebaut sind, besser verstanden werden als andere, bei denen mehr künstlerische Freiheit erlaubt ist.

Um die Verwaltung grosser Programme zu vereinfachen, werden bestimmte Folgen von Instruktionen zusammengefasst in einem

Unterprogramm (Subroutine)

was auch ermöglicht, dass einmal geschriebener Code mehrmals wieder verwendet werden kann.

Programmieren: Mensch vs. Maschine

x y z

Programmtext (Quellcode)

Informatik für Biol. & Pharm. Wissenschaften © Departement Informatik, ETH Zürich18/35

Maschinencode?

Zwei Arten der Programmausführung (vereinfacht)

1) Programm wird kompiliert (übersetzt)

2) Programm wird interpretiert

Prozessor-InstruktionenCompiler

Quellcode

InterpreterQuellcode Prozessor-

Instruktionen

Prozessor

Compiler

Prozessor

Müssen nicht auf dem ausführenden Computer sein

Muss auf dem ausführenden Computer sein

Informatik für Biol. & Pharm. Wissenschaften © Departement Informatik, ETH Zürich19/35

Informatik für Biol. & Pharm. Wissenschaften © Departement Informatik, ETH Zürich

Nobody's perfect: Fehlerquellen

Mensch•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)

20/35

Maschine•Ungenügende Programmierumgebung

•Leistungsschwacher Prozessor

Informatik für Biol. & Pharm. Wissenschaften © Departement Informatik, ETH Zürich

Debugger (Entstörer)

11/34

• Sucht formale Fehler

• Prüft während der Ausführung

• Kann ein- oder ausgeschaltet werden

21/35

• Interaktionen von Informatikmitteln • Interaktion mit Anwender: Betriebsarten• Interaktion mit Programmen: Datenformate• Interaktion mit Prozessor: Programmierung

• Hilfsmittel für die Programmierung Hilfsmittel für die Programmierung • Webprogrammierung

Informatik für Biol. & Pharm. Wissenschaften © Departement Informatik, ETH Zürich

Hilfsmittel für den Programmentwurf

Pseudocode Natürlichsprachliche, knappe Beschreibungunter Einbezug der Notation einer Programmier-

sprache

Flussdiagramme Gerichtete Liniendiagramme zur Illustrationvon Abläufen (Programmablaufplan)

Struktogramme Darstellung von Aktionen durch Blöcke, die aneinander gereiht oder ineinander

geschachtelt werden (Nassi-Shneiderman- Diagramm)

22/35

Informatik für Biol. & Pharm. Wissenschaften © Departement Informatik, ETH Zürich

Pseudocode

Beispiel: Temperaturwerte sollen von Grad Fahrenheit inGrad Celsius umgerechnet werden

read(F)subtrahiere 32multipliziere mit 5/9write(C)

23/35

Informatik für Biol. & Pharm. Wissenschaften © Departement Informatik, ETH Zürich

Flussdiagramme

Die drei elementaren Konstruktionselemente für Algorithmen:

Sequenz, Fallunterscheidung und Wiederholung

lassen sich durch geeignetes Aneinanderreihen der folgenden drei Symbole grafisch darstellen:

Operation Fallunterscheidung

24/35

Eingabe/Ausgabe

Informatik für Biol. & Pharm. Wissenschaften © Departement Informatik, ETH Zürich

Flussdiagramme: Fallunterscheidung

read(F)

T = F - 32

C = T x 5 / 9

write(C)

F 32

Warnung

wahrfalsch

Pseudocode:read(F)if F >= 32then begin subtrahiere 32 multipliziere mit 5/9 write(C) endelse gebe warnung aus

25/35

Angenommen, wir rechnen die Temperaturen nur um, falls sie über dem Gefrierpunkt sind, andernfalls geben wir eine Warnung aus.

Informatik für Biol. & Pharm. Wissenschaften © Departement Informatik, ETH Zürich

Flussdiagramme: Wiederholung

F = 0

Stopp

F < 101Berechne Cwrite(F,C)erhöhe F

wahrfalsch

Pseudocode:F = 0solange F < 101begin subtrahiere 32 multipliziere mit 5/9 write(F,C) F = F + 1 end

26/35

Nun möchten wir eine Umrechnungstabelle erstellen, die für jedes ganze Grad Fahrenheit zwischen 0 und 100 die entsprechende Temperatur in Celcius angibt.

Informatik für Biol. & Pharm. Wissenschaften © Departement Informatik, ETH Zürich

Struktogramme: Sequenz, Fallunterscheidung

Sequenz

Anweisung 1

Anweisung 2

....

Anweisung n

Fallunterscheidung

Anweisung 1 Anweisung 2

ja neinBedingung b

27/35

Informatik für Biol. & Pharm. Wissenschaften © Departement Informatik, ETH Zürich

Struktogramme: Wiederholung

Variable Schleife

Solange Bedingung b

führe aus Anweisungen

Fixe SchleifeFür i = Anfangswert bis Endwert

führe aus Anweisungen

28/35

Struktogramme: Beispiele

Eingabe: p, q

a = p : 2

d = a2 - q

ja d < 0 nein

Ausgabe: "nicht lösbar"

h = √ d

X1 = a + h

X2 = a - h

X1, X2

Lösung einer quadratischen Gleichung. Mitteilung falls nicht lösbar (Diskriminante < 0).

Informatik für Biol. & Pharm. Wissenschaften © Departement Informatik, ETH Zürich29/35

• Interaktionen von Informatikmitteln • Interaktion mit Anwender: Betriebsarten• Interaktion mit Programmen: Datenformate• Interaktion mit Prozessor: Programmierung• Hilfsmittel für die Programmierung

• WebprogrammierungWebprogrammierung

Informatik für Biol. & Pharm. Wissenschaften © Departement Informatik, ETH Zürich

Statische Webauftritte

Kommunikationsschema für Webseiten

Client Server

1. Anforderung

3. Antwort

2. Bearbeitung

HTML-Seite an Clientzur Interpretation senden

Interaktion zwischen Web und Nutzer auf Mausklicks beschränkt

"Plakatcharakter" der Kommunikation

30/35

Internet

Informatik für Biol. & Pharm. Wissenschaften © Departement Informatik, ETH Zürich

Dynamische Webauftritte

• ServerseitigServer beantwortet Anfragen qualifiziert

Webdokumente werden durch Programme des Servers für den Client bedarfsgerecht aufbereitet

Jede Anfrage erhält eine individuelle Antwort

• ClientseitigClient erhält HTML-Dokumente, die Programme enthalten, welche das Erscheinungsbild im Browser steuern

Z.B. in Abhängigkeit von Mausaktionen oder von Zeitgebern (Animationen)

31/35

Informatik für Biol. & Pharm. Wissenschaften © Departement Informatik, ETH Zürich

Clientseitige dynamische Webauftritte

Client Server

1. Anforderung

3. Antwort

Dynamische Effekte für komfortable Benutzerschnittstellen

Bereichs- und Gültigkeitsüberprüfung von Zahlen und Texten in Formularen

Hervorheben von Dokumentteilen bei Erhalt des Mausfokus

2. Bearbeitung

HTML-Seite an Clientzur Interpretation senden

4. Bearbeitung

32/35

Informatik für Biol. & Pharm. Wissenschaften © Departement Informatik, ETH Zürich

Beispiel für interaktive Webseiten: Formulare

Durch Drücken des "Bestellen!"-Knopfes (Submit-Knopf) wird das Formular zum Ziel gesandt (gegeben durch den URL der Webseite des Formulars)

33/35

Informatik für Biol. & Pharm. Wissenschaften © Departement Informatik, ETH Zürich

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

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

DatenelementTrennzeichen

Hinweis: Kein Schutz gegen Missbrauch!!34/35

Programmieren kann bei allen Aufgaben des Informatik-

Arbeitsplatzes eingesetzt werden!

Datenverwaltung

InformationserzeugungDatenverarbeitung

Kommunikation

35/35Informatik für Biol. & Pharm. Wissenschaften © Departement Informatik, ETH Zürich

Danke für Ihre Aufmerksamkeit

Recommended