agenda für heute, 27. januar 2006 interaktion mit informatikmittelninteraktion mit...

37
Agenda für heute, 27. Januar 2006 Interaktion mit Informatikmitteln Interaktion mit Informatikmitteln Grundlagen der Programmierung Hilfsmittel für die Programmierung • Webprogrammierung

Upload: ottila-wessner

Post on 05-Apr-2015

103 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Agenda für heute, 27. Januar 2006 Interaktion mit InformatikmittelnInteraktion mit Informatikmitteln Grundlagen der Programmierung Hilfsmittel für die

Agenda für heute, 27. Januar 2006

• Interaktion mit InformatikmittelnInteraktion mit Informatikmitteln• Grundlagen der Programmierung

• Hilfsmittel für die Programmierung

• Webprogrammierung

Page 2: Agenda für heute, 27. Januar 2006 Interaktion mit InformatikmittelnInteraktion mit Informatikmitteln Grundlagen der Programmierung Hilfsmittel für die

© Institut für Computational Science, ETHZ

Interaktion mit Informatikmitteln

Dialogbetrieb Echtzeitbetrieb Stapelbetrieb

2/32

Page 3: Agenda für heute, 27. Januar 2006 Interaktion mit InformatikmittelnInteraktion mit Informatikmitteln Grundlagen der Programmierung Hilfsmittel für die

© Institut für Computational Science, ETHZ

Interaktion mit Informatikmitteln

Dialogbetrieb

3/32

• Interaktive Eingabe von Instruktionen und Daten

• Ausgabe von Daten in Echtzeit

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

Page 4: Agenda für heute, 27. Januar 2006 Interaktion mit InformatikmittelnInteraktion mit Informatikmitteln Grundlagen der Programmierung Hilfsmittel für die

© Institut für Computational Science, ETHZ

Interaktion mit Informatikmitteln

Echtzeitbetrieb

4/32

• Kurze Reaktionszeiten

• Hohe Zuverlässigkeit

• Messen, Regeln, Ablauf-steuerungen

Page 5: Agenda für heute, 27. Januar 2006 Interaktion mit InformatikmittelnInteraktion mit Informatikmitteln Grundlagen der Programmierung Hilfsmittel für die

© Institut für Computational Science, ETHZ

Interaktion mit Informatikmitteln

Stapelbetrieb

5/32

• 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

Page 6: Agenda für heute, 27. Januar 2006 Interaktion mit InformatikmittelnInteraktion mit Informatikmitteln Grundlagen der Programmierung Hilfsmittel für die

• Interaktion mit Informatikmitteln

• Grundlagen der ProgrammierungGrundlagen der Programmierung• Hilfsmittel für die Programmierung

• Webprogrammierung

Page 7: Agenda für heute, 27. Januar 2006 Interaktion mit InformatikmittelnInteraktion mit Informatikmitteln Grundlagen der Programmierung Hilfsmittel für die

© Institut für Computational Science, ETHZ

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

6/32

Page 8: Agenda für heute, 27. Januar 2006 Interaktion mit InformatikmittelnInteraktion mit Informatikmitteln Grundlagen der Programmierung Hilfsmittel für die

© Institut für Computational Science, ETHZ

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/32

Page 9: Agenda für heute, 27. Januar 2006 Interaktion mit InformatikmittelnInteraktion mit Informatikmitteln Grundlagen der Programmierung Hilfsmittel für die

© Institut für Computational Science, ETHZ

Hierarchische Gliederung von Programmierumgebungen

14 000016 010200

15 000020 060102

16 000022 010001

Anwendungsspezifisch

Programmiersprache

Assemblierer

Maschinensprache

011101000100101

ProzessorBefehlssatz

INC R2 ;

MOV R2,R0 ; CALCULATE

ADD R1,R2 ; F(3)

while not finished dobegin

if temp >= 32 then

Sub Makro1 ()Range("B6").Select

8/32

Page 10: Agenda für heute, 27. Januar 2006 Interaktion mit InformatikmittelnInteraktion mit Informatikmitteln Grundlagen der Programmierung Hilfsmittel für die

