Praktikum Betriebssysteme 1. Aufgabe (1)

Save this PDF as:
 WORD  PNG  TXT  JPG

Größe: px
Ab Seite anzeigen:

Download "Praktikum Betriebssysteme 1. Aufgabe (1)"

Transkript

1 FG TECHNISCHE INFORMATIK U BS 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 ermittelt und am Bildschirm ausgegeben werden können, benötigt. Die Ausgabe des Programms soll dem folgenden Beispiel entsprechen : > ptab hda hdb *** Partitionstabelle fuer Festplatte "hda" *** Typ Boot Start(C/H/PSN) Start(ASN) Ende(ASN) Anz.Sekt 0b FAT32 0/ 1/ 1/ LINUX-Native * 638/ 0/ 1/ f Extended(LBA) 647/ 0/ 1/ NTFS/HPFS 647/ 1/ 1/ b FAT / 1/ 1/ LINUX-Native 1023/ 1/ 1/ LINUX-Swap 1023/ 1/ 1/ *** Partitionstabelle fuer Festplatte "hdb" *** Typ Boot Start(C/H/PSN) Start(ASN) Ende(ASN) Anz.Sekt 83 LINUX-Native 0/ 1/ 1/ LINUX-Swap 2/ 0/ 1/ f Extended(LBA) 264/ 0/ 1/ LINUX-Native 264/ 1/ 1/ > Die eingerückten Zeilen enthalten die Informationen über logische Laufwerke innerhalb einer in der Partitionstabelle des MBR eingetragenen Extended Partition ( logische Partitionen). Informationen über Extended Unter-Partitionen soll das Programm dabei nicht ausgeben. Durch Kommandozeilenparameter kann festgelegt werden, welche Laufwerke zu untersuchen sind. Die Laufwerke sind durch ihre Gerätenamen ("hda" für die 1. IDE-Festplatte, "hdb" für die 2. IDE-Festplatte, "sda" für die 1. SCSI-Festplatte usw) zu bezeichnen. Zulässig sind beliebig viele Kommandozeilenparameter. Ein Aufruf ohne Kommandozeilenparameter bewirkt die Untersuchung der Festplatten mit den Gerätenamen "hda" und "sda". Ist eine zu untersuchende Festplatte nicht vorhanden oder kann die Partitionstabelle nicht gelesen werden, so ist die folgende Meldung auszugeben : Partitionstabelle Festplatte "xxx" nicht ermittelbar Das Programm soll objektorientiert in C++ unter der Entwicklungsumgebung Kdevelop entwickelt werden. Kdevelop verwendet den GNU-C++-Compiler. Zur Erleichterung der Aufgabe ist die main()-funktion des zu realisierenden Programms vorgegeben. Sie ist in der in Anlage 1 abgedruckten C++-Quelldatei ptab_m.cpp enthalten. Diese Funktion verwendet die drei Klassen Partab, PartabImpl und PartabDisplay. Von der Klasse PartabImpl werden weitere Klassen verwendet (s. unten). Die im Programm relevanten Informationen über eine Partition werden durch den vorgegebenen Structure-Typ PartData beschrieben. Dieser verwendet zur Darstellung der Anfangsadresse einer Partition den weiteren Structure- Typ PhysAddr. Beide Structure-Typen sind in der Header-Datei PartData.h (s. Anlage 2) definiert.

2 FG TECHNISCHE INFORMATIK U BS TH 07 Praktikum Betriebssysteme 1. Aufgabe (2) Ebenfalls vorgegeben ist die Klasse PartabDisplay. Sie dient zur Ausgabe der Partitionstabellen-Informationen in dem o.a. Format. Um die richtige Formatierung der Ausgabe brauchen Sie sich bei Einhaltung aller vorgegebenen Schnittstellen also nicht mehr zu kümmern. Die Definition dieser Klasse ist in der Headerdatei PartabDisplay.h (s. Anlage 3) enthalten. Ihre Implementierung steht in der übersetzten Objektdatei PartabDisplay.o zur Verfügung. Partab ist eine abstrakte Klasse, die das Interface, über das zu Objekten der von ihr abzuleitenden konkreten Klasse PartabImpl zugegriffen werden kann, festlegt. Die Definition der Klasse Partab ist in der Headerdatei Partab.h enthalten (s. Anlage 4). Die Klasse PartabImpl bildet die Partitionierungsinformationen eines Festplattenlaufwerks ab. Sie implementiert das durch die abstrakte Klasse Partab definierte Interface. Es wird vorgeschlagen, diese Informationen in Form einer verketteten Liste abzulegen, auf deren erstes Element ein in der Klasse PartabImpl enthaltener Pointer zeigt. Zur Beschreibung eines Elements dieser Liste soll eine weitere Klasse PartElement dienen. Die einzelnen Listenelemente sollten sinnvollerweise in der gleichen Reihenfolge, in der die in Ihnen enthaltenen Informationen ausgegeben werden sollen, angeordnet sein. Dabei ist zu beachten, dass Informationen über Extended Unter- Partitionen nicht auszugeben sind und damit auch nicht in einem Listenelement abgelegt werden sollten. Zum innerhalb der Klasse PartabImpl vorzunehmenden Lesen von physikalischen Plattenlaufwerken soll eine Klasse RawDeviceReader eingesetzt werden. Für den ersten Teil der Aufgabe wird diese Klasse bereitgestellt. Ihre Definition ist in der Headerdatei RawDeviceReader.h (s. Anlage 5), ihre Implementierung in der übersetzten Objektdatei RawDeviceReader.o enthalten. Zusammenfassend kann die statische Architektur des Programms durch das folgende Klassendiagramm beschrieben werden :

