Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Praktikum Entwicklung und Einsatz von Geosoftware I - Sitzung 2 Programmieren und Typen Sommersemester 2003 Lars Bernard.

Ähnliche Präsentationen


Präsentation zum Thema: "Praktikum Entwicklung und Einsatz von Geosoftware I - Sitzung 2 Programmieren und Typen Sommersemester 2003 Lars Bernard."—  Präsentation transkript:

1 Praktikum Entwicklung und Einsatz von Geosoftware I - Sitzung 2 Programmieren und Typen Sommersemester 2003 Lars Bernard

2 Geosoftware I – Lars Bernard Organisation Infos unter: GeosI/index.html Teilnehmer-Liste

3 Geosoftware I – Lars Bernard Einführung: Was bedeutet Programmieren? Eine mögliche Definition: Erstellen einer Simulation Objektorientierung wurde mit der Sprache Simula erfunden (1967) ! Es geht nicht nur darum, dass das Programm läuft Simulation = ausführbares Modell Sie lernen hier, mit Informatikmethoden Modelle zu bauen und sie auszuprobieren

4 Geosoftware I – Lars Bernard Beispiele Wettervorhersage Roboter Fahrzeugnavigation Hydrologische Modelle etc.

5 Geosoftware I – Lars Bernard Kern der Simulation: ein Modell ein Modell der Welt, nicht des Computers Folge: Sie sollten genau verstehen, was Sie wollen Lassen Sie sich vom Programmcode nicht den Blick aufs Wesentliche nehmen Merke: gute Programmierer programmieren einfache Aufgaben; divide & conquer ! schlechte Programmierer versuchen, schwierige Aufgaben zu programmieren

6 Geosoftware I – Lars Bernard Was ist ein Modell ? eine Abstraktion von der Welt Wichtiges hervorheben, Details weglassen klassifizieren und verallgemeinern in einer Sprache beschrieben welche Sprachen zur Modellierung kennen Sie? welche Sprachmittel bieten diese? bestehend aus Objekten und Operationen Objektorientierung: beide zusammen betrachten.

7 Geosoftware I – Lars Bernard Modelle der Geoinformatik 3 Komponenten: Raumbezug Zeitbezug Thematik Besonderheiten: wir können nicht einfach festlegen, wie die Welt funktionieren soll Geometrie

8 Geosoftware I – Lars Bernard Werkzeuge Ihr Kopf Papier und Bleistift Java als moderne Programmiersprache

9 Geosoftware I – Lars Bernard Was ist Java? eine Programmiersprache modern, d.h. vergleichsweise neu (vgl. Fortran, Pascal, C, Basic, …..) eine wichtige Programmiersprache für verteilte Anwendungen und das World Wide Web (WWW)

10 Geosoftware I – Lars Bernard Was ist Java ? (2) sehr stark an C++ angelehnt objektorientiert einfach, schnell, sicher andere Programmier(sprachen)kenntnisse sind hilfreich

11 Geosoftware I – Lars Bernard Was macht man mit Java ? Programmieren! Anwendungen schreiben! alle Arten von Anwendungen, die man mittels klassischer Sprachen schreiben kann insbesondere Anwendungen, die mit anderen Computern via Internet kommunizieren können Einbindung von Grafiken, Webseiten, interaktiven Fenstern, benutzerfreundlichen Oberflächen,...

12 Geosoftware I – Lars Bernard Compiler & Interpreter Compiler = Übersetzer: übersetzt (kompiliert) das Programm in Maschinensprache Compiler liest und kompiliert gesamtes Programm ==> ausführbares Programm Interpreter liest ein Programm Zeile für Zeile und führt jede Zeile gleich aus.

13 Geosoftware I – Lars Bernard Java Compiler und Interpreter Java Quellcode wird mittels JAVAC kompiliert (in speziellen Bytecode) der Bytecode wird während des Programmablaufs in Maschinensprache übersetzt (mittels JAVA) Vorteile sind u.a.: der vorkompilierte Code ist Plattform-unabhängig! (Internet!) Überwachung der Programmausführung, z. B. bei Speicherzugriffen, Datenmanipulationen (Datenaustausch via Internet)

14 Geosoftware I – Lars Bernard

15

16 Literatur-Hinweis zur Seminar Homepage...Homepage

17 Geosoftware I – Lars Bernard Typen - Ziele Begriff (Daten-)Typ Zweck von Typen Beschreibung von Typen Elementare Datentypen in Java Deklaration Bereiche Operatoren Typumwandlung