© Institut für Computational Science, ETHZ

Zwei Arten der Programmausführung (vereinfacht)

1) Programm wird kompiliert (übersetzt)

2) Programm wird interpretiert

Maschinen-code

CompilerQuellcode

InterpreterQuellcode Maschinen-

code

Prozessor

Compiler

Prozessor

(Wird das Programm verändert, muss es neu kompiliert werden)

9/32

Page 11: Agenda für heute, 27. Januar 2006 Interaktion mit InformatikmittelnInteraktion mit Informatikmitteln Grundlagen der Programmierung Hilfsmittel für die

© Institut für Computational Science, ETHZ

Nobody's perfect: Fehlerquellen

• Falsche Programmlogik: diese Fehler müssen wir selber finden.

• Nichtbeachten der Regeln der Programmiersprache: Hier kann uns ein "Debugger" helfen.

10/32

Page 12: Agenda für heute, 27. Januar 2006 Interaktion mit InformatikmittelnInteraktion mit Informatikmitteln Grundlagen der Programmierung Hilfsmittel für die

© Institut für Computational Science, ETHZ

Debugger (Entstörer)

• Ein Fehlersuchprogramm, das jedes in einer Programmiersprache formulierte Programm Schritt für Schritt auf formale Fehler untersucht.

• Läuft das Programm, tested der Debugger auf weitere Fehler.

• Mit Hilfe des Debuggers werden laufende Programme angehalten und der Inhalt von Speicherplätzen dargestellt.

• Der Debugger kann ein- oder abgeschaltet werden.

11/32

Page 13: Agenda für heute, 27. Januar 2006 Interaktion mit InformatikmittelnInteraktion mit Informatikmitteln Grundlagen der Programmierung Hilfsmittel für die

© Institut für Computational Science, ETHZ

Programmiersprachen: Historische Entwicklung (Bsp.)

1999 DELPHI 5 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/32

Page 14: Agenda für heute, 27. Januar 2006 Interaktion mit InformatikmittelnInteraktion mit Informatikmitteln Grundlagen der Programmierung Hilfsmittel für die

© Institut für Computational Science, ETHZ

Spezialfall Objektorientierung

Instruktionen Objekt.Methode

Objekt

Speicher Objekt.Eigenschaften

13/32

Page 15: Agenda für heute, 27. Januar 2006 Interaktion mit InformatikmittelnInteraktion mit Informatikmitteln Grundlagen der Programmierung Hilfsmittel für die

© Institut für Computational Science, ETHZ

• Interaktion mit Informatikmitteln

• Grundlagen der Programmierung

• Hilfsmittel für die ProgrammierungHilfsmittel für die Programmierung

• Webprogrammierung

Page 16: Agenda für heute, 27. Januar 2006 Interaktion mit InformatikmittelnInteraktion mit Informatikmitteln Grundlagen der Programmierung Hilfsmittel für die

© Institut für Computational Science, ETHZ

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).

14/32

Page 17: Agenda für heute, 27. Januar 2006 Interaktion mit InformatikmittelnInteraktion mit Informatikmitteln Grundlagen der Programmierung Hilfsmittel für die

© Institut für Computational Science, ETHZ

Pseudocode

Beispiel: Temperaturwerte sollen von Grad Fahrenheit in

Grad Celsius umgerechnet werden.

read(F)

subtrahiere 32

multipliziere mit 5/9

write(C)

15/32

Page 18: Agenda für heute, 27. Januar 2006 Interaktion mit InformatikmittelnInteraktion mit Informatikmitteln Grundlagen der Programmierung Hilfsmittel für die

© Institut für Computational Science, ETHZ

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

16/32

Page 19: Agenda für heute, 27. Januar 2006 Interaktion mit InformatikmittelnInteraktion mit Informatikmitteln Grundlagen der Programmierung Hilfsmittel für die

© Institut für Computational Science, ETHZ

Flussdiagramme: Sequenz

read(F)

T = F - 32

C = T x 5 / 9

write(C)

Am Beispiel der Temperaturumrechnung:

17/32