3 FG TECHNISCHE INFORMATIK U BS TH 03 Praktikum Betriebssysteme 1. Aufgabe (3) a) Definieren und Implementieren Sie die fehlenden Klassen PartabImpl und PartElement. Erzeugen Sie ein ablaufbereites Programm ptab unter Verwendung der zur Verfügung gestellten und der selbstdefinierten Klassen sowie der im Modul ptab_m.cpp enthaltenen Funktion main(). b) Erzeugen Sie eine eigene Implementierung der Klasse RawDeviceReader. Ein dateiunabhängiger Zugriff zu Plattenlaufwerken ist in LINUX unter Verwendung der entsprechenden Gerätenamen möglich. Diese bezeichnen spezielle Dateien, die im Verzeichnis "/dev" eingetragen sind. Auf diese "Gerätedateien" lassen sich die normalen System Calls zur Dateibearbeitung (open(), read(), close() usw.) anwenden. Berücksichtigen Sie, dass die Kapazität heutiger Festplatten (= "Dateilänge") i.a. 2 Gbytes überschreiten. Ersetzen Sie in dem Programm ptab die zur Verfügung gestellte Implementierung der Klasse RawDeviceReader durch ihre eigene Implementierung.

4 FG TECHNISCHE INFORMATIK U BS TH 06 Praktikum Betriebssysteme 1. Aufgabe (4) Anlage 1 : C++-Quelldatei ptab_m.cpp : // C++-Quell-Datei ptab_m.cpp // Praktikum Betriebssysteme 1. Aufgabe // Modul mit Startfunktion fuer Programm ptab // #include <iostream> #include <cstdlib> using namespace std; #include "Partab.h" #include "PartabImpl.h" #include "PartabDisplay.h" #define DEF_DRV1 "hda" #define DEF_DRV2 "sda" // int main(int argc, char *argv[]) char** devlist; Partab* pclpartable = new PartabImpl; PartabDisplay* pcldispl = new PartabDisplay(pclParTable); if (argc<=1) char* defdevlist[3] = DEF_DRV1, DEF_DRV2, NULL devlist=defdevlist; } else devlist=argv+1; int i=0; while (devlist[i]!= NULL) pclpartable->setdev(devlist[i]); if (pclpartable->readpartdata()) pcldispl->displaypartab(); else pcldispl->displayfailure(); i++; } pcldispl->displayend(); delete pclpartable; delete pcldispl; } return EXIT_SUCCESS; //

5 FG TECHNISCHE INFORMATIK U BS TH 03 Praktikum Betriebssysteme 1. Aufgabe (5) Anlage 2 : C++-Headerdatei PartData.h : // C++-Header-Datei PartData.h // Definition der struct-typs PartData sowie des // von diesem verwendeten struct-typs PhysAddr #ifndef _PARTDATA_H #define _PARTDATA_H struct PhysAddr unsigned cyl; unsigned head; unsigned psn; unsigned long asn; // Zylinder-Nr. // Kopf-Nr. // phys. Sekt.-Nr. // absolute Sekt.-Nr. (LBA) struct PartData unsigned char m_uctyp; // Typ der Partition unsigned char m_ucboot; // Bootflag PhysAddr m_clstart; // Anfangsadresse der Partition unsigned long m_ulsize; // Groesse der Partition bool m_bsub; // true, wenn Unterpartition // (log. Laufwerk in ext.partition) Anlage 3 : C++-Headerdatei PartabDisplay.h : // C++-Header-Datei PartabDisplay.h // Definition der Klasse PartabDisplay #ifndef _PARTAB_DISPLAY_H #define _PARTAB_DISPLAY_H #include "PartData.h" class Partab; class PartabDisplay public : PartabDisplay(Partab*); void displaypartab() const; void displayfailure() const; void displayend() const; private : Partab* m_pclpart; void showheader() const; // Ausgabe der Partitionstabelle mit Header // Ausgabe dass Partitionstabelle nicht ermittelbar // Ausgabe zweier Zeilenwechselzeichen // Ausgabe einer Ueberschrift void showpartdata(partdata*) const; // Ausgabe der Daten einer Partition void showaddrchs(physaddr&) const; // Ausgabe einer phys. Adresse als CHS-Werte

6 FG TECHNISCHE INFORMATIK U BS TH 04 Praktikum Betriebssysteme 1. Aufgabe (6) Anlage 4 : C++-Headerdatei Partab.h : // C++-Header-Datei Partab.h // Praktikum Betriebssysteme 1. Aufgabe // Definition der abstrakten Klasse ("Interface") Partab #ifndef _PARTAB_H #define _PARTAB_H class PartData; class Partab public : virtual ~Partab() virtual void setdisk(char* disk) = 0; virtual bool readpartdata() = 0; virtual PartData* getfirstdata() = 0; virtual PartData* getnextdata() = 0; virtual char* getdiskname() const = 0; /* Beschreibung des Interfaces : */ void setrawdev(char* disk); Kopplung des Partab-Objekts an das physikalische Laufwerk mit dem Namen "disk" (Gerätename ohne Directory-Pfad) bool readpartdata(); Einlesen der relevanten Daten der Partitionstabelle und der gegebenenfalls vorhandenen Unterpartionstabellen Funktionswert : - true, wenn erfolgreich - false, wenn nicht erfolgreich PartData* getfirstdata(); Rückgabe eines Pointers auf die PartData-Structure mit den Daten des ersten Partitionstabellen-Eintrags Funktionswert : - Pointer auf erste PartData-Structure, wenn eine existiert - NULL, wenn keine PartData-Structure existiert PartData* getnextdata(); Rückgabe eines Pointers auf die PartData-Structure mit den Daten des jeweils nächsten Partitionstabellen-Eintrags Funktionswert : - Pointer auf nächste PartData-Structure, wenn eine existiert - NULL, wenn keine weitere PartData-Structure existiert char* getdiskname() const; Rückgabe des Gerätenamens des physikalischen Laufwerks Funktionswert : - Pointer auf Geraetename (ohne Directory-Pfad), wenn Partab-Objekt an ein physikalisches Laufwerk gekoppelt ist - NULL, sonst

