Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Agenda für heute, 4. Dezember 2009

Ähnliche Präsentationen


Präsentation zum Thema: "Agenda für heute, 4. Dezember 2009"—  Präsentation transkript:

1 Agenda für heute, 4. Dezember 2009
Interaktion mit Informatikmitteln: Betriebsarten Datenformate Programmierung Hilfsmittel für die Programmierung Webprogrammierung

2 Interaktion mit Informatikmitteln
Zwei Interaktionstypen: mit Anwendern mit Daten Drei Betriebsarten: Dialog Echtzeit Stapel Unzählige Datenformate: ".a" (Archiv bei UNIX) ".zvd" (Voice-Datei) 2/44 © Departement Informatik, ETH Zürich

3 Betriebsarten im Vergleich
Dialogbetrieb Interaktive Eingabe von Instruktionen und Daten Sofortige Ausgabe von Daten (< 0.1 sec.) Steuerung eines Programms während seiner Ausführung möglich Programme 3/44 © Departement Informatik, ETH Zürich

4 Betriebsarten im Vergleich
Echtzeitbetrieb Kurze Reaktionszeiten (μsek.) Hohe Zuverlässigkeit (Redundanz) Messen, Regeln, Ablaufsteuerungen Programme 4/44 © Departement Informatik, ETH Zürich

5 Betriebsarten im Vergleich
Stapelbetrieb 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 5/44 © Departement Informatik, ETH Zürich

6 Datenformate Programmierung Hilfsmittel für die Programmierung
Interaktion mit Informatikmitteln: Betriebsarten Datenformate Programmierung Hilfsmittel für die Programmierung Webprogrammierung

7 Standardisierung ermöglicht Datenaustausch
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) 6/44 © Departement Informatik, ETH Zürich

8 Datenformate: Ganze Zahlen
Ganze Zahlen aus dem Wertebereich Ganze Zahlen aus dem Wertebereich Dezimal- binäre Darstellung wert ohne Vorzeichen Dezimal- binäre Darstellung wert mit Vorzeichen Wert Wert Vorzeichen 7/44 © Departement Informatik, ETH Zürich

9 Datenformate: Ganze Zahlen
Ganze Zahlen aus dem Wertebereich Dezimal- binäre Darstellung wert Zweierkomplement Positive Zahlen haben eine führende 0 Nur eine Darstellung für 0 Umrechnung negativer Zahlen: sämtliche Stellen werden negiert zum Ergebnis wird 1 addiert Bsp. -4: negiert: plus Resultat: Wert 8/44 © Departement Informatik, ETH Zürich

10 Datenformate: Gleitkommazahlen
'331'357 Mantisse  2Exponent = 135' 9/44 © Departement Informatik, ETH Zürich

11 Wie kann ein Komma gleiten?
Beispiel Der Wert wird wie folgt umgewandelt: = x 100 = x = x Mantisse = Exponent = –2 Grund: Erlaubt die Darstellung sehr kleiner Zahlen auch wenn für die Mantisse wenig Bits zur Verfügung stehen (kleine Präzision). 10/44 © Departement Informatik, ETH Zürich

12 Datenformate: Zeichen
Zeichen werden durch Zahlen codiert. ASCII 128 Zeichen (American Standards Association) Charsets Unicode Consortium: Universal Character Set ISO (216 Zeichen) ISO (256 Zeichen) 11/44 © Departement Informatik, ETH Zürich

13 Rastergrafik Vektorgrafik
(aufgereihte Bildpunkte) Vektorgrafik (Linienzüge, Kurven) Skalierbar ohne Qualitätseinbusse Qualitätsverlust bei Skalierung 12/44 © Departement Informatik, ETH Zürich

14 Prinzip der Rasterdaten
rgb-Werte,die als Bilddaten gespeichert werden: Farbe des Bild-punktes (Pixel): Kombinierter rgb-Wert: rot grün blau 255 44 172 212 . . . rot blau gelb türkis . . . 16'711'680 255 16'776'960 2'927'828 . . . 1 1 1 2 2 2 3 3 3 4 4 4 13/44 © Departement Informatik, ETH Zürich