Page 20: Agenda für heute, 27. Januar 2006 Interaktion mit InformatikmittelnInteraktion mit Informatikmitteln Grundlagen der Programmierung Hilfsmittel für die

© Institut für Computational Science, ETHZ

Flussdiagramme: Fallunterscheidung

read(F)

T = F - 32

C = T x 5 / 9

write(C)

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

F 32

Warnung

wahrfalsch

Pseudocode:

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

18/32

Page 21: Agenda für heute, 27. Januar 2006 Interaktion mit InformatikmittelnInteraktion mit Informatikmitteln Grundlagen der Programmierung Hilfsmittel für die

© Institut für Computational Science, ETHZ

Flussdiagramme: Wiederholung

F = 0

Stopp

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

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

19/32

Page 22: Agenda für heute, 27. Januar 2006 Interaktion mit InformatikmittelnInteraktion mit Informatikmitteln Grundlagen der Programmierung Hilfsmittel für die

© Institut für Computational Science, ETHZ

Struktogramme: Sequenz, Fallunterscheidung

Sequenz

Anweisung 1

Anweisung 2

....

Anweisung n

Fallunterscheidung

Anweisung 1 Anweisung 2

ja neinBedingung b

20/32

Page 23: Agenda für heute, 27. Januar 2006 Interaktion mit InformatikmittelnInteraktion mit Informatikmitteln Grundlagen der Programmierung Hilfsmittel für die

© Institut für Computational Science, ETHZ

Struktogramme: Wiederholung

Schleife 0 bis n mal

Solange Bedingung b

tue Anweisungen

Schleife genau n mal

Schleife 1 bis n mal

Wiederhole Anweisungen

bis Bedingung b

Für i = Anfangswert bis Endwert

tue Anweisungen

In Struktogrammen sind unbedingte Sprünge (goto) nicht möglich.

21/32

Page 24: Agenda für heute, 27. Januar 2006 Interaktion mit InformatikmittelnInteraktion mit Informatikmitteln Grundlagen der Programmierung Hilfsmittel für die

© Institut für Computational Science, ETHZ

Struktogramme: Beispiele

Für F = 0 bis 100, Schrittw. 1

F = F -32

tue C = F • 5/9

Ausgabe C

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 < 0 nein

Ausgabe: "nicht lösbar"

h = √ d

X1 = a + h

X2 = a -h

X1, X2

22/32

Page 25: Agenda für heute, 27. Januar 2006 Interaktion mit InformatikmittelnInteraktion mit Informatikmitteln Grundlagen der Programmierung Hilfsmittel für die

• Interaktion mit Informatikmitteln

• Grundlagen der Programmierung

• Hilfsmittel für die Programmierung

• WebprogrammierungWebprogrammierung

Page 26: Agenda für heute, 27. Januar 2006 Interaktion mit InformatikmittelnInteraktion mit Informatikmitteln Grundlagen der Programmierung Hilfsmittel für die

© Institut für Computational Science, ETHZ

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

23/32

Internet

Page 27: Agenda für heute, 27. Januar 2006 Interaktion mit InformatikmittelnInteraktion mit Informatikmitteln Grundlagen der Programmierung Hilfsmittel für die

© Institut für Computational Science, ETHZ

Dynamische Webauftritte

• Serverseitig

Der Server kann Anfragen qualifiziert beantworten

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

Jede Anfrage erhält eine individuelle Antwort

• Clientseitig

Dem Client werden HTML-Dokumente gesandt, welche Programme enthalten, die das Erscheinungsbild im Browser in Abhängigkeit von Mausaktionen oder von Zeitgebern steuern (u.a. Animationen)

24/32

Page 28: Agenda für heute, 27. Januar 2006 Interaktion mit InformatikmittelnInteraktion mit Informatikmitteln Grundlagen der Programmierung Hilfsmittel für die

© Institut für Computational Science, ETHZ

Clientseitige dynamische Webauftritte

Client Server

1. Anforderung

3. Antwort

Dynamische Effekte um den Komfort der Benutzerschnittstelle zu verbessern

