Dynamische Datenstrukturen Jiri Spale, Algorithmen und Datenstrukturen - Dynamische Datenstrukturen 1

Größe: px
Ab Seite anzeigen:

Download "Dynamische Datenstrukturen Jiri Spale, Algorithmen und Datenstrukturen - Dynamische Datenstrukturen 1"

Transkript

1 Dynamische Datenstrukturen 2006 Jiri Spale, Algorithmen und Datenstrukturen - Dynamische Datenstrukturen 1

2 Dynamische Datenstrukturen Keine konstante Kardinalität Speicherzuweisung erfolgt während der Programm-Laufzeit 2006 Jiri Spale, Algorithmen und Datenstrukturen - Dynamische Datenstrukturen 2

3 File: sequentielle dyn. Struktur Def: Eine Sequenz vom Grundtyp T 0 ist entweder die leere Sequenz oder die Verkettung einer Sequenz vom Grundtyp T 0 mit einem Wert vom Typ T 0. Leseschreibkopf Grundoperationen: Lesen Schreiben Zurücksetzen EOF setzen seek 2006 Jiri Spale, Algorithmen und Datenstrukturen - Dynamische Datenstrukturen 3

4 Textdateien und binäre Dateien Beide Dateitypen haben eigene Befehlssätze zum Lesen und Schreiben Textdatei Folge von Zeichen in vereinbartem Format (ASCII, Unicode) mit normalem Texteditor lesbar Lesebefehle lesen Zeichen bis zum nächsten Trennzeichen in eine Variable => einzelne Variablen durch Trennzeichen (Delimiters) getrennt; für die Trennzeichen muss der Programmierer selbst sorgen braucht i.d.r. mehr Speicherplatz dynamisch-strukturiert-homogen Binärdatei Folge von Bytes; Variablen haben den gleichen Format wie im Hauptspeicher nur mit Spezialeditoren (Hexeditor) lesbar Lese/Schreibbefehle enthalten Information über die Anzahl der zu lesenden/schreibenden Bytes => keine Trennzeichen notwendig braucht i.d.r. weniger Speicherplatz dynamisch-strukturiert-heterogen 2006 Jiri Spale, Algorithmen und Datenstrukturen - Dynamische Datenstrukturen 4

5 Implementierung von File #1 1. C: 1.1 Textdatei FILE *fileptr; char Zeichenkette[20]; int a; fileptr=fopen("myfile.txt","w"); //Zuordnung //log./phys. Datei fprintf(fileptr,"mystring ",9); // schreiben fclose(fileptr);... fileptr=fopen("myfile.txt", "r"); fscanf(fileptr, "%s%d", Zeichenkette, &a); // lesen fclose(fileptr); //Datei schließen 2006 Jiri Spale, Algorithmen und Datenstrukturen - Dynamische Datenstrukturen 5

6 Implementierung von File #2 1.1 Binäre Datei FILE *fileptr; int a; float b[20]; fileptr=fopen("myfile.bin","wb"); //Zuordnung //log./phys. Datei fwrite(&a, sizeof(int), 1, fileptr); // schreiben fwrite(b, sizeof(float), 20, fileptr); fclose(fileptr);... fileptr=fopen("myfile.bin", rb"); fread(&a, sizeof(int), 1, fileptr); // lesen fread(b, sizeof(float), 20, fileptr); //Datei schließen // Params: Buffer,Datentyp-Länge,Anzahl,log.Datei fclose(fileptr); //Datei schließen 2006 Jiri Spale, Algorithmen und Datenstrukturen - Dynamische Datenstrukturen 6

7 Implementierung von File #3 2. C Textdateien #include <iostream> // 1 #include <fstream> // 2 #include <string> // 3 using namespace std; int main() { fstream in_file("original.txt", ios::in); // 4 fstream out_file("kopie.txt",ios::out ios::trunc);//5 string buffer; while(!in_file.eof()) { // 6 getline(in_file, buffer, ' '); // 7 out_file << buffer << endl; // 8 } return 0; } 2006 Jiri Spale, Algorithmen und Datenstrukturen - Dynamische Datenstrukturen 7

8 Files in Java Datenaustausch mit der Umgebung des Systems (Bsp.): System.out.println(): Ausdrucken von Daten auf dem Bildschirm gettext(): Auslesen eines Textes aus einer graphischen Komponente vom Typ TextField. Allg: Modellierung von externen Speichern und die Modellierung der Interaktion von Informatik-Systemen mit ihrer Umgebung. Definition Datei: Eine Verwaltungseinheit zur Repräsentation von externen Daten nach gewissen Organisationsformen, die den Zugriff innerhalb des Informatik-Systems auf die Daten festlegen Jiri Spale, Algorithmen und Datenstrukturen - Dynamische Datenstrukturen 8

9 Streams in Java Um auf Dateien innerhalb eines Informatik-Systems zugreifen zu können, führen wir den Begriff des Streams ein. Definition Stream: Die interne Repräsentation einer (externen) Datei oder eines Ein-/Ausgabe (E/A)-Gerätes in einem Informatik-System. Definition Eingabe: Das Lesen der Daten von einer Datei oder von einem Eingabe-Gerät in einen Strom. Der Strom heißt dann Eingabestrom. Definition Ausgabe: Das Schreiben von Daten eines Stroms auf eine Datei oder ein Ausgabe-Gerät. Der Strom heißt dann Ausgabestrom. Ein Stream hat eine Quelle und eine Senke Jiri Spale, Algorithmen und Datenstrukturen - Dynamische Datenstrukturen 9

10 Entwurf von Streams Wir modellieren Ströme als Klassen. Allgemein können wir sagen: Ein Strom hat zwei private Attribute Name: Bezeichner der mit dem Strom verbundenen Quelle oder Senke Marke: Zeiger auf das derzeitige Element (current element). Ein Strom stellt folgende Operationen bereit: open(): Öffnen der Verbindung mit einer (externen) Datei read(): Lesen eines Elements aus dem Strom. write(): Schreiben eines Elements in den Strom. close(): Schließen der Verbindung mit der Datei. Die Signatur der Operationen und die Implementierung von Strömen ist abhängig von der Programmiersprache; Implementierung von Dateien ist vom Betriebssystem abhängig. Java unterstützt Ströme und Dateien Jiri Spale, Algorithmen und Datenstrukturen - Dynamische Datenstrukturen 10

11 Streams und Files: Systematik Object Reader Writer InputStream OutputStream File Klasse Beschreibung Reader Abstrakte Klasse für textuelle Eingabeströme Writer Abstrakte Klasse für textuelle Ausgabeströme InputStream Abstrakte Klasse für binäre Eingabeströme OutputStream Abstrakte Klasse für binären Ausgabeströme File Plattform-unabhängige Repräsentation von Dateien 2006 Jiri Spale, Algorithmen und Datenstrukturen - Dynamische Datenstrukturen 11

