Übungspaket 30 Kopieren von Dateien

Größe: px
Ab Seite anzeigen:

Download "Übungspaket 30 Kopieren von Dateien"

Transkript

1 Übungspaket 30 Kopieren von Dateien Übungsziele: Skript: 1. Öffnen und Schließen von Dateien 2. Einfaches Lesen und Schreiben 3. Behandlung der EOF-Marke 4. Kopieren ganzer Dateien Kapitel: 59 bis 67 und insbesondere Übungspaket 25 Semester: Wintersemester 2017/18 Betreuer: Kevin, Theo, Thomas und Ralf Synopsis: Wie schon im Skript geschrieben, ist das Arbeiten mit Dateien mühsam und immer wieder voller Überraschungen, selbst für fortgeschrittene Programmierer. In so einer Situation hilft nur eines: intensiv Üben. In diesem Übungspaket schauen wir uns die wichtigsten Funktionen aus dem Paket stdio.h an, üben den richtigen Umgang mit den Einund Ausgabeformatierungen und entwickeln ein kleines Programm, das ähnlich dem Unix/Linux Programm cat Dateien kopiert.

2 Teil I: Stoffwiederholung Vorab nochmals eine wesentliche Bemerkung aus dem Skript: Die Dateischnittstelle (oder auf Neudeutsch das File Handling) ist eine sehr schwere Sache! Wenn man denkt, man hat s verstanden, dann kommt meist doch wieder etwas neues dazu. Während des Lernprozesses kommt man sich des Öfteren vor, wie ein Schwein, dass in s Uhrwerk schaut. Nichtsdestotrotz versuchen wir uns mittels dieses Übungspaketes der Dateischnittstelle ein wenig auf freundschaftlicher Basis zu nähern. Also: Good Luck! Aufgabe 1: Die Dateischnittstelle FILE/*FILE Zuerst einmal beschäftigen wir uns mit den relevanten Dateien und Datenstrukturen. 1. Welche Datei muss bzw. sollte man einbinden, wenn man etwas einliest oder ausgibt? 2. Nun zur eigentlichen FILE-Datenstruktur: Diese haben wir außerordentlich vereinfacht in Skriptkapitel 63 erläutert. Ziel war, einen ersten Eindruck hiervon zu vermitteln. Für das weitere Vorgehen ist es durchaus sinnvoll, sich die Datei stdio.h einmal genauer anzuschauen. Diese Datei befindet sich unter Linux im Verzeichnis /usr/include bzw. unter Windows im include-verzeichnis des installierten Compiler wie beispielsweise C:\MinGW\include. Diese Datei ist sehr lang. Trotzdem einfach mal hineinschauen, die Betreuer werden gerne weiterhelfen. Sucht diese Datei und benennt die wesentlichen Komponenten der FILE-Datenstruktur. 3. Schauen wir uns noch kurz die folgenden Fragen zur FILE-Datenstruktur an: Arbeiten wir direkt mit der FILE-Datenstruktur? Wer arbeitet mit der FILE-Datenstruktur? Welche Funktionen sind dir bekannt? 30-1 Wintersemester 2017/18, Einführung in die Praktische Informatik

3 Aufgabe 2: Detailfragen zu den Dateizugriffen An dieser Stelle sei angemerkt, dass der Datentyp FILE * (etwas irreführend) vielfach auch File Pointer genannt wird. Wie heißt der File Pointer für die Standardeingabe? Wie heißt der File Pointer für die Fehlerausgabe? Wie heißt der File Pointer für die Standardausgabe? Mit welcher Funktion öffnet man Dateien? Welchen Rückgabewert hat diese Funktion? Wie erkennt man einen Fehler beim Öffnen? Welcher mode öffnet zum Lesen? Welcher mode öffnet zum Schreiben? Beispiel für das Öffnen zum Lesen: Beispiel für das Öffnen zum Schreiben: Wie unterscheiden sich die Funktionen scanf() und fscanf() beziehungsweise printf() und fprintf() voneinander? Einführung in die Praktische Informatik, Wintersemester 2017/

4 Teil II: Quiz Aufgabe 1: Eingabe gemischter Datentypen Auch wenn man schon eine ganze Weile dabei ist, so sind viele doch immer wieder davon überrascht, wie in der Programmiersprache C die Eingabe verarbeitet wird. Zu diesem Thema haben wir folgendes Quiz entwickelt. Zunächst aber mal einige Anmerkungen: Wir haben ein C-Programm, das die Funktion scanf() mit verschiedenen Formaten aufruft. Jeder Aufruf von scanf() liest immer nur einen Parameter ein. Anschließend wird sofort der Rückgabewert der Funktion scanf() sowie der eingelesene Wert ausgegeben. Die Routinen für die eigentliche Ein-/Ausgabe haben wir ausgelagert und am Ende dieses Übungsteils abgedruckt. Alle Funktionen haben einen Namen, der immer mit do anfängt und mit dem entsprechenden Datentyp aufhört. Beispiel: do int() verarbeitet einen Wert vom Typ int. Das Programm liest und schreibt immer auf die Standardein- bzw. -ausgabe. Im Hauptprogramm werden die entsprechenden Routinen aufgerufen und mit der entsprechenden Formatangabe versorgt. Mit anderen Worten: Aus dem Funktionsnamen und der Formatangabe lässt sich die Ausgabe direkt ableiten. Eure Aufgabe ist es nun, sich die Programmeingabe anzuschauen und vorherzusagen, was die entsprechenden Ausgaben sein werden. Dazu ist es durchaus ratsam, sich nochmals eben die Dokumentation der Formatierungen %d, %c und %e anzuschauen. Die Eingabedatei bzw. die Eingabedaten sehen wie folgt aus: Die Eingabedatei: AB abc Die Daten zeichenweise dargestellt: 1 2 \n \n 5 6 \n A B \n a b c EOF Zur besseren Veranschaulichung haben wir die Funktion debug char() geschrieben, die die Ausgaben etwas aufbereitet: Sonderzeichen wir Tabulator und Zeilenwechsel werden zusätzlich als C-Escape-Sequenzen dargestellt. Zur Erinnerung: Die Standardein- und -ausgabe kann mittels < und > umgeleitet werden, ohne dass das Programm davon etwas bemerkt. Beispiel: a.exe < test.txt 30-3 Wintersemester 2017/18, Einführung in die Praktische Informatik

5 Das Programm: 1 int main ( int argc, char ** argv ) 2 { 3 do_int ( "%d" ); 4 do_int ( "%d" ); 5 do_char ( "%c" ); 6 do_char ( "%c" ); 7 do_int ( "%3d" ); 8 do_char ( "%c" ); 9 do_int ( "%d" ); 10 do_char ( "%c" ); 11 do_int ( "%d" ); 12 do_char ( "%c" ); 13 do_int ( "%d" ); 14 do_nchar ( "%4c", 4 ); 15 do_int ( "%d" ); 16 } Die Funktionen do int(), do char() und do nchar() befinden sich auf der nächsten Seite. Die Eingabedatei: zeichenweise dargestellt 1 2 \n \n 5 6 \n A B \n a b c EOF Die auszufüllende Tabelle: Was wird wie abgearbeitet? Zeile Datentyp res Wert Anmerkungen 3 int 1 12 ein int eingelesen, wie zu erwarten war Einführung in die Praktische Informatik, Wintersemester 2017/

6 Die einzelnen, sehr komprimierten Verarbeitungsroutinen: 1 # include <stdio.h> 2 3 void do_ int ( char * fmt ) 4 { 5 int i, res = scanf ( fmt, & i ); 6 printf ( " int : res =%2 d ", res ); 7 if ( res == 1 ) 8 printf ( "i=%d\n", i ); 9 else printf ( "i=---\n" ); 10 } void debug_char ( char c, int ok ) // prettyprint char 13 { 14 if (! ok ) 15 printf ( " --- " ); 16 else if ( c == \t ) 17 printf ( "\\t" ); 18 else if ( c == \n ) 19 printf ( "\\n" ); 20 else printf ( "%c", c ); 21 } void do_char ( char * fmt ) 24 { 25 char c; 26 int res = scanf ( fmt, & c ); 27 printf ( " char : res =%2 d c=", res ); 28 debug_char ( c, res == 1 ); 29 printf ( "\n" ); 30 } void do_nchar ( char * fmt, int len ) 33 { 34 int i, res ; 35 char c[ 10 ]; 36 res = scanf ( fmt, c ); // or & c[ 0 ] 37 printf ( " char : res =%2 d c=", res ); 38 for ( i = 0; i < len ; i ++ ) 39 debug_char ( c[ i ], res > 0 ); 40 printf ( "\n" ); 41 } 30-5 Wintersemester 2017/18, Einführung in die Praktische Informatik

7 Teil III: Fehlersuche Aufgabe 1: Zählen von Vokalen in einer Datei Diesmal hat sich unser Programmierer Dr. V. Error versucht. Sein Programm soll die Anzahl der Vokale in einer Datei ermitteln. Bei der Dateiverarbeitung hat er aber nicht ganz aufgepasst. Finde und korrigiere die Fehler in folgendem Programm: 1 # include <stdio.h> 2 3 int cntvowels ( FILE fp ) 4 { 5 int c, cnt ; 6 for ( cnt = 0; (c = getc ())!= EOF ; ) 7 cnt += c== a c== e c== i c== o 8 c== A c== E c== I c== O 9 c== u c== U ; 10 return cnt ; 11 } int main ( int argc, char ** argv ) 14 { 15 int i, cnt ; 16 int fp; 17 for ( i = 1; i < argc ; i ++ ) 18 if (( fp = fopen ( argv [ i ], "w" ))!= 0 ) 19 { 20 cnt = cntvowels ( fp ); 21 printf ( stdout," %s : %d vokale \n",argv [i], cnt ); 22 fclose ( *fp ); 23 } 24 else printf ( stderr, 25 " %s : fehler beim oeffnen \n", argv [i] ); 26 } Einführung in die Praktische Informatik, Wintersemester 2017/

8 Teil IV: Anwendungen Das Ziel des Anwendungsteils ist es, die Funktion des Unix/Linux-Kommandos cat teilweise nachzuimplementieren. Dieses Kommando macht nichts anderes als eine oder mehrere Dateien in eine andere zu kopieren. Für den Programmieranfänger ist diese Aufgabe schon nicht mehr ganz einfach, da sie einerseits einen (relativ einfachen) inhaltlichen Teil (das Kopieren einer Datei in eine andere) hat, andererseits auch eine Einbindung in die reale Computerwelt beinhaltet. Um hier klar zu sehen, gehen wir in drei Schritten vor: Zuerst diskutieren wir die generelle Aufgabenstellung, dann kümmern wir uns um die eigentliche Funktionalität und letztlich beschäftigen wir uns mit der Parameterversorgung. Vorüberlegungen: Design des cat-kommandos Nochmals von vorne: Das Linux cat-kommando kopiert eine oder mehrere Dateien in eine neue Datei. Dabei macht es sich einige Eigenschaften des Betriebssystems, insbesondere das Umlenken von Dateien zunutze. Das bedeutet: das cat-kommando schreibt seine Ausgaben immer auf die Standardausgabe, also in der Regel auf den Bildschirm. Will man die Ausgaben, was meist der Fall ist, in einer anderen Datei haben, muss man die Bildschirmausgaben einfach umlenken. Ok, hier ein paar Beispiele: cat cat datei-1 cat d-1 d-2... d-n cat > out cat in-1 > out cat in-1... in-n > out cat - cat d-1 - d-2 Kopiert die Tastatureingaben auf den Bildschirm. Kopiert die Datei datei-1 auf den Bildschirm. Kopiert die Datei d-1, d-2... d-n nacheinander auf den Bildschirm. Kopiert die Tastatureingaben in die Datei out Kopiert die Datei in-1 in die Datei out Kopiert die Datei in-1... in-n nacheinander in die Datei out Kopiert die Tastatureingabe (die Datei -) auf den Bildschirm. Kopiert zuerst die Datei d-1, dann die Tastatureingabe und schließlich die Datei d-2 auf den Bildschirm. Soweit, so gut. Wichtig für das Verständnis ist nun, dass das Kommando gar nicht merkt, dass es die Ausgaben nicht auf den Bildschirm sondern ggf. in eine Datei schreibt. Dieses Umlenken erledigt das Betriebssystem und ist (nahezu) für das Kommando unsichtbar. Das heißt, das Kommando cat schreibt prinzipiell immer und alles auf die Standardausgabe. Was können wir aus obiger Beschreibung an Informationen für uns herausziehen? 30-7 Wintersemester 2017/18, Einführung in die Praktische Informatik

9 1. cat schreibt immer auf die Standardausgabe. 2. cat liest alle Dateien nacheinander. Das heißt, dass man nur eine Funktion benötigt, die von einem File Pointer liest und auf den anderen schreibt. Sollten mehrere Dateien gelesen werden, muss man diese Funktion nur immer wieder mit einem anderen Eingabeparameter aufrufen. 3. Sollte cat keinen Parameter bekommen, liest es von der Standardeingabe. Was heißt das für unser Programm? Wir brauchen eine Funktion copyfile(), die von einem File Pointer liest und auf einen anderen schreibt. Um möglichst flexibel zu bleiben, sehen wir zwei Parameter vor, auch wenn der zweite immer mit stdout belegt werden wird. Um diese (recht einfache) Funktion zu testen, rufen wir sie einfach mit der Standardeinund Standardausgabe auf. Ferner brauchen wir dann noch ein Hauptprogramm, das je nach Parameterlage die einzelnen Dateien öffnet, die Funktion copyfile() entsprechend aufruft und die Dateien wieder schließt. Und genau das machen wir jetzt in den nächsten beiden Aufgaben. Aufgabe 1: Kopieren einer Datei 1. Aufgabenstellung Entwickle eine Funktion copyfile, die Dateien zeichenweise liest und wieder ausgibt. Nach den oben bereits angestellten Vorüberlegungen sollten die folgenden Fragen einfach zu beantworten sein: Welche Parameter benötigt die Funktion? Welchen Typ haben die beiden Parameter? Welchen Typ sollte die Funktion haben? Was für ein Rückgabewert ist sinnvoll? Hinweis: Für das Weiterarbeiten empfiehlt es sich, die Dokumentation der Funktion fgetc() und scanf() hinsichtlich des Lesens von Zeichen und des Erreichens des Dateiendes anzuschauen. 2. Pflichtenheft: Aufgabe, Parameter, Rückgabewert, Schleifenbedingung Einführung in die Praktische Informatik, Wintersemester 2017/

10 3. Testdaten Als Testdateien bieten sich sowohl die Standardeingabe als auch die eigens erstellten C-Dateien an. Beispiele: Kommando Bedeutung mycat Lesen der Standardeingabe mycat < mycat.c Lesen der Datei mycat.c über die Standardeingabe mycat > out.txt Lesen der Standardeingabe, Schreiben in die Datei out.txt Hinweise für das interaktive Testen: Linux-Nutzer: Linux-Nutzer können das Ende der Standardeingabe einfach durch Drücken von STRG-D (bzw. CTRL-D) (gleichzeitiges Drücken der Tasten STRG und D) erzeugen. Windows-Nutzer: Unter Windows hat das interaktive Testen folgenden Haken: Der Beispielquelltext funktioniert nicht, wenn man das Zeichen EOF nicht am Zeilenanfang eingibt. Auf der Windows-Konsole cmd wird EOF durch die Tastenkombination STRG-Z erzeugt. Auch ist es immer notwendig, nach der Eingabe von STRG-Z auch noch die Enter-Taste zu betätigen. Dieses Verhalten liegt aber nicht an unserem C-Programm sondern wird durch eine andere Instanz gesteuert (vermutlich der Treiber für die Tastatureingabe der Kommandozeile), die außerhalb des Fokus dieser Lehrveranstaltung liegt. Absolut garstig wird die ganze Sache, wenn man beispielsweise zuerst die Standarteingabe in eine Datei kopiert und dabei STRG-Z schon mal irgendwo mitten in einer Zeile hatte. Wie gerade gesagt, wird das mitten in einer Zeile stehende STRG-Z nicht als Ende der Eingabe erkannt und daher mit in die Datei geschrieben. Auch die nach dem STRG-Z kommenden Zeichen werden in die Datei kopiert. Das sieht man, wenn man sich die Datei mit einem Editor anschaut. Das Programm endet ja erst, wenn STRG-Z am Anfang einer Zeile eingegeben wird! Und jetzt lasst das Programm mal genau diese Datei ausgeben Wintersemester 2017/18, Einführung in die Praktische Informatik

11 4. Implementierung 5. Kodierung Einführung in die Praktische Informatik, Wintersemester 2017/

12 Aufgabe 2: Das komplette cat-kommando 1. Aufgabenstellung Ergänze die in der vorherigen Aufgabe entwickelte Funktion copyfile() um ein entsprechendes Hauptprogramm, das die angeforderten Dateien öffnet und schließt. Entsprechende Beispiele haben wir zu Genüge in den Vorüberlegungen besprochen. Es sei nochmals daran erinnert, dass der Dateiname - für die Tastatur steht. 2. Pflichtenheft: Aufgabe, Ausgabe, Parameter, Sonderfälle 3. Implementierung Wintersemester 2017/18, Einführung in die Praktische Informatik

13 4. Kodierung 5. Testdaten Das Komplettprogramm kann jetzt einfach so getestet werden, wie wir es in den Vorüberlegungen diskutiert haben. Einführung in die Praktische Informatik, Wintersemester 2017/

Übungspaket 30 Kopieren von Dateien

Übungspaket 30 Kopieren von Dateien Übungspaket 30 Kopieren von Dateien Übungsziele: Skript: 1. Öffnen und Schließen von Dateien 2. Einfaches Lesen und Schreiben 3. Behandlung der EOF-Marke 4. Kopieren ganzer Dateien Kapitel: 59 bis 67 und

Mehr

Übungspaket 29 Dynamische Speicherverwaltung: malloc() und free()

Übungspaket 29 Dynamische Speicherverwaltung: malloc() und free() Übungspaket 29 Dynamische Speicherverwaltung malloc() und free() Übungsziele Skript In diesem Übungspaket üben wir das dynamische Alloziieren 1. und Freigeben von Speicherbereichen 2. von Zeichenketten

Mehr

Übungspaket 8 Datentyp int

Übungspaket 8 Datentyp int Übungspaket 8 Datentyp int Übungsziele: Skript: 1. Umgang mit dem Datentyp int, 2. Deklarationen von int-variablen, 3. int-konstanten 4. und int-rechenoperationen. Kapitel: 21 Semester: Wintersemester

Mehr

Übungspaket 12 Der Datentyp char

Übungspaket 12 Der Datentyp char Übungspaket 12 Der Datentyp char Übungsziele: Skript: 1. Umgang mit dem Datentyp char, 2. Deklarationen von char-variablen, 3. char-konstanten 4. und char-rechenoperationen. Kapitel: 29 bis 31 sowie 24,

Mehr

Übungspaket 13 Der Datentyp double

Übungspaket 13 Der Datentyp double Übungspaket 13 Der Datentyp double Übungsziele: Skript: 1. Umgang mit dem Datentyp double, 2. Deklarationen von double-variablen, 3. double-konstanten 4. und double-rechenoperationen. Kapitel: 32 Semester:

Mehr

E-/A-Funktionalität nicht Teil der Programmiersprache

E-/A-Funktionalität nicht Teil der Programmiersprache C Ein-/Ausgabe C Ein-/Ausgabe C.1 Überblick E-/A-Funktionalität nicht Teil der Programmiersprache Realisisierung durch "normale" Funktionen Bestandteil der Standard-Funktionsbibliothek einfache Programmierschnittstelle

Mehr

Übungspaket 23 Mehrdimensionale Arrays

Übungspaket 23 Mehrdimensionale Arrays Übungspaket 23 Mehrdimensionale Arrays Übungsziele: Skript: Deklaration und Verwendung mehrdimensionaler Arrays Kapitel: 49 Semester: Wintersemester 2016/17 Betreuer: Kevin, Matthias, Thomas und Ralf Synopsis:

Mehr

Übungspaket 9 Logische Ausdrücke

Übungspaket 9 Logische Ausdrücke Übungspaket 9 Logische Ausdrücke Übungsziele: Skript: 1. Umgang mit logischen Vergleichs- und Verknüpfungsoperatoren 2. Bilden einfacher und komplexer logischer Ausdrücke Kapitel: 22 Semester: Wintersemester

Mehr

Übungspaket 23 Mehrdimensionale Arrays

Übungspaket 23 Mehrdimensionale Arrays Übungspaket 23 Mehrdimensionale Arrays Übungsziele: Skript: Deklaration und Verwendung mehrdimensionaler Arrays Kapitel: 49 Semester: Wintersemester 2016/17 Betreuer: Kevin, Matthias, Thomas und Ralf Synopsis:

Mehr

Übungspaket 7 Angemessenes Formatieren von C-Programmen

Übungspaket 7 Angemessenes Formatieren von C-Programmen Übungspaket 7 Angemessenes Formatieren von C-Programmen Übungsziele: Skript: 1. Gute Layout-Struktur durch Einrücken. Richtiges Verwenden von Kommentaren Kapitel: 19 Semester: Wintersemester 016/17 Betreuer:

Mehr

Übungspaket 14 Eindimensionale Arrays

Übungspaket 14 Eindimensionale Arrays Übungspaket 14 Eindimensionale Arrays Übungsziele: Skript: Deklaration und Verwendung eindimensionaler Arrays Kapitel: 33 Semester: Wintersemester 2016/17 Betreuer: Kevin, Matthias, Thomas und Ralf Synopsis:

Mehr

Übungspaket 19 Programmieren eigener Funktionen

Übungspaket 19 Programmieren eigener Funktionen Übungspaket 19 Programmieren eigener Funktionen Übungsziele: Skript: 1. Implementierung und Kodierung eigener Funktionen 2. Rekapitulation des Stack-Frames 3. Parameterübergabe mittels Stack und Stack-Frame

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

Übungspaket 32 Einfach verkettete, sortierte Liste

Übungspaket 32 Einfach verkettete, sortierte Liste Übungspaket 32 Einfach verkettete, sortierte Liste Übungsziele: Skript: 1. Aufbau einer einfach verketteten, sortierten Liste 2. Traversieren von Listen 3. Vereinfachung durch ein Dummy-Element Kapitel:

Mehr

Strukturen können wie normale Variablen an Funktionen übergeben werden. Strukturen können auch Ergebnis einer Funktion sein

Strukturen können wie normale Variablen an Funktionen übergeben werden. Strukturen können auch Ergebnis einer Funktion sein 19 Strukturen 19.2Strukturen als Funktionsparameter 19.2 Strukturen als Funktionsparameter Strukturen können wie normale Variablen an Funktionen übergeben werden Übergabesemantik: call by value Funktion

Mehr

Übungspaket 20 Zeiger und Zeigervariablen

Übungspaket 20 Zeiger und Zeigervariablen Übungspaket 20 Zeiger und Zeigervariablen Übungsziele: Skript: 1. Definition von Zeigervariablen 2. Verwendung von Zeigern 3. Arrays und Adressberechnungen Kapitel: 45 und 46 Semester: Wintersemester 2017/18

Mehr

Übungspaket 13 Der Datentyp double

Übungspaket 13 Der Datentyp double Übungspaket 13 Der Datentyp double Übungsziele: Skript: 1. Umgang mit dem Datentyp double, 2. Deklarationen von double-variablen, 3. double-konstanten 4. und double-rechenoperationen. Kapitel: 32 Semester:

Mehr

Übungspaket 24 Zeichenketten

Übungspaket 24 Zeichenketten Übungspaket 4 Zeichenketten Übungsziele: Skript: 1. Verständnis über die interne Repräsentation von Zeichenketten. Arbeiten mit Zeichenketten 3. Definition konstanter Zeichenketten 4. Verwendung diverser

Mehr

Im Windows Betriebssystem sind Dateien eindeutig gekennzeichnet durch ihren Pfad, Dateinamen und nach einem Punkt die Dateierweiterung.

Im Windows Betriebssystem sind Dateien eindeutig gekennzeichnet durch ihren Pfad, Dateinamen und nach einem Punkt die Dateierweiterung. Dateioperationen Seite 1 von 12 Im Windows Betriebssystem sind Dateien eindeutig gekennzeichnet durch ihren Pfad, Dateinamen und nach einem Punkt die Dateierweiterung. z.b.: c:\testdateien\text.dat //Datendatei

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

file:///h:/dokumente/_fh/ ws /etinfoii/vorlesung/infoii...

file:///h:/dokumente/_fh/ ws /etinfoii/vorlesung/infoii... 7 Dateien Um Daten dauerhaft zu sichern, müssen sie auf den Sekundärspeicher (die Festplatte) abgespeichert werden. Beim Umgang mit Peripheriegeräten unter Windows und UNIX ist zu beachten Die Verbindung

Mehr

Übungspaket 3 Mein erstes Programm: Fläche eines Rechtecks

Übungspaket 3 Mein erstes Programm: Fläche eines Rechtecks Übungspaket 3 Mein erstes Programm: Fläche eines Rechtecks Übungsziele: Skript: 1. Der Software Life Cycle im Überblick. Umgang mit Editor und Compiler 3. Editieren und Starten eines eigenen Programms

Mehr

Programmiersprachen Einführung in C. Unser erstes C-Programm. Unser erstes C-Programm. Unser erstes C-Programm. Unser erstes C-Programm

Programmiersprachen Einführung in C. Unser erstes C-Programm. Unser erstes C-Programm. Unser erstes C-Programm. Unser erstes C-Programm Programmiersprachen Einführung in C Teil 2: Prof. Dr. int main (int argc, char *argv[]) int sum = 0; for (i = 0; i

Mehr

Ein- und Ausgabe. C - Kurs Mario Bodemann. 15. September 2010

Ein- und Ausgabe. C - Kurs Mario Bodemann. 15. September 2010 Ein- und Ausgabe C - Kurs 2010 Mario Bodemann 15. September 2010 This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License 1 / 46 Inhaltsverzeichnis 1 Wiederholung

Mehr

Ein- und Ausgabe. C - Kurs Mario Bodemann. 15. September 2010

Ein- und Ausgabe. C - Kurs Mario Bodemann. 15. September 2010 Ein- und Ausgabe C - Kurs 2010 Mario Bodemann 15. September 2010 This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License 1 / 46 Inhaltsverzeichnis 1 Wiederholung

Mehr

GI Vektoren

GI Vektoren Vektoren Problem: Beispiel: viele Variablen vom gleichen Typ abspeichern Text ( = viele char-variablen), Ergebnisse einer Meßreihe ( = viele int-variablen) hierfür: Vektoren ( = Arrays = Feld ) = Ansammlung

Mehr

Dateioperationen Fachhochschule Würzburg-Schweinfurt Prof. Dr. Martin Ochs. Abspeichern und Einlesen von Texten (Strings) in Dateien

Dateioperationen Fachhochschule Würzburg-Schweinfurt Prof. Dr. Martin Ochs. Abspeichern und Einlesen von Texten (Strings) in Dateien Informatik I SS 2003 Dateioperationen 1 Textdateien, Öffnen Abspeichern und Einlesen von Texten (Strings) in Dateien 1. Das Öffnen einer Datei a) Deklaration eines Zeigers auf eine Datei FILE *pfile; b)

Mehr

Programmieren in C. Die C-Standardbibliothek: Datei Ein- und Ausgabe. Prof. Dr. Nikolaus Wulff

Programmieren in C. Die C-Standardbibliothek: Datei Ein- und Ausgabe. Prof. Dr. Nikolaus Wulff Programmieren in C Die C-Standardbibliothek: Datei Ein- und Ausgabe Prof. Dr. Nikolaus Wulff Das Dateisystem In C erfolgt die gesamte Ein- und Ausgabe durch Lesen oder Schreiben von Strömen (stream). Periphere

Mehr

Grundlagen der Informatik

Grundlagen der Informatik Grundlagen der Informatik Einführung in die Programmiersprache C Teil 2 Ein- und Ausgabe in C-Programmen Prof. Dr.-Ing. Thomas Wiedemann Fachgebiet Informatik / Mathematik Überblick zur Vorlesung Ein-

Mehr

Übungspaket 22 Rekursive Funktionsaufrufe

Übungspaket 22 Rekursive Funktionsaufrufe Übungspaket 22 Rekursive Funktionsaufrufe Übungsziele: Skript: 1. Technische Voraussetzungen für rekursive Funktionsaufrufe 2. Umsetzung mathematisch definierter Rekursionen in entsprechende C-Programme

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

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

182. stdio. 183. stdio. Eingabe. Ausgabe. Typisch für Zeileneingabe und Analyse: #include <stdio.h>

182. stdio. 183. stdio. Eingabe. Ausgabe. Typisch für Zeileneingabe und Analyse: #include <stdio.h> 182. stdio Eingabe int getchar (), getc (FILE * fp), fgetc (FILE * fp); char * gets (char * buf), * fgets (char * buf, int len, FILE * fp); int scanf (const char * fmt,...); int fscanf (FILE * fp, const

Mehr

Hochschule Ravensburg-Weingarten Schriftliche Prüfung Programmieren Prof. Dr. M. Zeller

Hochschule Ravensburg-Weingarten Schriftliche Prüfung Programmieren Prof. Dr. M. Zeller Hochschule Ravensburg-Weingarten Schriftliche Prüfung Programmieren Prof. Dr. M. Zeller Datum, Zeit, 08:00 09:30 Uhr (90 min) Aufgabenblätter 14 Seiten (einschl. Deckblatt) erreichbare Punktzahl 54 zugelassene

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

Informatik III: Aufgabenblock 1. 1 Datei eintippen, Programmkopf erstellen, kompilieren

Informatik III: Aufgabenblock 1. 1 Datei eintippen, Programmkopf erstellen, kompilieren Informatik III: Aufgabenblock 1 Endgültige Version vom 6. Oktober 2003 Abgabe vor dem 7. Nov. 2003 1 Datei eintippen, Programmkopf erstellen, kompilieren Wenn Sie schon erfahren im Umgang mit UNIX und

Mehr

Hochschule Für Angewandte Wissenschaften FH München Sommersemester Thomas Kolarz. Folie 1.

Hochschule Für Angewandte Wissenschaften FH München Sommersemester Thomas Kolarz. Folie 1. Praktikum Btib Betriebssysteme t I Hochschule Für Angewandte Wissenschaften FH München Sommersemester 2010 thomas.kolarz@hm.edu Folie 1 Vorbereitung Booten Sie den Rechner unter Linux und melden Sie sich

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

Hochschule Darmstadt Informatik-Praktikum SS 2017 EIT Bachelor 5. Aufgabenblatt Datenstruktur, Dateieingabe und -ausgabe

Hochschule Darmstadt Informatik-Praktikum SS 2017 EIT Bachelor 5. Aufgabenblatt Datenstruktur, Dateieingabe und -ausgabe Aufgabe 5: Bücher verwalten Für das Literaturverzeichnis einer Abschlussarbeit soll ein Programm zur Verwaltung von Bücherlisten geschrieben werden. Das Programm soll in der Lage sein, zu einem Buch die

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 17 Einstieg in die Informatik mit Java Methoden und Felder Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 17 1 Überblick 2 Felder als Parameter bei Methoden 3 Feld

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

Übungspaket 31 Entwicklung eines einfachen Kellerspeiches (Stacks)

Übungspaket 31 Entwicklung eines einfachen Kellerspeiches (Stacks) Übungspaket 31 Entwicklung eines einfachen Kellerspeiches (Stacks) Übungsziele: Skript: 1. Definieren einer dynamischen Datenstruktur 2. Dynamische Speicher Speicherallokation 3. Implementierung eines

Mehr

Übungspaket 11 Schleifen

Übungspaket 11 Schleifen Übungspaket 11 Schleifen Übungsziele: Skript: 1. Umgang mit den Schleifen in C. Wahl des richtigen Schleifentyps 3. Umwandlung der Schleifen ineinander Kapitel: 6 bis 8 Semester: Wintersemester 017/18

Mehr

Variablen. Deklaration: «Datentyp» «Variablenname» Datentyp bestimmt Größe in Bytes: sizeof Beispiel: long int v; Größe: 4 Bytes

Variablen. Deklaration: «Datentyp» «Variablenname» Datentyp bestimmt Größe in Bytes: sizeof Beispiel: long int v; Größe: 4 Bytes Variablen Deklaration: «Datentyp» «Variablenname» Datentyp bestimmt Größe in Bytes: sizeof Beispiel: long int v; Größe: 4 Bytes v ist Stück im Speicher, der 4 Bytes lang ist Speicherzugriff? Über Adressen!

Mehr

1 Vom Problem zum Programm

1 Vom Problem zum Programm Hintergrundinformationen zur Vorlesung GRUNDLAGEN DER INFORMATIK I Studiengang Elektrotechnik WS 02/03 AG Betriebssysteme FB3 Kirsten Berkenkötter 1 Vom Problem zum Programm Aufgabenstellung analysieren

Mehr

Linux Prinzipien und Programmierung

Linux Prinzipien und Programmierung Linux Prinzipien und Programmierung Dr. Klaus Höppner Hochschule Darmstadt Sommersemester 2014 1 / 25 2 / 25 Pipes Die Bash kennt drei Standard-Dateideskriptoren: Standard In (stdin) Standard-Eingabe,

Mehr

FH Ravensburg-Weingarten Schriftlich Prüfung Programmieren

FH Ravensburg-Weingarten Schriftlich Prüfung Programmieren FH Ravensburg-Weingarten Schriftlich Prüfung Programmieren Prof. Dr. M. Zeller Datum, Zeit Aufgabenblätter erreichbare Punktzahl zugelassene Hilfsmittel, 0800 1000 Uhr (120 min) 16 Seiten (einschl. Deckblatt)

Mehr

C Überlebenstraining

C Überlebenstraining C Überlebenstraining Dies ist nur ein Schnellkurs in C, der genug Einstiegswissen vermitteln soll, daß weiterführende Literatur schnell benutzt werden kann. Dies ist kein vollständiger Programmier oder

Mehr

Eine Mini-Shell als Literate Program

Eine Mini-Shell als Literate Program Eine Mini-Shell als Literate Program Hans-Georg Eßer 16.10.2013 Inhaltsverzeichnis 1 Eine Mini-Shell 1 1.1 Einen Befehl parsen......................... 2 1.2 Was tun mit dem Kommando?...................

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

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

SelfLinux Dateien unter Linux

SelfLinux Dateien unter Linux Dateien unter Linux Autor: Frank Boerner (frank@frank-boerner.de) Formatierung: Matthias Hagedorn (matthias.hagedorn@selflinux.org) Lizenz: GFDL Im Unterschied zu Windows wird bei Linux zwischen Groß-

Mehr

Modellierung und Programmierung

Modellierung und Programmierung Modellierung und Programmierung Dr. Martin Riplinger 9.1.2013 IAM Institut für Angewandte Mathematik Fortgeschrittene Ein- und Ausgabe Bisher: Ein- und Ausgabe nur über die Kommandozeile Erweiterung: Konzept

Mehr

Programmieren in C. Funktionen mit Zeigern und Adressen. Prof. Dr. Nikolaus Wulff

Programmieren in C. Funktionen mit Zeigern und Adressen. Prof. Dr. Nikolaus Wulff Programmieren in C Funktionen mit Zeigern und Adressen Prof. Dr. Nikolaus Wulff ByValue versus byreferenz C übergibt immer Kopien der Variablen an Funktionen. Es ist nur dann möglich die Werte von Variablen

Mehr

SelfLinux Dateien unter Linux

SelfLinux Dateien unter Linux Dateien unter Linux Autor: Frank Boerner (frank@frank-boerner.de) Formatierung: Matthias Hagedorn (matthias.hagedorn@selflinux.org) Lizenz: GFDL Im Unterschied zu Windows wird bei Linux zwischen Groß-

Mehr

File I/O. Persistieren von Daten. Gastvorlesung Ralph Erdt erdt (bei) informatik.fh-wiesbaden.de

File I/O. Persistieren von Daten. Gastvorlesung Ralph Erdt erdt (bei) informatik.fh-wiesbaden.de File I/O, Ralph Erdt, erdt (bei) informatik.fh-wiesbaden.de Seite 1 File I/O Persistieren von Daten Gastvorlesung - 18.01.10 Ralph Erdt erdt (bei) informatik.fh-wiesbaden.de File I/O, Ralph Erdt, erdt

Mehr

Dateien lesen und schreiben mit php

Dateien lesen und schreiben mit php Dateien lesen und schreiben mit php (fopen(), fgets(), fread(), fwrite, fclose(), fputs(), file_get_contents()) Der Dateizugriff (anfügen und lesen) fopen(filename, mode) Öffnen vom lokalen Dateisystem

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

+ C - Formatierte Eingabe mit scanf()

+ C - Formatierte Eingabe mit scanf() + C - Formatierte Eingabe mit scanf() BKTM - Programmieren leicht gemacht. Formatierte Eingabe mit scanf() Um eine Eingabe von der Tastatur bereitzustellen, kann man die scanf()-funktion benutzen. Der

Mehr

Übungen zur Vorlesung EidP (WS 2015/16) Blatt 6

Übungen zur Vorlesung EidP (WS 2015/16) Blatt 6 Andre Droschinsky Ingo Schulz Dortmund, den 0. Dezember 2015 Übungen zur Vorlesung EidP (WS 2015/16) Blatt 6 Block rot Es können 4 + 1 Punkte erreicht werden. Abgabedatum: 10. Dezember 2015 2:59 Uhr Hinweise

Mehr

Primzahlen und Programmieren

Primzahlen und Programmieren Primzahlen Wir wollen heute gemeinsam einen (sehr grundlegenden) Zusammenhang zwischen Programmieren und Mathematik herstellen. Die Zeiten in denen Mathematiker nur mit Zettel und Stift (oder Tafel und

Mehr

Anwendung höherer Programmiersprachen. Formatierte Ausgabe mit cout. Angewandte Informatik I C / C++ Teil B: Formatierte Ein- und Ausgabe

Anwendung höherer Programmiersprachen. Formatierte Ausgabe mit cout. Angewandte Informatik I C / C++ Teil B: Formatierte Ein- und Ausgabe Angewandte Informatik I Anwendung höherer Programmiersprachen C / C++ Vorlesung der FH Münster Prof. Dr.-Ing. H. Bösche // Programm b0301208 #include { int i = 1, j = 2; cout

Mehr

Linux-Einführung Übung

Linux-Einführung Übung Linux-Einführung Übung Mark Heisterkamp 24. 25. Februar 2010 1 Einführung und Grundlagen 1.1 Erste Schritte... 1.1.1 Xterminalfenster Öffnen Sie ein weiteres Xterminalfenster mit der Maus. mittels Kommando.

Mehr

In diesen Canvas können Punkte an gültigen Koordinaten gezeichnet werden.

In diesen Canvas können Punkte an gültigen Koordinaten gezeichnet werden. PVL 5 - Canvas (5+2 Punkte) Abgabe bis 7.2.2016 Gegeben sei ein (zweidimensionales) kartesisches Koordinatensystem K, das die Position von Punkten durch die Menge ganzzahliger Koordinaten im Intervall

Mehr

Basiskonzepte des Rechnerbetriebs

Basiskonzepte des Rechnerbetriebs Universität Potsdam Institut für Informatik Wintersemester 2013 2014 Basiskonzepte des Rechnerbetriebs Aufgabenblatt 5 7 Standardeingabe und Standardausgabe Viele Prozesse lesen und/oder schreiben Daten.

Mehr

Kapitel 2. Einfache Beispielprogramme

Kapitel 2. Einfache Beispielprogramme Kapitel 2 Einfache Beispielprogramme 2.1 Ausgabe auf dem Bildschirm 2.2 Lokale Variablen, Ausdrücke und Schleifen 2.3 Zahlen von der Tastatur einlesen 2.4 Formatierung bei der Ausgabe 2.5 Zusammenfassung

Mehr

10 Lesen und Schreiben von Dateien

10 Lesen und Schreiben von Dateien 10 Lesen und Schreiben von Dateien 10 Lesen und Schreiben von Dateien 135 10.1 Mit load und save Binäre Dateien Mit save können Variableninhalte binär im Matlab-Format abgespeichert werden. Syntax: save

Mehr

Programmiersprachen Einführung in C

Programmiersprachen Einführung in C Programmiersprachen Einführung in C Teil 4: Prof. Dr. Jörg Schwenk Lehrstuhl für Netz- und Datensicherheit Gliederung Programmiersprachen 1. Von der Maschinensprache zu C 2. Die Struktur von C-Programmen

Mehr

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

Hochschule Darmstadt Informatik-Praktikum (INF 1) WS 2015/2016 Wirtschaftsingenieur Bachelor 5. Aufgabe Datenstruktur, Dateieingabe und -ausgabe Aufgabenstellung Für eine Hausverwaltung sollen für maximal 500 Wohnungen Informationen gespeichert werden, die alle nach der gleichen Weise wie folgt strukturiert sind: Art Baujahr Wohnung Whnginfo Nebenkosten

Mehr

einlesen n > 0? Ausgabe Negative Zahl

einlesen n > 0? Ausgabe Negative Zahl 1 Lösungen Kapitel 1 Aufgabe 1.1: Nassi-Shneiderman-Diagramm quadratzahlen Vervollständigen Sie das unten angegebene Nassi-Shneiderman-Diagramm für ein Programm, welches in einer (äußeren) Schleife Integer-Zahlen

Mehr

Grundlagen. Die Komponenten eines C Programms. Das erste Programm

Grundlagen. Die Komponenten eines C Programms. Das erste Programm Grundlagen 1. Die Komponenten eines C Programms 2. Ein Programm erzeugen und übersetzen 3. Variablen Deklarieren und Werte zuweisen 4. Zahlen eingeben mit der Tastatur 5. Arithmetische Ausdrücke und Berechnungen

Mehr

Lernfeld 6: Entwickeln und Bereitstellen von Anwendungssystemen Fallbeispiel Baukredit

Lernfeld 6: Entwickeln und Bereitstellen von Anwendungssystemen Fallbeispiel Baukredit Lernfeld 6: Entwickeln und Bereitstellen von Anwendungssystemen Fallbeispiel Baukredit Ralf Adams, TBS1 Bochum Version 3.0 vom 12. August 2009 Inhaltsverzeichnis 1 Einführung 3 2 Handlungssituation: Zinsrechnung

Mehr

Übungspaket 1 Grundlagen: von der Hardware zum Programmieren

Übungspaket 1 Grundlagen: von der Hardware zum Programmieren Übungspaket 1 Grundlagen: von der Hardware zum Programmieren Übungsziele: Skript: 1. Die Bedeutung des Programmierens für mein Studium und meine spätere Berufstätigkeit 2. Was ist eine erfolgreiche Lernstrategie?

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

Praktikum 2: Erste C Programme, Kommandozeileneingabe

Praktikum 2: Erste C Programme, Kommandozeileneingabe Praktikum 2: Erste C Programme, Kommandozeileneingabe Ziele Ein weiteres Beispielprogramm testen und verstehen Entwicklungsumgebung für C auf dem Notebook Einführung Nach dem letzten Praktikum sollten

Mehr

Microcontroller / C-Programmierung Selbststudium Semesterwoche 1

Microcontroller / C-Programmierung Selbststudium Semesterwoche 1 Microcontroller / C-Programmierung Selbststudium Semesterwoche 1 1. Aufgabe 1-15 (Buch S. 26)*: Umrechnung Fahrenheit Celsius mit Funktion. #include float CelsiusToFahrenheit(float value); float

Mehr

Ein- und Ausgabe von Daten

Ein- und Ausgabe von Daten Ein- und Ausgabe von Daten Datenausgabe Dateneingabe Datenformatierung Seite 1 -Anweisungen Beispiel printf ("SelectionSort sortiert maximal 50 Zahlen!\n"); printf ("Wie viele Zahlen sollen sortiert werden?

Mehr

Praktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester 2017/18. Vorbereitende Aufgaben

Praktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester 2017/18. Vorbereitende Aufgaben Praktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester 2017/18 Fakultät für Informatik Lehrstuhl 14 Lars Hildebrand Übungsblatt 7 Besprechung: 4. 8.12.2017 (KW 49) Vorbereitende

Mehr

Linux und Shell-Programmierung Teil 6

Linux und Shell-Programmierung Teil 6 Prof. Dr. Christian Baun Linux und Shell-Programmierung Teil 6 Fachhochschule Frankfurt am Main WS1314 1/18 Linux und Shell-Programmierung Teil 6 Prof. Dr. Christian Baun Fachhochschule Frankfurt am Main

Mehr

Strings. Daten aus Dateien einlesen und in Dateien speichern.

Strings. Daten aus Dateien einlesen und in Dateien speichern. Strings. Daten aus Dateien einlesen und in Dateien speichern. Strings Ein String ist eine Zeichenkette, welche von MATLAB nicht als Programmcode interpretiert wird. Der Ausdruck 'a' ist ein String bestehend

Mehr

Programmieren in C. Eine Einführung in die Programmiersprache C. Prof. Dr. Nikolaus Wulff

Programmieren in C. Eine Einführung in die Programmiersprache C. Prof. Dr. Nikolaus Wulff Programmieren in C Eine Einführung in die Programmiersprache C Prof. Dr. Nikolaus Wulff Textausgabe per printf Die Funktion printf ist kein Bestandteil der C Sprache sondern gehört zur C Bibliothek. printf

Mehr

Prüfungsvorleistung Datenstrukturen

Prüfungsvorleistung Datenstrukturen Prüfungsvorleistung Datenstrukturen Allgemeine Hinweise Als Prüfungsvorleistung für die Klausur Datenstrukturen müssen Hausaufgaben gelöst werden. Jede Hausaufgabe wird mit einer bestimmten Anzahl an Punkten

Mehr

Informatik Repetitorium SS 2009. Volker Jaedicke Volker.Jaedicke@web.de 0179 1322692

Informatik Repetitorium SS 2009. Volker Jaedicke Volker.Jaedicke@web.de 0179 1322692 Informatik Repetitorium SS 2009 Volker Jaedicke Volker.Jaedicke@web.de 0179 1322692 Operatoren und Datentypen Beispiel: Anweisungen Variable int a float b int c a= a % (int) (++b-1/4) Vorher 36 3.5 c=b

Mehr

Praktikum zur Vorlesung Einführung in die Programmierung WS 14/15 Blatt 3

Praktikum zur Vorlesung Einführung in die Programmierung WS 14/15 Blatt 3 Michael Jugovac Dominik Kopczynski Jan Quadflieg Till Schäfer Stephan Windmüller Dortmund, den 30. Oktober 2014 Praktikum zur Vorlesung Einführung in die Programmierung WS 14/15 Blatt 3 Es können 12 (+5

Mehr

Unix Grundlagen. - ii - Ambit Professional Seminar Series. Autor: Prof. J. Anton Illik Diplom-Informatiker

Unix Grundlagen. - ii - Ambit Professional Seminar Series. Autor: Prof. J. Anton Illik Diplom-Informatiker Ambit Professional Seminar Series Unix Grundlagen Autor: Prof. J. Anton Illik Diplom-Informatiker unter Mitarbeit von I. Gelrich C. Keefer P. Ott K. Rothemund C. Ruane S. Sahin K-H. Schmidt Ambit Informatik

Mehr

Computer & GNU/Linux Einführung Teil 2

Computer & GNU/Linux Einführung Teil 2 Inst. für Informatik [IFI] Computer & GNU/Linux EinführungTeil 2 Simon Haller, Sebastian Stab 1/25 Computer & GNU/Linux Einführung Teil 2 Simon Haller, Sebastian Stabinger, Philipp Zech Inst. für Informatik

Mehr

Übungspaket 1 Grundlagen: von der Hardware zum Programmieren

Übungspaket 1 Grundlagen: von der Hardware zum Programmieren Übungspaket 1 Grundlagen: von der Hardware zum Programmieren Übungsziele: Skript: 1. Die Bedeutung des Programmierens für mein Studium und meine spätere Berufstätigkeit 2. Was ist eine erfolgreiche Lernstrategie?

Mehr

L A TEX, Linux, Python

L A TEX, Linux, Python L A TEX, Linux, Python Daniel Borchmann, Tom Hanika, Maximilian Marx 17. Dezember 2014 cba Grundlagen von GNU/Linux Grundlagen von GNU/Linux Eine kurze Geschichte von GNU / Linux Eine kurze Geschichte

Mehr

Java programmieren: Konsolen-Programme

Java programmieren: Konsolen-Programme Java programmieren: Es war einmal vor langer Zeit in einer weit entfernten Galaxis ok, das ist etwas übertrieben. In den Anfängen der Personal Computer in den 1980er sahen Computer noch etwa so aus: Diese

Mehr

C++ - Einführung in die Programmiersprache Header-Dateien und Funktionen. Leibniz Universität IT Services Anja Aue

C++ - Einführung in die Programmiersprache Header-Dateien und Funktionen. Leibniz Universität IT Services Anja Aue C++ - Einführung in die Programmiersprache Header-Dateien und Funktionen Leibniz Universität IT Services Anja Aue Modularisierung Logische Gliederung von Programmteilen mit Hilfe von Namensräumen. Aufteilung

Mehr

Eine kleine Anleitung zum Programmieren mit MATLAB

Eine kleine Anleitung zum Programmieren mit MATLAB Eine kleine Anleitung zum Programmieren mit MATLAB Kathrin Smetana 4. Oktober 2011 Dies ist eine (stetig erweiterbare) Liste der Dinge, die man beachten sollte, wenn man mit Matlab programmieren, sprich

Mehr

C++ - Einführung in die Programmiersprache Ein- und Ausgabe in die Konsole. Leibniz Universität IT Services Anja Aue

C++ - Einführung in die Programmiersprache Ein- und Ausgabe in die Konsole. Leibniz Universität IT Services Anja Aue C++ - Einführung in die Programmiersprache Ein- und Ausgabe in die Konsole Leibniz Universität IT Services Anja Aue Eingabe (input) und Ausgabe (output) In diesem Kapitel wird nur das Lesen von und das

Mehr

Arrays (Felder/Vektoren)

Arrays (Felder/Vektoren) Arrays (Felder/Vektoren) Zusammenfassung mehrerer Variablen des gleichen Typs unter einem Namen im Speicher direkt hintereinander abgelegt Definition: Typname Arrayname [Größe]; Beispiel: int ar [5]; Zugriff

Mehr

FILE *fp; char fname[100];... fp = fopen (fname, rb ); if( fp == NULL ) { perror( fopen );... } // Fehlernachricht auf letzten Fehler, der aufkam

FILE *fp; char fname[100];... fp = fopen (fname, rb ); if( fp == NULL ) { perror( fopen );... } // Fehlernachricht auf letzten Fehler, der aufkam Aktuelle Fileposition ermitteln long pos; pos=ftell(fp); //aktuelle Bytenummer Filelaenge in Bytes fseek(fp,0,seek_end); pos=ftell(fp); Fileendeerkennung int rc; rc = feof (fp) //!= 0 bei Fileende // ==

Mehr

Programmieren in C/C++ und MATLAB

Programmieren in C/C++ und MATLAB Programmieren in C/C++ und MATLAB Sven Willert Christian-Albrechts-Universität zu Kiel CAU 2-1 Datentypen und Formate Mit der Festlegung des Datentyps wird die Art bestimmt, mit der der Computer die Informationen

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

Okt 10, 16 17:29 UNIX/Linux Lösung

Okt 10, 16 17:29 UNIX/Linux Lösung Okt 10, 16 17:29 UNIX/Linux Lösung Seite 1/6 Technische Hochschule Nürnberg Name:... GEORG SIMON OHM Schriftliche Prüfung im Fach Vorname:... "Betriebssystem UNIX/Linux" Matrikel Nr.:... Prüfungstermin:

Mehr

FH München, FB 03 FA WS 06/07. Ingenieurinformatik. Name Vorname Matrikelnummer Sem.Gr.: Hörsaal Platz

FH München, FB 03 FA WS 06/07. Ingenieurinformatik. Name Vorname Matrikelnummer Sem.Gr.: Hörsaal Platz FH München, FB 03 FA WS 06/07 Ingenieurinformatik Name Vorname Matrikelnummer Sem.Gr.: Hörsaal Platz Zulassung geprüft vom Aufgabensteller: Teil I Aufg. 2 Aufg. 3 Aufg. 4 Aufg. 5 Summe Note Aufgabensteller:

Mehr