7 FG TECHNISCHE INFORMATIK U BS TH 02 Praktikum Betriebssysteme 1. Aufgabe (7) Anlage 5 : C++-Headerdatei RawDeviceReader.h : // C++-Header-Datei RawDeviceReader.h // Prakikum Betriebssysteme 1. Aufgabe // Definition der Klasse RawDeviceReader #ifndef _RAWDEVICE_READER_H #define _RAWDEVICE_READER_H #define SECSIZE 512 #define DEV_PATH "/dev/" class RawDeviceReader public : RawDeviceReader(char* disk); ~RawDeviceReader(); bool readsector(unsigned long, char*); private : char* m_pcdevname; // Geräte-Name (ohne Pfad "/dev/") int m_ifd; // File-Deskriptor bool possec(unsigned long sec); // Positionierung auf Sektor mit ASN "sec" /* Beschreibung des Interfaces : */ Konstruktor RawDeviceReader(char* disk); Öffnen des Geräts mit dem Gerätenamen "disk" (Name ohne Dir-Pfad), (Öffnen für Large File Support) "Ablage" des Gerätenamens in der Datenkomponente "m_pcdevname" Destruktor ~RawDeviceReader(); Schließen des Gerätes mit dem Gerätenamen "m_pcdevname" Freigabe des durch "m_pcdevname" referierten Speichers bool readsector(unsigned long sec, char* buff); Einlesen des Sektors mit der ASN "sec" in den durch "buff" referierten Buffer Funktionswert : - true, wenn Lesen erfolgreich war - false, wenn Lesen nicht erfolgreich war

Übungen zu Programmieren 3 (C++) (4-1)

Übungen zu Programmieren 3 (C++) (4-1) BEREICH DATENTECHNIK U CQ 034 01 TH 02 Übungen zu Programmieren 3 (C++) (4-1) Allgemeines Ziel dieser Praktikumsaufgabe ist die Realisierung eines einfachen Telefonbuch-Verwaltungsprogramms mit dem Namen

Mehr

DAP2-Programmierpraktikum Einführung in C++ (Teil 1)

DAP2-Programmierpraktikum Einführung in C++ (Teil 1) DAP2-Programmierpraktikum Einführung in C++ (Teil 1) Carsten Gutwenger 11. April 2008 Lehrstuhl 11 Algorithm Engineering Fakultät für Informatik, TU Dortmund Überblick Mein erstes C++-Programm Namensräume

Mehr

Methoden. von Objekten definiert werden, Methoden,, Zugriffsmethoden und Read-Only

Methoden. von Objekten definiert werden, Methoden,, Zugriffsmethoden und Read-Only Methoden Wie Konstruktoren und Destruktoren zum Auf- und Abbau von Objekten definiert werden, Wie inline-methoden Methoden,, Zugriffsmethoden und Read-Only Only- Methoden einzusetzen sind, Der this-pointer

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

Prüfung aus PROGRAMMIEREN 3 (SS 2003)

Prüfung aus PROGRAMMIEREN 3 (SS 2003) Fachhochschule München Bereich Datentechnik Fachbereich Elektrotechnik und Informationstechnik R. Thomas Prüfung aus PROGRAMMIEREN 3 (SS 2003) Arbeitszeit 90 Minuten 16.Juli 2003 Beliebige eigene Unterlagen

Mehr

Vorkurs C++ Programmierung

Vorkurs C++ Programmierung Vorkurs C++ Programmierung Klassen Letzte Stunde Speicherverwaltung automatische Speicherverwaltung auf dem Stack dynamische Speicherverwaltung auf dem Heap new/new[] und delete/delete[] Speicherklassen:

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

Thema heute: Vererbung und Klassenhierarchien. Abgeleitete Klassen. Vererbung von Daten und Funktionen. Virtuelle Funktionen

Thema heute: Vererbung und Klassenhierarchien. Abgeleitete Klassen. Vererbung von Daten und Funktionen. Virtuelle Funktionen 1 Thema heute: Vererbung und Klassenhierarchien Abgeleitete Klassen Vererbung von Daten und Funktionen Virtuelle Funktionen 2 Vererbung oft besitzen verschiedene Datentypen einen gemeinsamen Kern Beispiel:

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

C++-Zusammenfassung. H. Schaudt. August 18, 2005

C++-Zusammenfassung. H. Schaudt. August 18, 2005 C++-Zusammenfassung H. Schaudt August 18, 2005 1 Datentypen 1.1 Grunddatentypen int (-32xxx bis +32xxx, implementerungs-abhängig) char -128 bis +128 float double bool (C++) int und char sind austauschbar:

Mehr

Vorlesungsprüfung Programmiersprache 1

Vorlesungsprüfung Programmiersprache 1 Vorlesungsprüfung Programmiersprache 1 Termin der Prüfung: 1) Di 20.03.2018 16:15 17:00 HSB 3 2) Di 15.05.2018 16:15 17:00 HSB 3 3) Di 12.06.2018 16:15 17:00 HSB 3 Stoffgebiete: 1) Ganzzahltypen: char,

Mehr

Programmieren II Abstrakte Klassen / Virtuelle Methoden. Programmieren II Abstrakte Klassen / Virtuelle Methoden

Programmieren II Abstrakte Klassen / Virtuelle Methoden. Programmieren II Abstrakte Klassen / Virtuelle Methoden Einleitende Bemerkungen Einleitende Bemerkungen Aspekte Aufbau von sinnvollen Klassenhierarchien Verwaltung von Objekten unterschiedlichen Typs Mitarbeiter Besonderheiten der Anwendung jeder Angehörige

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

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

Klassen. C++ Übung am 02. Juni 2016

Klassen. C++ Übung am 02. Juni 2016 Klassen C++ Übung am 02. Juni 2016 Klassen - der Kern objektorientierter Programmierung - Festlegung der Daten und Funktionen einer Klasse - Deklaration als public oder private - Konstruktoren erzeugen

Mehr

Einführung in die C-Programmierung

Einführung in die C-Programmierung Einführung in die C-Programmierung Warum C? Sehr stark verbreitet (Praxisnähe) Höhere Programmiersprache Objektorientierte Erweiterung: C++ Aber auch hardwarenahe Programmierung möglich (z.b. Mikrokontroller).