(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

2. Bearbeitung

HTML-Seite an Clientzur Interpretation senden

sorgfältig einsetzen!

4. Bearbeitung

25/32

Page 29: Agenda für heute, 27. Januar 2006 Interaktion mit InformatikmittelnInteraktion mit Informatikmitteln Grundlagen der Programmierung Hilfsmittel für die

© Institut für Computational Science, ETHZ

Serverseitige dynamische Webauftritte

Client Server

1. Anforderung

3. Antwort

2. Bearbeitung

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.

26/32

Page 30: Agenda für heute, 27. Januar 2006 Interaktion mit InformatikmittelnInteraktion mit Informatikmitteln Grundlagen der Programmierung Hilfsmittel für die

© Institut für Computational Science, ETHZ

Was sind Scriptsprachen?

Scripting Ursprünglich das Zusammenfassen von Programm-aufrufen, z.B. von Betriebssystem-Befehlen, zu einem "Drehbuch" (script), das in einer Datei gespeichert, nach belieben aufgerufen werden kann.

Scriptsprache Erweiterung des Scripting um Programmier-sprachliche Elemente, um

Ausführungsergebnisse des Programms beim Ablauf eines Scripts weiter verwerten zu können.

(Übergabe von Resultaten an Folgeprogramm, Überspringen von Programmen,

Wiederholungen).

27/32

Page 31: Agenda für heute, 27. Januar 2006 Interaktion mit InformatikmittelnInteraktion mit Informatikmitteln Grundlagen der Programmierung Hilfsmittel für die

© Institut für Computational Science, ETHZ

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 an andere Dokumente gekettet sind.

• Markups sind typographische Anweisungen in einem HTML-Dokument, die einem Browser angeben, wie Texte und grafische Elemente zu einem präsentablen Ganzen zu verbinden sind.

28/32

Page 32: Agenda für heute, 27. Januar 2006 Interaktion mit InformatikmittelnInteraktion mit Informatikmitteln Grundlagen der Programmierung Hilfsmittel für die

© Institut für Computational Science, ETHZ

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> &nbsp; </TD></TR><TR><TD Width=25%> &nbsp; </TD>

<TD> &nbsp; </TD></TR></TABLE>

Diese Markups codieren eine 400 x 300 Pixel grosseTabelle, die sichtbar gemacht wird (Border=1).

29/32

Page 33: Agenda für heute, 27. Januar 2006 Interaktion mit InformatikmittelnInteraktion mit Informatikmitteln Grundlagen der Programmierung Hilfsmittel für die

© Institut für Computational Science, ETHZ

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>

http://www.willcam.com/cmat/html/tags.html

30/32

Page 34: Agenda für heute, 27. Januar 2006 Interaktion mit InformatikmittelnInteraktion mit Informatikmitteln Grundlagen der Programmierung Hilfsmittel für die

© Institut für Computational Science, ETHZ

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).

31/32

Page 35: Agenda für heute, 27. Januar 2006 Interaktion mit InformatikmittelnInteraktion mit Informatikmitteln Grundlagen der Programmierung Hilfsmittel für die

© Institut für Computational Science, ETHZ

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 gewöhnlich vom Webserver an dort ablaufende Programme weitergegeben (z.B. über CGI), kann im Falle der GET-Methode aber auch HTML-Dokumenten auf der Client-Seite verfügbar gemacht werden.

DatenelementTrennzeichen

Hinweis: Kein Schutz gegen Missbrauch!!

32/32

Page 36: Agenda für heute, 27. Januar 2006 Interaktion mit InformatikmittelnInteraktion mit Informatikmitteln Grundlagen der Programmierung Hilfsmittel für die

Programmieren kann in allen Bereichen des Informatik-

Arbeitsplatzes eingesetzt werden!

Datenverwaltung

InformationserzeugungungDatenverarbeitung

Kommunikation

Page 37: Agenda für heute, 27. Januar 2006 Interaktion mit InformatikmittelnInteraktion mit Informatikmitteln Grundlagen der Programmierung Hilfsmittel für die

Wir wünschen Ihnen ein schönes Wochenende.