Agenda für heute, 5. Januar 2007 Interaktion mit InformatikmittelnInteraktion mit Informatikmitteln Grundlagen der Programmierung Hilfsmittel für die Programmierung.

Slides:



Advertisements
Ähnliche Präsentationen
Einführung in die Programmierung Zusammenfassung
Advertisements

Basis-Architekturen für Web-Anwendungen
Kurze Einführung in ASP
Verfügbare Dokumentationen: Klassenbibliothek Baustelle.
(kleine!) Java Einführung Mittwoch, Heute Ziel: erstes Java-Programm erstellen Von der Aufgabenstellung bis zur Lösung Grundlagen Einfache.
Objektorientierter Entwurf
Java: Grundlagen der Sprache
Entwicklung der Programmiersprachen
Seminar Sommersemester 2002 ASP.NET Andre Margousian.
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.
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.
Seite Common Gateway Interface. Konzepte. Übersicht 1Einleitung 2Was ist CGI? 3Wozu wird CGI verwendet? 4Geschichtlicher Überblick 5Grundvoraussetzungen.
University of Applied Sciences Übung Objektorientierte Programmierung II Dipl.-Inf. (FH) Markus Vogler.
INHALT INHALT Inhalt Delphi IDE ObjectPascal Hello World! Delphi IDE
? Was ist Informatik? Was ist Informatik? Alexander Lange
Agenda für heute, 27. Januar 2006
Gegenstand EDV Thema: Informative Webseiten
grundlagen der Wirtschafts- informatik
Dateien Datei = File (engl.) Mögliche Inhalte einer Datei
Entwicklung der Programmiersprachen
Grundlagen: Client-Server-Modell
Einführung in die Programmierung
Dynamische Webseiten mit PHP [und Python]
Wiederholte Programmausführung
Interaktion mit Informatikmitteln
Internet und SMS Internet und SMS Daniel Rickenbacher Jeremy Deuel.
CGI (Common Gateway Interface)
Programmieren in C Einführung
Oliver Spritzendorfer Thomas Fekete
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
Objektorientierte Programmierung
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
Paul, Morten, Yannick Blue J. Entwicklungsumgebung  versteht Java Programmcode  Für die Entwicklung eigener Software  Durch die Programmierung.
PHP PHP ( „PHP Hypertext Preprocessor") ist eine Skriptsprache
Algorithmen und Datenstrukturen 1 SS 2002
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:
Datenbanken im Web 1.
Lernlandkarte OOP (ObjektOrientiertes Programmieren)
Institut für Kartographie und Geoinformation Prof. Dr. L. Plümer, Dipl.-Ing. D. Dörschlag, Dr. G. Gröger Einführung in die Programmierung mit Java 13.
Java Server Pages Technologie zur Erzeugung dynamischer Webseiten basierend auf Java-Servlets Blockseminar Wintersemester 2001/2002Jochen Pfeiffer Seite.
Wann ist eine Funktion (über den natürlichen Zahlen) berechenbar?
Interaktion Jens Harnisch, Timo Harm TIT05BGR Interaktion2 / 27 Übersicht Serverseitige WWW-Programmierung Serverseitige WWW-Programmierung.
Das Internet Ein Netzwerk, das viele Rechner miteinander verbindet
Informatik als Grundkursfach in der Oberstufe Was ist das Ziel? Problemstellungen modellieren und systematisch mit Softwarewerkzeugen einer Lösung zuführen.
Agenda für heute, 12. Mai 2010 Interaktionen von InformatikmittelnInteraktionen von Informatikmitteln Interaktion mit Anwender: Betriebsarten Interaktion.
Seminar Internettechnologie Prof. Dr. Lutz Wegner Julia Mikov WS 06/07
Vortrag Einführung in AspectJ. Gliederung 1 Einleitung 2 Querschnittsfunktionalitäten in AspectJ 2.1 Sprachelemente 3 Beispiel 4 Join Point Modell 5 Weaving.
Objektorientierte Programmierung
 Präsentation transkript:

Agenda für heute, 5. Januar 2007 Interaktion mit InformatikmittelnInteraktion mit Informatikmitteln Grundlagen der Programmierung Hilfsmittel für die Programmierung Webprogrammierung

© Institut für Computational Science, ETHZ Interaktion mit Informatikmitteln DialogbetriebEchtzeitbetriebStapelbetrieb 2/37

© Institut für Computational Science, ETHZ Interaktion mit Informatikmitteln Dialogbetrieb 3/37 Interaktive Eingabe von Instruktionen und Daten Ausgabe von Daten in Echtzeit Steuerung eines Programms während seiner Ausführung möglich

© Institut für Computational Science, ETHZ Interaktion mit Informatikmitteln Echtzeitbetrieb 4/37 Kurze Reaktionszeiten Hohe Zuverlässigkeit Messen, Regeln, Ablauf- steuerungen

© Institut für Computational Science, ETHZ Interaktion mit Informatikmitteln Stapelbetrieb 5/37 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

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

© 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 Sequenz Verzweigung Wiederholung Variable Datei Objekt 6/37

© 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/37

© Institut für Computational Science, ETHZ Hierarchische Gliederung von Programmierumgebungen Anwendungsspezifische Programme Höhere Programmiersprache Assemblierer Maschinensprache Prozessor Befehlssatz INCR2; MOVR2,R0; CALCULATE ADDR1,R2; F(3) while not finished do begin if temp >= 32 then Sub Makro1 () Range("B6").Select 8/37

© Institut für Computational Science, ETHZ Zwei Arten der Programmausführung (vereinfacht) 1) Programm wird kompiliert (übersetzt) 2) Programm wird interpretiert Maschinen- code Compiler Quellcode Interpreter Quellcode Maschinen- code Prozessor Compiler Prozessor (Wird das Programm verändert, muss es neu kompiliert werden) 9/37