Mehr

13. Vererbung. Prof. Dr. François E. Cellier Informatik I für D-ITET (HS 2012)

13. Vererbung. Prof. Dr. François E. Cellier Informatik I für D-ITET (HS 2012) 13. Vererbung Prof. Dr. François E. Cellier Informatik I für D-ITET (HS 2012) Vererbung Konzept Protected Section Virtuelle Mitgliedsfunktionen Verwendung von Vererbung Vererbung Vererbung ist ein Mechanismus,

Mehr

10. Klassen. Prof. Dr. Markus Gross Informatik I für D-ITET (WS 03/04)

10. Klassen. Prof. Dr. Markus Gross Informatik I für D-ITET (WS 03/04) 10. Klassen Prof. Dr. Markus Gross Informatik I für D-ITET (WS 03/04)!Objektorientierte Programmierung!Das Konzept der Klassen!Members!Objekte!Konstruktoren und Destruktoren!this-Pointer!Public und Private

Mehr

Pass by Value Pass by Reference Defaults, Overloading, variable Parameteranzahl

Pass by Value Pass by Reference Defaults, Overloading, variable Parameteranzahl Funktionen Zusammenfassung von Befehlssequenzen als aufrufbare/wiederverwendbare Funktionen in einem Programmblock mit festgelegter Schnittstelle (Signatur) Derartige prozedurale Programmierung erlaubt

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

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

Grundlagen der Programmierung Prof. H. Mössenböck. 10. Klassen

Grundlagen der Programmierung Prof. H. Mössenböck. 10. Klassen Grundlagen der Programmierung Prof. H. Mössenböck 10. Klassen Motivation Wie würde man ein Datum speichern (z.b. 13. November 2004)? 3 Variablen int da; String month; int ear; Unbequem, wenn man mehrere

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

12. Vererbung. Prof. Dr. Markus Gross Informatik I für D-ITET (WS 03/04)

12. Vererbung. Prof. Dr. Markus Gross Informatik I für D-ITET (WS 03/04) 12. Vererbung Prof. Dr. Markus Gross Informatik I für D-ITET (WS 03/04)!Vererbung Konzept!Protected Section!Virtuelle Mitgliedsfunktionen!Verwendung von Vererbung Copyright: M. Gross, ETHZ, 2003 2 Vererbung!

Mehr

Lösung der OOP-Prüfung WS12/13

Lösung der OOP-Prüfung WS12/13 2.1.2013 Lösung der OOP-Prüfung WS12/13 1. Aufgabe a) Da der Konstruktor im protected-bereich steht, können keine eigenständigen Objekte der Klasse angelegt werden. Durch den protected-konstruktor wird

Mehr

Objektbasierte Entwicklung

Objektbasierte Entwicklung Embedded Software Objektbasierte Entwicklung Objektorientierung in C? Prof. Dr. Nikolaus Wulff Objektbasiert entwickeln Ohne C++ wird meist C im alten Stil programmiert. => Ein endlose while-schleife mit

Mehr

II. Grundlagen der Programmierung. 9. Datenstrukturen. Daten zusammenfassen. In Java (Forts.): In Java:

II. Grundlagen der Programmierung. 9. Datenstrukturen. Daten zusammenfassen. In Java (Forts.): In Java: Technische Informatik für Ingenieure (TIfI) WS 2005/2006, Vorlesung 9 II. Grundlagen der Programmierung Ekkart Kindler Funktionen und Prozeduren Datenstrukturen 9. Datenstrukturen Daten zusammenfassen

Mehr

Ziel, Inhalt. Programmieren in C++ Wir lernen wie man Funktionen oder Klassen einmal schreibt, so dass sie für verschiedene Datentypen verwendbar sind

Ziel, Inhalt. Programmieren in C++ Wir lernen wie man Funktionen oder Klassen einmal schreibt, so dass sie für verschiedene Datentypen verwendbar sind Templates und Containerklassen Ziel, Inhalt Wir lernen wie man Funktionen oder Klassen einmal schreibt, so dass sie für verschiedene Datentypen verwendbar sind Templates und Containerklassen 1 Ziel, Inhalt

Mehr

2. Semester, 2. Prüfung, Lösung

2. Semester, 2. Prüfung, Lösung 2. Semester, 2. Prüfung, Lösung Name Die gesamte Prüfung bezieht sich auf die Programmierung in C++! Prüfungsdauer: 90 Minuten Mit Kugelschreiber oder Tinte schreiben Lösungen können direkt auf die Aufgabenblätter

Mehr

Fakultät Angewandte Informatik Programmierung verteilter Systeme 28.11.2011. Übungen zur Vorlesung Informatik II, Blatt 6

Fakultät Angewandte Informatik Programmierung verteilter Systeme 28.11.2011. Übungen zur Vorlesung Informatik II, Blatt 6 WS 2011/12 Fakultät Angewandte Informatik Programmierung verteilter Systeme 28.11.2011 Prof. Dr. Bernhard Bauer Übungen zur Vorlesung Informatik II, Blatt 6 Abgabe: Montag, 05.12.2011, 12.00 Uhr, Informatik

Mehr

Klausur zu Objektorientierter Softwareentwicklung in C++ 4. Februar 2003 (WS 2002/2003) Beispiellösung

Klausur zu Objektorientierter Softwareentwicklung in C++ 4. Februar 2003 (WS 2002/2003) Beispiellösung Klausur zu Objektorientierter Softwareentwicklung in C++ 4. Februar 2003 (WS 2002/2003) Beispiellösung Bearbeitungszeit: 120 Minuten NICHT MIT BLEISTIFT SCHREIBEN!!! Name: Vorname: Matrikelnummer: Aufgabe

Mehr

Installieren von Betriebssystemen

