Einführung in die Programmierung
|
|
- Ludo Meissner
- vor 6 Jahren
- Abrufe
Transkript
1 Vorlesungsteil 7 Felder und Graphen Umfangreiche Datenbestände erfassen und verarbeiten PD Dr. Brandenburgische Technische Universität Cottbus Senftenberg Institut für Informatik Sommersemester 2016
2 Große Datenmengen sind häufig zu verarbeiten Weltweites Datenvolumen verdoppelt sich etwa alle zwei Jahre : Studie der UC Berkeley School of Information, 2013
3 Große Datenmengen sind häufig zu verarbeiten Weltweites Datenvolumen verdoppelt sich etwa alle zwei Jahre Weltweiter Datenbestand auf gegenwärtig etwa Bytes (5 Zettabytes) geschätzt : Studie der UC Berkeley School of Information, 2013
4 Große Datenmengen sind häufig zu verarbeiten Weltweites Datenvolumen verdoppelt sich etwa alle zwei Jahre Weltweiter Datenbestand auf gegenwärtig etwa Bytes (5 Zettabytes) geschätzt Speicherkapazität des gesunden menschlichen Gehirns bei etwa Bytes (15 Petabytes) vermutet : Studie der UC Berkeley School of Information, 2013
5 Große Datenmengen sind häufig zu verarbeiten Weltweites Datenvolumen verdoppelt sich etwa alle zwei Jahre Weltweiter Datenbestand auf gegenwärtig etwa Bytes (5 Zettabytes) geschätzt Speicherkapazität des gesunden menschlichen Gehirns bei etwa Bytes (15 Petabytes) vermutet Big Data als vielversprechendes Forschungsgebiet : Studie der UC Berkeley School of Information, 2013
6 Umfangreiche Datenmengen effizient verarbeiten Angenommen, Sie haben 12 Messwerte 4.31, 4.72, 4.49, 4.18, 4.07, 4.13, 4.56, 4.38, 4.71, 4.52, 4.64, 4.45 und wollen daraus den Durchschnitt (arithmetisches Mittel) berechnen.
7 Umfangreiche Datenmengen effizient verarbeiten Angenommen, Sie haben 12 Messwerte 4.31, 4.72, 4.49, 4.18, 4.07, 4.13, 4.56, 4.38, 4.71, 4.52, 4.64, 4.45 und wollen daraus den Durchschnitt (arithmetisches Mittel) berechnen. Allein durch Nutzung elementarer Datentypen müssten wir dafür 12 verschiedene Variablen anlegen.
8 Umfangreiche Datenmengen effizient verarbeiten Angenommen, Sie haben 12 Messwerte 4.31, 4.72, 4.49, 4.18, 4.07, 4.13, 4.56, 4.38, 4.71, 4.52, 4.64, 4.45 und wollen daraus den Durchschnitt (arithmetisches Mittel) berechnen. Allein durch Nutzung elementarer Datentypen müssten wir dafür 12 verschiedene Variablen anlegen. Die Implementierung der Formel zur Berechnung des Durchschnitts wäre umständlich hinzuschreiben.
9 Umfangreiche Datenmengen effizient verarbeiten Angenommen, Sie haben 12 Messwerte 4.31, 4.72, 4.49, 4.18, 4.07, 4.13, 4.56, 4.38, 4.71, 4.52, 4.64, 4.45 und wollen daraus den Durchschnitt (arithmetisches Mittel) berechnen. Allein durch Nutzung elementarer Datentypen müssten wir dafür 12 verschiedene Variablen anlegen. Die Implementierung der Formel zur Berechnung des Durchschnitts wäre umständlich hinzuschreiben. Angenommen, es gäbe hin und wieder nur 11 oder vielleicht auch einmal 13 Messwerte. Wir müssten dann jedesmal umfangreiche Änderungen im Quelltext vornehmen, um auf diese Situationen reagieren zu können.
10 Feld Ein Feld (engl. array) gibt uns die Möglichkeit, eine beliebig große, aber bekannte Anzahl von Datenwerten über einen einheitlichen Bezeichner zu erfassen und auf jeden einzelnen dieser Datenwerte direkt lesend oder schreibend zuzugreifen.
11 Vorlesung mit Java 1. Einführung und erste Schritte Installation Java-Compiler, ein erstes Programm: HalloWelt, Blick in den Computer 2. Elementare Datentypen, Variablen, Arithmetik, Typecast Java als Taschenrechner nutzen, Tastatureingabe Formelberechnung Ausgabe 3. Imperative Kontrollstrukturen Befehlsfolgen, Verzweigungen, Schleifen und logische Ausdrücke programmieren 4. Methoden selbst programmieren Methoden als wiederverwendbare Funktionen, Werteübernahme und -rückgabe 5. Rekursion selbstaufrufende Funktionen als elegantes algorithmisches Beschreibungsmittel 6. Objektorientiert programmieren klassen, Objekte, Attribute, Methoden, Sichtbarkeit, Vererbung, Polymorphie 7. Felder und Graphen effizientes Handling größerer Datenmengen und Beschreibung von Netzwerken 8. Sortieren klassische Sortierverfahren im Überblick, Laufzeit und Speicherplatzbedarf 9. Zeichenketten, Dateiarbeit, Ausnahmen Texte analysieren, ver-/entschlüsseln, Dateien lesen/schreiben, Fehler behandeln 10. Dynamische Datenstruktur Lineare Liste unsere selbstprogrammierte kleine Datenbank 11. Ausblick und weiterführende Konzepte
12 Eindimensionales Feld anlegen und initialisieren (Messwertfeld.java) double[] messwert = {...} legt Feld an und trägt Messwerte fortlaufend als Feldelemente ein messwert.length liefert Anzahl Feldelemente (hier: 12 mit den Indizes 0,..., 11) messwert[i] liefert Feldelement mit Index i
13 Arithmetisches Mittel aus den Messwerten berechnen (MesswertfeldDurchschnitt.java) Feld elementweise durchlaufen und Einträge aufsummieren Summe anschließend durch Anzahl Feldelemente teilen
14 Maximalen Messwert bestimmen (MesswertfeldMaximum.java)
15 Begriff Feld in der Programmierung Ein Feld (engl. array) bezeichnet in der Programmierung eine Zusammenfassung von Speicherplätzen (Variablenwerten) gleichen Typs, die über einen oder mehrere Indizes angesprochen werden können.
16 Begriff Feld in der Programmierung Ein Feld (engl. array) bezeichnet in der Programmierung eine Zusammenfassung von Speicherplätzen (Variablenwerten) gleichen Typs, die über einen oder mehrere Indizes angesprochen werden können. Die lückenlose Nummerierung der Feldelemente heißt Index (Plural: Indizes) und beginnt immer bei 0.
17 Begriff Feld in der Programmierung Ein Feld (engl. array) bezeichnet in der Programmierung eine Zusammenfassung von Speicherplätzen (Variablenwerten) gleichen Typs, die über einen oder mehrere Indizes angesprochen werden können. Die lückenlose Nummerierung der Feldelemente heißt Index (Plural: Indizes) und beginnt immer bei 0. Der Index ist immer vom Ganzzahltyp und wird in eckige Klammern [...] geschrieben.
18 Begriff Feld in der Programmierung Ein Feld (engl. array) bezeichnet in der Programmierung eine Zusammenfassung von Speicherplätzen (Variablenwerten) gleichen Typs, die über einen oder mehrere Indizes angesprochen werden können. Die lückenlose Nummerierung der Feldelemente heißt Index (Plural: Indizes) und beginnt immer bei 0. Der Index ist immer vom Ganzzahltyp und wird in eckige Klammern [...] geschrieben. Ein Feld lässt sich durch fortlaufend durchnummerierte Schubfächer veranschaulichen.
19 Begriff Feld in der Programmierung Ein Feld (engl. array) bezeichnet in der Programmierung eine Zusammenfassung von Speicherplätzen (Variablenwerten) gleichen Typs, die über einen oder mehrere Indizes angesprochen werden können. Die lückenlose Nummerierung der Feldelemente heißt Index (Plural: Indizes) und beginnt immer bei 0. Der Index ist immer vom Ganzzahltyp und wird in eckige Klammern [...] geschrieben. Ein Feld lässt sich durch fortlaufend durchnummerierte Schubfächer veranschaulichen. Mathematische Vorbilder für Felder sind Vektoren, endliche Zahlenfolgen und Matrizen.
20 Begriff Feld in der Programmierung Ein Feld (engl. array) bezeichnet in der Programmierung eine Zusammenfassung von Speicherplätzen (Variablenwerten) gleichen Typs, die über einen oder mehrere Indizes angesprochen werden können. Die lückenlose Nummerierung der Feldelemente heißt Index (Plural: Indizes) und beginnt immer bei 0. Der Index ist immer vom Ganzzahltyp und wird in eckige Klammern [...] geschrieben. Ein Feld lässt sich durch fortlaufend durchnummerierte Schubfächer veranschaulichen. Mathematische Vorbilder für Felder sind Vektoren, endliche Zahlenfolgen und Matrizen. Die Anzahl Feldelemente braucht in Java erst zur Laufzeit bekannt zu sein.
21 Begriff Feld in der Programmierung Ein Feld (engl. array) bezeichnet in der Programmierung eine Zusammenfassung von Speicherplätzen (Variablenwerten) gleichen Typs, die über einen oder mehrere Indizes angesprochen werden können. Die lückenlose Nummerierung der Feldelemente heißt Index (Plural: Indizes) und beginnt immer bei 0. Der Index ist immer vom Ganzzahltyp und wird in eckige Klammern [...] geschrieben. Ein Feld lässt sich durch fortlaufend durchnummerierte Schubfächer veranschaulichen. Mathematische Vorbilder für Felder sind Vektoren, endliche Zahlenfolgen und Matrizen. Die Anzahl Feldelemente braucht in Java erst zur Laufzeit bekannt zu sein. Die Anzahl Feldelemente ist nachträglich nicht mehr änderbar.
22 Felddurchlaufungen vereinfacht notieren mit foreach Betrachten wir erneut das Programm Messwertfeld.java: public class Messwertfeld { public static void main(string[] args) { double[] messwert = {4.31, 4.72, 4.49, 4.18, 4.07, 4.13, 4.56, 4.38, 4.71, 4.52, 4.64, 4.45}; int i; for (i = 0; i < messwert.length; i++) { System.out.printf( %.2f\n, messwert[i]); } // for } // main } // class
23 Felddurchlaufungen vereinfacht notieren mit foreach Betrachten wir erneut das Programm Messwertfeld.java: public class Messwertfeld { public static void main(string[] args) { double[] messwert = {4.31, 4.72, 4.49, 4.18, 4.07, 4.13, 4.56, 4.38, 4.71, 4.52, 4.64, 4.45}; //int i; for (double e : messwert) { System.out.printf( %.2f\n, e); } // for } // main } // class Variable e läuft ( iteriert ) elementweise durch das gesamte Feld, ohne dass ein Index angegeben werden muss. Index-Variable i nicht mehr benötigt.
24 Feldelemente per Direktzugriff mit Werten belegen In Java ist jedes Feld ein Objekt einer (vordefinierten) Array-Klasse long[] quadratzahlen = new long[11] legt Feld als Objekt an mit gewünschter Feldgröße (hier: 11 Elemente) und gewünschtem Typ der Elemente (hier: long). Alle vordefinierten Methoden wie z.b. length stehen dann zur Verfügung und sind auf das Objekt anwendbar.
25 Feld an eine Methode übergeben Lediglich Anfangsadresse des Feldes übergeben. Feldelemente werden nicht kopiert.
26 Feld auch als Rückgabe einer Methode möglich Feld quadratzahlen angelegt und belegt in Methode feldfueller Anfangsadresse dieses Feldes per return zurückgegeben und in main-methode entgegengenommen Feld jetzt in main-methode unter dem Namen zahlenfeld uneingeschränkt nutzbar.
27 Zweidimensionales Feld anlegen, befüllen, übergeben (Kleines1x1.java) Kleines Einmaleins, Zeilen i: , Spalten k: Zweidimensionales Feld produkte verkörpert Matrix oder Tabelle aus Zeilen und Spalten Zweidimensionales Feld entspricht einem eindimensionalen Feld von eindimensionalen Feldern.
28 Eigenschaften jedes Feldes Alle Feldelemente besitzen den gleichen Datentyp.
29 Eigenschaften jedes Feldes Alle Feldelemente besitzen den gleichen Datentyp. Die Größe des Feldes (Anzahl Elemente und Dimensionierung) muss in Java erst zur Laufzeit des Programms bekannt sein.
30 Eigenschaften jedes Feldes Alle Feldelemente besitzen den gleichen Datentyp. Die Größe des Feldes (Anzahl Elemente und Dimensionierung) muss in Java erst zur Laufzeit des Programms bekannt sein. Jeder Feldindex beginnt bei 0.
31 Eigenschaften jedes Feldes Alle Feldelemente besitzen den gleichen Datentyp. Die Größe des Feldes (Anzahl Elemente und Dimensionierung) muss in Java erst zur Laufzeit des Programms bekannt sein. Jeder Feldindex beginnt bei 0. Über den Feldindex besteht direkter wahlfreier Zugriff auf jedes Feldelement.
32 Eigenschaften jedes Feldes Alle Feldelemente besitzen den gleichen Datentyp. Die Größe des Feldes (Anzahl Elemente und Dimensionierung) muss in Java erst zur Laufzeit des Programms bekannt sein. Jeder Feldindex beginnt bei 0. Über den Feldindex besteht direkter wahlfreier Zugriff auf jedes Feldelement. Der Feldindex ist immer von einem Ganzzahltyp und wird stets in eckige Klammern [...] geschrieben.
33 Eigenschaften jedes Feldes Alle Feldelemente besitzen den gleichen Datentyp. Die Größe des Feldes (Anzahl Elemente und Dimensionierung) muss in Java erst zur Laufzeit des Programms bekannt sein. Jeder Feldindex beginnt bei 0. Über den Feldindex besteht direkter wahlfreier Zugriff auf jedes Feldelement. Der Feldindex ist immer von einem Ganzzahltyp und wird stets in eckige Klammern [...] geschrieben. Ein Feld darf beliebig, aber endlich viele Dimensionen haben (mehr als vier Dimensionen aber sehr selten).
34 Eigenschaften jedes Feldes Alle Feldelemente besitzen den gleichen Datentyp. Die Größe des Feldes (Anzahl Elemente und Dimensionierung) muss in Java erst zur Laufzeit des Programms bekannt sein. Jeder Feldindex beginnt bei 0. Über den Feldindex besteht direkter wahlfreier Zugriff auf jedes Feldelement. Der Feldindex ist immer von einem Ganzzahltyp und wird stets in eckige Klammern [...] geschrieben. Ein Feld darf beliebig, aber endlich viele Dimensionen haben (mehr als vier Dimensionen aber sehr selten). Die Elemente eines Feldes sind im Speicher unmittelbar aufeinanderfolgend abgelegt.
35 Eigenschaften jedes Feldes Alle Feldelemente besitzen den gleichen Datentyp. Die Größe des Feldes (Anzahl Elemente und Dimensionierung) muss in Java erst zur Laufzeit des Programms bekannt sein. Jeder Feldindex beginnt bei 0. Über den Feldindex besteht direkter wahlfreier Zugriff auf jedes Feldelement. Der Feldindex ist immer von einem Ganzzahltyp und wird stets in eckige Klammern [...] geschrieben. Ein Feld darf beliebig, aber endlich viele Dimensionen haben (mehr als vier Dimensionen aber sehr selten). Die Elemente eines Feldes sind im Speicher unmittelbar aufeinanderfolgend abgelegt. Der gewählte Feldname verkörpert in Java die Anfangsadresse, ab der das Feld abgespeichert ist.
36 Eigenschaften jedes Feldes Alle Feldelemente besitzen den gleichen Datentyp. Die Größe des Feldes (Anzahl Elemente und Dimensionierung) muss in Java erst zur Laufzeit des Programms bekannt sein. Jeder Feldindex beginnt bei 0. Über den Feldindex besteht direkter wahlfreier Zugriff auf jedes Feldelement. Der Feldindex ist immer von einem Ganzzahltyp und wird stets in eckige Klammern [...] geschrieben. Ein Feld darf beliebig, aber endlich viele Dimensionen haben (mehr als vier Dimensionen aber sehr selten). Die Elemente eines Feldes sind im Speicher unmittelbar aufeinanderfolgend abgelegt. Der gewählte Feldname verkörpert in Java die Anfangsadresse, ab der das Feld abgespeichert ist. Bei Parameterübergaben wird ein Feld nicht elementweise kopiert, sondern lediglich seine Anfangsadresse weitergegeben.
37 Netzwerk-Strukturen im Computer erfassen Beispiel: Stadtplan Cottbus Quelle: Google Maps = Kürzesten Weg von A nach B finden
38 Motivation Felder programmieren Graphen Netzwerk-Strukturen im Computer erfassen Beispiel: Liniennetzplan Tram/Bus in Cottbus Cottbus Stadtverkehr Tagesliniennetz Legende Dissen Striesow Am Ring 4 Teiche 39 Bahnhof Süd Schulstr. Ziegelstr. Mühlenweg 18 RE Neuhausener 13 Str. GelsenLauchhammer- kirchener Platz str. Waldweg Hänchen, Siedlung Hochschule Lausitz Lipezker Str./ Hochschule Lausitz Koschendorf Siewisch Seegraben Nord Leuthen Laubst Klein Gaglow, Dorfstr. Klein Oßnig Drebkau Groß Gaglow, Seegraben Handelshof Löschen Rehnsdorf Jehserig Auras Oelsnig 27 Dresden/ Falkenberg (Elster) Welzow Schorbus Lipezker Str./ Schwarzheider Str. Gaglow, Seegraben ARVATO Hänchen, Annahof Klein Gaglow, Reinpuscher Weg 13 Golschow Lausitz Park 13 Sachsendorfer Str Forst Döbern Cottbus Branitz, Zum Seebad Auenwinkel Thierbacher Str. Gelsenkirchener Allee Wappenhaus Nutzberg Abzweig Haasow Waldesruh Abzweig Branitz, Schule Park Südfriedhof Vattenfall Heinersbrück Cottbus Schloß Branitz 10 d Forst (Lausitz) 41 Tierpark Sportzentrum Hufelandstr. Saarbrücker Str. Casel 26 Gosda Kathlow Haasow, Wendeplatz Feuerwehr Haasow, Kreuzung Bleyerstr. Ottilienstr. Thiemstr./ Klinikum Sachsendorfer Hauptstr. Hänchen, Pappelallee Spitzwegstr. Feuerbachstr. 65 Hänchen, Gewerbegebiet RB46 Klinge 10 Branitzer Siedlung Vorpark Schlichow, Sportplatz 19 Cottbus RB46 Stadtring Görlitzer Str. Thiemstr./ Hauptbahnhof FriedrichList-Str. Finsterwalder Str. Welzower Str./ Klinikum/Herzzentrum 16 Welzower Str./ Thiemstr. Hänchen, Gasthaus Schlichow, West Schlichow, Dorfstr. Turnstr. Heidesiedlung Heizkraftwerk GeorgSchlesinger-Str. Marienstr./ Busbahnhof Busbahnhof Hauptbahnhof 2 5 Sandow RB Klinikum 12 Kolkwitz, Technologiepark Freiheitsstr. Stadtmuseum Vetschauer Str./ Leipziger Str. 1 5 Jessener Str. Altes Forsthaus 12 d Klein Ströbitz Bergsicherung Innungskrankenkasse Koschendorfer Str. d 16 Spreewaldbahnhof RE1 10 RE11 RE18 21 RB46 RB65 44 Klein Gaglower Str. Am Moorgraben C.-v.OssietzkySt r. Ausbesserungswerk Am Priorgraben Brodtkowitz 39 Stadtpromenade Stadtring/Merzdorfer Weg Warschauer Str. 12 An der Pastoa Stadtring/ Dissenchener Str. H.-Hammerschmidt-Str. 10 Parzellenstr Abzweig Friedhof Hans-Sachs- FriedrichHebbel-Str. Str. Ströbitzer Warmbad Sandow Mitte 19 Birkenstr. 12 Hüfnerstr. Sandower Brüc ke Am Doll Altmarkt Cottbusverkehr GmbH Walther-Rathenau-Str. 38, Cottbus Verkehrsbüro Busbahnhof O (03 55) cbv@cottbusverkehr.de Dissenchen, Wendeplatz Schule Haasower Str. Bärenbrücker Str. 28 RE10 RB43 Kolkwitz Süd Kackrow Steinteichmühle Schadowstr. Zimmerstr. 15 AugustBebelStr. 15 Krieschow Wiesendorf Rathaus 14 Leipzig Falkenberg (Elster) 39 Glinzig Körnerstr. Bonnaskenplatz 16 Stadthalle Schillerstr. Ströbitzer Weg 3 Ströbitz Verkehrsverbund Berlin-Brandenburg GmbH Hardenbergplatz 2, Berlin O (030) Merzdorf, Alter Bahnhof Badesee Madlow Rosenwinkel 17 Spreestr. Heinrich- Kleist- Uhlandstr. str. Mann-Str Büdnerstr Am Sportplatz Kahren, Am Park Kah ren, Schmiede Karlshof Schule Frauendorf 25 Gallinchen, 16 Siedlung Gallinchen, Telering Sportpark Groß Gaglow, 13 Schule 13 Schorbuser Chaussee Harnischdorfer Gaglower Weg str. Str. Str. Kutzeburger Weg 32 Groß Oßnig 33 Koppatz Roggosen Friedensplatz Spreemarkt Kahren, Kirche Neuhausener Weg Gablenz Sergen Komptendorf 25 Friedhof Gallinchen, Parzellenstr. Gallinchen, Eichengrund Hoyerswerda Madlow 3 Am Depot Gaglower Landstr. Groß Gaglow, Autobahnbrücke Klein Döbbern Groß Döbbern 32 Kiefernweg Kiekebusch, Hauptstr. Priorstr. Schwarzheider Str. Chopin- Hölderlin- Hänchener str. str. Str. 17 Sachsendorf 28 Kahren, Alte Schule Neuhausen (b Cottbus) Laubsdorf Bagenz Sellessen Weskow Muckrow Abzw. Bülow RB65 Zittau Gültig ab: 05. August 2013 Herausgeber: Verkehrsverbund Berlin-Brandenburg GmbH 46 Lessingstr./ Berliner Str. Waisenstr. E-Müller-Str. Langosa Berliner Str. Industriegelände Eichow Lortzingstr. Potsdamer Str. WilhelmNevoigt-Str. 18 Vetschau Lübbenau 18 Zahsower Str./ Sportplatz RE2 Kolkwitz Alte Schule Kolkwitz, Langosa Schule Information Merzdorf, Bahnhofstr. 11 Ströbitzer Str. Geschw.-Scholl-Str. SchumannSt r. Peitzer Str. 12 Papitzer Str. Bahnhof Nord Limberg CottbusMerzdorf G.-Hauptmann-Str. Nordring RE 37 Kunersdorf Klein Limberg Beuchstr. Technische Universität Hubertstr. Kundenbüro Cottbusverkehr HammergrabenSiedlung, Kulturhaus Merzdorf, West Spreewehrmühle Neue Str./ M.-Domaskojc-Str. Sportpalast Nordfriedhof 19 Ausbau Nord Dahlitz TUPapitzer Pappelallee Mensa Str. 16 Park-und-Ride-Möglichkeit 12 HammergrabenSiedlung, Post Neue Str. Zugang zum Fahrzeug über Rampe möglich Merzdorf, Feuerwehr RE 11 Freizeitbad Lagune Berlin Wittenberge Wismar Am Lug Zuschka Eigene Scholle Am Goyatzer Str. Nordrand Lakoma Merzdorf, Hauptstr. 1 Burger Chaussee/ Süd FlugplatzFichtesportplatz museum Schmellwitz, Anger Finkenweg 24 1 Regional-Buslinie mit Haltestelle, Haltestelle nur in Pfeilrichtung und Endhaltestelle Fernbahnhof Heinersbrück Jänschwalde Neu Lakoma M.-Domaskojc-Str./ Saspow, Kauperst r. Kleine Str. 20 Schmellwitzer Saspow, Weg Fröbelstr. Am Fließ AlbrechtDürer-Str. Byhlener Str. Rennbahnweg Straupitzer Str. Buslinie mit Haltestelle, Haltestelle nur in Pfeilrichtung und Endhaltestelle Linie des Bahn-Regionalverkehrs mit Bahnhof und Endbahnhof Maust Neuendorf Turnweg Saspow, Schreberweg Straßenbahnlinie mit Haltestelle, und Endhaltestelle Straßenbahn- bzw. Buslinie verkehrt nur zeitweilig 21 Teichland 12 Burger Chaussee/ TIP Meisenweg 4 46 H.-Hertz-Str. Burger Chaussee/ Campus Nord Neu Schmellwitz 11 Berlin Willmersdorf, Jahnstr. Skadow Guhrower Str./ Cottbus-Center 11 Papitz Schmellwitzer Str. RE Babow Milkersdorf 19 Gewerbeweg RE11 28 RB Fehrower Weg Cottbus-Center 37 Ruben w Nordparkstr. Frankfurt (Oder) Magdeburg Frankfurt (Oder) RE1 43 Willmersdorf, Möbeldorf 1 37 Siedlerstr. Zollhaus Süd Döbbrick, Dissener Weg 16 Zahsow Gulben Kirche Betriebshof Schmellwitz CottbusWillmersdorf Nord RE Striesower Str. 13 Werben 20 Burg Maiberg, Mitte Maiberg, Ost Döbbrick, Ost Altes Dorf Wiesengrund Kiebitzweg 24 Am Spreebogen Dorfstr. 20 Erlengrund 24 Feuerwehr Peitz 29 Maiberg, Friedhof Cottbuser Str. 3 Kraftwerk Jänschwalde Jänschwalde Guben Burg 24 Sielow, Sportplatz Briesen (SPN) Guhrow 47 Drehnow Turnow Burg Lieberose 21 Drachhausen Fehrow Schmogrow Saccasne Burg 800 Quelle: Cottbuser Verkehrsbetriebe = Schnellste Verbindung von A nach B finden
39 Netzwerk-Strukturen im Computer erfassen Beispiel: Freundschaftsverbindungen bei facebook Quelle: facebook.com Über maximal 6 Personen sind zwei beliebige facebook-nutzer weltweit miteinander verbunden.
40 Netzwerk-Strukturen im Computer erfassen Beispiel: Chemieanlage mit Rohrleitungsnetzwerk = Optimalen Durchfluss in der Gesamtanlage steuern, wenn eine Rohrleitung zur Reinigung abgeschaltet ist
41 Netzwerk als Graph abstrakt beschreiben Ein gerichteter Graph ist ein Netzwerk aus Knoten und Kanten, wobei jede Kante von einem Startknoten zu einem Zielknoten führt und eine Kantenbewertung (z.b. Entfernung) tragen kann. A C 6 B 8 9 D E F 12
42 Graph durch Knoten- und Kantenmenge darstellen A C B E 2 2 F 3 D 12 V : Knotenmenge, E: Kantenmenge G = (V, E) mit E V V V = {A, B, C, D, E, F} E = {(A, B), (A, C), (B, A), (B, D), (C, B), (D, C), (D, E), (D, F), (E, D), (F, F)} Kantenbewertungsfunktion f : E R f (A, B) = 7 f (A, C) = 4 f (B, A) = 10 f (B, D) = 9... f (F, F) = 12
43 Graph durch Knoten- und Kantenmenge darstellen A C B E 2 2 F 3 D 12 V : Knotenmenge, E: Kantenmenge G = (V, E) mit E V V V = {A, B, C, D, E, F} E = {(A, B), (A, C), (B, A), (B, D), (C, B), (D, C), (D, E), (D, F), (E, D), (F, F)} Kantenbewertungsfunktion f : E R f (A, B) = 7 f (A, C) = 4 f (B, A) = 10 f (B, D) = 9... f (F, F) = 12 Graph als Matrix (zweidimensionales Feld) A B C D E F A 7 4 B 10 9 C 6 D E 2 F 12
44 Im deutschen Flugnetz gut angebundene Flughäfen 12 Flughäfen mit jeweils mehr als einem innerdeutschen Linienziel unterlegte Karte: Google Maps
45 Entfernungstabelle innerdeutsche Direktflüge in km Berlin Bremen Dresden Düsseldorf FrankfurtM Berlin Bremen Dresden Düsseld Frankf.M Hamburg Hannover KölnBonn LeipzigH München Nürnberg Stuttgart Hamburg Hannover Köln/Bonn Leipzig/Halle München Nürnberg Stuttgart
46 Entfernungstabelle innerdeutsche Direktflüge in km Berlin Bremen Dresden Düsseldorf FrankfurtM Berlin Bremen Dresden Düsseld Frankf.M Hamburg Hannover KölnBonn LeipzigH München Nürnberg Stuttgart Von jedem Flughafen zu jedem Flughafen kürzesten Weg im Flugliniennetz bestimmen, auch über Umstiege. Beispiel: Von Dresden nach Bremen gibt es keine Direktverbindung, aber Bremen von Dresden aus via FrankfurtM mit innerdeutschen Linienflügen auf kürzestem Weg erreichbar Hamburg Hannover Köln/Bonn Leipzig/Halle München Nürnberg Stuttgart
47 Bestimmen der kürzesten Wege im Flugliniennetz Flugverbindungen.java Floyd-Warshall-Algorithmus Initialisierung der Entfernungsmatrix und des Flughafennamensfeldes, Methodenaufruf findekuerzesteverbindung zur Optimierung
48 Bestimmen der kürzesten Wege im Flugliniennetz Flughäfen Berlin... Stuttgart per Indexwert durchnummeriert Alle Kanten i j durchlaufen sowie alle Umwege über jeden Zwischenknoten k betrachtet. Ist die Entfernung von i nach j über k kürzer als die Direktverbindung, so wird die Matrix aktualisiert, also die eingetragene Entfernung durch die kürzere Entfernung ersetzt.
49 Bestimmen der kürzesten Wege im Flugliniennetz Schleifenvariablen z: Zeile, s: Spalte durchlaufen die Felder Formatierte Ausgabe der optimierten Entfernungsmatrix im zweiten Teil der main-methode
BUS Fahrplan. Regionalverkehr Bereich Cottbus. www. cottbusverkehr.de. gültig ab 23. August 2010. Schutzgebühr: 0,50
BUS Fahrplan Regionalverkehr Bereich Cottbus gültig ab 23. August 2010 Schutzgebühr: 0,50 www. cottbusverkehr.de Inhaltsverzeichnis > Adressen und Kontaktdaten 3-4 > Verkehrshinweise 4 > Bahn - Regionalverkehr
MehrEEG-ANLAGEN 2013. EEG-Anlagen Seite 1 von 18
E40543010009520304230316023000001 Cottbus 03042 Petzoldt-Straße 23 BB 1,600 2000 NS Solar DE00095203042EPH00303160230EP0002 Photovoltaikanlage E40543010009520304240360002000001 Cottbus 03042 Vorparkstraße
MehrAbfallkalender der Stadt Co!bus 2016
Abfallkalender der Stadt Co!bus 2016 Mit Informa!onen, Terminen und Tourenplänen der Abfallwirtscha" STADT COTTBUS CHÓŚEBUZ Abfallentsorgung ö#entliche Uhren Straßenbeleuchtung Abwasserbesei!gung Papierkorbentsorgung
Mehr2. Programmierung in C
2. Programmierung in C Inhalt: Überblick über Programmiersprachen, Allgemeines zur Sprache C C: Basisdatentypen, Variablen, Konstanten Operatoren, Ausdrücke und Anweisungen Kontrollstrukturen (Steuerfluss)
MehrDr. Monika Meiler. Inhalt
Inhalt 5 Referenzdatentypen - Felder... 5-2 5.1 Eindimensionale Felder - Vektoren... 5-3 5.1.1 Vereinbarung... 5-3 5.1.2 Referenzen sind keine Felder... 5-4 5.1.3 Kopieren eindimensionaler Felder... 5-6
MehrII. Grundlagen der Programmierung. 9. Datenstrukturen. Daten zusammenfassen. In Java (Forts.): In Java:
Technische Informatik für Ingenieure (TIfI) WS 2005/2006, Vorlesung 9 II. Grundlagen der Programmierung Ekkart Kindler Funktionen und Prozeduren Datenstrukturen 9. Datenstrukturen Daten zusammenfassen
MehrEinfache Arrays. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung
Annabelle Klarl Zentralübung zur Vorlesung Einführung in die Informatik: http://www.pst.ifi.lmu.de/lehre/wise-13-14/infoeinf WS13/14 Action required now 1. Smartphone: installiere die App "socrative student"
MehrModellierung und Programmierung 1
Modellierung und Programmierung 1 Prof. Dr. Sonja Prohaska Computational EvoDevo Group Institut für Informatik Universität Leipzig 19. November 2015 Gültigkeitsbereich (Scope) von Variablen { int m; {
MehrReihungen. Martin Wirsing. in Zusammenarbeit mit Matthias Hölzl und Nora Koch 11/03
Reihungen Martin Wirsing in Zusammenarbeit mit Matthias Hölzl und Nora Koch 11/03 2 Ziele Die Datenstruktur der Reihungen verstehen: mathematisch und im Speicher Grundlegende Algorithmen auf Reihungen
MehrCottbus.de: Ausbildungsberechtigte Unternehmen und Studium in Cottbus (Stand: 2016-05-31)
Cottbus.de: Ausbildungsberechtigte Unternehmen und Studium in Cottbus (Stand: 2016-05-31) Sie suchen ausbildungsberechtigte Unternehmen, e oder (Duale) Studiengänge in Cottbus? Die Angebote der Datei lassen
Mehr620.900 Propädeutikum zur Programmierung
620.900 Propädeutikum zur Programmierung Andreas Bollin Institute für Informatik Systeme Universität Klagenfurt Andreas.Bollin@uni-klu.ac.at Tel: 0463 / 2700-3516 Arrays Wiederholung (1/5) Array = GEORDNETE
MehrJavakurs für Anfänger
Javakurs für Anfänger Einheit 02: Klassen & Objekte Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda 1. Teil: Klassen Grundstruktur einer Java-Klasse Eigenschaften (Attribute) Variablen
MehrZusammengesetzte Datentypen -- Arrays und Strukturen
Zusammengesetzte Datentypen -- und Strukturen Informatik für Elektrotechnik und Informationstechnik Benedict Reuschling benedict.reuschling@h-da.de Hochschule Darmstadt Fachbereich Informatik WS 2013/14
MehrStadt Beschreibung (Deutsch) Beschreibungstext
Stadt Beschreibung (Deutsch) Beschreibungstext Augsburg Fernbushaltestelle Biberbachstraße, 86154 Augsburg Die Haltestelle des ADAC Postbusses befindet sich am nördlichen Rand Augsburgs im Stadtteil Oberhausen
MehrEinführung in die Java- Programmierung
Einführung in die Java- Programmierung Dr. Volker Riediger Tassilo Horn riediger horn@uni-koblenz.de WiSe 2012/13 1 Wichtig... Mittags Pommes... Praktikum A 230 C 207 (Madeleine) F 112 F 113 (Kevin) E
MehrFelder, Rückblick Mehrdimensionale Felder. Programmieren in C
Übersicht Felder, Rückblick Mehrdimensionale Felder Rückblick Vereinbarung von Feldern: typ name [anzahl]; typ name = {e1, e2, e3,..., en} Die Adressierung von Feldelementen beginnt bei 0 Die korrekte
MehrUnsere Auftrittstermine 2015. Januar. Februar. März
Unsere Auftrittstermine 2015 (Wird fortlaufend ergänzt) Januar 08.01. Neujahrsempfang in der Seniorenresidenz am Fontaneplatz in Cottbus ca. 17.00 Uhr Februar 07.02. Karnevalsveranstaltung des Döberner
MehrInformatik. Studiengang Chemische Technologie. Michael Roth WS 2012/2013. michael.roth@h-da.de. Hochschule Darmstadt -Fachbereich Informatik-
Informatik Studiengang Chemische Technologie Michael Roth michael.roth@h-da.de Hochschule Darmstadt -Fachbereich Informatik- WS 2012/2013 Inhalt Teil VII Einstieg in Java I Michael Roth (h_da) Informatik
MehrEinführung in die Java- Programmierung
Einführung in die Java- Programmierung Dr. Volker Riediger Tassilo Horn riediger horn@uni-koblenz.de WiSe 2012/13 1 Rückblick Schleifen while do-while for Methoden Verfahren: Intervallschachtelung 2 Wo
MehrDatenfelder (Arrays) Vektoren, Matrizen, Tabellen. Dr. Beatrice Amrhein
Datenfelder (Arrays) Vektoren, Matrizen, Tabellen Dr. Beatrice Amrhein Überblick Eindimensionale Arrays o Deklaration, Initialisierung, Zugriff Mehrdimensionale Arrays o Deklaration, Initialisierung, Zugriff
MehrPIWIN I. Praktische Informatik für Wirtschaftsmathematiker, Ingenieure und Naturwissenschaftler I. Vorlesung 3 SWS WS 2007/2008
PIWIN I Kap. 7 Objektorientierte Programmierung - Einführung 1 PIWIN I Praktische Informatik für Wirtschaftsmathematiker, Ingenieure und Naturwissenschaftler I Vorlesung 3 SWS WS 2007/2008 FB Informatik
MehrSpreeGas 2012. Zahlen Fakten Wissenswertes
SpreeGas 2012 Zahlen Fakten Wissenswertes Inhalt Vorwort 3 Die Zukunft im Blick Privatkunden 4 5 Energie für Haushalte 4 Dauerhaft günstiges Erdgas für jeden Verbrauch 5 Geschäftskunden 6 7 Energie für
Mehr5. Tutorium zu Programmieren
5. Tutorium zu Programmieren Dennis Ewert Gruppe 6 Universität Karlsruhe Institut für Programmstrukturen und Datenorganisation (IPD) Lehrstuhl Programmierparadigmen WS 2008/2009 c 2008 by IPD Snelting
MehrKapitel 6: Graphalgorithmen Gliederung
Gliederung 1. Grundlagen 2. Zahlentheoretische Algorithmen 3. Sortierverfahren 4. Ausgewählte Datenstrukturen 5. Dynamisches Programmieren 6. Graphalgorithmen 7. String-Matching 8. Kombinatorische Algorithmen
MehrDas erste Programm soll einen Text zum Bildschirm schicken. Es kann mit jedem beliebigen Texteditor erstellt werden.
Einfache Ein- und Ausgabe mit Java 1. Hallo-Welt! Das erste Programm soll einen Text zum Bildschirm schicken. Es kann mit jedem beliebigen Texteditor erstellt werden. /** Die Klasse hello sendet einen
MehrDr. Monika Meiler. Inhalt
Inhalt 11 Dynamische Feldvereinbarung... 11-2 11.1 Dynamische Vereinbarung von Vektoren... 11-3 11.2 Dynamische Vereinbarung von Matrizen... 11-5 11.3 Die Kommandozeile... 11-8 Propädeutikum 11-1/8 11
MehrEinführung Datentypen Verzweigung Schleifen Funktionen Dynamische Datenstrukturen. Java Crashkurs. Kim-Manuel Klein (kmk@informatik.uni-kiel.
Java Crashkurs Kim-Manuel Klein (kmk@informatik.uni-kiel.de) May 7, 2015 Quellen und Editoren Internet Tutorial: z.b. http://www.java-tutorial.org Editoren Normaler Texteditor (Gedit, Scite oder ähnliche)
MehrDie Programmiersprache C
Die Programmiersprache C höhere Programmiersprache (mit einigen Assembler-ähnlichen Konstrukten) gut verständliche Kommandos muss von Compiler in maschinenlesbaren Code (Binärdatei) übersetzt werden universell,
MehrEine Klasse beschreibt Objekte mit gleichen Attributen und Methoden.
Grundwissen Informatik Objekt Attribut Methoden Als Objekte bezeichnet man alle Gegenstände, Dinge, Lebewesen, Begriffe oder Strukturen unserer Welt ( Autos, Räume, Bakterien, Lehrer, Schüler, Kunden,
MehrProgrammieren I. Prinzipieller Ablauf. Eigenschaften von JAVA. Source-Code Javac Bytecode. Java Virtual Machine (Java, Browser, Appletviewer)
Programmieren I Grundlagen von JAVA Dr. Klaus Höppner Hello World in JAVA Hochschule Darmstadt WS 2007/2008 Elementare Datentypen 1 / 17 2 / 17 Eigenschaften von JAVA Prinzipieller Ablauf Plattform-und
MehrÜbersicht. Informatik 2 Teil 3 Anwendungsbeispiel für objektorientierte Programmierung
Übersicht 3.1 Modell Konto 3.2 Modell Konto - Erläuterungen 3.3 Benutzer Ein- und Ausgabe mit Dialogfenster I 3.4 Benutzer Ein- und Ausgabe mit Dialogfenster II 3.5 Klassen- und Objekteigenschaften des
MehrTag 9: Datenstrukturen
Tag 9: Datenstrukturen A) Datenstrukturen B) Cell Arrays C) Anwendungsbeispiel: Stimulation in einem psychophysikalischen Experiment A) Datenstrukturen Wenn man komplizierte Datenmengen verwalten möchte,
Mehr1. Formulieren Sie den Algorithmus <Bedienung eines Getränkeautomaten> nach den oben genannten Kriterien.
Java 1 Einführung Grundlegende Übungsaufgaben Arbeitsauftrag 1.1 1. Formulieren Sie den Algorithmus nach den oben genannten Kriterien. Beispiel: Bedienung eines Getränkeautomaten
MehrADAC Postbus Fahrplan
Linie 10 NRW Hannover Berlin (täglich) Route Bus 109 Bus 109 Bus 113 Bus 110 Bus 111 Bus 112 Bus 114 Bus 110 Bonn 07:55 13:55 Köln 08:40 14:40 Düsseldorf 06:45 11:45 Duisburg 9:45 12:45 Essen 07:20 12:20
MehrEinführung in die Programmiersprache C
Einführung in die Programmiersprache C Marcel Arndt arndt@ins.uni-bonn.de Institut für Numerische Simulation Universität Bonn Der Anfang Ein einfaches Programm, das Hello World! ausgibt: #include
MehrEinführung in die Programmierung Arrays, Zeiger, Strings. Arvid Terzibaschian
Einführung in die Programmierung Arvid Terzibaschian 1 Arrays 2 Arrays: Motivation Gegeben: monatliche Durchschnittstemperaturen der letzten 5 Jahre Gesucht: Mittelwerte für Jahre, Monate, Jahreszeiten,
MehrGrundlagen der Programmiersprache C++
/ TU Braunschweig Grundlagen der Programmiersprache C++ Um den Studierenden den Einstieg in die FE-Programmierung zu erleichtern werden die wesentlichen Elemente eines C-Programmes beschrieben, soweit
MehrInformationsverarbeitung im Bauwesen
1/23 Informationsverarbeitung im Bauwesen Einführung in das Programmieren mit C++ Markus Uhlmann Institut für Hydromechanik Karlsruher Institut für Technologie www.ifh.kit.edu WS 2010/2011 Vorlesung 6
MehrName: Seite 2. Beantworten Sie die Fragen in den Aufgaben 1 und 2 mit einer kurzen, prägnanten Antwort.
Name: Seite 2 Beantworten Sie die Fragen in den Aufgaben 1 und 2 mit einer kurzen, prägnanten Antwort. Aufgabe 1 (8 Punkte) 1. Wie viele negative Zahlen (ohne 0) lassen sich im 4-Bit-Zweierkomplement darstellen?
MehrObjektorientiertes Programmieren für Ingenieure
Uwe Probst Objektorientiertes Programmieren für Ingenieure Anwendungen und Beispiele in C++ 18 2 Von C zu C++ 2.2.2 Referenzen und Funktionen Referenzen als Funktionsparameter Liefert eine Funktion einen
Mehr1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. Bäume / Graphen 5. Hashing 6. Algorithmische Geometrie
Gliederung 1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. äume / Graphen 5. Hashing 6. Algorithmische Geometrie 4/5, olie 1 2014 Prof. Steffen Lange - HDa/bI
MehrObjektorientierte Programmierung. Objektorientierte Programmierung. Klasse. Objekt. Beispiel: Sportfest1. Methode. Eine Einführung mit BlueJ
Objektorientierte Programmierung Objektorientierte Programmierung Eine Einführung mit BlueJ stellt die Daten, ihre Struktur und ihre Beziehungen zueinander in den Vordergrund. Weniger im Blickpunkt: die
MehrSEP 325. Notwendigkeit. häufige Situation: Programm funktioniert im Prinzip fehlerfrei, aber nicht mit gewünschter Performanz
Optimierungen SEP 325 Notwendigkeit häufige Situation: Programm funktioniert im Prinzip fehlerfrei, aber nicht mit gewünschter Performanz Symptome des Mangels an Performanz: OutOfMemoryError wird geworfen
MehrGliederung Grundlagen Schlüsselworte try-catch Fehlerobjekte Fehlerklassen Schlüsselwort finally Schlüsselwort throws selbst erstellte Exceptions
try-catch Schlüsselworte try-catch e Schlüsselwort Schlüsselwort selbst erstellte ermöglichen die Behandlung von Fehlern, die zur Laufzeit entstehen. try-catch in C: Fehler führt immer zum Abbruch des
MehrEinführung in die Informatik: Programmierung und Software-Entwicklung, WS 11/12. Kapitel 8. Arrays. Arrays
1 Kapitel 8 Ziele 2 Die Datenstruktur der kennenlernen Grundlegende Algorithmen auf in Java implementieren können Mit von Objekten arbeiten können 3 Erweiterungen zur Behandlung von : Überblick Bisher
MehrPrinzipien Objektorientierter Programmierung
Prinzipien Objektorientierter Programmierung Valerian Wintner Inhaltsverzeichnis 1 Vorwort 1 2 Kapselung 1 3 Polymorphie 2 3.1 Dynamische Polymorphie...................... 2 3.2 Statische Polymorphie........................
MehrInstitut für Programmierung und Reaktive Systeme 25. August 2014. Programmier-Labor. 04. + 05. Übungsblatt. int binarysearch(int[] a, int x),
Technische Universität Braunschweig Dr. Werner Struckmann Institut für Programmierung und Reaktive Systeme 25. August 2014 Programmier-Labor 04. + 05. Übungsblatt Aufgabe 21: a) Schreiben Sie eine Methode
MehrArrays in Java. Text. Stefan Brotschi
Arrays in Java Stefan Brotschi Übersicht Einführung Deklaration, Generierung und Initialisierung Mehrdimensionale Arrays Arrays kopieren Klasse java.utils.arrays Kleine Knobeleien Einführung / Allgemein
MehrBinärbäume. Prof. Dr. E. Ehses, 2014 1
Binärbäume Grundbegriffe der Graphentheorie Bäume und Ihre Anwendungen Unterschiedliche Darstellungen von Bäumen und Binärbäumen Binärbäume in Java Rekursive Traversierung von Binärbäumen Ebenenweise Traversierung
MehrInstitut fu r Informatik
Technische Universita t Mu nchen Institut fu r Informatik Lehrstuhl fu r Bioinformatik Einfu hrung in die Programmierung fu r Bioinformatiker Prof. B. Rost, L. Richter WS 2013 Aufgabenblatt 3 18. November
MehrJava Einführung Methoden in Klassen
Java Einführung Methoden in Klassen Lehrziel der Einheit Methoden Signatur (=Deklaration) einer Methode Zugriff/Sichtbarkeit Rückgabewerte Parameter Aufruf von Methoden (Nachrichten) Information Hiding
MehrUniversität Augsburg, Institut für Informatik Sommersemester 2005 Prof. Dr. Werner Kießling 15. Oktober 2005 Dr. Alfons Huhn, Timotheus Preisinger
Universität Augsburg, Institut für Informatik Sommersemester 2005 Prof. Dr. Werner Kießling 15. Oktober 2005 Dr. Alfons Huhn, Timotheus Preisinger Informatik II Hinweise: Die Bearbeitungszeit beträgt 90
MehrProgrammieren I. Strategie zum Entwurf von Klassen. Beispiele. Design von Klassen. Dr. Klaus Höppner. Beispiel: Bibliothek
Programmieren I Dr. Klaus Höppner Hochschule Darmstadt Wintersemester 2008/2009 1 / 22 2 / 22 Strategie zum Entwurf von Klassen Beispiele Objektorientierte Sichtweise: Mit welchen Objekten habe ich es
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Tafelübung 04 Referenzen, Overloading, Klassen(hierarchien) Clemens Lang T2 18. Mai 2010 14:00 16:00, 00.152 Tafelübung zu AuD 1/13 Organisatorisches Nächster Übungstermin
MehrGrundlagen der Informatik. Prof. Dr. Stefan Enderle NTA Isny
Grundlagen der Informatik Prof. Dr. Stefan Enderle NTA Isny 2 Datenstrukturen 2.1 Einführung Syntax: Definition einer formalen Grammatik, um Regeln einer formalen Sprache (Programmiersprache) festzulegen.
MehrEinführung in die Informatik für Hörer aller Fakultäten II. Andreas Podelski Stephan Diehl Uwe Waldmann
Einführung in die Informatik für Hörer aller Fakultäten II Andreas Podelski Stephan Diehl Uwe Waldmann 1 Einführung in die Informatik für Hörer aller Fakultäten II Andreas Podelski Stephan Diehl Uwe Waldmann
MehrII.1.1. Erste Schritte - 1 -
! 1. Grundelemente der Programmierung! 2. Objekte, Klassen und Methoden! 3. Rekursion und dynamische Datenstrukturen! 4. Erweiterung von Klassen und fortgeschrittene Konzepte II.1.1. Erste Schritte - 1
Mehr1 Polymorphie (Vielgestaltigkeit)
1 Polymorphie (Vielgestaltigkeit) Problem: Unsere Datenstrukturen List, Stack und Queue können einzig und allein int-werte aufnehmen. Wollen wir String-Objekte, andere Arten von Zahlen oder andere Objekttypen
MehrUlla Kirch Peter Prinz C+ + Lernen und professionell anwenden. mitp
Ulla Kirch Peter Prinz C+ + Lernen und professionell anwenden mitp Inhaltsverzeichnis Einleitung 19 Grundlagen 21 Entwicklung und Eigenschaften von C++ 22 Objektorientierte Programmierung 24 Erstellen
MehrSoftware Engineering Klassendiagramme Einführung
Software Engineering Klassendiagramme Einführung Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Aufgabe Erstellen Sie eine Klasse Person in Java. Jede Person verfügt
MehrJava 7. Elmar Fuchs Grundlagen Programmierung. 1. Ausgabe, Dezember 2011 JAV7
Java 7 Elmar Fuchs Grundlagen Programmierung 1. Ausgabe, Dezember 2011 JAV7 5 Java 7 - Grundlagen Programmierung 5 Kontrollstrukturen In diesem Kapitel erfahren Sie wie Sie die Ausführung von von Bedingungen
MehrWillkommen zur Vorlesung. Objektorientierte Programmierung Vertiefung - Java
Willkommen zur Vorlesung Objektorientierte Programmierung Vertiefung - Java Zum Dozenten Mein Name: Andreas Berndt Diplom-Informatiker (TU Darmstadt) Derzeit Software-Entwickler für Web- Applikationen
MehrProgrammierkurs Java
Programmierkurs Java Dr. Dietrich Boles Aufgaben zu UE16-Rekursion (Stand 09.12.2011) Aufgabe 1: Implementieren Sie in Java ein Programm, das solange einzelne Zeichen vom Terminal einliest, bis ein #-Zeichen
MehrDrei-Schichten-Architektur. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 16: 3-Schichten-Architektur 1 Fachkonzept - GUI
Universität Osnabrück Drei-Schichten-Architektur 3 - Objektorientierte Programmierung in Java Vorlesung 6: 3-Schichten-Architektur Fachkonzept - GUI SS 2005 Prof. Dr. F.M. Thiesing, FH Dortmund Ein großer
MehrProbeklausur: Programmierung WS04/05
Probeklausur: Programmierung WS04/05 Name: Hinweise zur Bearbeitung Nimm Dir für diese Klausur ausreichend Zeit, und sorge dafür, dass Du nicht gestört wirst. Die Klausur ist für 90 Minuten angesetzt,
MehrLiebe Leserin, lieber Leser, in der ersten Auflage von Programmieren lernen mit Java von Hans- Peter Habelitz sind einige Fehler zu korrigieren.
Liebe Leserin, lieber Leser, in der ersten Auflage von Programmieren lernen mit Java von Hans- Peter Habelitz sind einige Fehler zu korrigieren. Niemand bedauert diese Fehler mehr als der Autor selbst.
MehrEinführung in die Programmierung
Vorlesungsteil 6 Rekursion PD Dr. Brandenburgische Technische Universität Cottbus Senftenberg Institut für Informatik, Informations- und Medientechnik Wintersemester 2014/2015 Wieviele Laubblätter und
MehrPrimitive Datentypen
Primitive Datentypen 2 Arten von Datentypen: primitive Datentypen (heute) Objekte (später) Java ist streng typisiert, d.h. für jede Variable muß angegeben werden was für eine Art von Wert sie aufnimmt.
MehrAnbindung des Flughafens Berlin-Brandenburg (BER) im öffentlichen Nahverkehr 23.10.2012. Jürgen Roß Bereichsleiter Planung und Fahrgastinformation
Anbindung des Flughafens Berlin-Brandenburg (BER) im öffentlichen Nahverkehr 23.10.2012 Jürgen Roß Bereichsleiter Planung und Fahrgastinformation 1 Grafik: gmp Architekten, JSK International, Visualisierung:
MehrProgrammieren in C++ Arrays, Strings und Zeigerarithmetik
Programmieren in C++ Arrays, Strings und Zeigerarithmetik Inhalt Eindimensionale C-Arrays C-Strings und Strings (Mehrdimensionale C-Arrays) Arrays und Vektoren (C++) Unique Pointers (C++11) Zeigerarithmetik
MehrEin erstes Java-Programm
Ein erstes Java-Programm public class Rechnung { public static void main (String [] arguments) { int x, y; x = 10; y = -1 + 23 * 33 + 3 * 7 * (5 + 6); System.out.print ("Das Resultat ist "); System.out.println
Mehr3 Objektorientierte Konzepte in Java
3 Objektorientierte Konzepte in Java 3.1 Klassendeklarationen Fragen an die Klassendeklaration: Wie heißt die Klasse? Wer darf auf die Klasse und ihre Attribute/Methoden zugreifen? Ist die Klasse eine
MehrEINI WiMa/LW. Einführung in die Informatik für Naturwissenschaftler und Ingenieure. Vorlesung 2 SWS WS 11/12
EINI WiMa/LW Einführung in die Informatik für Naturwissenschaftler und Ingenieure Vorlesung 2 SWS WS 11/12 Fakultät für Informatik Technische Universität Dortmund lars.hildebrand@udo.edu http://ls1-www.cs.uni-dortmund.de
MehrGliederung. Tutorium zur Vorlesung. Gliederung. Gliederung. 1. Gliederung der Informatik. 1. Gliederung der Informatik. 1. Gliederung der Informatik
Informatik I WS 2012/13 Tutorium zur Vorlesung 1. Alexander Zietlow zietlow@informatik.uni-tuebingen.de Wilhelm-Schickard-Institut für Informatik Eberhard Karls Universität Tübingen 11.02.2013 1. 2. 1.
MehrSortieralgorithmen. Inhalt: InsertionSort BubbleSort QuickSort. Marco Block
Inhalt: InsertionSort BubbleSort QuickSort Block M.: "Java-Intensivkurs - In 14 Tagen lernen Projekte erfolgreich zu realisieren", Springer-Verlag 2007 InsertionSort I Das Problem unsortierte Daten in
MehrC# im Vergleich zu Java
C# im Vergleich zu Java Serhad Ilgün Seminar Universität Dortmund SS 03 Gliederung Entstehung von C# und Java Überblick von C# und Java Unterschiede und Gemeinsamkeiten Zusammenfassung und Ausblick Entstehung
MehrInformatik 11 Kapitel 2 - Rekursive Datenstrukturen
Fachschaft Informatik Informatik 11 Kapitel 2 - Rekursive Datenstrukturen Michael Steinhuber König-Karlmann-Gymnasium Altötting 15. Januar 2016 Folie 1/77 Inhaltsverzeichnis I 1 Datenstruktur Schlange
MehrKapitel 6. Vererbung
1 Kapitel 6 2 Ziele Das sprinzip der objektorientierten Programmierung verstehen Und in Java umsetzen können Insbesondere folgende Begriffe verstehen und anwenden können: Ober/Unterklassen Subtyping Überschreiben
MehrArbeiten mit Arrays. 4.1 Eigenschaften. 4.1.1 Schlüssel und Element. Kapitel 4
Arbeiten mit s Eine effiziente Programmierung mit PHP ohne seine s ist kaum vorstellbar. Diese Datenstruktur muss man verstanden haben, sonst brauchen wir mit weitergehenden Programmiertechniken wie der
MehrEinführung in die Programmierung mit Java
Einführung in die Programmierung mit Martin Wirsing 2 Ziele Begriffsbildungen: Informatik, Algorithmus, Programm... Warum als Programmiersprache verwenden? Ein einfaches -Programm erstellen, übersetzen
MehrErste Schritte in Java
Erste Schritte in Java Im einführenden Kapitel haben wir die Grundbegriffe der imperativen Programmierung an einem Beispiel (Algorithmus von Euklid) kennengelernt. In diesem Kapitel sehen wir uns an einem
MehrInformatik für Ingenieure
Informatik für Ingenieure Eine Einführung Von Prof. Dr. rer. nat. Wolfgang Merzenich Universität-Gesamthochschule Siegen und Prof. Dr.-Ing. Hans Christoph Zeidler Universität der Bundeswehr Hamburg B.
MehrDeklarationen in C. Prof. Dr. Margarita Esponda
Deklarationen in C 1 Deklarationen Deklarationen spielen eine zentrale Rolle in der C-Programmiersprache. Deklarationen Variablen Funktionen Die Deklarationen von Variablen und Funktionen haben viele Gemeinsamkeiten.
MehrJava Database Connectivity (JDBC) 14.07.2009 Walther Rathenau Gewerbeschule 1
Java Database Connectivity (JDBC) 14.07.2009 Walther Rathenau Gewerbeschule 1 Was ist JDBC? Hauptsächlich eine Sammlung von Java Klassen und Schnittstellen für eine einfache Verbindung von Java Programmen
MehrAlgorithmen & Datenstrukturen 1. Klausur
Algorithmen & Datenstrukturen 1. Klausur 7. Juli 2010 Name Matrikelnummer Aufgabe mögliche Punkte erreichte Punkte 1 35 2 30 3 30 4 15 5 40 6 30 Gesamt 180 1 Seite 2 von 14 Aufgabe 1) Programm Analyse
MehrProgrammieren in C. Felder, Schleifen und Fließkommaarithmetik. Prof. Dr. Nikolaus Wulff
Programmieren in C Felder, Schleifen und Fließkommaarithmetik Prof. Dr. Nikolaus Wulff Addition von Zahlen 1 2 3 4 5 #include int main() { int x,y,z,sum; x = 1; y = 2; z = 4; sum = x + y + z;
MehrDiplomvorprüfung in Datenverarbeitung EBS Sommersemester 2002
Diplomvorprüfung in Datenverarbeitung EBS Sommersemester 2002 Prüfungsaufgaben zu den Vorlesungen Datenverarbeitung im ersten und im zweiten Semester Aufgabensteller: Gleißner Die Lösungen sind auf das
MehrProgrammentwicklung I für Hörer anderer Fachrichtungen -Wintersemester 2003/04- Abschlussklausur 20.02.2004
Programmentwicklung I für Hörer anderer Fachrichtungen -Wintersemester 2003/04- Abschlussklausur 20.02.2004 Name : Vorname : Matrikelnummer : Hauptfach : Nebenfach/Fachrichtung Hinweise : 1. Überprüfen
MehrJava Einführung VARIABLEN und DATENTYPEN Kapitel 2
Java Einführung VARIABLEN und DATENTYPEN Kapitel 2 Inhalt dieser Einheit Variablen (Sinn und Aufgabe) Bezeichner Datentypen, Deklaration und Operationen Typenumwandlung (implizit/explizit) 2 Variablen
MehrTeil 1: Grundeigenschaften von Rechnern und Software
Blatt Nummer: 1 Teil 1: Grundeigenschaften von Rechnern und Software Aufgabe 1.1 [2P] Welcher fundamentale Unterschied besteht zwischen dem Zweck eines Computer von dem Zweck anderer Maschinen (etwa einer
MehrRekursion. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung
Rekursion Annabelle Klarl Zentralübung zur Vorlesung Einführung in die Informatik: http://www.pst.ifi.lmu.de/lehre/wise-12-13/infoeinf WS12/13 Aufgabe 1: Potenzfunktion Schreiben Sie eine Methode, die
MehrKlausur in Programmieren
Studiengang Sensorik/Sensorsystemtechnik Note / normierte Punkte Klausur in Programmieren Wintersemester 2010/11, 17. Februar 2011 Dauer: 1,5h Hilfsmittel: Keine (Wörterbücher sind auf Nachfrage erlaubt)
MehrFB Informatik. Fehler. Testplan
Fehler #include int i,n,summe; int summe (int); cout 0) cin>n; i=summme(n); cout
MehrEinführung in die objektorientierte Programmierung mit Java. Klausur am 19. Oktober 2005
Einführung in die objektorientierte Programmierung mit Java Klausur am 19. Oktober 2005 Matrikelnummer: Nachname: Vorname: Semesteranzahl: Die Klausur besteht aus drei Frageblöcken zu den Inhalten der
Mehr5.2 Das All-Pairs-Shortest-Paths-Problem (APSP-Problem) Kürzeste Wege zwischen allen Knoten. Eingabe: Gerichteter Graph G =(V, E, c)
5.2 Das All-Pairs-Shortest-Paths-Problem (APSP-Problem) Kürzeste Wege zwischen allen Knoten. Eingabe: Gerichteter Graph G =(V, E, c) mit V = {1,...,n} und E {(v, w) 1 apple v, w apple n, v 6= w}. c : E!
Mehr5.4 Klassen und Objekte
5.4 Klassen und Objekte Zusammenfassung: Projekt Figuren und Zeichner Figuren stellt Basisklassen für geometrische Figuren zur Verfügung Zeichner bietet eine übergeordnete Klasse Zeichner, welche die Dienstleistungen
MehrPIWIN 1 Übung Blatt 5
Fakultät für Informatik Wintersemester 2008 André Gronemeier, LS 2, OH 14 Raum 307, andre.gronemeier@cs.uni-dortmund.de PIWIN 1 Übung Blatt 5 Ausgabedatum: 19.12.2008 Übungen: 12.1.2009-22.1.2009 Abgabe:
MehrObjekt-Orientierte Programmierung
Objekt-Orientierte Programmierung Ein OO-Programm modelliert eine Anwendung als eine Welt von Objekten, die miteinander in Beziehung stehen ( später). Ein Objekt kann andere Objekte erzeugen. Ein Objekt
MehrHochschule Niederrhein Grundlagen der Prof. Dr. Nitsche Fachbereich 03 Java Programmierung Bachelor Informatik SS 2015 Übung 1. Grundlagen von Java
Grundlagen von Java Aufgabe 1: Typen und Zuweisungen in Java Welche der folgenden Java-Anweisungen sind fehlerhaft? Handelt es sich um einen Compiler- oder einen Laufzeitfehler? Anmerkung: Folgefehler
MehrJava-Schulung Grundlagen
Java-Schulung Grundlagen Java 2 Standard Edition JDK 5 / 6 31.05.2008 Marcel Wieczorek 1 Themenübersicht Basiswissen Objektorientierung Datentypen Fehlerbehandlung Sonstiges Einführung Klassen, Strings
Mehr