© 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. Falsche Daten: Verantwortung der Programmiererin, Programmiersprache kann helfen (Datentypen) 10/37

© Institut für Computational Science, ETHZ Debugger (Entstörer) Sucht formale Fehler Prüft während der Ausführung Kann ein- oder ausgeschaltet werden 11/37

© Institut für Computational Science, ETHZ Höhere Programmiersprachen: Historische Entwicklung (Bsp.) 1999 DELPHI 5 JINI 1998 Active Oberon JAVA 1995FORTRAN 95 DELPHI Object-Pascal VBA Oberon 1986 Eiffel 1985Turbo-PascalC FORTRAN 77 PASCALMODULA-2SMALLTALK 80 CBASIC 12/37

© Institut für Computational Science, ETHZ Die wichtigsten Programmierparadigmen 13/37 (Paradigma: Denkmuster) Imperative Programmierung Befehls- oder Anweisungsorientiert Objektorientierte Programmierung Objekte mit Eigenschaften und Operationen Deklarative Programmierung Fakten & logische Aussagen (Regeln)

© Institut für Computational Science, ETHZ Imperative Programmierung 14/37 Ein Befehl in der Eingabeaufforderung löst eine Folge von Anweisungen aus Bildschirm Programmcode Pascal-AnweisungsfolgeBefehlszeile

© Institut für Computational Science, ETHZ Objektorientierte Programmierung 15/37 Click auf Fakultät löst Nachricht aus: "wende Methode M1 an" Bildschirm Programmcode Ganzzahl-Objekt Grafisches Objekt

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

© Institut für Computational Science, ETHZ 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

© 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) 17/37

© 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: 18/37 OperationFallunterscheidungEingabe/Ausgabe

© Institut für Computational Science, ETHZ Flussdiagramme: Sequenz read(F) T = F - 32 C = T x 5 / 9 write(C) Am Beispiel der Temperaturumrechnung: 19/37

© 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 >= 32 then begin subtrahiere 32 multipliziere mit 5/9 write(C) end else gebe warnung aus 20/37

© 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 < 101 Berechne C write(F,C) erhöhe F wahr falsch Pseudocode: F = 0 solange F < 101 begin subtrahiere 32 multipliziere mit 5/9 write(F,C) F = F + 1 end 21/37

© Institut für Computational Science, ETHZ Beispielaus dem Labor Automatische Titration 22/37

© Institut für Computational Science, ETHZ Struktogramme: Sequenz, Fallunterscheidung Sequenz Anweisung 1 Anweisung Anweisung n Fallunterscheidung Anweisung 1Anweisung 2 janein Bedingung b 23/37

© Institut für Computational Science, ETHZ Struktogramme: Wiederholung Schleife 0 bis n mal Solange Bedingung b tueAnweisungen Schleife genau n mal Schleife 1 bis n mal WiederholeAnweisungen bis Bedingung b Für i = Anfangswert bis Endwert tueAnweisungen In Struktogrammen sind unbedingte Sprünge (goto) nicht möglich. 24/37

© Institut für Computational Science, ETHZ Struktogramme: Beispiele Für F = 0 bis 100, Schrittw. 1 F = F -32 tueC = 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 = a 2 - q ja d < 0 nein Ausgabe: "nicht lösbar" h = √ d X1 = a + h X2 = a -h X1, X2 25/37

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

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

© Institut für Computational Science, ETHZ Dynamische Webauftritte Serverseitig Server beantwortet Anfragen qualifiziert Webdokumente werden durch Programme des Servers für den Client bedarfsgerecht aufbereitet Jede Anfrage erhält eine individuelle Antwort 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) 27/37

© Institut für Computational Science, ETHZ Clientseitige dynamische Webauftritte ClientServer 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 Client zur Interpretation senden sorgfältig einsetzen! 4. Bearbeitung 28/37

© Institut für Computational Science, ETHZ Serverseitige dynamische Webauftritte ClientServer 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. 29/37

© Institut für Computational Science, ETHZ Was sind Scriptsprachen? ScriptingD as Zusammenfassen von Programmaufrufen zu einem "Drehbuch" (script), das nach belieben auf- gerufen werden kann ScriptspracheEr weiterung des Scripting um Programmier- sprachliche Elemente (Übergabe von Resultaten an Folgeprogramm, Überspringen von Programmen, Wiederholungen) 30/37

© 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 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

© 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 Diese Markups codieren eine 400 x 300 Pixel grosseTabelle, die sichtbar gemacht wird (Border=1) 32/37

© Institut für Computational Science, ETHZ Markups Markups sind z.B.:... (Table Row) oder... (Table Data) Die Symbole:,, werden als Tags oder Marken bezeichnet, wobei eine Startmarke und eine Endmarke ist Tags werden mit Attributen ergänzt, welche die Details der Darstellung angeben: 33/37

© 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) 34/37

© 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 Datenelement Trennzeichen Hinweis: Kein Schutz gegen Missbrauch!! 35/37 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

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

© Institut für Computational Science, ETHZ Programmiervorlesungen für die Naturwissenschaften (SS) Anwendungsnahes Programmieren (Java) Programmieren und Problemlösen (Delphi) 37/37

Wir wünschen Ihnen ein schönes Wochenende.