Installieren von Betriebssystemen Einf. in die Betriebssysteme II Praktikum/4 Seite 1 Installieren von Betriebssystemen Aufteilen einer Festplatte in Partitionen Der Speicherplatz einer Festplatte kann in Partitionen (zusammenhängende

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

Objektorientiertes Programmieren mit C++ für Fortgeschrittene

Objektorientiertes Programmieren mit C++ für Fortgeschrittene BEREICH DATENTECHNIK I CQ 300 00 TH 02 Objektorientiertes Programmieren mit C++ für Fortgeschrittene Kapitel 3 3. Mehrfachvererbung 3.1. Eigenschaften und Problematik 3.2. Virtuelle Basisklassen BEREICH

Mehr

c) Zur Ausgabe der Transaktion soll statt print der Operator << verwendet werden.geben Sie die dazu nötigen Änderungen an.

c) Zur Ausgabe der Transaktion soll statt print der Operator << verwendet werden.geben Sie die dazu nötigen Änderungen an. Klausur OOP SS2001 (Gampp) ufgabe 1 (22 Punkte) a) Während einer bargeldlosen Giro-ank Transaktion können eträge zwischen Währungen konvertiert werden. Eine Klasse Transaktion soll solche uchungen beschreiben

Mehr

Funktionen und Parameter

Funktionen und Parameter Funktionen in C++ Funktionen und Parameter Wie in Java: Parameter sind lokale Variablen Argumente werden bei Aufruf zugewiesen Extras: Zeiger-Parameter für alle Typen: als Rückgabewerte um große Kopien

Mehr

7. Übung Informatik II - Objektorientierte Programmierung

7. Übung Informatik II - Objektorientierte Programmierung 7. Übung Informatik II - Objektorientierte Programmierung 29. Mai 2015 Inhalt 1 2 3 Übersicht 1 2 3 Idee Menschen nehmen die Welt in Form von Objekten wahr manche Objekte haben gleiche Eigenschaften, hierüber

Mehr

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

Klausur: Grundlagen der Informatik I, am 06. Februar 2009 Gruppe: A Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr. Seite 1 von 9 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 zu OOP (C++) (6-1)

Praktikum zu OOP (C++) (6-1) FG TECHNISCHE INFORMATIK U OOP 061 01 TA 01 Praktikum zu OOP (C++) (6-1)!!!!! Achtung; Versuch nur mit VS-Studio lösbar (Download siehe Homepage)!!!!! Allgemeines Ziel dieser Praktikumsaufgabe ist die

Mehr

Objektorientiertes Programmieren mit C++ für Fortgeschrittene

Objektorientiertes Programmieren mit C++ für Fortgeschrittene BEREICH DATENTECHNIK I CQ 400 00 TH 02 Objektorientiertes Programmieren mit C++ für Fortgeschrittene Kapitel 4 4. Ergänzungen zur Laufzeitpolymorphie 4.1. Abstrakte Klassen 4.2. Laufzeittypinformation

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 2007/08 Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fakultät für Informatik Lehrstuhl

Mehr

Es ist für die Lösung der Programmieraufgabe nicht nötig, den mathematischen Hintergrund zu verstehen, es kann aber beim Verständnis helfen.

Es ist für die Lösung der Programmieraufgabe nicht nötig, den mathematischen Hintergrund zu verstehen, es kann aber beim Verständnis helfen. Ziele sind das Arbeiten mit Funktionen und dem Aufzählungstyp (enum), sowie - einfache Verzweigung (if else) - Alternativen switch case - einfache Schleifen (while oder do while) Aufgabe 3: Diese Aufgabe

Mehr

Objektorientierte Programmierung mit C++ Vector und List

Objektorientierte Programmierung mit C++ Vector und List Vector und List Ziel, Inhalt Wir lernen die Klassen vector und list aus der Standard-C++ Library kennen und anwenden. In einer Übung wenden wir diese Klassen an um einen Medienshop (CD s und Bücher) zu

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

Objektorientierung: Klassen und Objekte

Objektorientierung: Klassen und Objekte Objektorientierung: Klassen und Objekte Klasse: Beschreibung für eine Menge von Objekten Schablone, Bauplan abstrakte Form Objekt: Instanz einer Klasse konkreter Inhalt (Werte) Klassen bestehen aus Attributen

Mehr

Klausur Programmieren 2 SS 2016

Klausur Programmieren 2 SS 2016 Klausur Programmieren 2 SS 2016 Name Gruppe 1 Vorname Dauer 90 min Matrikelnummer Hilfsmittel keine Die Klausur ist mit 50 Punkten sicher bestanden. Hinweise: Formulieren Sie Ihre Lösungen auf dem Aufgabenblatt

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

Programmieren in C/C++ und MATLAB

Programmieren in C/C++ und MATLAB Programmieren in C/C++ und MATLAB Christian-Albrechts-Universität zu Kiel CAU 9-1 Studentendatei Sie sollen ein Programm zur Verwaltung von Studenten (Büchern, Autos, Supermarktartikeln, etc...) schreiben.

Mehr

FB Informatik. Fehler. Testplan

FB Informatik. Fehler. Testplan Fehler #include int i,n,summe; int summe (int); cout 0) cin>n; i=summme(n); cout

Mehr

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

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf  Seite 1 von 29 Kapitel 2 Einführung in C++ Seite 1 von 29 C++ Zeichensatz - Buchstaben: a bis z und A bis Z. - Ziffern: 0 bis 9 - Sonderzeichen: ; :,. # + - * / % _ \! < > & ^ ~ ( ) { } [ ]? Seite 2 von 29 Höhere Elemente

Mehr

Grundkurs C++ IDE Klassenhierarchien