18 Geosoftware I – Lars Bernard Was ist ein Typ ? Welche Typen kennen Sie? Integer, Boolean, Character, String, etc. Was bezeichnen diese Namen? Mengen von Werten (Wertebereich) Boolean = { True, False } Integer = { x | minInt x maxInt} Wie baut man eigene Typen? Mit Typkonstruktoren wie array, list, class etc.

19 Geosoftware I – Lars Bernard Wozu braucht man Typen ? Hauptzweck: Fehler vermeiden z.B. c := a + b (wo a = 5 und b = True) Speicherverwaltung Typen übersetzen die Daten der Benutzer in den internen Binärcode Modularisierung Programme bauen auf Typen auf (Zahlen, Punkte,…) Dies sorgt für Wiederverwendbarkeit!

20 Geosoftware I – Lars Bernard Wie beschreibt man Typen ? Durch eine Implementierung class Point { //*...*// }; Durch die zulässigen Operationen (Operatoren und Methoden) Integer: +, -, *, (div) Punkt: new Point(5.0, 4.0), getX(), getY() Signaturen von Operationen + :: Integer, Integer -> Integer getX :: Point -> Double

21 Geosoftware I – Lars Bernard Elementare Datentypen in Java Variablen werden als Elemente eines Typs deklariert int a, b, c; a = 5; b = 2; c = a + b; int number_;

22 Geosoftware I – Lars Bernard Java - Deklaration und Initialisierung int a; Im Speicher wird ein Bereich für a reserviert und der Inhalt dieses Bereichs im weiteren als ganzzahliger Wert von a interpretiert. Dann kann a ein Wert zugewiesen werden: a = 5;

23 Geosoftware I – Lars Bernard Java - Deklaration und Initialisierung In Java kann nur auf den Wert der Variablen zugegriffen werden (nicht auf die Adresse) Deklaration und Zuweisung/Initialisierung können in einer Anweisung erfolgen: int a = 5; Werte können explizit als Konstante deklariert werden: final int a = 5;

24 Geosoftware I – Lars Bernard Elementare Datentypen in Java

25 Geosoftware I – Lars Bernard Java - Operatoren Operatoren dienen der Veränderung und Verknüpfung von Variablen arithmetische Operatoren, z.B: Add: + Subtr: - Mult: * Div: / Incr: ++ logische Operatoren: Und: && Oder: || Ungleich: != Gleich: == Zugriffsoperatoren: Indexzugriff: []...

26 Geosoftware I – Lars Bernard Java - Typumwandlung (casting) Implizite Typumwandlung (vom niedrigeren zum höheren Typ): int a = 5; double x; x = a; // => x == 5.0 Explizite Typumwandlung (vom höheren zum niedrigeren Typ): int a; double x = 5.0; a = x; // => warning or error a = (int)X; // => ok

27 Geosoftware I – Lars Bernard Java - Typumwandlung Bereichsüberschreitung: int a = ; // 4 byte = 32 bit int b = ; short s; // 2 byte = 16 bit s = a + b; // => s overflow Implizite Typumwandlung in arithmetischen Ausdrücken: int a = 1; int b = 2; double x; x = a / b; // => x = 0 x = a / (double)b; // => x = 0.5

28 Geosoftware I – Lars Bernard Zusammenfassung Typen sind ein Konzept der Programmierung Ausblick: Klassen sind die objekt-orientierte Form der Erzeugung von Typen durch Benutzer Listen zur Mengen-Verwaltung

29 Geosoftware I – Lars Bernard Und jetzt probieren … class Number { Number(int numberIn) { number_ = numberIn; } int getNumber() { return number_; } int number_; } class HelloNumber { public static void main(String[] args){ /* 1. Numbers as basic typs */ int Number1 = 1; int Number2, Number3; Number2 = 4; Number3 = 10; Number1 = Number2 + Number3; System.out.println("Hello to basic number 1: "+ Number1) ; System.out.println("Hello to a basic number 2 + number 3: "+ Number2 + " " + Number3) ; /* 2. Numbers as Objects */ Number myNumberObject; myNumberObject = new Number(4); System.out.println("Hello to a number object: "+ myNumberObject.getNumber()); }

30 Geosoftware I – Lars Bernard Aufgabe 1 und 2 Jetzt lesen, beginnen und dazu fragen ;-) die HA via an: Lars Bernard jeweils bis Montag st


Herunterladen ppt "Praktikum Entwicklung und Einsatz von Geosoftware I - Sitzung 2 Programmieren und Typen Sommersemester 2003 Lars Bernard."

Ähnliche Präsentationen


Google-Anzeigen