15 Prinzip der Vektorgrafik
Listen mit Befehlen und Koordinaten geben einem Grafikprogramm an, was wo wie zu zeichnen ist. Beispiel (PostScript Standard) Die Instruktionsfolge: newpath 50 50 moveto 50 70 lineto 40 60 moveto 60 60 lineto arc stroke showpage Zeichnet einen Kreis mit Radius 10 um ein Fadenkreuz am Punkt 50, 60: 60 50 14/44 © Departement Informatik, ETH Zürich

16 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. 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. Verbreitet bei Digitalkameras und Bildern auf dem Web. 15/44 © Departement Informatik, ETH Zürich

17 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. RTF-Datei: {\rtf1\ansi{\fonttbl\f0\fswiss Helvetica;}\f0\par Dies ist ein {\b bold} Text.\par } Darstellung: Dies ist ein Text. 16/44 © Departement Informatik, ETH Zürich

18 Datenformate: Dokumente
Portable Document Format (PDF, Adobe, versch. ISO-Normen). 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. Bildkompressionsverfahren. 17/44 © Departement Informatik, ETH Zürich

19 Datenformate: Hypertext
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 soll durch XHTML ersetzt werden. 18/44 © Departement Informatik, ETH Zürich

20 Datenformate: Hypertext-Dokumente
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. 19/44 © Departement Informatik, ETH Zürich

21 Datenformate: Hypertext-Dokumente
DTD für Visulab-Daten <!ELEMENT VisulabData (data)> <!ELEMENT data (variables, records)> <!ELEMENT variables (realvariable)+> <!ATTRLIST variables count CDATA #REQUIRED> XML-Datei für Visulab-Daten <?xml version="1.0" encoding="iso "?> <VisulabData> <data> <variables count="4"> <realvariable name="sepal-leng" hide="1"/> <realvariable name="sepal-widt" hide="0"/> <realvariable name="petal-leng" hide="0"/> 20/44 © Departement Informatik, ETH Zürich

22 Programmierung Hilfsmittel für die Programmierung Webprogrammierung
Interaktion mit Informatikmitteln: Betriebsarten Datenformate Programmierung Hilfsmittel für die Programmierung Webprogrammierung

23 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 Algorithmen + Datenstrukturen = Programme 21/44 © Departement Informatik, ETH Zürich

24 Die Programmierumgebung stellt Instruktionen zur Verfügung
Anwendungs- Befehle der Anwendung + ev. Anweisungen programme: einer Programmiersprache Programmier- Anweisungen einer Programmiersprache umgebung: + ev. vorprogrammierte Elemente Betriebssystem: Anweisungen einer Kommandosprache Webseite: Anweisungen einer Skriptsprache 22/44 © Departement Informatik, ETH Zürich

25 Die Problemstellung diktiert die Datenstrukturen
Berechnungen: Variablen Fixe Listen: Felder (Arrays) Dynamische Listen: verkettete Variablen (Records) Permanente Daten: Dateien (Files) 6 + 13 19 x y z T A M I F U 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 U 1 2 3 4 5 6 M output 23/44 © Departement Informatik, ETH Zürich

26 Die Problemstellung diktiert die Datenstrukturen
Berechnungen: Variablen Fixe Listen: Felder (Arrays) Dynamische Listen: verkettete Variablen (Records) Permanente Daten: Dateien (Files) 6 + 13 19 x y z T A M I F U 1 2 3 4 5 6 T 2 A 3 M 4 I 5 F 7 U L 6 1 2 3 4 5 6 7 T A M I F U 1 2 3 4 5 6 M output 23/44 © Departement Informatik, ETH Zürich

27 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 24/44 © Departement Informatik, ETH Zürich

28 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) 25/44 © Departement Informatik, ETH Zürich

29 Debugger (Entstörer) Sucht formale Fehler Prüft während der Ausführung
Kann ein- oder ausgeschaltet werden 26/44 11/34 © Departement Informatik, ETH Zürich

30 Die wichtigsten Programmierparadigmen
(Paradigma: Denkmuster) Imperative Programmierung Befehls- oder Anweisungsorientiert (z.B. Pascal, C) Objektorientierte Programmierung Objekte mit Eigenschaften und Operationen (z.B. Java, Eiffel) Deklarative Programmierung Fakten & logische Aussagen (z.B. LISP, Prolog) 27/44 © Departement Informatik, ETH Zürich

