Praktikum OOP/C++ - Versuch 5
|
|
- Nelly Salzmann
- vor 6 Jahren
- Abrufe
Transkript
1 Seite 1 vn 5 Allgemeines Die Elektrifizierung im Autmbilbereich nimmt immer mehr zu. Das heißt, es kmmen immer mehr Elektrmtren und verbraucher zum Einsatz. Es ist ein Prgramm in C++ zu entwickeln, das zur Berechnung der maximal benötigten Leistung für slche Verbraucher dient. Diese sllen zu Baugruppen zusammengefügt werden können. Baugruppen ihrerseits sllen aber swhl Unterbaugruppen als auch Verbraucher zusammenfassen können. Dies wird in Ihrem Prjekt mithilfe zweier knkreter Klassen unter Verwendung des Entwurfsmusters Cmpsite realisiert. Lad Assembly Verbraucher (Elektrmtr, Pumpe,. ä.) Baugruppe Sie sind alle vn der abstrakten Klasse Cmpnent abgeleitet (s. Beiblatt Cmpnent.h). Erklärung der Datenkmpnente in Cmpnent: m_sname Beliebiger symblische Name der Kmpnente, der durch den Knstruktr festgelegt wird. Die schematische Beispieldarstellung einer Scheibenwischanlage mit Elektrmtren und Spritzwasserpumpe wird nachflgend dargestellt.!"#$ %&'()*++!"#$,&-.* / / !"#$ 9:.+*. / /012 8< 77 ; ; 6
2 Seite 2 vn 5 Teil 1 - Klassendiagramm Erstellen Sie ein Klassendiagramm, das die Beziehungen der Klassen Cmpnent, Assembly und Lad zueinander darstellt. Die Anzahl, der an der Beziehung beteiligten Objekte (multiplicity) und ggf. vrhandene Navigatinsrichtungen sllen erkennbar sein. Das Klassendiagramm sll Ihren Sftwareentwicklungsprzess begleiten und am Ende alle Datenkmpnenten und Klassenmethden beinhalten. Teil 2 Klasse Lad Realisieren Sie die Klasse Lad in den Dateien Lad.h und Lad.cpp. Die Klasse besitzt 2 Datenkmpnenten vm Typ flat: m_dpwerout Durch den Knstruktr festgelegte Nutzleistung des Verbrauchers. m_defficiency Durch den Knstruktr festgelegter Wirkungsgrad des Verbrauchers. Flgende Methden sllen vn Ihnen realisiert werden: Knstruktr: Setzen der Datenkmpnenten (in der Reihenflge: Name der Kmpnente, Nutzleistung des Verbrauchers und Wirkungsgrad) über die Initialisierungsliste. Welche Datenkmpnente kann nur über die Initialisierungsliste festgelegt werden? flat getpwerout() cnst flat getefficiency() cnst Rückgabe der Inhalte der entsprechenden Datenkmpnenten. flat cnsumptin() cnst Die Methde liefert die max. benötigte Leistung des Verbrauchers. Sie wird aus der Nutzleistung m_dpwerout und dem Wirkungsgrad m_defficiency berechnet. Hat der Wirkungsgrad den Wert 0.0, s ist eine lgic_errr-exceptin der Standardbiblithek mit der Meldung "Efficiency must nt be 0." zu werfen. Die benötigte Leistung wird mithilfe der Frmel Pin=Put/n errechnet und an den Aufrufer zurückgegeben. vid cllectalllads(cmpnent::cllectin &) Mithilfe der Methde wird der Verbraucher einem Cmpnent::Cllectin-Objekt übergeben. Dieser Cntainer wird der Funktin als Parameter übergeben. Sie fügt nur den Zeiger des aktuellen Objekts an das Ende des übergebene Cntainers hinzu. Flgende freie Funktinen sllen vn Ihnen zusätzlich realisiert werden: bl peratr<(cnst Lad &, cnst Lad &) Die Methde liefert true, wenn die benötigte Leistung (nicht die Nutzleistung!) des Verbrauchers im ersten Parameter kleiner als die im zweiten Parameter ist. Es ist nur eine return-anweisung erlaubt. stream &peratr<<(stream &, cnst Cmpnent::Cllectin &) Die Methde gibt die relevanten Daten aller im Cntainer (2. Parameter) befindlichen Kmpnenten geeignet auf das stream-objekt (1. Parameter) aus. Pr Zeile werden der Name und die benötigte Leistung (nicht die Nutzleistung!) eines Verbrauchers des Cntainers ausgegeben. Dies wird für alle im Cntainer befindlichen Verbraucher ausgeführt. Der Cntainer ist mit einem geeigneten Iteratr zu durchlaufen.
3 Seite 3 vn 5 Teil 2 (Frtsetzung) Klasse Assembly Generelle Hinweise: Ein Objekt der Klasse Assembly besitzt eine Liste vn Zeigern auf Cmpnent-Objekte, smit ist es z. B. möglich einen Verbraucher der eine weitere Baugruppe dem Objekt hinzuzufügen. Diese Liste ist vm Typ CmpnentList. Zur Definitin des Typs fügen Sie die flgenden Zeilen in die Headerdatei der Klasse an geeigneter Stelle ein: #include <list> typedef std::list<cmpnent *> CmpnentList; Da CmpnentList mithilfe eines std::list-cntainers realisiert wird, kann ein Objekt (Teilbaugruppe bzw. Verbraucher) auch mehrfach zu einem Assembly-Objekt hinzugefügt werden. Zum Hinzufügen einer Kmpnente in diese Liste wird die Methde addcmpnent() verwendet. Entfernen geschieht mit remvecmpnent(). Realisieren Sie die Klasse Assembly in den Dateien Assembly.h und Assembly.cpp. Die Klasse besitzt eine Datenkmpnenten: m_list Cntainer der für diese Baugruppe Zeiger auf Unterbaugruppen bzw. Verbraucher beinhaltet. Flgende Methden sllen vn Ihnen realisiert werden: Knstruktr: Setzen der Datenkmpnente (Name der Baugruppe/Assembly). vid addcmpnent(cmpnent *cmp) Hinzufügen der durch cmp referierten Kmpnente (Baugruppe der Verbraucher) in die im Objekt enthaltene Kmpnentenliste. Wird 0 (bzw. NULL) als Zeiger übergeben werden, s ist eine lgic_errr-exceptin der Standardbiblithek mit der Meldung "Nullpinter cannt be added!" zu werfen. Andernfalls wird der Zeiger auf die Kmpnente der Kmpnentenliste m_list hinzugefügt. CmpnentList::size_type remvecmpnent(cmpnent *cmp) Entfernen der durch cmp referierten Kmpnente(n) aus der Kmpnentenliste m_list. Wird 0 (bzw. NULL) als Zeiger übergeben werden, dann sllen alle Elemente der Liste entfernt werden. Die Anzahl der gelöschten Einträge sll zurückgegeben werden. Hinweis: Zur Ermittlung des Rückgabewertes sllten Sie die Anzahl der in der Liste enthalten Elemente vr und nach der Löschperatin verwenden. flat cnsumptin() cnst Ermittelt die benötigte Gesamtleistung der Baugruppe "n-the-fly", wenn alle Verbraucher gleichzeitig betrieben werden. Der Rückgabewert stellt die Summe der benötigten Leistungen (nicht die Nutzleistung!) der in m_list befindlichen Unterkmpnenten dar. Der Cntainer ist mit einem geeigneten Iteratr zu durchlaufen, um die Einzelleistungswerte der Unterkmpnenten zu ermitteln. vid cllectalllads(cmpnent::cllectin &cll) Fügt alle in der durch das Objekt dargestellten Baugruppe befindlichen Lad-Unterkmpnenten (rekursiv) dem übergebenen Cmpnent::Cllectin-Objekt unsrtiert hinzu. Die Liste m_list ist mit einem geeigneten Iteratr zu durchlaufen und führt die Methde cllectalllads() der entsprechenden Unterkmpnente auf.
4 Seite 4 vn 5 Teil 3 Hauptprgramm und Ergänzungen Überprüfung Ihrer Implementierung Testen Sie die vn Ihnen erstellten Klassen Cmpnent, Lad und Assembly mithilfe dem zur Verfügung gestellten Mdul versuch5.cpp, das die main-funktin beinhaltet. Ergänzungen Ihr Prjekt sll nun um zwei weitere freie Funktinen ergänzt werden, die in der Datei Lad2.cpp implementiert werden. Die dazugehörige Headerdatei Lad2.h ist gegeben und hat flgenden Inhalt: #ifndef _LOAD2_H_ #define _LOAD2_H_ #include "Lad.h" #include <set> using namespace std; typedef set<lad> LadSet; LadSet transfercllectin(cnst Cmpnent::Cllectin &cll); stream &peratr<<(stream &, cnst LadSet &); #endif LadSet transfercllectin(cnst Cmpnent::Cllectin &cll) Diese freie Funktin transferiert den kmpletten Inhalt des übergebenen Cmpnent::Cllectin-Objekts in einen Cntainer des Typs LadSet. Beachten Sie, dass die Elemente einer Cmpnent::Cllectin Zeiger auf Cmpnent Objekte sind. Während in den Cntainer LadSet Objekte vm Typ Lad abgelegt werden. Welche Standard-Exceptin kann durch die ntwendige Typumwandlung in Referenzen auf Lad-Objekte gewrfen werden? stream &peratr<<(stream &, cnst LadSet &) Die Methde gibt die relevanten Daten aller im Cntainer (2. Parameter) befindlichen Kmpnenten geeignet auf das stream-objekt (1. Parameter) aus. Pr Zeile wird der Name und die benötigte Leistung (nicht die Nutzleistung!) eines Verbrauchers des Cntainers ausgegeben. Dies wird für alle im Cntainer befindlichen Verbraucher ausgeführt. Der Cntainer ist mit einem geeigneten Iteratr zu durchlaufen. Ergänzen Sie die Funktin main() nun s, dass die zuvr gesammelten Verbraucher in einen LadSet-Cntainer übertragen und ausgegeben werden. Diskutieren Sie die Unterschiede in der Ausgabe und beantwrten Sie flgende Fragen: Warum wird der Verbraucher P1 nur einmal ausgegeben, bwhl er zweimal in der Baugruppe kmplett vrkmmt? Welche Funktin legt fest, nach welchem Kriterium die Lad-Objekte srtiert im LadSet-Cntainer abgelegt werden?
5 Seite 5 vn 5 Beiblatt - Cmpnent.h // Cmpnent.h: Schnittstelle für die Klasse Cmpnent. ////////////////////////////////////////////////////////////////////// #ifndef _COMPONENT_H_ #define _COMPONENT_H_ #include <string> #include <vectr> using namespace std; class Cmpnent { string m_sname; public: typedef vectr<cmpnent *> Cllectin; // Typdefinitin fuer // cllectalllads() Cmpnent(cnst string &name) : m_sname(name) { } virtual flat cnsumptin() cnst = 0; virtual vid cllectalllads(cllectin &) = 0; string getname() cnst { return m_sname; } }; virtual ~Cmpnent(vid) { }; #endif
Prüfung in PROGRAMMIEREN 3 WS 2006/07
Seite 1 von 6 Prüfung in PROGRAMMIEREN 3 WS 2006/07 Arbeitszeit: 90 min 1.02.2007 Hilfsmittel: beliebige eigene Das Aufgabenblatt bitte abgeben! Name: Viel Erfolg! Allgemeines Es ist ein Programm in C++
MehrHochschulprüfung in "Objektorientiertem Programmieren" SS 2017
Seite 1 von 6 Hochschulprüfung in "Objektorientiertem Programmieren" SS 2017 Arbeitszeit: 90 min 7.07.2017 Hilfsmittel: beliebige eigene schriftliche - kein TR Das Aufgabenblatt bitte abgeben! Name: 1.
MehrHochschulprüfung in "Objektorientiertem Programmieren" WS 2016/17
Seite 1 von 5 Hochschulprüfung in "Objektorientiertem Programmieren" WS 2016/17 Arbeitszeit: 90 min 23.01.2017 Hilfsmittel: beliebige eigene schriftliche - kein TR Das Aufgabenblatt bitte abgeben! Name:
MehrLö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Ü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Übung Notendarstellung
Übung Notendarstellung Einführung Unsere Zeichenfläche hat einige Erweiterungen erfahren, die wir heute nutzen wollen um eine Notendarstellung zu erhalten. Insbesondere hat gibt es nun die Möglichkeit
MehrPrüfung aus PROGRAMMIEREN (2) (C++) (WS 2002/03)
Fachhochschule München Bereich Datentechnik Fachbereich Elektrotechnik und Informationstechnik A. Irber / R. Thomas Prüfung aus PROGRAMMIEREN (2) (C++) (WS 2002/03) Arbeitszeit 90 Minuten 27.Januar 2003
MehrC++ - 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
MehrPolymorphismus 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
MehrPolymorphismus 44. Function.hpp. #include <string>
Polymorphismus 44 #include Function.hpp class Function { public: virtual ~Function() {}; virtual const std::string& get_name() const = 0; virtual double execute(double x) const = 0; }; // class
MehrName: 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
MehrGrundlagen der Informatik
Grundlagen der Informatik Klausur 1. August 2008 1. Dynamische Datenstrukturen und objektorientierte Programmierung (45 Punkte) Gegeben sei eine Datenstruktur mit folgendem Aufbau struct lelem { int w;
MehrObjektorientierte 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
MehrAbend 4 Übung : Erweitern von Klassen durch Vererbung
Abend 4 Übung : Erweitern von Klassen durch Vererbung Ziel, Inhalt Wir erweitern die Klassen, die wir zum Zeichnen mit TsuZeichnen verwenden. Dabei wenden wir die Vererbung an um die Klassen zu spezialisieren
MehrHochschulprüfung in objektorientiertes Programmieren WS 2014/15
Seite 1 von 8 Hochschulprüfung in objektorientiertes Programmieren WS 2014/15 Arbeitszeit: 90 min 28.01.2015 Hilfsmittel: beliebige eigene Das Aufgabenblatt bitte abgeben! Name: 1. Aufgabe Java (14) Viel
Mehrwindata SEPA-API Basic / Pro Dokumentation
windata SEPA-API Basic / Pr Dkumentatin Versin v1.8.0.0 11.11.2014 windata GmbH & C. KG windata GmbH & C.KG Gegenbaurstraße 4 88239 Wangen im Allgäu windata SEPA-API Basic / Pr - Dkumentatin Inhaltsverzeichnis
Mehr8 Baum in perfekter Komposition
8 Baum in perfekter Komposition Die Implementierung des Binärbaums im letzten Kapitel wird mithilfe des Entwurfsmusters Kompositum optimiert. Knoten und Abschluss Bei der einfach verketteten Liste wurde
MehrComputergrundkenntnisse und Programmieren, WS 07/08, Übung 11: Klassen der Standardbibliothek 2
Computergrundkenntnisse und Programmieren, WS 07/08, Übung 11: Klassen der Standardbibliothek 2 Neben vector ist list die zweite wichtige Containerklasse. Um unsere Kenntnisse von Containerklassen zu erweitern,
MehrThema 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:
MehrHochschule München, FK03 SS Masterstudiengang Technische Berechnung und Simulation. Programmierung von CAx-Systemen Teil 1
Hochschule München, FK03 SS 2018 Masterstudiengang Technische Berechnung und Simulation Programmierung von CAx-Systemen Teil 1 Name Vorname Matrikelnummer Aufgabensteller: Hilfsmittel: Dr. Reichl, Dr.
MehrÜbung zur Vorlesung EidP (WS 2018/19) Blatt 4
Lutz Oettershagen Jurij Kuzmic Dortmund, den 8. November 2018 Übung zur Vorlesung EidP (WS 2018/19) Blatt 4 Block gelb Es können 4 Punkte erreicht werden. Abgabedatum: 15. November 2018, 2:59 Uhr Hinweise
MehrLösung - Hochschulprüfung in "Objektorientiertem Programmieren" WS 2016/17
Seite 1 von 7 Lösung - Hochschulprüfung in "Objektorientiertem Programmieren" WS 2016/17 Arbeitszeit: 90 min 23.01.2017 Hilfsmittel: beliebige eigene schriftliche - kein TR Das Aufgabenblatt bitte abgeben!
MehrObjektorientierung Grundlagen
Prof. Dr.-Ing. Andreas Simon Telefon +49 (0)5331 939 42630 Telefax +49 (0)5331 939 43634 E-Mail a.simon@ostfalia.de Objektorientierung Grundlagen Probeklausur 18. Mai 2015 Name: Mat.-Nr.: Vorname: Login:
MehrProgrammieren in C. Rekursive Strukturen. Prof. Dr. Nikolaus Wulff
Programmieren in C Rekursive Strukturen Prof. Dr. Nikolaus Wulff Rekursive Strukturen Häufig müssen effizient Mengen von Daten oder Objekten im Speicher verwaltet werden. Meist werden für diese Mengen
MehrSimpleStat 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.
MehrKlassen. 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
MehrSoftware Entwicklung 1
Software Entwicklung 1 Annette Bieniusa / Arnd Poetzsch-Heffter AG Softech FB Informatik TU Kaiserslautern Fallstudie: Lauftagebuch Bieniusa/Poetzsch-Heffter Software Entwicklung 1 2/ 21 Erstellen einer
MehrEs 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 Zeigern, sowie Records und Funktionen Aufgabe 5: Diese Aufgabe basiert auf der Aufgabe 4. Es ist ein Programm zu erstellen, in welchem der Anwender aus einer Anzahl möglicher
MehrEin kleiner Blick auf die generische Programmierung
TgZero Technik.Blosbasis.net June 3, 2013 1 Inhaltsverzeichnis 1 Vorwort 3 2 Ein kleines Beispiel 3 3 Templates 3 4 Verschiedene Datentypen 4 5 Variadic Templates 5 6 Unterschied zwischen den Programmiersprachen
MehrHochschule München, FK 03 SS Masterstudiengang Technische Berechnung und Simulation. Programmierung von CAx-Systemen Teil 1
Masterstudiengang Technische Berechnung und Simulation Programmierung von CAx-Systemen Teil 1 Name Vorname Matrikelnummer Aufgabensteller: Dr. Reichl, Dr. Küpper Hilfsmittel: Taschenrechner nicht zugelassen,
MehrTacton keytech Integration
Tactn keytech Integratin Herausfrderungen und Lösungen Ausgabedatum: 27.09.2013 - Dkumentversin: 1.0 Autr: Clemens Ambrsius Cpyright Lin GmbH 2013 Alle Rechte vrbehalten Seite 1 1 Einführung Bei vielen
MehrKlausur im WS 2003/04 : Informatik III
Dr.-Ing. Hartmut Helmke Fachhochschule Braunschweig/Wolfenbüttel Fachbereich Informatik Matrikelnummer: Punktzahl: Ergebnis: Freiversuch F1 F2 F3 Klausur im WS 2003/04 : Informatik III Hilfsmittel sind
MehrAngewandte Mathematik in OOP WS 2011/12. Abschluss-Test
Angewandte Mathematik in OOP WS 2011/12 Abschluss-Test 012 6 5 4 5 6 Aufgabe 1 (9 Punkte 1 Punkt je Antwort) Bitte jeweils eine Antwort ankreuzen (je nach Fragestellung die richtige oder falsche): a.)
MehrKapitel 8 ABSTRAKTE DATENTYPEN. Algorithmen & Datenstrukturen Prof. Dr. Wolfgang Schramm
Kapitel 8 ABSTRAKTE DATENTYPEN Algrithmen & Datenstrukturen Prf. Dr. Wlfgang Schramm Übersicht 1 1. Einführung 2. Algrithmen 3. EigenschaCen vn Prgrammiersprachen 4. Algrithmenparadigmen 5. Suchen & SrJeren
MehrC++ 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
MehrInformatik I Eprog HS12
software evolution & architecture lab Informatik I Eprog HS12 Übung 11 1 Aufgabe: Interfaces & Visitor-Pattern 1.1 Lernziele 1. Die Verwendung von Interfaces trainieren. 2. Das Visitor Design-Pattern kennenlernen.
MehrNachklausur: Grundlagen der Informatik I, am 02. April 2008 Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr.
Seite 1 von 10 Hiermit bestätige ich, dass ich die Übungsleistungen als Voraussetzung für diese Klausur in folgender Übung erfüllt habe. Jahr: Übungsleiter: Unterschrift: 1. Aufgabe ( / 6 Pkt.) a) Erklären
MehrNachklausur: Grundlagen der Informatik I, am 02. April 2008 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 ( / 4 Pkt.) Gegeben
MehrProgrammieren 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
MehrADT: Verkettete Listen
ADT: Verkettete Listen Abstrakter typ - Definition public class Bruch{ int zaehler, nenner; public Bruch(int zaehler, int nenner) { this.zaehler = zaehler; this.nenner = nenner; Konstruktor zum Initialisieren
MehrZiele sind das Arbeiten mit Funktionen (Modularisierung, Parameterübergabe), sowie - Reihentyp (Array)
Ziele sind das Arbeiten mit Funktionen (Modularisierung, Parameterübergabe), sowie - Aufgabe 3: Diese Aufgabe baut auf der 2. Aufgabe auf und erweitert diese. Die Funktionalität der 2. Aufgabe wird also
MehrAufgaben NF 11; Seite 1
Aufgabe Ref 1: Gegeben ist die Klasse Schueler public class Schueler { private String name, vorname, kurs; // Konstruktor public Schueler(String n, String vn, String k) { name=n; vorname=vn; kurs=k; public
MehrPraktikum OOP/C++ - Versuch 4
Seite 1 von 6 Praktikum OOP/C++ - Versuch 4 Allgemeines In C/C++ wird die aktuelle Systemzeit über den Ganzzahlentyp time_t (s. Headerdatei bzw. ) in Sekunden seit 1.01.1970 0:00 Uhr UTC
MehrC++ - Objektorientierte Programmierung Polymorphie
C++ - Objektorientierte Programmierung Polymorphie hat eine Kantenlänge hat eine Füllfarbe Kantenlänge setzen Füllfarbe lesen Volumen berechnen C++ - Objektorientierte Programmierung 21.06.16 Seite 1 Polymorphie
MehrHochschule Darmstadt Informatik-Praktikum SS 2018 EIT Bachelor 3. Aufgabenblatt Funktionen - Unterprogramme
Ziel ist die Aufteilung eines Programms in Funktionen und Dateien Aufgabe 3: Diese Aufgabe ist die Weiterentwicklung von Aufgabe 2. Es ist ein Programm zu erstellen, in welchem der Anwender aus einer Anzahl
MehrMethoden. Gerd Bohlender. Einstieg in die Informatik mit Java, Vorlesung vom
Einstieg in die Informatik mit Java, Vorlesung vom 2.5.07 Übersicht 1 2 definition 3 Parameterübergabe, aufruf 4 Referenztypen bei 5 Überladen von 6 Hauptprogrammparameter 7 Rekursion bilden das Analogon
Mehr*** Viel Erfolg! ***
Hochschule München, FK 03 SS 2018 Ingenieurinformatik C-Programmierung Bachelorstudiengang: Studienbeginn vor WS13/14 (Kombinationsprüfung) ** Studienbeginn ab WS13/14 bis WS15/16 ** Studienbeginn ab SS16
MehrIngenieurinformatik (FK 03) Übung 4
FG TECHNISCHE INFORMATIK I II U41 00 TA 03 Ingenieurinformatik (FK 03) Übung 4 VORBEREITUNG Erstellen Sie das Struktogramm der Funktion trapez für die Übung 4b mithilfe des Programms Structorizer. ÜBUNG
Mehr7.2 Dynamischer Speicher in Objekten/Kopierkonstruktor
7.2 Dynamischer Speicher in Objekten/Kopierkonstruktor Das Programmbeispiel aus dem letzten Abschnitt läßt sich bisher nicht zufriedenstellend zu Ende bringen. Unerklärliche Abstürze und Fehlverhalten
MehrAbschlußtest Programmieren 30. Juni 2017 Name: Punkte von 32: Gruppe: Haase-Di Haase-Do Stanek-Di Stanek-Do
Abschlußtest Programmieren 30. Juni 2017 Name: Punkte von 32: Gruppe: Haase-Di Haase-Do Stanek-Di Stanek-Do 1. (6 P) Schreiben Sie die folgenden mathematischen Ausdrücke als korrekte C++- Anweisungen (Variablendeklarationen,
MehrHochschule München, FK03 SS Masterstudiengang Technische Berechnung und Simulation. Programmierung von CAx-Systemen Teil 1
Hochschule München, FK03 SS 2017 Masterstudiengang Technische Berechnung und Simulation Programmierung von CAx-Systemen Teil 1 Name Vorname Matrikelnummer Aufgabensteller: Hilfsmittel: Dr. Reichl, Dr.
MehrSoftware Entwicklung 1. Fallstudie: Arithmetische Ausdrücke. Rekursive Klassen. Überblick. Annette Bieniusa / Arnd Poetzsch-Heffter
Software Entwicklung 1 Annette Bieniusa / Arnd Poetzsch-Heffter Fallstudie: Arithmetische Ausdrücke AG Softech FB Informatik TU Kaiserslautern Bieniusa/Poetzsch-Heffter Software Entwicklung 1 2/ 33 Überblick
MehrDie Halde. Verwendung in der Speicherbelegung Visualisierung der Halde Call by Value & Call by Reference
Die Halde Verwendung in der Speicherbelegung Visualisierung der Halde Call by Value & Call by Reference Die Halde Grafische Darstellung des Speichers enthält Name des Datentypes alle Membervariablen mit
MehrÜbung HP Musterlösung zu Aufgabe 9:
Musterlösung zu Aufgabe 9: 1. Aufteilung in Cpp und H: CPP: Enthält die Klassenimplementation und die Hauptmethode /*Autor: Nicola Greth * Uebung 8 * Klasse Cis_wstring */ #include #include
Mehr7. Objektorientierung. Informatik II für Verkehrsingenieure
7. Objektorientierung Informatik II für Verkehrsingenieure Klassen, Objekte und Attribute Buslinie und Haltestellen 3 Haltestellen und deren Eigenschaften Bauplan einer Haltestelle (Struktur) Konkrete
MehrEPROG 2.Teilprüfung. Aufgabe 1:
EPROG 2.Teilprüfung Dauer 50min. Keine Unterlagen erlaubt. Loginname ist q (also x.b. q0697801). Passwort ist Ihre Matrikelnummer. Speichern Sie Ihre Lösungen in den dafür vorgesehenen
MehrVererbung I. Kfz Eigenschaften und Methoden der Klasse Kfz Lkw. Pkw. Eigenschaften und Methoden der Klasse Kfz
Einführung in C++ Vererbung I Durch Vererbung können aus bereits bestehenden Klassen neue Klassen konstruiert werden. Die neue abgeleitete Klasse erbt dabei die Daten und Methoden der sog. Basisklasse.
MehrKapitel 13. Definition von Klassen. OOP Thomas Klinker 1
Kapitel 13 Definition von Klassen OOP Thomas Klinker 1 OOP Thomas Klinker 2 Datenabstraktion Der Mensch abstrahiert, um komplexe Sachverhalte darzustellen. Dinge und Vorgänge werden auf das wesentliche
MehrKlausur. 2. Aufgabe (3 Punkte) Ergänzen Sie die leeren Zellen derart, dass sich in einer Zeile die selben Zahlenwerte ergeben.
Programmieren bei Dr. Robert Heß TM&M1, IST1 und ET1 Anfang SS 2003 Klausur 1. Aufgabe (2 Punkte) Kodieren Sie folgende Dezimalzahlen in Binärzahlen um. Zeigen Sie den Rechenweg, die negative Zahl soll
Mehr3. Übung: PowerCopy-Verfahren
3. Übung: PwerCpy-Verfahren Inhalt - PwerCpy erzeugen - Verwendung vn PwerCpy Exemplare und bleschen Operatinen - PwerCpy Katalg Verwendete Funktinen Wrkbenches: Skizzierer, Bauteil Design Funktinen: Skizzieren,
MehrEinführung in die Programmierung Wintersemester 2008/09
Einführung in die Programmierung Wintersemester 2008/09 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund : Funktionen Inhalt Funktionen - mit / ohne Parameter
MehrSoftware Entwicklung 1
Software Entwicklung 1 Annette Bieniusa / Arnd Poetzsch-Heffter AG Softech FB Informatik TU Kaiserslautern Fallstudie: Arithmetische Ausdrücke Bieniusa/Poetzsch-Heffter Software Entwicklung 1 2/ 33 Überblick
MehrKlausur: Informatik, am 13. August 2015 Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr.: Punkte:
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 ( / 15 Pkt.) a) Geben
MehrVererbung und Polymorphie
Vererbung und Polymorphie Marc Satkowski, Sascha Peukert 29. September 2016 C# Kurs Gliederung 1. Methodenüberladung 2. Vererbung Polymorphie Methoden- & Eigenschaftsüberschreibung Weitere Schlüsselwörter
MehrPrü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
MehrGrundkurs 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
MehrTag 5. Repetitorium Informatik (Java) Dozent: Marius Kamp Lehrstuhl für Informatik 2 (Programmiersysteme)
Tag 5 Repetitorium Informatik (Java) Dozent: Marius Kamp Lehrstuhl für Informatik 2 (Programmiersysteme) Friedrich-Alexander-Universität Erlangen-Nürnberg Wintersemester 2017/2018 Übersicht Methoden Deklaration
MehrVon 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
MehrVon 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
MehrPraxis der Programmierung
Liste, Ausnahmefehler, Template-Funktionen und -Klassen Institut für Informatik und Computational Science Henning Bordihn 1 Stack als einfach verkettete Liste 2 Aufgabe 1 1. Kopieren Sie aus /home/rlehre/w13
MehrFelder: Motivation. Felder (Arrays) und Zeiger (Pointers) - Teil I. Felder: erste Anwendung. Felder: erste Anwendung. Felder: erste Anwendung
1/16/12 Felder (Arrays) und Zeiger (Pinters) - Teil I Feldtyen, Sieb des Eratsthenes, Iteratin, Zeigertyen, Zeigerarithmetik, dynamische Seicherverwaltung Felder: Mtivatin n Wir können jetzt über Zahlen
MehrProgrammierkurs C++ Kapitel 6 Module Seite 1
Programmierkurs C++ Kapitel 6 Module Seite 1 (Quell-)Module Unter einem Modul versteht man einen Teil des Programms, der eigenständig übersetzt werden kann. In der Syntax der Programmiersprachen werden
MehrFunktionen in JavaScript
Funktionen in JavaScript Eine Funktion enthält gebündelten Code, der sich in dieser Form wiederverwenden lässt. Es können ganze Programmteile aufgenommen werden. Mithilfe von Funktionen kann man denselben
MehrEinstieg in die Informatik mit Java
1 / 26 Einstieg in die Informatik mit Java Methoden Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 26 1 Methoden 2 Methodendefinition 3 Parameterübergabe, Methodenaufruf
MehrStephan Brumme, SST, 3.FS, Matrikelnr PrimitiveTypes. Ordinal Boolean Real String. ns-opener
Aufgabe 6.1. Die Namensraumstruktur der CEDL-Beschreibung lässt sich graphisch veranschaulichen: PrimitiveTypes MRoom struct TRoom Init(...) EqualValue(...) Copy(...) GetNumberOfRooms(...) SetNumberOfRooms(...)
Mehreinlesen 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
MehrKlausur: Informatik, am 11. Juli 2013 Gruppe: B Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr.: Punkte:
Seite 1 von 10 Hiermit bestätige ich, dass ich die Übungsleistungen als Voraussetzung für diese Klausur in folgender Übung erfüllt habe. Jahr: Übungsleiter: Unterschrift: 1. Aufgabe ( / 6 Pkt.) a) Geben
MehrProf.Dr. Alfred Irber Dies ist keine Musterprüfung, sondern eine Sammlung von Aufgaben aus früheren Prüfungen "Programmieren"
Prof.Dr. Alfred Irber 7.6.2012 Dies ist keine Musterprüfung, sondern eine Sammlung von Aufgaben aus früheren Prüfungen "Programmieren" Textformatierung (30 Punkte) Schreiben Sie ein komplettes C-Programm,
MehrObjektorientierte Anwendungsentwicklung
Name, Vorname Matrikelnummer Klausur zur Vorlesung Objektorientierte Anwendungsentwicklung Krefeld, 16. März 2012 Hinweise: Schreiben Sie Ihren Namen und Ihre Matrikelnummer auf dieses Deckblatt. Die Aufgabenstellung
MehrProbeklausur Name: (c)
Einführung in die Praktische Informatik 30.1.2013 Probeklausur Name: Teil I: Datentypen (20 Punkte) Lösen sie die Probleme, indem sie die korrekten Lösungen ankreuzen bzw. in die vorgesehenen Freiräume
MehrObjektorientiertes 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
MehrKlausur Softwaretechnologie SS 2017
Fakultät Informatik Institut für Software- und Multimediatechnik, Professur Softwaretechnologie Technische Universität Dresden, 01062 Dresden Klausur Softwaretechnologie SS 2017 Prof. Dr.rer.nat.habil.
MehrOOP Aufgabenblatt 7 6. Dezember 2013
1 Prof. Dr. Th. Letschert OOP Aufgabenblatt 7 6. Dezember 2013 Aufgabe 1 Hausaufgabe Nr. 4 (Klein) Implementieren Sie, ohne Arrays oder eine sonstige Kollektion zu nutzen, folgende Fingerübungen zu Rekursion
MehrNachklausur Programmieren / Algorithmen und Datenstrukturen 1
Programmieren / Algorithmen und Datenstrukturen Autor: Prof. Dr. Bernhard Humm, FB Informatik, Hochschule Darmstadt Datum: 7. Oktober 200 Nachklausur Programmieren / Algorithmen und Datenstrukturen Spielregeln
MehrÜbungen zu Computeranwendung und Programmierung WS 17/18
17 01 01 Übungen zu Computeranwendung und Programmierung WS 17/18 Übungseinheit 4. - 8. Dezember 2017 Themen: Algorithmisch etwas schwierigere Methoden. CSV-Dateien einlesen und die darin enthaltenen Daten
MehrKlausur Software-Entwicklung März 01
Aufgabe 1: minimaler Punktabstand ( 2+5 Punkte ) Matrikelnr : In einem Array punkte sind Koordinaten von Punkten gespeichert. Ergänzen Sie in der Klasse Punkt eine Klassen-Methode (=static Funktion) punktabstand,
MehrVerkettete Listen in C++ und Visual Basic 6. Stefan Buchgeher
Verkettete Listen in C++ und Visual Basic 6 Stefan Buchgeher 8. März 2007 Inhaltsverzeichnis 1 Grundlegendes zu Verketteten Listen (engl. linked list) 2 1.1 Was ist eine Verkettete Liste........................
MehrC++ Quellcodes zum Buch Kapitel 5
1 HARALD NAHRSTEDT C++ für Ingenieure Einführung in die objektorientierte Programmierung Erstell am 27.04.2009 C++ Quellcodes zum Buch Kapitel 5 Beschreibung Diese Seiten enthalten den Quellcode aus dem
MehrBeziehungen zwischen Objekten
Beziehungen zwischen Objekten M. Jakob Gymnasium Pegnitz 2. Februar 2015 Inhaltsverzeichnis 1 Aggregation und Referenzen 1.1 Begriffsbildung 1.2 Umsetzung in Java 2 Sequenzdiagramme 1 Gliederung 1 Aggregation
MehrListen. M. Jakob. Gymnasium Pegnitz. 20. September Hinführung: Wartenschlangen. Grundprinzip von Listen Rekursion
M. Jakob Gymnasium Pegnitz 20. September 2015 Inhaltsverzeichnis Grundprinzip von Rekursion (10 Std.) Die einfach verkettete Liste als Kompositum (10 Std.) Klasse LISTENELEMENT? Entwurfsmuster Kompositum
MehrImplementation VL3 Gruppe A
Doubravsky Filip Rot Drazen Implementation VL3 Gruppe A Datei Anzahl diese Programms: main.cpp Menü mit Exit eingabe.hpp eingabe.cpp Eingabe und Datei öffnen und einlesen translate.hpp translate.cpp Speicherung
MehrJava: Eine kurze Einführung an Beispielen
Java: Eine kurze Einführung an Beispielen Quellcode, javac und die JVM Der Quellcode eines einfachen Java-Programms besteht aus einer Datei mit dem Suffix.java. In einer solchen Datei wird eine Klasse
MehrInstitut für Informatik
Technische Universität München Institut für Informatik Lehrstuhl für Computer Graphik & Visualisierung WS 2010 Praktikum: Grundlagen der Programmierung Lösungsblatt 6 Prof. R. Westermann, A. Lehmann, R.
MehrDurch die Möglichkeit, Ein- und Ausgaben auf der Konsole durchzuführen, kann man auch systematisch das Verhalten von Klassen analysieren.
Durch die Möglichkeit, Ein- und Ausgaben auf der Konsole durchzuführen, kann man auch systematisch das Verhalten von Klassen analysieren. 267 Das hier skizzierte Problem basiert auf der strategischen Entscheidung
MehrEs 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 Dateien, sowie Records und Funktionen Aufgabe 4: Diese Aufgabe basiert auf der Aufgabe 3. Es ist ein Programm zu erstellen, in welchem der Anwender aus einer Anzahl möglicher
MehrGrundkurs 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
Mehrhue13 January 30, 2017
hue13 January 30, 2017 1 Abgabehinweise Beachten Sie unbedingt diese Hinweise, sonst erhalten Sie keine Punkte aus dieser Abgabe! Für Details siehe z.b. Folien der nullten Zentralübung 1.1 Namen und Matrikelnummern
MehrTutorial zu Einführung in die Informatik für LogWi- Ings und WiMas Wintersemester 2015/16. 1 Zauberer und Zwerge, Aufgabenteil 1
Tutorial zu Einführung in die Informatik für LogWi- Ings und WiMas Wintersemester 2015/16 1 Zauberer und Zwerge, Aufgabenteil 1 Stellen Sie sich vor, Sie sollen eine Charakterverwaltung für das neue Onlinerollenspiel
Mehr