12 Modellierung textueller Streams Input: Klasse BufferedReader CharArrayReader FileReader PipedReader StringReader LineNumberReader wurden. Beschreibung Gepufferte Eingabe bei textuellen Eingabeströmen Einlesen von Reihungen vom Typ char als Strom Einlesen von Text-Dateien Lesen von Textdaten aus einem anderen Thread Einlesen von Zeichenketten (String) als Strom Zählt Anzahl der Text-Zeilen, die bereits gelesen 2006 Jiri Spale, Algorithmen und Datenstrukturen - Dynamische Datenstrukturen 12

13 Modellierung textueller Streams Output: Klasse BufferedWriter CharArrayWriter FileWriter PipedWriter PrintWriter StringWriter Beschreibung Gepufferte Ausgabe bei textuellen Ausgabeströmen Schreiben von Textdaten in Reihungen vom Typ char Schreiben von Textzeichen in Text-Dateien Weitergabe von Textdaten an anderen Thread Textuelle Ausgabe von Java's Basistypen Schreiben von Textdaten in Zeichenketten (String) 2006 Jiri Spale, Algorithmen und Datenstrukturen - Dynamische Datenstrukturen 13

14 Modellierung binärer Streams Input: Klasse ByteArrayInputSteam FileInputStream FilterInputStre BufferedInputStream DataInputStream ObjectInputStream PipedInputStream Beschreibung Einlesen von Reihungen vom Typ byte als Strom Einlesen von Binär-Dateien Ermöglicht gefiltertes Einlesen von Daten auf verschiedene Arten Ermöglicht das Puffern von Eingabedaten Lesen on vordefinierten elementaren Java-Typen Deserialisieren von Objekten Lesen von Binärdaten aus einem anderen Thread ( Info I 2006 Jiri Spale, Algorithmen und Datenstrukturen - Dynamische Datenstrukturen 14

15 Output: Modellierung binärer Streams Klasse ByteArrayOutputSteam FileOutputStream FilterOutputStream BufferedOutputStream DataOutputStream ObjectOutputStream PipedOutputStream Beschreibung Schreiben von Binärdaten in Reihungen vom Type byte Schreiben von Bytes in Binär-Dateien Ermöglicht das gefilterte Schreiben von Daten auf verschiedene Arten Ermöglicht das Puffern von Ausgabedaten Schreiben von vordefinierten elementaren Java-Typen Serialisieren von Objekten Weitergabe von Binärdaten an anderen Thread ( 2006 Jiri Spale, Algorithmen und Datenstrukturen - Dynamische Datenstrukturen 15

16 2 wichtige Konzepte Zur Verbesserung der Laufzeit von Informatik- Systemen mit Strömen gibt es 2 wichtige Konzepte: Puffern von Daten: Puffer werden benutzt, wenn das Ein-/Ausgabe-Gerät signifikant langsamer als der Prozessor ist. Konkatenation von Strömen: Wenn die Ausgabe eines Stroms die Eingabe eines anderen Stroms ist. (Beispiel "Unix pipes": ls more) 2006 Jiri Spale, Algorithmen und Datenstrukturen - Dynamische Datenstrukturen 16

17 Schreiben und Lesen von beliebigen Objekten #1 Objekt-Serialisierung ist der Prozess des Schreibens eines Objektes auf einen Strom als eine Serie von Bytes. Objekt-Deserialisierung ist der Prozess des Lesens eines Objektes von einem Strom als eine Serie von Bytes. Objekte serializiert man mit ObjectOutputStream und deserialisiert sie mit ObjectInputStream 2006 Jiri Spale, Algorithmen und Datenstrukturen - Dynamische Datenstrukturen 17

18 Schreiben und Lesen von beliebigen Objekten #2 Um ein Objekt zu serialisieren, muss es als Argument beim Aufruf der writeobject()-methode übergeben werden. Zur Deserialisierung eines Objekts wird die readobject()-methode aufgerufen. Wichtig: Die Java Schnittstelle Serializable hat weder Methoden noch Konstanten (sog. Marker Interface) Klassen müssen diese Schnittstelle trotzdem "implementieren", um anzuzeigen, dass sie serialisiert und deserialisiert werden dürfen Jiri Spale, Algorithmen und Datenstrukturen - Dynamische Datenstrukturen 18

19 Lineare Listen Head Schlüssel Daten Verweis Schlüssel Daten NULL 2006 Jiri Spale, Algorithmen und Datenstrukturen - Dynamische Datenstrukturen 19

20 Einfach verkettete Liste Head Schlüssel Schlüssel Schlüssel Daten Daten Daten Next Next NULL Doppelt verkettete Liste Head Schlüssel Schlüssel Schlüssel Daten Daten Daten Next Next NULL NULL Previous Previous Tail 2006 Jiri Spale, Algorithmen und Datenstrukturen - Dynamische Datenstrukturen 20

21 Zyklische Liste Head Schlüssel Schlüssel Schlüssel Daten Daten Daten Next Next Next 2006 Jiri Spale, Algorithmen und Datenstrukturen - Dynamische Datenstrukturen 21

22 Schlangen: Implementierung als Liste Einfügen Einfügen > >... > Entfernen Entfernen als Feld frei belegt frei Abb Jiri Spale, Algorithmen und Datenstrukturen - Dynamische Datenstrukturen 22

23 Einseitig beschränkte Schlange Einfügen > >... > Entfernen Abb 16 a Das Einfügen / Entfernen der Listenelemente nur möglich: entweder: nur auf den/vom Anfang das Ende der Schlange nicht begrenzt oder: nur auf das/vom Ende der Anfang der Schlange nicht begrenzt 2006 Jiri Spale, Algorithmen und Datenstrukturen - Dynamische Datenstrukturen 23

24 Zweiseitig beschränkte Schlange Einfügen > >... > Entfernen Das Einfügen / Entfernen der Listenelemente nur möglich: Abb. 16 b entweder: Einfügen nur auf den Anfang Entfernen nur vom Ende oder: Einfügen nur auf das Ende Entfernen nur vom Anfang Beides begrenzt: Anfang und Ende 2006 Jiri Spale, Algorithmen und Datenstrukturen - Dynamische Datenstrukturen 24

25 FIFO frei Füllrichtung > Entnehmen class FIFOElement {... } Einfügen Abb.17 class FIFO { FIFOelement[] X=new FIFOelement[MaxZahl];... } belegt 2006 Jiri Spale, Algorithmen und Datenstrukturen - Dynamische Datenstrukturen 25

26 LIFO (Stack, Kellerspeicher) Einfügen > class LIFOElement {... } Entnehmen Abb.17a class LIFO { LIFOelement[] X=new LIFOelement[MaxZahl];... } 2006 Jiri Spale, Algorithmen und Datenstrukturen - Dynamische Datenstrukturen 26 <

Grundlagen der Programmierung! Kapitel 10: Ein- und Ausgabe! Ziele dieses Kapitels! Datei! Das Problem!

Grundlagen der Programmierung! Kapitel 10: Ein- und Ausgabe! Ziele dieses Kapitels! Datei! Das Problem! Grundlagen der Programmierung Dr. Christian Herzog Technische Universität München Wintersemester 2014/2015 Ziele dieses Kapitels Sie verstehen das Konzept der Ströme Sie können Klassen wie Reader, Writer,

Mehr

Datenströme in Java. Zeichenkonvertierung

Datenströme in Java. Zeichenkonvertierung Datenströme in Java Arten von Strömen Ein- und Ausgabeoperationen sind in Java im Wesentlichen über Datenströme realisiert. Dabei werden zwei Arten von Datenströmen unterschieden; byteorientierte Ströme

Mehr

Grundlagen der Programmierung. Kapitel 10: Ein- und Ausgabe. Ziele dieses Kapitels. Das Problem. Datei

Grundlagen der Programmierung. Kapitel 10: Ein- und Ausgabe. Ziele dieses Kapitels. Das Problem. Datei Ziele dieses Kapitels Grundlagen der ierung Dr. Christian Herzog Technische Universität München! Sie verstehen das Konzept der Ströme Sie können n wie,, Input und Output benutzen.! Sie können in Java Dateien

Mehr

Grundlagen der Programmierung. Kapitel 11: Ein- und Ausgabe. Ziele dieses Kapitels. Das Problem. Datei

Grundlagen der Programmierung. Kapitel 11: Ein- und Ausgabe. Ziele dieses Kapitels. Das Problem. Datei Ziele dieses Kapitels Grundlagen der ierung Dr. Christian Herzog Technische Universität München! Sie verstehen das Konzept der Ströme Sie können n wie,, Input und Output benutzen.! Sie können in Java Dateien

Mehr

Grundlagen der Programmierung. Kapitel 11: Ein- und Ausgabe. Ziele dieses Kapitels. Das Problem. Datei

Grundlagen der Programmierung. Kapitel 11: Ein- und Ausgabe. Ziele dieses Kapitels. Das Problem. Datei Ziele dieses Kapitels Grundlagen der ierung Dr. Christian Herzog Technische Universität München! Sie verstehen das Konzept der Ströme Sie können n wie,, Input und Output benutzen.! Sie können in Java Dateien

Mehr

Grundlagen der Programmierung! Kapitel 10: Ein- und Ausgabe! Ziele dieses Kapitels! Das Problem! Datei!

Grundlagen der Programmierung! Kapitel 10: Ein- und Ausgabe! Ziele dieses Kapitels! Das Problem! Datei! Ziele dieses Kapitels! Grundlagen der Programmierung! Dr. Christian Herzog! Technische Universität München!!" Sie verstehen das Konzept der Ströme! " Sie können Klassen wie Reader, Writer, InputStream

Mehr

Java I/O. Input / Output stream Library Regelt I/O über verschiedene Kanäle. Führt notwendige Umwandlungen/Konvertierungen aus

Java I/O. Input / Output stream Library Regelt I/O über verschiedene Kanäle. Führt notwendige Umwandlungen/Konvertierungen aus Java I/O Input / Output stream Library Regelt I/O über verschiedene Kanäle Filesystem Console Netzwerk Intern Führt notwendige Umwandlungen/Konvertierungen aus 1 Furchtbar viele Klassen BufferedInputStream

Mehr

Programmieren I. Kapitel 15. Ein und Ausgabe

Programmieren I. Kapitel 15. Ein und Ausgabe Programmieren I Kapitel 15. Ein und Ausgabe Kapitel 15: Ein und Ausgabe Ziel: einen kleinen Einblick in die vielfältigen IO Klassen geben Grober Überblick Klasse File zur Verwaltung von Dateien Random

Mehr

Umleitung von Datenströmen

Umleitung von Datenströmen Datenströme Filter und Pipes In UNIX eingeführte Abstraktion beim Datenaustausch Programme arbeiten als Erzeuger und/oder als Verbraucher von Datenströmen ==> Filter Die Erzeuger- und Verbraucherschnittstelle

Mehr

Vorlesung Programmieren. Java I/O: Input und Output mit Java. Ein-/Ausgabe von Daten. Java I/O. Heute. Grundlage fast aller Programme

Vorlesung Programmieren. Java I/O: Input und Output mit Java. Ein-/Ausgabe von Daten. Java I/O. Heute. Grundlage fast aller Programme Vorlesung Programmieren Java I/O Dr. Dennis Pfisterer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/pfisterer Java I/O: Input und Output mit Java Heute Ein-/Ausgabe

Mehr

Programmieren 2 Selbststudium Semesterwoche 6

Programmieren 2 Selbststudium Semesterwoche 6 Programmieren 2 Selbststudium Semesterwoche 6 1. Datenströme (Basis: Handout PRG2_SW6_OOP) 1. Gehen Sie nochmals die Kontrollfragen A durch. A.1. Ein JavaProgramm liest Daten aus einem???strom. InputStream

Mehr

Streams. Gerd Bohlender. Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java

Streams. Gerd Bohlender. Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java Streams Gerd Bohlender Institut für Angewandte und Numerische Mathematik Vorlesung: Einstieg in die Informatik mit Java 4.7.07 G. Bohlender (IANM UNI Karlsruhe) Streams 4.7.07 1 / 7 Übersicht 1 Einführung

Mehr

Streams. V by WBR1&MOU2/BFH-TI. Berner Fachhochschule Hochschule für Technik und Informatik HTI

Streams. V by WBR1&MOU2/BFH-TI. Berner Fachhochschule Hochschule für Technik und Informatik HTI Ein- Ausgabe Streams Unterlagen zum Modul "OOP mit Java" V 3.0 2011 by WBR1&MOU2/BFH-TI Ein- Ausgabe, Streams V3.0 2011 by WBR1&MOU2/BFH-TI Definition: Berner Fachhochschule Streams Ein Stream ist eine

Mehr

Objektserialisierung

Objektserialisierung Objektserialisierung SEP 170 Serialisierung von Objekten Umwandlung des Objektzustandes in einen Strom von Bytes, aus dem eine Kopie des Objekts zurückgelesen werden kann. Serialisierung in Java einfacher

Mehr

JAVA für Einsteiger. Streams und Dateien. eden market Autor: Norman Lahme

JAVA für Einsteiger. Streams und Dateien. eden market Autor: Norman Lahme JAVA für Einsteiger Streams und Dateien eden market Autor: Norman Lahme 1 Gliederung 1. Einleitung 2. Bildschirmausgabe und Tastatureingabe 3. Laden und Speichern von Tex ten 4. Laden und Speichern von

Mehr

Java Input/Output System (IO)

Java Input/Output System (IO) Java Input/Output System (IO) Ziel: Schreiben und Lesen von Daten auf sequentielle Medien. Paket: java.io. ab Java 1.4 auch java.nio, hier nicht beru cksichtigt. Trennung in 2 Welten: - Byteorientierte

Mehr

Java I/O. Input / Output stream Library Regelt I/O über verschiedene Kanäle. Führt notwendige Umwandlungen/Konvertierungen aus

Java I/O. Input / Output stream Library Regelt I/O über verschiedene Kanäle. Führt notwendige Umwandlungen/Konvertierungen aus Java I/O Input / Output stream Library Regelt I/O über verschiedene Kanäle Filesystem Console Netzwerk Intern Führt notwendige Umwandlungen/Konvertierungen aus 1 Furchtbar viele Klassen BufferedInputStream

Mehr

Ein- und Ausgabe (I/O)

Ein- und Ausgabe (I/O) Informatik für Elektrotechnik und Informationstechnik Benedict Reuschling benedict.reuschling@h-da.de Hochschule Darmstadt Fachbereich Informatik WS 2013/14 Überblick 1 2 / 14 Motivation Computer arbeiten

Mehr

Einführung. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 14: Sequentielle Ein-/Ausgabe, Ströme, Dateiorganisation.

Einführung. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 14: Sequentielle Ein-/Ausgabe, Ströme, Dateiorganisation. Universität Osnabrück 1 Einführung 3 - Objektorientierte Programmierung in Java Vorlesung 14: Sequentielle Ein-/Ausgabe, Ströme, SS 2004 Prof. Dr. F.M. Thiesing, FH Dortmund Für die Ein- und Ausgabeprogrammierung

Mehr

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf Seite 1 von 23

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf  Seite 1 von 23 Kapitel 16 Datei Aus- und Eingabe Seite 1 von 23 Datei Aus- und Eingabe - Für die Ausgabe auf Dateien und die Eingabe von Dateien werden die Streams ofstream und ifstream verwendet. - Sie sind in der Bibliothek

Mehr

Einführung in die Informatik II Ströme und Dateien

Einführung in die Informatik II Ströme und Dateien Einführung in die Informatik II Ströme und Dateien Prof. Bernd Brügge, Ph.D Institut für Informatik Technische Universität München Sommersemester 2004 8. Juni 2004 Letzte Änderung: 17.06.2004 10:03 Copyright

Mehr

Kapitel 12. Programmierkurs. Allgemeine Konzepte Byte-Streams versus Character-Streams

Kapitel 12. Programmierkurs. Allgemeine Konzepte Byte-Streams versus Character-Streams Kapitel 12 Programmierkurs Birgit Engels Anna Schulze Zentrum für Angewandte Informatik Köln WS 07/08 Dateiein- und -ausgabe Byte-Streams versus Character-Streams Die abstrakte Klasse Writer FileWriter

Mehr

Einführung zur Aufgabengruppe 2

Einführung zur Aufgabengruppe 2 Einführung zur Aufgabengruppe 2 Alle Literaturhinweise beziehen sich auf die Vorlesung WS 10 Modellierung und Programmierung 1 1 Dateiverwaltung, das Stream-Konzept... 1-2 1.1 Datenströme (s. Kapitel Streams)...

Mehr

Die elementare Ausgabe von Daten auf externe Medien, wie Dateien und das Einlesen davon wird demonstriert.

Die elementare Ausgabe von Daten auf externe Medien, wie Dateien und das Einlesen davon wird demonstriert. Ein- und Ausgabe Die elementare Ausgabe von Daten auf externe Medien, wie Dateien und das Einlesen davon wird demonstriert. Komplexe E/A-Operationen werden erst diskutiert, nachdem das Klassenkonzept erarbeitet

Mehr

Socket-Programmierung unter Java

Socket-Programmierung unter Java Datenströme -Programmierung unter Java 1 - Grundlagen: Datenströme JAVA unterscheidet Streams und Reader/Writer Zur Dateneingabe: InputStream oder Reader Zur Datenausgabe: OutputStream oder Writer Verwende

Mehr

Info B VL 7: Input/Output

Info B VL 7: Input/Output Info B VL 7: Input/Output Objektorientiere Programmierung in Java 2003 Ute Schmid (Vorlesung) Elmar Ludwig (Übung) FB Mathematik/Informatik, Universität Osnabrück Info B VL 7: Input/Output p.174 Exkurs:

Mehr

Dateizugriff unter C

Dateizugriff unter C Begriffe Dateizugriff unter C Datei = sequentielle Ansammlung von Datenbytes, z.b. auf einer Festplatte Auch Bildschirm und Tastatur werden wie Dateien behandelt: Bildschirm ist die Datei stdout Tastatur

Mehr

Programmieren in Java

Programmieren in Java Programmieren in Java Dateien lesen und schreiben 2 Übersicht der heutigen Inhalte File Streams try-with-resources Properties csv-dateien 3 Klasse File Die Klasse java.io.file bietet Unterstützung im Umgang

Mehr

Einführung. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 14: Sequentielle Ein-/Ausgabe, Streams, Dateiorganisation.

Einführung. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 14: Sequentielle Ein-/Ausgabe, Streams, Dateiorganisation. Universität Osnabrück 1 Einführung 3 - Objektorientierte Programmierung in Java Vorlesung 14: Sequentielle Ein-/Ausgabe, Streams, SS 2006 Prof. Dr. F.M. Thiesing, FH Osnabrück Für die Ein- und Ausgabeprogrammierung

Mehr

Informatik B. Vorlesung 14 Serialisierung, Autoboxing. Dr. Ralf Kunze

Informatik B. Vorlesung 14 Serialisierung, Autoboxing. Dr. Ralf Kunze Vorlesung 14 Serialisierung, Autoboxing 1 Serialisierung von Objekten Die Objekte innerhalb eines Java-Programmes sollen manchmal auch nach Beendigung der JVM verfügbar bleiben Objekte müssen ab und an

Mehr

Johannes Unterstein - TINF16 - Java - Sommersemester 2017 JAVA. Wiederholung

Johannes Unterstein - TINF16 - Java - Sommersemester 2017 JAVA. Wiederholung JAVA Wiederholung 137 WIEDERHOLUNG ALLGEMEIN public static void main(string args[]) {...} Namenskonventionen: KlassenNamen beginnen mit Großbuchstaben Variablen- und Methoden-Namen mit kleinem Buchstaben

Mehr

Problemstellung. Object1:Klasse1. Object2:Klasse2 att1: Klasse1 att2: 9. att1: att2: 17. Klasse1 att1 att2 Klasse2 att1 att2

Problemstellung. Object1:Klasse1. Object2:Klasse2 att1: Klasse1 att2: 9. att1: att2: 17. Klasse1 att1 att2 Klasse2 att1 att2 Problemstellung Objekt mit aggregierten Objekten: att1: att2: 17 Object1:Klasse1 Object2:Klasse2 att1: Klasse1 att2: 9 serialisiert als Datei: Klasse1 att1 att2 Klasse2 att1 att2 -Speicherung von Objekten

Mehr

Java Fehlerbehandlung

Java Fehlerbehandlung Java Fehlerbehandlung 1 Fehlerbehandlung In jedem nicht-trivialen Programm kann es während der Laufzeit zu Fehlersituationen kommen. Dabei handelt es sich nicht unbedingt um Programmierfehler: z. B.: Programm

Mehr

Programmieren I. Dateien: Allgemeines. Vorlesung 10. Handout S. 1. Martin Schultheiß. Hochschule Darmstadt Wintersemester 2010/2011

Programmieren I. Dateien: Allgemeines. Vorlesung 10. Handout S. 1. Martin Schultheiß. Hochschule Darmstadt Wintersemester 2010/2011 Programmieren I Martin Schultheiß Hochschule Darmstadt Wintersemester 2010/2011 1 / 26 Dateien: Allgemeines Dateien lesen Beispiel: CSV-Daten Filter Ausgabe in Dateien 2 / 26 Dateien: Allgemeines Kaum

Mehr

Eingabe und Ausgabe in Java. Dr. Horst Treiblmaier Abteilung für Wirtschaftsinformatik WU Wien

Eingabe und Ausgabe in Java. Dr. Horst Treiblmaier Abteilung für Wirtschaftsinformatik WU Wien Eingabe und Ausgabe in Java Dr. Horst Treiblmaier Abteilung für Wirtschaftsinformatik WU Wien Eingabe Beispiel1 public class Input1 { public static void main(string[] args) { for (int i = 0; i < args.length;

Mehr

Ein- und Ausgabe mit Dateien

Ein- und Ausgabe mit Dateien Ein- und Ausgabe mit Dateien Edouard Lamboray Informatik I für D-ITET (2004) Ein- und Ausgabekonzepte in C und C++ fstream header Streamobjekt Files schreiben und lesen Argumente von main 2 Vorbemerkungen

Mehr

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

Mehr

java.io Ziel Ressourcen Page 1 Verstehen der unterschiedlichen I / O Möglichkeiten Anwenden der Java I/ O Klassen Java Tutorial Java API Dokumentation

java.io Ziel Ressourcen Page 1 Verstehen der unterschiedlichen I / O Möglichkeiten Anwenden der Java I/ O Klassen Java Tutorial Java API Dokumentation java.io Ziel Verstehen der unterschiedlichen I / O Möglichkeiten Anwenden der Java I/ O Klassen Ressourcen Java Tutorial Java API Dokumentation Page 1 Java API Prinzip Java IO-API ist für eine allgemeine

Mehr

Dr. Monika Meiler. Inhalt

Dr. Monika Meiler. Inhalt Inhalt 14 Dateiverwaltung, das Stream-Konzept... 14-2 14.1 Datenströme... 14-2 14.1.1 Datenströme in Java, Paket java.io.*... 14-3 14.1.2 Standarddatenströme... 14-4 14.2 Klasse java.io.file... 14-7 14.3

Mehr

Grundlagen der Informatik. Prof. Dr. Stefan Enderle NTA Isny

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

Mehr

Programmieren in C/C++ und MATLAB

Programmieren in C/C++ und MATLAB Programmieren in C/C++ und MATLAB Christof Beyer Sven Willert Sabine Schmidt Christian-Albrechts-Universität zu Kiel CAU 7-1 Bisher eingeführt war für Namen nur der Datentyp char. Dieser erlaubt das Speichern

Mehr

Informationsverarbeitung

Informationsverarbeitung 1/19 Informationsverarbeitung Einführung in das Programmieren mit C++ Markus Uhlmann Institut für Hydromechanik Karlsruher Institut für Technologie www.ifh.kit.edu WS 2011/2012 Vorlesung 13 (Download Quelldateien)

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen Dynamische Datenobjekte Pointer/Zeiger, Verkettete Liste Eigene Typdefinitionen 1 Zeigeroperatoren & und * Ein Zeiger ist die Speicheradresse irgendeines Objektes. Eine

Mehr

Software Entwicklung 1

Software Entwicklung 1 Software Entwicklung 1 Annette Bieniusa / Arnd Poetzsch-Heffter AG Softech FB Informatik TU Kaiserslautern Ströme zur Ein- und Ausgabe Bieniusa/Poetzsch-Heffter Software Entwicklung 1 2/ 44 Ströme zur

Mehr

Ein- und Ausgabe mit Dateien

Ein- und Ausgabe mit Dateien Ein- und Ausgabe mit Dateien Edouard Lamboray Informatik I für D-ITET (2004) Ein- und Ausgabekonzepte in C und C++ fstream header Streamobjekt Files schreiben und lesen Argumente von main Vorbemerkungen

Mehr

Dateien: Allgemeines Dateien lesen Beispiel: CSV-Daten Filter Ausgabe in Dateien. Programmieren I. Martin Schultheiß

Dateien: Allgemeines Dateien lesen Beispiel: CSV-Daten Filter Ausgabe in Dateien. Programmieren I. Martin Schultheiß Programmieren I Martin Schultheiß Hochschule Darmstadt Wintersemester 2010/2011 1 Dateien: Allgemeines 2 Dateien lesen 3 Beispiel: CSV-Daten 4 Filter 5 Ausgabe in Dateien Dateien: Allgemeines Kaum eine

Mehr

Programmieren 2 09 File-IO

Programmieren 2 09 File-IO Programmieren 2 09 File-IO Bachelor Medieninformatik Sommersemester 2015 Dipl.-Inform. Ilse Schmiedecke schmiedecke@beuth-hochschule.de 1 Eingabe und Ausgabe in Java Daten im Programm während der Ausführungszeit:

Mehr

AK-Automatisierungs und Kommunikationstechnik TI Technische Informatik. NWT Netzwerktechnik www.munz-udo.de

AK-Automatisierungs und Kommunikationstechnik TI Technische Informatik. NWT Netzwerktechnik www.munz-udo.de Aufgaben: Ein Ausgabe Ein Rechner verwaltet nicht nur Daten, die während der Laufzeit des Programms erzeugt werden. Die meisten Programme greifen auf ältere Datenbestände zurück oder erzeugen für einen

Mehr

Kapitel 8: Serialisierbarkeit

Kapitel 8: Serialisierbarkeit Liste P: Programmieren mit Java WS 2001/2002 Prof. Dr. V. Turau FH Wiesbaden Kapitel 8: Serialisierbarkeit Folie 189 : Serialisierbarkeit Die Umwandlung eines komplexen Objektes in ein Byte-Array nennt

Mehr

Schwerpunkte. Verkettete Listen. Verkettete Listen: 7. Verkettete Strukturen: Listen. Überblick und Grundprinzip. Vergleich: Arrays verkettete Listen

Schwerpunkte. Verkettete Listen. Verkettete Listen: 7. Verkettete Strukturen: Listen. Überblick und Grundprinzip. Vergleich: Arrays verkettete Listen Schwerpunkte 7. Verkettete Strukturen: Listen Java-Beispiele: IntList.java List.java Stack1.java Vergleich: Arrays verkettete Listen Listenarten Implementation: - Pascal (C, C++): über Datenstrukturen

Mehr

Programmieren 2 11 Objekt-Serialisierung

Programmieren 2 11 Objekt-Serialisierung Programmieren 2 11 Objekt-Serialisierung Bachelor Medieninformatik Sommersemester 2015 Dipl.-Inform. Ilse Schmiedecke schmiedecke@beuth-hochschule.de 1 Noch eine Persistenzalternative Eine Adresse als

Mehr

Java Einführung IO (Eingabe/Ausgabe)

Java Einführung IO (Eingabe/Ausgabe) Java Einführung IO (Eingabe/Ausgabe) Inhalt dieser Einheit Ein-/Ausgabe: Arbeiten mit Verzeichnissen und Dateien Schreiben und Lesen von Dateien bzw. Datenströmen Fehlerbehandlung beim Schreiben und Lesen

Mehr

Client-Server TCP/IP - Kodierung

Client-Server TCP/IP - Kodierung Client-Server TCP/IP - Kodierung Die Socketklassen Ein Socket (engl. Sockel) ist eine bidirektionale Netzwerk-Kommunikationsschnittstelle, deren Verwaltung das Betriebssystem übernimmt. Die Kombination

Mehr

Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung)

Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) Wintersemester 2005/06 Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich Informatik Lehrstuhl

Mehr

Grundlagen der Informatik 6. Arrays I

Grundlagen der Informatik 6. Arrays I 6. Arrays I Motivation Array (konstante Länge) Speicherbereich Eingabe von Arrays Grundlagen der Informatik (Alex Rempel) 1 Motivation Beispiel: Bildschirmpixel zeichnen Auflösung 800x600, d.h. insgesamt

Mehr

Informatik II Übung 5

Informatik II Übung 5 Informatik II Übung 5 Florian Scheidegger florsche@student.ethz.ch Folien mit freundlicher Genehmigung adaptiert von Gábor Sörös und Simon Mayer gabor.soros@inf.ethz.ch, simon.mayer@inf.ethz.ch 27.03.2013

Mehr

ALP II Dynamische Datenmengen

ALP II Dynamische Datenmengen ALP II Dynamische Datenmengen Teil III Iteratoren Iterator-Objekt O1 O2 O3 O4 SS 2012 Prof. Dr. Margarita Esponda 22. ALP2-Vorlesung, M. Esponda 2 Motivation: Iteratoren Wir haben für die Implementierung

Mehr

ios fstream ifstream

ios fstream ifstream 4 Grundlagen der Dateiarbeit 4.1 File-Stream-Klassen Mit der Beendigung eines Programms gehen die im Hauptspeicher gehaltenen Daten des Programms verloren. Um Daten permanent zu speichern, müssen sie in

Mehr

12.3 Ein Datenmodell für Listen

12.3 Ein Datenmodell für Listen Zweiter Versuch: Wir modellieren ein Element der Liste zunächst als eigenständiges Objekt. Dieses Objekt hält das gespeicherte Element. Andererseits hält das Element- Objekt einen Verweis auf das nächste

Mehr

Betriebssysteme. Wintersemester Kapitel 4 Ein- / Ausgabe und Dateisysteme. Patrick Kendzo

Betriebssysteme. Wintersemester Kapitel 4 Ein- / Ausgabe und Dateisysteme. Patrick Kendzo Betriebssysteme Wintersemester 2013 Kapitel 4 Ein- / Ausgabe und Dateisysteme Patrick Kendzo ppkendzo@gmail.com Programm Inhalt Einleitung Prozesse und Threads Speicherverwaltung Ein- / Ausgabe und Dateisysteme

Mehr

Streams. Programmiermethodik. Eva Zangerle Universität Innsbruck

Streams. Programmiermethodik. Eva Zangerle Universität Innsbruck Streams Programmiermethodik Eva Zangerle Universität Innsbruck Dateien In Java gibt es eine File-Klasse. Liefert Informationen über Dateien und Verzeichnisse. Diese Klasse wurde eingeführt, um Dateioperationen

Mehr

Client-Server TCP/IP - Kodierung

Client-Server TCP/IP - Kodierung Client-Server TCP/IP - Kodierung Die klassen Ein (engl. Sockel) ist eine bidirektionale Netzwerk-Kommunikationsschnittstelle, deren Verwaltung das Betriebssystem übernimmt. Die Kombination aus IP-Adresse

Mehr

Vorlesung Programmieren

Vorlesung Programmieren Vorlesung 25.01.2007 Wintersemester 2006/2007 Computerlinguistik, Campus DU Überblick Seite 2 Datenströme: Ein und Ausgabe von Daten Java Collections Framework Eingabe/Ausgabe Seite 3 Lesen, Schreiben

Mehr

Einführung in die Informatik Algorithmen und Datenstrukturen. Thema 12 Datenverarbeitung

Einführung in die Informatik Algorithmen und Datenstrukturen. Thema 12 Datenverarbeitung Einführung in die Informatik Algorithmen und Datenstrukturen Thema 12 Datenverarbeitung Daten - Definitionen Foto? Text? Musik? Video? Zeichnung? Programm? Daten, urspr. svw. geschichtl. Zeitangaben; heute

Mehr

Einführung in die Programmierung mit C++

Einführung in die Programmierung mit C++ 1 Seite 1 Einführung in die Programmierung mit C++ Teil IV - Weiterführende Themen 13. Klassenbibliotheken Klassenbibliotheken Seite 2 Sammlung von Algorithmen und Klassen in Klassenbibliotheken: Konzept:

Mehr

Algorithmen & Datenstrukturen

Algorithmen & Datenstrukturen Algorithmen & Datenstrukturen Dr. Ing.Jiri Spale 2008 Jiri Spale, Algorithmen und Datenstrukturen - Einführung 1 Fundamentale Datenstrukturen 2008 Jiri Spale, Algorithmen und Datenstrukturen - Einführung

Mehr

Algorithmen und Datenstrukturen II

Algorithmen und Datenstrukturen II Algorithmen und Datenstrukturen II AG Praktische Informatik Technische Fakultät Vorlesung Sommer 2009 Teil I Ein- und Ausgabe In den bisherigen Programmbeispielen wurden die Benutzereingaben immer über

Mehr

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 16/17. Kapitel 13. Listen. Listen 1

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 16/17. Kapitel 13. Listen. Listen 1 Kapitel 13 Listen Listen 1 Ziele Implementierungen für Listen kennenlernen Einfach verkettete und doppelt verkettete Listen verstehen Listen-Implementierungen in der Java-Bibliothek kennenlernen Durch

Mehr

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 15/16. Kapitel 12. Listen. Listen 1

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 15/16. Kapitel 12. Listen. Listen 1 Kapitel 12 Listen Listen 1 Ziele Implementierungen für Listen kennenlernen Einfach verkettete und doppelt verkettete Listen verstehen Listen-Implementierungen in der Java-Bibliothek kennenlernen Durch

Mehr

Programmiersprachen Einführung in C

Programmiersprachen Einführung in C Programmiersprachen Einführung in C Teil 10: Arbeiten mit Prof. Dr. Gliederung Programmiersprachen 1. Von der Maschinensprache zu C 2. Die Struktur von C-Programmen 3. Variable und Datentypen in C 4. Bildschirm

Mehr

Java Schulung. Objektorientierte Programmierung in Java Teil VI: Wichtige Java Pakete. Prof. Dr. Nikolaus Wulff

Java Schulung. Objektorientierte Programmierung in Java Teil VI: Wichtige Java Pakete. Prof. Dr. Nikolaus Wulff Java Schulung Objektorientierte Programmierung in Java Teil VI: Wichtige Java Pakete Prof. Dr. Nikolaus Wulff Java Pakete Für die meisten Aufgaben stellt Java bereits viele nützliche Bibliotheken zur Verfügung:

Mehr

Kapitel 9. Ein- und Ausgabe. 9.1 Ströme

Kapitel 9. Ein- und Ausgabe. 9.1 Ströme Kapitel 9 Ein- und Ausgabe In den bisherigen Programmbeispielen wurden die Benutzereingaben immer über die Kommandozeile und Ausgaben immer durch Aufruf der Methode System.out.println realisiert. Tatsächlich

Mehr

Elementare Datentypen in C++

Elementare Datentypen in C++ Elementare Datentypen in C++ bool signed/unsigned char signed/unsigned short int signed/unsigned int signed/unsigned long int (signed/unsigned long long int) float double long double void enum char Der

Mehr

1 Abstrakte Datentypen

1 Abstrakte Datentypen 1 Abstrakte Datentypen Spezifiziere nur die Operationen! Verberge Details der Datenstruktur; der Implementierung der Operationen. == Information Hiding 1 Sinn: Verhindern illegaler Zugriffe auf die Datenstruktur;

Mehr

Klausur: Informatik I am 06. Februar 2009 Gruppe: D Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr.: Punkte:

Klausur: Informatik I am 06. Februar 2009 Gruppe: D Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr.: Punkte: Seite 1 von 10 Hiermit bestätige ich, dass ich die Übungsleistungen als Voraussetzung für diese Klausur in folgender Übung erfüllt habe. Jahr: Übungsleiter: Unterschrift: 1. Aufgabe ( / 12 Pkt.) Was liefert

Mehr

Praktikum Betriebssysteme 1. Aufgabe (1)

Praktikum Betriebssysteme 1. Aufgabe (1) FG TECHNISCHE INFORMATIK U BS 041 01 TH 09 Praktikum Betriebssysteme 1. Aufgabe (1) Es wird ein unter LINUX lauffähiges C++-Programm ptab, mit dem Informationen über die Partitionierung von Festplatten

Mehr

Hochschule Darmstadt Informatik-Praktikum WS 2017/2018 WIng Bachelor 6. Aufgabenblatt Zeiger, verkettete Liste, Dateieingabe und -ausgabe

Hochschule Darmstadt Informatik-Praktikum WS 2017/2018 WIng Bachelor 6. Aufgabenblatt Zeiger, verkettete Liste, Dateieingabe und -ausgabe Aufgabe 6: Häuser verwalten - dynamisch Für ein Schneeräumungsunternehmen soll ein Programm zur Verwaltung von Häuserlisten geschrieben werden. Das Programm soll in der Lage sein, zu einem Haus die wichtigsten

Mehr

Hochschule Darmstadt Informatik-Praktikum (INF 1) WS 2014/2015 Wirtschaftsingenieur Bachelor 4. Aufgabe Datenstruktur, Dateieingabe und -ausgabe

Hochschule Darmstadt Informatik-Praktikum (INF 1) WS 2014/2015 Wirtschaftsingenieur Bachelor 4. Aufgabe Datenstruktur, Dateieingabe und -ausgabe Aufgabenstellung Für ein Baumkataster sollen für maximal 500 Bäume Informationen gespeichert werden, die alle nach der gleichen Weise wie folgt strukturiert sind: Nummer Bauminfo Baumart Hoehe Baum Umfang

Mehr

12.2 Persistente Objekte

12.2 Persistente Objekte 12.2 Persistente Objekte Persistenz im engeren Sinn bedeutet: Langzeitspeicherung für beliebig getypte Objekte Ideal Orthogonale Persistenz : Lebensdauer und Typ von Objekten sind unabhängige Konzepte

Mehr

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 11/12 1. Kapitel 11. Listen. Listen

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 11/12 1. Kapitel 11. Listen. Listen Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 11/12 1 Kapitel 11 Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 11/12 2 Ziele Implementierungen für

Mehr

6.1.5 Verzeichnisdateien

6.1.5 Verzeichnisdateien 6.1.5 Verzeichnisdateien Anstelle eines zentralen Verzeichnisses: Menge von Verzeichnisdateien (directory files), die selbst in Verzeichnissen verzeichnet sind, alle ab einem Wurzelverzeichnis (root directory)

Mehr

Die Programmiersprache C

Die 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,

Mehr

Grundlagen: Algorithmen und Datenstrukturen

Grundlagen: Algorithmen und Datenstrukturen Grundlagen: Algorithmen und Datenstrukturen Prof. Dr. Hanjo Täubig Lehrstuhl für Effiziente Algorithmen (Prof. Dr. Ernst W. Mayr) Institut für Informatik Technische Universität München Sommersemester 2010

Mehr

Einführung in die STL anhand eines ausgewählten Beispiels

Einführung in die STL anhand eines ausgewählten Beispiels Einführung in die STL anhand eines ausgewählten Beispiels Frank M. Thiesing http://home.t-online.de/home/ frank.thiesing/stl/stl-folien.pdf Inhalt Überblick über die C++ STL Container Iteratoren Algorithmen

Mehr

Einführung in die Programmiersprache C

Einführung in die Programmiersprache C Einführung in die Programmiersprache C 4 Storage classes Alexander Sczyrba Robert Homann Georg Sauthoff Universität Bielefeld, Technische Fakultät Compilation units Compilierung eines mehrteiligen Programms:

Mehr

Advanced Programming in C

Advanced Programming in C Advanced Programming in C Pointer und Listen Institut für Numerische Simulation Rheinische Friedrich-Wilhelms-Universität Bonn Oktober 2013 Überblick 1 Variablen vs. Pointer - Statischer und dynamischer

Mehr

Objektorientiertes Programmieren für Ingenieure

Objektorientiertes 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

Mehr

ALP II Dynamische Datenmengen Datenabstraktion

ALP II Dynamische Datenmengen Datenabstraktion ALP II Dynamische Datenmengen Datenabstraktion O1 O2 O3 O4 SS 2012 Prof Dr Margarita Esponda M Esponda-Argüero 1 Dynamische Datenmengen Dynamische Datenmengen können durch verschiedene Datenstrukturen

Mehr

Einführung zur Aufgabengruppe 2

Einführung zur Aufgabengruppe 2 Einführung zur Aufgabengruppe 2 Alle Literaturhinweise beziehen sich auf die Vorlesung Modellierung und Programmierung 1 1 Dateiverwaltung, das -Konzept... 1-2 1.1 Datenströme (s. Kapitel s)... 1-2 1.1.1

Mehr

Nachname: Vorname: Matr.-Nr.: Punkte: 1. Aufgabe: ( / 25 Pkt.) Gegeben ist das folgende Struktogramm zur Berechnung von sin(x) mit Hilfe einer Reihe.

Nachname: Vorname: Matr.-Nr.: Punkte: 1. Aufgabe: ( / 25 Pkt.) Gegeben ist das folgende Struktogramm zur Berechnung von sin(x) mit Hilfe einer Reihe. Hiermit bestätige ich, dass ich die Übungsleistungen als Voraussetzung für diese Klausur in folgender Übung erfüllt habe. Jahr: Übungsleiter: Unterschrift: 1. Aufgabe: ( / 25 Pkt.) Gegeben ist das folgende

Mehr

Programmieren in Java -Eingangstest-

Programmieren in Java -Eingangstest- Programmieren in Java -Eingangstest- Nummer: 1. Studiengang: Informatik B.Sc. Informatik M.Sc. ESE B.Sc. ESE M.Sc. Sonstiges: Fachsemester: Bitte Fragen, die Sie nicht beantworten können unbedingt mit

Mehr

Teil 8: Dynamische Speicherverwaltung. Prof. Dr. Herbert Fischer Fachhochschule Deggendorf Prof. Dr. Manfred Beham Fachhochschule Amberg-Weiden

Teil 8: Dynamische Speicherverwaltung. Prof. Dr. Herbert Fischer Fachhochschule Deggendorf Prof. Dr. Manfred Beham Fachhochschule Amberg-Weiden Teil 8: Dynamische Speicherverwaltung Prof. Dr. Herbert Fischer Fachhochschule Deggendorf Prof. Dr. Manfred Beham Fachhochschule Amberg-Weiden Inhaltsverzeichnis 8 Dynamische Speicherverwaltung... 3 8.1

Mehr

Beispiel: Temperaturumwandlung. Imperative Programmierung. Schwerpunkte. 3. Grundlegende Sprachkonstruktionen imperativer Programme

Beispiel: Temperaturumwandlung. Imperative Programmierung. Schwerpunkte. 3. Grundlegende Sprachkonstruktionen imperativer Programme Schwerpunkte 3. Grundlegende Sprachkonstruktionen imperativer Programme Java-Beispiele: Temperature.java Keyboard.java Imperative Programmierung Beispiel für ein Programm aus drei Komponenten Variable,

Mehr

ALP II Dynamische Datenmengen Datenabstraktion (Teil 2)

ALP II Dynamische Datenmengen Datenabstraktion (Teil 2) ALP II Dynamische Datenmengen Datenabstraktion (Teil 2) O1 O2 O3 O4 SS 2012 Prof. Dr. Margarita Esponda 49 Einfach verkettete Listen O1 O2 O3 50 Einführung Einfach verkettete Listen sind die einfachsten

Mehr

Java I/O, Serialisierung und Netzwerkprogrammierung

Java I/O, Serialisierung und Netzwerkprogrammierung Java I/O, Serialisierung und Netzwerkprogrammierung Philipp Güttler 16. Dezember 2009 Universität Ulm, Abt. SGI Progwerkstatt 2 19 Gliederung Java I/O, Serialisierung und Netzwerkprogrammierung 16. Dezember

Mehr

Ein- und Ausgabe in Java

Ein- und Ausgabe in Java Ein- und Ausgabe in Java Das Package java.io enthält eine Sammlung von Klassen, die die Kommunikation mit dem Computer steuern Einlesen und Ausgeben von Dateien Ausgabe auf dem Bildschirm Einlesen von

Mehr

Grundlagen der Informatik für Ingenieure I

Grundlagen der Informatik für Ingenieure I 13 Java-E/A-System 13.1. E/A-System-Überblick 13.2 Dateisystem - Betriebssystemsicht 13.3 Java-I/O-System 13.4 I/O-Klassenhierachie 13.5 InputStream class; Reader class 13.5.1 read() method 13.5.2 skip()

Mehr

9. Vektoren. (auch Felder/array)

9. Vektoren. (auch Felder/array) 9. Vektoren (auch Felder/array) Motivation Hat man mehrere Objekte gleichen Datentyps, so kann man sie explizit deklarieren, wenn die Anzahl bekannt ist double x1,x2,x3,x4; Nachteile: versagt, -wenn die

Mehr

Inhalt Streams Eingabe / Ausgbe in C Dateizugriff in C Eingabe / Ausgabe in C++ Dateizugriff in C++ Error Handling

Inhalt Streams Eingabe / Ausgbe in C Dateizugriff in C Eingabe / Ausgabe in C++ Dateizugriff in C++ Error Handling Input / Output in C, C++ Inhalt Streams Eingabe / Ausgbe in C Dateizugriff in C Eingabe / Ausgabe in C++ Dateizugriff in C++ Error Handling Page 1 Ausgaben in C,C++ - generell Fuer C basierte Ausgaben:

Mehr

Programmieren I. Kapitel 13. Listen

Programmieren I. Kapitel 13. Listen Programmieren I Kapitel 13. Listen Kapitel 13: Listen Ziel: eigene Datenstrukturen erstellen können und eine wichtige vordefinierte Datenstruktur( familie) kennenlernen zusammengehörige Elemente zusammenfassen

Mehr