31 Imperative Programmierung
Ein Befehl in der Eingabeaufforderung löst eine Folge von Anweisungen aus Befehlszeile Pascal-Anweisungsfolge Bildschirm Programmcode 28/44 © Departement Informatik, ETH Zürich

32 Objektorientierte Programmierung
Konkretes oder imaginäres Objekt hat Eigenschaften kann Aktionen auslösen (kommuniziert) 2944 © Departement Informatik, ETH Zürich

33 Hilfsmittel für die Programmierung
Interaktion mit Informatikmitteln: Betriebsarten Datenformate Programmierung Hilfsmittel für die Programmierung Webprogrammierung

34 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) 30/44 © Departement Informatik, ETH Zürich

35 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) 31/44 © Departement Informatik, ETH Zürich

36 Sequenz, Fallunterscheidung und Wiederholung
Flussdiagramme Drei elementare Konstruktionselemente für Algorithmen: Sequenz, Fallunterscheidung und Wiederholung Diese Elemente lassen sich durch geeignetes Aneinanderreihen der folgenden drei Symbole grafisch darstellen: Operation Fallunterscheidung Eingabe/Ausgabe 32/44 © Departement Informatik, ETH Zürich

37 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) 33/44 © Departement Informatik, ETH Zürich

38 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 34/44 © Departement Informatik, ETH Zürich

39 Struktogramme: Sequenz, Fallunterscheidung
Anweisung 1 Anweisung 2 Bedingung b Anweisung 1 Anweisung 2 .... Anweisung n ja nein 35/44 © Departement Informatik, ETH Zürich

40 Struktogramme: Wiederholung
Schleife genau n mal Schleife 0 bis n mal Solange Bedingung b tue Anweisungen Für i = Anfangswert bis Endwert tue Anweisungen 36/44 © Departement Informatik, ETH Zürich

41 Struktogramme: Beispiele
Umrechnungstabelle, die für jedes ganze Grad Fahrenheit zwischen 0 und 100 die entsprechende Temperatur in Celcius angibt. Lösung einer quadratischen Gleichung. Mitteilung falls nicht lösbar (Diskriminante < 0). 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 37/44 © Departement Informatik, ETH Zürich

42 Webprogrammierung Interaktion mit Informatikmitteln: Betriebsarten
Datenformate Programmierung Hilfsmittel für die Programmierung Webprogrammierung

43 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 38/44 © Departement Informatik, ETH Zürich

44 Dynamische Webauftritte
Clientseitig Client erhält HTML-Dokumente, die Programme enthalten, welche das Erscheinungsbild im Browser steuern Z.B. in Abhängigkeit von Mausaktionen oder von Zeitgebern (Animationen) Serverseitig Server beantwortet Anfragen qualifiziert Webdokumente werden durch Programnme des Servers für den Client bedarfsgerecht aufbereitet Jede Anfrage erhält eine individuelle Antwort 39/44 © Departement Informatik, ETH Zürich

45 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 Bereichs- und Gültigkeitsüberprüfung von Zahlen und Texten in Formularen Hervorheben von Dokumentteilen bei Erhalt des Mausfokus 40/44 © Departement Informatik, ETH Zürich

46 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) 41/44 © Departement Informatik, ETH Zürich

47 "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!! 42/44 © Departement Informatik, ETH Zürich

48 Programmieren kann in allen Bereichen des Informatik-Arbeitsplatzes eingesetzt werden! Datenverwaltung Kommunikation Datenverarbeitung Informationserzeugung 43/44 © Departement Informatik, ETH Zürich

49 Programmiervorlesungen für die Naturwissenschaften (FS)
Anwendungsnahes Programmieren (Matlab) Programmieren und Problemlösen (Delphi) 44/44 © Departement Informatik, ETH Zürich

50 Wir wünschen Ihnen ein schönes Wochenende und viel Erfolg bei der Semesterende-Prüfung


Herunterladen ppt "Agenda für heute, 4. Dezember 2009"

Ähnliche Präsentationen


Google-Anzeigen