Interaktion mit Informatikmitteln

Slides:



Advertisements
Ähnliche Präsentationen
Basis-Architekturen für Web-Anwendungen
Advertisements

Kurze Einführung in ASP
(kleine!) Java Einführung Mittwoch, Heute Ziel: erstes Java-Programm erstellen Von der Aufgabenstellung bis zur Lösung Grundlagen Einfache.
Stefanie Selzer - Pascal Busch - Michael Kropiwoda
Java: Grundlagen der Sprache
Entwicklung der Programmiersprachen
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Prof. Dr. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Tobias Lauer.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Prof. Dr. Th. Ottmann.
Informatik II, SS 2008 Algorithmen und Datenstrukturen Vorlesung 2 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät.
Dynamische Webseiten mit PHP
Oracle PL/SQL Server Pages (PSP). © Prof. T. Kudraß, HTWK Leipzig Grundidee: PSP – Internet-Seiten mit dynamischer Präsentation von Inhalten durch Einsatz.
Technik Gestaltung Navigation Daten. Übersicht Client Webbrowser InternetServer.
PKJ 2005/1 Stefan Dissmann Rückblick auf 2005 Was zuletzt in 2005 vorgestellt wurde: Klassen mit Attributen, Methoden und Konstruktoren Referenzen auf.
PKJ 2005/1 Stefan Dissmann Zusammenfassung Bisher im Kurs erarbeitete Konzepte(1): Umgang mit einfachen Datentypen Umgang mit Feldern Umgang mit Referenzen.
Seite Common Gateway Interface. Konzepte. Übersicht 1Einleitung 2Was ist CGI? 3Wozu wird CGI verwendet? 4Geschichtlicher Überblick 5Grundvoraussetzungen.
Jetzt lernen wir.
INHALT INHALT Inhalt Delphi IDE ObjectPascal Hello World! Delphi IDE
Agenda für heute, 27. Januar 2006
WEBPROGRAMMIERUNG Informatik-Präsentation von Armin Nuart.
Gegenstand EDV Thema: Informative Webseiten
Hypertext Markup Language
grundlagen der Wirtschafts- informatik
Materialien zum Informatikunterricht (Pohlig-Häberle)
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Dateien Datei = File (engl.) Mögliche Inhalte einer Datei
Entwicklung der Programmiersprachen
Grundlagen: Client-Server-Modell
Einführung in die Programmierung
Einführung in die Programmierung Wintersemester 2013/14 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Dynamische Webseiten mit PHP [und Python]
Wiederholte Programmausführung
Willkommen... Studentinnen und Studenten der Studiengänge Umweltnaturwissenschaften Erdwissenschaften Agrarwissenschaften zur.
Internet und SMS Internet und SMS Daniel Rickenbacher Jeremy Deuel.
CGI (Common Gateway Interface)
Analyse von Ablaufdiagrammen
HORIZONT 1 XINFO ® Das IT - Informationssystem PL/1 Scanner HORIZONT Software für Rechenzentren Garmischer Str. 8 D München Tel ++49(0)89 / 540.
Oliver Spritzendorfer Thomas Fekete
Interpreter & Compiler
Agenda Rückblick 2. Aufbau der Software Benutzeroberfläche 4. Ausblick
Informatik II Grundlagen der Programmierung Programmieren in C Programmstrukturen / Kontrollstrukturen Hochschule Fulda – FB ET Sommersemester 2014.
Algorithmen und Datenstrukturen Übungsmodul 3
Dynamische Webseiten-Generierung
Einführung in PHP.
Einführung in PHP 5.
Mag. Andreas Starzer weloveIT – EDV Dienstleistungen
Agenda für heute, 22. Juni, 2006 Direkte FilezugriffeDirekte Filezugriffe Datentypen: Mengen Individualisierbare Datentypen.
Willkommen... Studentinnen und Studenten der Studiengänge Umweltnaturwissenschaften Erdwissenschaften Agrarwissenschaften zur.
Datentypen: integer, char, string, boolean
Agenda für heute, 20. April, 2006 Wiederholte ProgrammausführungWiederholte Programmausführung Algorithmische Grundlagen Bedingungen zum Abbruch von Programmschleifen.
Agenda für heute, 7. April, 2005 Bedingte ProgrammausführungBedingte Programmausführung Algorithmische Grundlagen Vergleichsoperatoren, Wahrheitswerte.
Agenda für heute, 14. April, 2005 Wiederholte ProgrammausführungWiederholte Programmausführung Algorithmische Grundlagen Bedingungen zum Abbruch von Programmschleifen.
Interaktion mit Informatikmitteln: Betriebsarten
Interaktion mit Informatikmitteln
Interaktion mit Informatikmitteln: Betriebsarten
Agenda für heute, 5. Dezember 2008
Agenda für heute, 4. Dezember 2009
PHP: Operatoren und Kontrollstrukturen
Programmierparadigmen
programmieren des casio FX-7400GII
© Fink/Spengler/AINF-Lehrgang 2003 – Folie 1 AINF/3. Jahrgang Netzwerke Anwendungen (Clientseitig) Karl Brenner, Andreas Fink, Gerhard Jüngling, Albert.
Mensch – Maschine - Kommunikation
prof. dr. dieter steinmannfachhochschule trier © prof. dr. dieter steinmann Folie 1 vom Montag, 30. März 2015.
Software Engineering Struktogramme
JavaScript Geschichte : Netscape entwickelt LiveScript (Syntax angelehnt an Java) - Umbenennung von Live Script in JavaScript - Mircrosoft.
Agenda für heute, 21. April, 2005 Interaktion mit Pascal-ProgrammenInteraktion mit Pascal-Programmen Dateneingabe Programmsteuerung Debugging Datentypen:
Wann ist eine Funktion (über den natürlichen Zahlen) berechenbar?
Agenda für heute, 5. Januar 2007 Interaktion mit InformatikmittelnInteraktion mit Informatikmitteln Grundlagen der Programmierung Hilfsmittel für die Programmierung.
Agenda für heute, 12. Mai 2010 Interaktionen von InformatikmittelnInteraktionen von Informatikmitteln Interaktion mit Anwender: Betriebsarten Interaktion.
Kontrollstrukturen von Algorithmen
 Präsentation transkript:

Interaktion mit Informatikmitteln Agenda für heute, 21. Juni 2006 Interaktion mit Informatikmitteln Grundlagen der Programmierung Hilfsmittel für die Programmierung Webprogrammierung

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

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 3/35 Informatik für Biol. & Pharm. Wissenschaften © Institut für Computational Science, ETH Zürich

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

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 5/35 Informatik für Biol. & Pharm. Wissenschaften © Institut für Computational Science, ETH Zürich

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

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/35 Informatik für Biol. & Pharm. Wissenschaften © Institut für Computational Science, ETH Zürich

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

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

Zwei Arten der Programmausführung (vereinfacht) 1) Programm wird kompiliert (übersetzt) Quellcode Maschinen- code Compiler Prozessor (Wird das Programm verändert, muss es neu kompiliert werden) 2) Programm wird interpretiert Quellcode Maschinen- code Interpreter Compiler Prozessor 9/35 Informatik für Biol. & Pharm. Wissenschaften © Institut für Computational Science, ETH Zürich

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/35 Informatik für Biol. & Pharm. Wissenschaften © Institut für Computational Science, ETH Zürich

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

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/35 Informatik für Biol. & Pharm. Wissenschaften © Institut für Computational Science, ETH Zürich

Spezialfall Objektorientierung Click auf Fakultät löst Nachricht aus: "wende Methode M1 an" Bildschirm Programmcode 13/35 Informatik für Biol. & Pharm. Wissenschaften © Institut für Computational Science, ETH Zürich

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

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) 14/35 Informatik für Biol. & Pharm. Wissenschaften © Institut für Computational Science, ETH Zürich

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) 15/35 Informatik für Biol. & Pharm. Wissenschaften © Institut für Computational Science, ETH Zürich

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 16/35 Informatik für Biol. & Pharm. Wissenschaften © Institut für Computational Science, ETH Zürich

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

Flussdiagramme: Fallunterscheidung Temperaturen nur umrechnen, falls sie über dem Gefrierpunkt sind, sonst Warnung 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) 18/35 Informatik für Biol. & Pharm. Wissenschaften © Institut für Computational Science, ETH Zürich

Flussdiagramme: Wiederholung Für jedes ganze Grad Fahrenheit zwischen 0 und 100 die entsprechende Temperatur in Celcius angeben 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 19/35 Informatik für Biol. & Pharm. Wissenschaften © Institut für Computational Science, ETH Zürich

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

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

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 In Struktogrammen sind unbedingte Sprünge (goto) nicht möglich 22/35 Informatik für Biol. & Pharm. Wissenschaften © Institut für Computational Science, ETH Zürich

Struktogramme: Beispiele Lösung einer quadratischen Gleichung Umrechnungstabelle, für Grad Fahrenheit zwischen 0 und 100 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 Für F = 0 bis 100, Schrittw. 1 F = F -32 tue C = F • 5/9 Ausgabe C 23/35 Informatik für Biol. & Pharm. Wissenschaften © Institut für Computational Science, ETH Zürich

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

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 24/35 Informatik für Biol. & Pharm. Wissenschaften © Institut für Computational Science, ETH Zürich

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 25/35 Informatik für Biol. & Pharm. Wissenschaften © Institut für Computational Science, ETH Zürich

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! 26/35 Informatik für Biol. & Pharm. Wissenschaften © Institut für Computational Science, ETH Zürich

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 27/35 Informatik für Biol. & Pharm. Wissenschaften © Institut für Computational Science, ETH Zürich

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) 28/35 Informatik für Biol. & Pharm. Wissenschaften © Institut für Computational Science, ETH Zürich

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 29/35 Informatik für Biol. & Pharm. Wissenschaften © Institut für Computational Science, ETH Zürich

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) 30/35 Informatik für Biol. & Pharm. Wissenschaften © Institut für Computational Science, ETH Zürich

<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> http://www.willcam.com/cmat/html/tags.html 31/35 Informatik für Biol. & Pharm. Wissenschaften © Institut für Computational Science, ETH Zürich

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) 32/35 Informatik für Biol. & Pharm. Wissenschaften © Institut für Computational Science, ETH Zürich

"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!! 33/35 Informatik für Biol. & Pharm. Wissenschaften © Institut für Computational Science, ETH Zürich

Programmieren kann in allen Bereichen des Informatik-Arbeitsplatzes eingesetzt werden! Datenverwaltung Kommunikation Datenverarbeitung Informationserzeugungung 34/35

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

Danke für Ihre Aufmerksamkeit