Grundkurs C++ IDE Klassenhierarchien Grundkurs C++ IDE Klassenhierarchien Martin Knopp 03.05.2017 Folie 1/34 GK C++: IDE, Klassenhierarchien Martin Knopp 03.05.2017 IDE Integrated Development Environment Wir empfehlen: Qt Creator (Bestandteil

Mehr

Übung 9. Quellcode Strukturieren Rekursive Datenstrukturen Uebung 9

Übung 9. Quellcode Strukturieren Rekursive Datenstrukturen Uebung 9 Informatik I 2 Übung 9 Quellcode Strukturieren Rekursive Datenstrukturen Uebung 9 Quellcode Strukturieren Wenn alle Funktionen in einer Datei zusammengefasst sind wird es schnell unübersichtlich Mehrere

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 III - Objektorientierte Programmierung 10. Vererbung und Polymorphie Vererbung und Polymorphie in C++ Seite 2 Klassen können von anderen Klassen

Mehr

In der Computersprache C ist die Standardmethode zur Behandlung von Matrizen durch

In der Computersprache C ist die Standardmethode zur Behandlung von Matrizen durch Kapitel Matrizen in C++ In der Computersprache C ist die Standardmethode zur Behandlung von Matrizen durch 1 const int n=10; 3 double a[n][n]; gegeben. Allerdings gibt es bei dieser Methode eine Reihe

Mehr

Grundkurs C++ IDE Klassenhierarchien

Grundkurs C++ IDE Klassenhierarchien Grundkurs C++ IDE Klassenhierarchien Martin Knopp & Johannes Feldmaier 20.04.2016 Folie 1/35 GK C++: IDE, Klassenhierarchien Martin Knopp & Johannes Feldmaier 20.04.2016 IDE Integrated Development Environment

Mehr

Unterprogramme. Funktionen. Bedeutung von Funktionen in C++ Definition einer Funktion. Definition einer Prozedur

Unterprogramme. Funktionen. Bedeutung von Funktionen in C++ Definition einer Funktion. Definition einer Prozedur Unterprogramme Unterprogramme sind abgekapselte Programmfragmente, welche es erlauben, bestimmte Aufgaben in wiederverwendbarer Art umzusetzen. Man unterscheidet zwischen Unterprogrammen mit Rückgabewert

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

Lösung zur Klausur C++ und Data Mining 16. Juli 2004 (SS 2004)

Lösung zur Klausur C++ und Data Mining 16. Juli 2004 (SS 2004) Lösung zur Klausur C++ und Data Mining 16. Juli 2004 (SS 2004) Bearbeitungszeit: 120 Minuten NICHT MIT BLEISTIFT SCHREIBEN!!! Name: Vorname: Matrikelnummer: E-Mail: Aufgabe 1 2 3 a 3 b 4 5 6 7 8 9 a 9

Mehr

Themen. Formatierte und unformatierte Eingabe Bedingungsoperator Namespaces Kommandozeilenargumente

Themen. Formatierte und unformatierte Eingabe Bedingungsoperator Namespaces Kommandozeilenargumente Themen Formatierte und unformatierte Eingabe Bedingungsoperator Namespaces Kommandozeilenargumente Formatierte Eingabe mit cin Die Formatierung der Eingabe ist der Ausgabe sehr ähnlich: Die Flags werden

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

Programmieren in C. Macros, Funktionen und modulare Programmstruktur. Prof. Dr. Nikolaus Wulff

Programmieren in C. Macros, Funktionen und modulare Programmstruktur. Prof. Dr. Nikolaus Wulff Programmieren in C Macros, Funktionen und modulare Programmstruktur Prof. Dr. Nikolaus Wulff Der C Präprozessor Vor einem Compile Lauf werden alle Präprozessor Kommandos/Makros ausgewertet. Diese sind

Mehr

C++ - Funktionen und mehr. Kerstin Gößner und Ralf Wondratschek

C++ - Funktionen und mehr. Kerstin Gößner und Ralf Wondratschek C++ - Funktionen und mehr Kerstin Gößner und Ralf Wondratschek Übersicht Deklaration, Definition und Initialisierung Variablen- und Konstantendeklaration Funktionsaufrufe und rückgabewerte Technische Grundlage

Mehr

Von Java nach C++ Dr. Frank Weichert Lehrstuhl Informatik VII Technische Universität Dortmund http://ls7-www.cs.uni-dortmund.de

Von Java nach C++ Dr. Frank Weichert Lehrstuhl Informatik VII Technische Universität Dortmund http://ls7-www.cs.uni-dortmund.de Von Java nach C++ Dr. Frank Weichert Lehrstuhl Informatik VII Technische Universität Dortmund http://ls7-www.cs.uni-.de Von Java nach C++, Lehrstuhl Informatik VII, TU Dortmund 1 Übersicht Einleitung Literatur

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

Grundlagen. Kapitel 1

Grundlagen. Kapitel 1 Grundlagen Dieses Kapitel umfasst grundlegende Fragen und Aufgaben zur Erstellung von C++-Programmen. Hierzu zählen auch das Inkludieren von Header-Dateien Eine Header-Datei beinhaltet Informationen, die

Mehr

Programmierkurs C/C++

Programmierkurs C/C++ Blockkurs: "Einführung in C/C++" Programmierkurs C/C++ Donnerstag Sandro Andreotti andreott@inf.fu-berlin.de WS 2008/09 1 Structs Blockkurs: "Einführung in C/C++" 2 Structs sind Bündel von Variablen (unter

Mehr

Objektorientierte Programmierung

Objektorientierte Programmierung Objektorientierte Programmierung 1 Geschichte Dahl, Nygaard: Simula 67 (Algol 60 + Objektorientierung) Kay et al.: Smalltalk (erste rein-objektorientierte Sprache) Object Pascal, Objective C, C++ (wiederum

Mehr

Übungen zu Programmieren 3 (C++) (4-1)

Übungen zu Programmieren 3 (C++) (4-1) FG TECHNISCHE INFORMATIK U CQ 034 01 TA 01 Übungen zu Programmieren 3 (C++) (4-1) Allgemeines Ziel dieser Praktikumsaufgabe ist die Realisierung eines einfachen Telefonbuch-Anzeigeprogramms unter Einsatz

Mehr

Einführung in das Objektorientierte Programmieren mit C++

Einführung in das Objektorientierte Programmieren mit C++ BEREICH DATENTECHNIK I CP 500 00 TH 02 Einführung in das Objektorientierte Programmieren mit C++ Kapitel 5 5. Überladen von Operatoren 5.1. Allgemeines 5.2. Operator-Funktionen 5.3. Zuweisungs-Operator

Mehr

Vergleich verschiedener OO-Programmiersprachen

Vergleich verschiedener OO-Programmiersprachen Vergleich verschiedener OO-Programmiersprachen - Schnellumstieg in 15 Minuten - C++ Java Visual C++ C# Programmbeispiel in Visual C++, C#, Java und C++ Dr. Ehlert, Juni 2012 1 Inhaltsverzeichnis 1. Problemstellung

Mehr

Objektorientierte Programmierung mit C++ SS 2007

Objektorientierte Programmierung mit C++ SS 2007 Objektorientierte Programmierung mit C++ SS 2007 Andreas F. Borchert Universität Ulm 5. Juni 2007 Polymorphismus #include Function.h class Function { public: virtual ~Function() {}; virtual std::string

Mehr

Info-2, Klausurvorbereitung, SS 2016

Info-2, Klausurvorbereitung, SS 2016 Info-2, Klausurvorbereitung, SS 2016 Die folgenden Fragen dienen der Vorbereitung auf die Klausur. Die hier gestellten Aufgaben sind umfangreicher als in der Klausur. In der Klausur sind die Fragen schriftlich,

Mehr

Grundlagen der Informatik 12. Strukturen

Grundlagen der Informatik 12. Strukturen 12. Strukturen Strukturen und deren Komponenten Strukturen im Projekt Dynamisch erstellte Strukturen Strukturen und Operatoren Strukturen und Funktionen Einfach verkettete Liste Grundlagen der Informatik

Mehr

Einführung in das Objektorientierte Programmieren mit C++

Einführung in das Objektorientierte Programmieren mit C++ BEREICH DATENTECHNIK I CP 700 00 TH 03 Einführung in das Objektorientierte Programmieren mit C++ Kapitel 7 7. Laufzeit-Polymorphie 7.1. Frühes und spätes Binden 7.2. Virtuelle Funktionen FG TECHNISCHE

Mehr

C++ Notnagel. Ziel, Inhalt. Programmieren in C++

C++ Notnagel. Ziel, Inhalt. Programmieren in C++ C++ Notnagel Ziel, Inhalt Ich versuche in diesem Dokument noch einmal die Dinge zu erwähnen, die mir als absolut notwendig für den C++ Unterricht und die Prüfungen erscheinen. C++ Notnagel 1 Ziel, Inhalt

Mehr

SimpleStat mit Methoden

SimpleStat mit Methoden SimpleStat mit Methoden Als Ausgangspunkt nehmen wir folgende Definition (Version 1) von SimpleStat: double sum2; -Quadrate Dieser Objekttyp verfügt über keine Methoden und alle Datenattribute sind public.

Mehr

Zusammengesetzte Datentypen -- Arrays und Strukturen

Zusammengesetzte Datentypen -- Arrays und Strukturen Zusammengesetzte Datentypen -- und Strukturen Informatik für Elektrotechnik und Informationstechnik Benedict Reuschling benedict.reuschling@h-da.de Hochschule Darmstadt Fachbereich Informatik WS 2013/14

Mehr

4. Objektorientierte Programmierung mit C++

4. Objektorientierte Programmierung mit C++ 4. Objektorientierte Programmierung mit C++ Einführung C++ / Entwicklung der Sprachfamilie Erweiterungen der Sprache C: Ein- und Ausgabe, Referenzen, Speicherallokation und Freigabe Grundlagen des Typkonzepts

Mehr

Name: Klausur Informatik III WS 2003/04

Name: Klausur Informatik III WS 2003/04 1 : Methodenimplementierung ca. 42 Punkte Gegeben ist die Klasse Mitarbeiter. Listing 1: (./Code1/Mitarbeiter.h) using namespace std; // globale Variable fuer Ausgabedatei // kann entsprechend

Mehr

Grundlagen C und C++ Einheit 03: Grundlagen in C++ Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme

Grundlagen C und C++ Einheit 03: Grundlagen in C++ Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Grundlagen C und C++ Einheit 03: Grundlagen in C++ Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Teil 1: Wiederholung C Heutige Agenda Nutzereingaben verarbeiten Teil 2: Grundlagen in C++ Erstes

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

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

2.4 Das erste C++-Programm *

2.4 Das erste C++-Programm * 2.4 Das erste C++-Programm * 11 2.4 Das erste C++-Programm * Den besten Lernerfolg erzielen Sie, wenn Sie alle Beispiele dieses Buchs selbst nachvollziehen. Sie können hierzu einen Compiler verwenden,

Mehr

Polymorphismus 179. Function.h. #include <string>

Polymorphismus 179. Function.h. #include <string> Polymorphismus 179 #include Function.h class Function { public: virtual ~Function() {}; virtual std::string get_name() const = 0; virtual double execute(double x) const = 0; }; // class Function

Mehr

4 Schleifen und Dateien

4 Schleifen und Dateien 4 Schleifen und Dateien 4.1 Übungsaufgabe 4.1.1 Aufgabe 1 Schreiben Sie drei C++ Programme: pword_for.cxx, pword_while.cxx, pword_do.cxx. Die Programme sollen den Benutzer höchstens 5 Mal nach einem Passwort

Mehr

virtual Wertpapier& operator=(const Wertpapier&); // VIRTUELLE ZUWEISUNG protected: static enum {wortfeldlaenge = 20}; char* name_z; double kurs; };

virtual Wertpapier& operator=(const Wertpapier&); // VIRTUELLE ZUWEISUNG protected: static enum {wortfeldlaenge = 20}; char* name_z; double kurs; }; C++ für Anfänger des Programmierens Rieckeheer GSO-Hochschule Nürnberg März 2008 174 a neu Vor Kapitel 24 ist folgender Text einzufügen. Das folgende Programm variiert das Programm VIRTfunktion3.cpp und

Mehr

Funktionen Häufig müssen bestimmte Operationen in einem Programm mehrmals ausgeführt werden. Schlechte Lösung: Gute Lösung:

Funktionen Häufig müssen bestimmte Operationen in einem Programm mehrmals ausgeführt werden. Schlechte Lösung: Gute Lösung: Funktionen Häufig müssen bestimmte Operationen in einem Programm mehrmals ausgeführt werden. Schlechte Lösung: Der Sourcecode wird an den entsprechenden Stellen im Programm wiederholt Programm wird lang

Mehr

Von Java nach C++ Frank Weichert, Heinrich Müller Informatik VII Universität Dortmund http://ls7-www.cs.uni-dortmund.de

Von Java nach C++ Frank Weichert, Heinrich Müller Informatik VII Universität Dortmund http://ls7-www.cs.uni-dortmund.de Von Java nach C++ Frank Weichert, Heinrich Müller Informatik VII Universität Dortmund http://ls7-www.cs.uni-dortmund.de Von Java nach C++, LS VII, Universität Dortmund, SS 2006 1 Übersicht Einleitung Literatur

Mehr

Klausur: Grundlagen der Informatik I, am 05. Februar 2008 Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr.: Punkte:

Klausur: Grundlagen der Informatik I, am 05. Februar 2008 Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr.: Punkte: Seite 1 von 8 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 ( / 10 Pkt.) a) Geben

Mehr

Hydroinformatik I: Klassen

Hydroinformatik I: Klassen Hydroinformatik I: Klassen Prof. Dr.-Ing. habil. Olaf Kolditz 1 Helmholtz Centre for Environmental Research UFZ, Leipzig 2 Technische Universität Dresden TUD, Dresden Dresden, 11. November 2016 1/20 Prof.

Mehr

Einführung Datentypen Verzweigung Schleifen Funktionen Dynamische Datenstrukturen. Java Crashkurs. Kim-Manuel Klein (kmk@informatik.uni-kiel.

Einführung Datentypen Verzweigung Schleifen Funktionen Dynamische Datenstrukturen. Java Crashkurs. Kim-Manuel Klein (kmk@informatik.uni-kiel. Java Crashkurs Kim-Manuel Klein (kmk@informatik.uni-kiel.de) May 7, 2015 Quellen und Editoren Internet Tutorial: z.b. http://www.java-tutorial.org Editoren Normaler Texteditor (Gedit, Scite oder ähnliche)

Mehr

Von der UML nach C++

Von der UML nach C++ 22 Von der UML nach C++ Dieses Kapitel behandelt die folgenden Themen: Vererbung Interfaces Assoziationen Multiplizität Aggregation Komposition Die Unified Modeling Language (UML) ist eine weit verbreitete

Mehr

Klausur in Programmieren

Klausur in Programmieren Studiengang Sensorik/Sensorsystemtechnik Note / normierte Punkte Klausur in Programmieren Sommer 2009, 16. Juli 2009 Dauer: 1,5h Hilfsmittel: Keine (Wörterbücher sind auf Nachfrage erlaubt) Name: Matrikelnr.:

Mehr

Die Programmiersprache C99: Zusammenfassung

Die Programmiersprache C99: Zusammenfassung Die Programmiersprache C99: Zusammenfassung Jörn Loviscach Versionsstand: 7. Dezember 2010, 19:30 Die nummerierten Felder sind absichtlich leer, zum Ausfüllen in der Vorlesung. Videos dazu: http://www.youtube.com/joernloviscach

Mehr

Informatik I (D-MAVT)

Informatik I (D-MAVT) Informatik I (D-MAVT) Übungsstunde 1 simon.mayer@inf.ethz.ch Distributed Systems Group, ETH Zürich kurze Stunden mit Stoffueberblick -> mehr Zeit fuer Fragen This semester s menu... Imperative Programmierung

Mehr

Klausur Programmieren 1 SS 2017

Klausur Programmieren 1 SS 2017 Klausur Programmieren 1 SS 2017 Name Gruppe 1 Vorname Dauer 90 min Matrikelnummer Hilfsmittel keine Die Klausur ist mit 50 Punkten sicher bestanden. Hinweies: Voraussetzung für die Teilnahme ist das Bestehen

Mehr

Klausur Informatik WS 2012/13

Klausur Informatik WS 2012/13 Klausur Informatik WS 2012/13 Name Gruppe 1 Vorname Dauer 90 min Matrikelnummer Hilfsmittel keine Die Klausur ist mit 50 Punkten sicher bestanden. Hinweies: Voraussetzung für die Teilnahme ist das Bestehen

Mehr

Einleitung. Informationsquellen: - Webseite zur Vorlesung, Abschnitt Informationen zu C und C++ Kurzeinführung in C/C++

Einleitung. Informationsquellen: - Webseite zur Vorlesung, Abschnitt Informationen zu C und C++ Kurzeinführung in C/C++ Informationsquellen: - Webseite zur Vorlesung, Abschnitt Informationen zu C und C++ 1 Einleitung Vorteile von Java: gut strukturiert mit hohem Funktionsumfang (mächtige Standardbibliothek) weitestgehend

Mehr

Ausgabe bei a=24, b=5: Aufgabe 1 (C0 - Schleifen) Objektorientierte Programmierung 1

Ausgabe bei a=24, b=5: Aufgabe 1 (C0 - Schleifen) Objektorientierte Programmierung 1 Objektorientierte Programmierung 1 Aufgabe 1 (C0 - Schleifen) 2 Punkte Was gibt das folgende Programm bei der Eingabe a = 24 und b = 5 aus? prog aufgabe1 int a; int b; print("bitte geben Sie a ein: \n");

Mehr

Klausur in Programmieren

Klausur in Programmieren Studiengang Sensorik/Sensorsystemtechnik Note / normierte Punkte Klausur in Programmieren Wintersemester 2010/11, 17. Februar 2011 Dauer: 1,5h Hilfsmittel: Keine (Wörterbücher sind auf Nachfrage erlaubt)

Mehr