Technische Universität München WS 2011/12 Fakultät für Informatik Lösungsvorschläge zu Blatt 2 Dr. C. Herzog, M. Maalej 31.
|
|
- Werner Böhler
- vor 8 Jahren
- Abrufe
Transkript
1 2/ Technische Universität München WS 20/2 Fakultät für Informatik Lösungsvorschläge zu Blatt 2 Dr. C. Herzog, M. Maalej 3. Oktober 20 Übungen zu Grundlagen der Programmierung Aufgabe 4 (Lösungsvorschlag) Grundbegriffe der Objektmodellierung a) Um die angegebenen Begriffe in einem Klassendiagramm darzustellen, wählt man zunächst diejenigen Begriffe, die in eine Vererbungsbeziehung gebracht werden können: Verkehrsteilnehmer: Der Verkehrsteilnehmer ist entweder Passant oder Zweiradfahrer; der Zweiradfahrer seinerseits ist entweder Motorradfahrer oder Fahrradfahrer Verkehrsmittel: Verkehrsmittel sind entweder der PKW oder ein Zweirad; die Klasse der Zweiräder besteht aus Motorrädern oder Fahrrädern. Ein Fahrrad schließlich ist entweder Rennrad, Tandem oder Mountainbike. Anschließend versucht man die in den Hierarchien auftretenden Klassen und die noch nicht berücksichtigen Begriffe zueinander in Beziehung zu setzen. Dabei zeigt sich, dass die obige Vererbungsstruktur der Verkehrsmittel noch weiter strukturiert werden sollte; das Rennrad und das Mountain-Bike werden in einer Oberklasse Standardrad zusammengefasst. Es ergibt sich folgendes Klassendiagramm: Verkehrsteilnehmer stürzen() Verkehrsmittel fahren() Passant besitzt Zweiradfahrer Zweirad PKW.. N Fahrradfahrer besitzt Mototrradfahrer besitzt.. N Fahrrad Motorrad 2 4 Rad Helm Klingel.. N Tandem Standardrad Sattel 2 Rennrad Mountain Bike
2 2/2 b) Klasse: Eine Klasse ist eine Menge von Objekten mit gemeinsamen Merkmalen. Objekt: Ein Objekt ist Teil eines Systems und repräsentiert einen beliebigen Gegenstand innerhalb dieses Systems. Ein Objekt kann selbst wiederum als Teilsystem betrachtet werden. Ein gegebenes Objekt definiert sich über seinen aktuellen Zustand und seine Funktionalität. Soll die Zugehörigkeit des Objekts zu einer Klasse besonders betont werden, wird das Objekt auch als Instanz dieser Klasse bezeichnet. Methode: Im Rahmen des detaillierten Entwurfs und der objekt-basierten Implementierung werden Operationen als Methoden bezeichnet. Methoden werden mit Hilfe von Methodendeklarationen definiert und von Objekten ausgeführt. Liefert eine Methode einen Ergebniswert, wird sie auch als Funktion bezeichnet, ansonsten spricht man von einer Prozedur. Vererbung: Die Übernahme aller Merkmale einer Klasse A bei der Definition einer anderen Klasse B wird als Vererbung bezeichnet. B ist dann eine Unterklasse der Oberklasse A. Betrachtet man Klassen als Mengen von Objekten, so gehören alle Instanzen einer Unterklasse auch der jeweiligen Oberklasse an. B ist somit eine Teilmenge von A. Eine Hierarchie von Vererbungen tritt z.b. von dem Fahrrad zum Tandem auf. Das Tandem erbt alle Merkmale des Fahrrades; d.h. es hat eine Klingel, es hat zwei Räder, da das Fahrrad dieses Merkmal vom Zweirad erbt und es kann fahren, da das Zweirad diese Operation vom Verkehrsmittel erbt Generalisierung: Eine Generalisierung ist die Einführung/Verwendung einer geeigneten Oberklasse. Sie in dieser Aufgabe z.b. durch Einführung des Standardrades. Somit mußte nur das Standardrad mit dem Merkmal hat einen Sattel versehen werden, Rennrad und Mountain-Bike erben diese Eigenschaft. Aggregation: Die Aggregation stellt eine Enthaltenseins-Beziehung zwischen zwei Objekten dar. Die Beziehung Objekt A aggregiert Objekt B kann dabei gelesen werden als: A enthält B B ist ein Teil von A Assoziation: Eine Assoziation ist die Beziehung zwischen verschiedenen Objekten einer oder mehrer Klassen. Eine spezielle Form der Assoziation ist die Aggregation (siehe oben). Aufgabe 5 (Lösungsvorschlag) Entwurfsmuster a) Eine mögliche Lösung sieht so aus:
3 2/3 Schaltungsteil * Bauteil Schaltung Widerstand Transistor b) In der Modellierung wird das Composite Pattern verwendet. Dieses Pattern eignet sich, um aus mehreren Teilen zusamengesetzte Objekte genau so zu behandeln wie einzelne Objekte. Eine mögliche Anwendung wäre etwa eine Testfunktion, die einzelne Bauteile aber auch ganze Schaltungen auf ihre Funktionalität testet. Die Funktion test() wird dann abstrakt deklariert und von den einzelnen Bauteilen wie auch von zusammengesetzten Schaltungen implementiert. c) Ein weiteres Beispiel ist ein Dateisystem mit Verzeichnissen und Dateien. d) Im Objektdiagramm wird die Rekursion des Composite Patterns explizit aufgelöst. flipflop:schaltung nand:schaltung nand4:schaltung t:transistor t2:transistor w:widerstand t7:transistor t8:transistor w4:widerstand nand2:schaltung nand3:schaltung t3:transistor t4:transistor w2:widerstand t5:transistor t6:transistor w3:widerstand Aufgabe 6 (Lösungsvorschlag) a) Im Klassendiagramm () werden die Komponenten, aus welchen sich ein Terminkalender aufbaut, dargestellt. Das Diagramm in (2) zeigt die Schnittstelle des Terminkalenders. (i) Terminkalender * Termin Adresse Datum Uhrzeit Bemerkung (ii) Terminkalender +neuertermin(t: Termin) +loeschetermin(t: Termin) +terminueberblick(d: Datum) Ein Terminkalender kann beliebig viele (Vielfachheit *) Termine aufnehmen. Ein Termin setzt sich zusammen aus einer Adresse, einem Datum, einer Uhrzeit und einer Bemerkung über den Zweck des Termins. In einen Kalender muss man neue Termine eintragen (Eintrag) und abgesagte Termine löschen (Austrag) können. Wünschenswert ist auch, dass man sich für einen bestimmten Tag alle schon vergebenen Termine anzeigen lassen kann (Terminueberblick). Zusätzlich
4 2/4 könnte man z.b. noch eine Funktionalität aufnehmen, die das Ändern einzelner Einträge für einen Termin erlaubt. Bei der dargestellten Schnittstelle kann das Ändern nur über das Löschen und Wiedereinfügen eines Termins durchgeführt werden. b) Untenstehendes UML-Klassendiagramm zeigt den verfeinerten Entwurf für die Komponente Termin. Der verfeinerte Entwurf ist schon sehr stark an der Umsetzung der Komponente orientiert. Es werden die benötigten Attribute mit ihren Typangaben dargestellt. Da die Typen Datum und Uhrzeit keine primitiven Datentypen sind, werden diese Attribute über Assoziation (Verbindungspfeil zwischen den Klassen) angezeigt. Dies ermöglicht zusätzlich die detaillierte Darstellung der beiden ebenfalls zu definierenden Datentypen Datum und Uhrzeit. Termin adresse: String bermerkung: String +getadresse(): String +getbemerkung(): String +getdatum(): Datum +getuhrzeit(): Uhrzeit +setadresse(a: String) +setbemerkung(b: String) +setdatum(d: Datum) +setuhrzeit(z: Uhrzeit) datum beginn Datum tag: Integer monat: Integer jahr: Integer +get... +set... Uhrzeit stunde: Integer minute: Integer +get... +set... c) Für die Erweiterung einer Klasse kann man entweder eine völlig neue Klasse definieren, wie es in () gemacht wurde, oder man verwendet das dafür in der Objektorientierung vorgesehene Konzept der Vererbung (2). () (2) TerminMitDauerOhneVererbung adresse: String datum: Datum beginn: Uhrzeit bermerkung: String dauer: Integer +get... +set... Termin adresse: String datum: Datum beginn: Uhrzeit bermerkung: String +get... +set... TerminMitDauer dauer: Integer +getdauer(): Integer +setdauer(d: Integer) d) Das Instanzendiagramm in UML hat folgende Gestalt: naechsteuebung:termin adresse = " " bermerkung = "Uebung GrProg" datum :Datum tag = 7 monat = jahr = 2005 :Uhrzeit beginn stunde = 5 minute = 0
5 2/5 Aufgabe 7 (Lösungsvorschlag) a) Die Klassse Termin kann in Java wie folgt definiert werden: public class Termin { private String adresse; private Datum datum; private Uhrzeit beginn; private String bemerkung; public Termin () { public Termin (String adr, Datum dat, Uhrzeit beg, String bem) { adresse = adr; datum = dat; beginn = beg; bemerkung = bem; public String getadresse () { return adresse; public Datum getdatum () { return datum; public Uhrzeit getbeginn () { return beginn; public String getbemerkung () { return bemerkung; public void setadresse (String adr) { adresse=adr; public void setdatum (Datum dat) { datum=dat; public void setbeginn (Uhrzeit beg) { beginn=beg; public void setbemerkung (String bem) { bemerkung=bem; public class Datum { private int tag, monat, jahr; public Datum (int t, int m, int j) { tag=t; monat=m; jahr=j; public int gettag () { return tag; public int getmonat () { return monat; public int getjahr () { return jahr; public void settag (int t) { tag=t; public void setmonat (int m) { monat=m; public void setjahr (int j) { jahr=j; public class Uhrzeit { private int stunde, minute; public Uhrzeit (int s, int m) { stunde=s; minute=m; public int getstunde () { return stunde; public int getminute () { return minute;
6 2/6 public void setstunde (int s) { stunde=s; public void setminute (int m) { minute=m; Hinweis für spätere Programmieraufgaben: Da es sich hier jeweils um public-klassen handelt, müssen alle drei Klassen in eigenen Dateien programmiert werden, die den Namen der Klasse mit Endung.java haben. Die Definition der Klasse TerminMitDauer in Java (ohne Vererbung) zeigen die nachfolgenden Zeilen: public class TerminMitDauer { private String adresse; private Datum datum; private Uhrzeit beginn; private String bemerkung; private int dauer; public TerminMitDauer () { public TerminMitDauer (String adr, Datum dat, Uhrzeit beg, String bem, int min) { adresse = adr; datum = dat; beginn = beg; bemerkung = bem; dauer = min; public String getadresse () { return adresse; public Datum getdatum () { return datum; public Uhrzeit getbeginn () { return beginn; public String getbemerkung () { return bemerkung; public int getdauer () { return dauer; public void setadresse (String adr) { adresse=adr; public void setdatum (Datum dat) { datum=dat; public void setbeginn (Uhrzeit beg) { beginn=beg; public void setbemerkung (String bem) { bemerkung=bem; public void setdauer (int d) { dauer=d; b) public class TerminEintragen { public static void main (String[] args) { Terminkalender meinkalender = new Terminkalender(); Termin naechsteuebung = new Termin (" ", new Datum (7,,2005), new Uhrzeit (5,00), "Uebung GrProg"); meinkalender.neuertermin(naechsteuebung); meinkalender.terminueberblick(new Datum(7,,2005));
7 2/7 Aufgabe 8 (H) Lösungsvorschlag a) Mit dem Zeichenvorrat T = {s,w (hierbei steht s für ein schwarze Bohne und w für eine weiße Bohne) läßt sich das Kaffeedosenspiel mit folgenden Regeln beschreiben:. ss s 2. ww s 3. ws w 4. sw w Anhand des folgenden Anwendungsbeispiels machen wir die Richtigkeit dieser Regeln plausibel. Gegeben sei das Wort swssswsw, das den Inhalt der Dose beschreibt (Das Teilwort, auf das die jeweils nächste Regel angewendet wird, ist in normaler Schrift geschrieben): swssswsw. swsswsw 3. swssww 4. wssww 2. wsss. wss 3. ws 3. w b) Mit jedem Spielzug, d.h. jeder Anwendung einer der oben genannten Regeln, nimmt die Anzahl der in der Dose enthaltenen Bohnen um ab (bzw. die Länge des Wortes, das den Doseninhalt beschreibt, nimmt um ab). Da die Anzahl der Bohnen (und damit die Wortlänge) endlich ist, ist nach einer endlichen Anzahl von Spielzügen nur noch eine Bohne vorhanden, und das Spiel endet, da keine der Regeln mehr anwendbar ist. c) Beweis, dass stets eine Bohne übrig bleibt. Annahme: Das Spiel endet mit mehr als einer Bohne. Dann sind noch mindestens zwei Bohnen in der Dose enthalten (bzw. das entsprechende Wort hat eine Länge > ) und es kann somit mindestens noch einmal gezogen werden (bzw. mindestens noch eine Regel aus unserem Semi Thue System angewendet werden); das Spiel ist also noch nicht zu Ende. Die. Annahme ist daher falsch. 2. Annahme: Das Spiel endet mit keiner Bohne. Da mit jedem Zug genau eine Bohne aus der Dose entfernt wird, muss vor dem letzten Zug genau eine Bohne in der Dose gewesen sein. In diesem Fall ist es aber nicht mehr möglich, zwei Bohnen zu nehmen (bzw. es existiert keine Regel, die auf ein Wort der Länge anwendbar wäre). Die 2. Annahme ist daher ebenfalls falsch. qed Die Farbe der letzten Bohne Die Regeln (), (3) und (4) reduzieren die Anzahl der schwarzen Bohnen stets um (die Anzahl der weißen Bohnen bleibt unverändert); durch Regel (2) wird die Anzahl der weißen Bohnen um zwei reduziert (und die Anzahl der schwarzen um erhöht). Insgesamt kann damit die Anzahl der weißen Bohnen nur um 0 oder 2 reduziert werden. Wenn die Anzahl der weißen Bohnen vor einem Zug gerade (ungerade) ist, so ist sie auch nach einem Zug gerade (ungerade). Am Ende des Spiels bleibt somit eine weiße Bohne übrig, wenn die Anzahl der weißen Bohnen zu Beginn des Spiels ungerade ist; andernfalls bleibt eine schwarze Bohne übrig. Resultat ist unabhängig von der Reihenfolge: Unser Semi Thue System als Modell des Kaffeedosenspiels hat gegenüber dem realen Spiel die Einschränkung, dass die Bohnen in einer Reihe angeordnet sind und immer nur benachbarte Bohnen gezogen werden. Das Modell beschreibt also nur eine Teilmenge aller möglichen Spielverläufe. Die obige Argumentation bezieht sich jedoch auf das reale Spiel und somit auf alle möglichen Spielverläufe. Sie gilt also insbesondere für jede mögliche Reihenfolge der linear angeordneten Bohnen. Das Ergebnis ist somit unabhängig von der Reihenfolge der Bohnen. d) Bei einer derartigen Spielmodifikation würde die Regel 5. ss ss
8 2/8 Regel () ersetzen. Terminierung: Falls die die Anzahl der schwarzen Bohnen in der Dose > ist, kann der Fall eintreten, dass stets zwei schwarze Bohnen gezogen werden bzw. im Semi Thue System die Regel (5) beliebig oft angewendet wird. Das Spiel terminiert in diesem Fall nicht. Ergebnis: Regel (5) hat keinen Einfluß auf das Ergebnis, da durch sie die Anzahl der verbleibenden schwarzen bzw. weißen Bohnen nicht verändert wird. Die Farbe der letzten Bohne ist damit wie zuvor von der Parität der Anzahl der weißen Bohnen abhängig.
Fachdidaktik der Informatik 18.12.08 Jörg Depner, Kathrin Gaißer
Fachdidaktik der Informatik 18.12.08 Jörg Depner, Kathrin Gaißer Klassendiagramme Ein Klassendiagramm dient in der objektorientierten Softwareentwicklung zur Darstellung von Klassen und den Beziehungen,
Mehr1 Mathematische Grundlagen
Mathematische Grundlagen - 1-1 Mathematische Grundlagen Der Begriff der Menge ist einer der grundlegenden Begriffe in der Mathematik. Mengen dienen dazu, Dinge oder Objekte zu einer Einheit zusammenzufassen.
MehrEinfÅhrung in die objektorientiere Programmierung (OOP) unter Delphi 6.0. EDV Kurs 13/2
EinfÅhrung in die objektorientiere Programmierung (OOP) unter Delphi 6.0 EDV Kurs 13/2 Inhaltsverzeichnis 1 Objekte... 1 2 Klassen... 3 2.1 Beziehungen zwischen Klassen... 4 2.1.1 Vererbung... 4 2.1.2
MehrJava Einführung Umsetzung von Beziehungen zwischen Klassen. Kapitel 7
Java Einführung Umsetzung von Beziehungen zwischen Klassen Kapitel 7 Inhalt Wiederholung: Klassendiagramm in UML Java-Umsetzung von Generalisierung Komposition Assoziationen 2 Das Klassendiagramm Zweck
MehrObjektorientierte 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
MehrDaniel Warneke warneke@upb.de 08.05.2006. Ein Vortrag im Rahmen des Proseminars Software Pioneers
Design Patterns Daniel Warneke warneke@upb.de 08.05.2006 Ein Vortrag im Rahmen des Proseminars Software Pioneers Design Patterns 1/23 Übersicht Einleitung / Motivation Design Patterns Beispiele Rolle des
MehrSoftware Engineering Klassendiagramme Assoziationen
Software Engineering Klassendiagramme Assoziationen Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Lesen von Multiplizitäten (1) Multiplizitäten werden folgendermaßen
MehrJava Kurs für Anfänger Einheit 4 Klassen und Objekte
Java Kurs für Anfänger Einheit 4 Klassen und Ludwig-Maximilians-Universität München (Institut für Informatik: Programmierung und Softwaretechnik von Prof.Wirsing) 13. Juni 2009 Inhaltsverzeichnis klasse
MehrLineargleichungssysteme: Additions-/ Subtraktionsverfahren
Lineargleichungssysteme: Additions-/ Subtraktionsverfahren W. Kippels 22. Februar 2014 Inhaltsverzeichnis 1 Einleitung 2 2 Lineargleichungssysteme zweiten Grades 2 3 Lineargleichungssysteme höheren als
MehrEinführung in die Programmierung
Technische Universität München WS 2003/2004 Institut für Informatik Prof. Dr. Christoph Zenger Testklausur Einführung in die Programmierung Probeklausur Java (Lösungsvorschlag) 1 Die Klasse ArrayList In
MehrObjektorientierte Programmierung. Kapitel 12: Interfaces
12. Interfaces 1/14 Objektorientierte Programmierung Kapitel 12: Interfaces Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester 2012/13 http://www.informatik.uni-halle.de/ brass/oop12/
MehrPrimzahlen und RSA-Verschlüsselung
Primzahlen und RSA-Verschlüsselung Michael Fütterer und Jonathan Zachhuber 1 Einiges zu Primzahlen Ein paar Definitionen: Wir bezeichnen mit Z die Menge der positiven und negativen ganzen Zahlen, also
MehrÜbungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung: Lösungsvorschlag
Ludwig-Maximilians-Universität München WS 2015/16 Institut für Informatik Übungsblatt 9 Prof. Dr. R. Hennicker, A. Klarl Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung:
MehrEinführung in die Java- Programmierung
Einführung in die Java- Programmierung Dr. Volker Riediger Tassilo Horn riediger horn@uni-koblenz.de WiSe 2012/13 1 Wichtig... Mittags keine Pommes... Praktikum A 230 C 207 (Madeleine + Esma) F 112 F 113
MehrEinführung in die objektorientierte Programmierung mit Java. Klausur am 19. Oktober 2005
Einführung in die objektorientierte Programmierung mit Java Klausur am 19. Oktober 2005 Matrikelnummer: Nachname: Vorname: Semesteranzahl: Die Klausur besteht aus drei Frageblöcken zu den Inhalten der
MehrFachgebiet Informationssysteme Prof. Dr.-Ing. N. Fuhr. Programmierung Prof. Dr.-Ing. Nobert Fuhr. Übungsblatt Nr. 6
Gudrun Fischer Sascha Kriewel programmierung@is.informatik.uni-duisburg.de Anmeldung zur Klausur! Übungsblatt Nr. 6 Um an der Klausur teilzunehmen, müssen sich Studierende der angewandten Informatik in
MehrU08 Entwurfsmuster (II)
U08 Entwurfsmuster (II) Inhalt der Übung Diskussion und Implementierung von Entwurfsmustern Übungsaufgaben Aufgabe 1 (Queue) Gegeben ist das folgende Analysemodell einer Warteschlange (Queue): Eine Warteschlange
MehrWürfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.
040304 Übung 9a Analysis, Abschnitt 4, Folie 8 Die Wahrscheinlichkeit, dass bei n - maliger Durchführung eines Zufallexperiments ein Ereignis A ( mit Wahrscheinlichkeit p p ( A ) ) für eine beliebige Anzahl
MehrInformationsblatt Induktionsbeweis
Sommer 015 Informationsblatt Induktionsbeweis 31. März 015 Motivation Die vollständige Induktion ist ein wichtiges Beweisverfahren in der Informatik. Sie wird häufig dazu gebraucht, um mathematische Formeln
MehrUML Klassendiagramm. Igor Karlinskiy, Mikhail Gavrish
UML Klassendiagramm Igor Karlinskiy, Mikhail Gavrish Agenda Wichtigste Eigenschaften Syntaktische Elemente mit entsprechendem C++ Code Analysemodell Designmodell Quellen 2 Klassendiagramm gibt die Möglichkeit,
MehrArbeiten mit UMLed und Delphi
Arbeiten mit UMLed und Delphi Diese Anleitung soll zeigen, wie man Klassen mit dem UML ( Unified Modeling Language ) Editor UMLed erstellt, in Delphi exportiert und dort so einbindet, dass diese (bis auf
MehrTestklausur 1 zur Vorlesung. Modellierung und Programmierung I. Dr. Monika Meiler Zeit: 60 Minuten
Matrikelnummer: Punkte: Testklausur 1 zur Vorlesung Modellierung und Programmierung I Dr. Monika Meiler Zeit: 60 Minuten Bemerkungen: Jedes Blatt ist mit der Matrikelnummer zu versehen. Jede Aufgabe ist
MehrWintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf http://informatik.swoke.de. Seite 1 von 22
Kapitel 19 Vererbung, UML Seite 1 von 22 Vererbung - Neben der Datenabstraktion und der Datenkapselung ist die Vererbung ein weiteres Merkmal der OOP. - Durch Vererbung werden die Methoden und die Eigenschaften
MehrBinäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen
Binäre Bäume 1. Allgemeines Binäre Bäume werden grundsätzlich verwendet, um Zahlen der Größe nach, oder Wörter dem Alphabet nach zu sortieren. Dem einfacheren Verständnis zu Liebe werde ich mich hier besonders
Mehr5. Abstrakte Klassen. Beispiel (3) Abstrakte Klasse. Beispiel (2) Angenommen, wir wollen die folgende Klassenhierarchie implementieren:
5. Abstrakte Klassen Beispiel 5. Abstrakte Klassen 5. Abstrakte Klassen Beispiel Beispiel (3) Angenommen, wir wollen die folgende Klassenhierarchie implementieren: Probleme des Implementierungsvorschlags:
MehrKlausur WS 2006/07 Programmiersprache Java Objektorientierte Programmierung II 15. März 2007
Fachhochschule Bonn-Rhein-Sieg University of Applied Sciences Fachbereich Informatik Prof. Dr. Peter Becker Klausur WS 2006/07 Programmiersprache Java Objektorientierte Programmierung II 15. März 2007
MehrGroße Übung Praktische Informatik 1
Große Übung Praktische Informatik 1 2005-12-08 fuessler@informatik.uni-mannheim.de http://www.informatik.uni-mannheim.de/pi4/people/fuessler 1: Announcements / Orga Weihnachtsklausur zählt als Übungsblatt,
MehrMORE Profile. Pass- und Lizenzverwaltungssystem. Stand: 19.02.2014 MORE Projects GmbH
MORE Profile Pass- und Lizenzverwaltungssystem erstellt von: Thorsten Schumann erreichbar unter: thorsten.schumann@more-projects.de Stand: MORE Projects GmbH Einführung Die in More Profile integrierte
MehrProgrammieren in Java
Programmieren in Java objektorientierte Programmierung 2 2 Zusammenhang Klasse-Datei In jeder *.java Datei kann es genau eine public-klasse geben wobei Klassen- und Dateiname übereinstimmen. Es können
MehrDatenbanken Kapitel 2
Datenbanken Kapitel 2 1 Eine existierende Datenbank öffnen Eine Datenbank, die mit Microsoft Access erschaffen wurde, kann mit dem gleichen Programm auch wieder geladen werden: Die einfachste Methode ist,
MehrSoftware Engineering Interaktionsdiagramme
Software Engineering Interaktionsdiagramme Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Nachrichtenaustausch Welche Nachrichten werden ausgetauscht? (Methodenaufrufe)
Mehrhttp://train-the-trainer.fh-joanneum.at IINFO Storyboard
IINFO Storyboard Allgemeine Bemerkungen und Richtlinien zur Handhabung. Das Storyboard besteht aus einem Web, d.h. einer vernetzten Struktur von HTML-Seiten welche später von den Programmieren direkt als
MehrAccess 2010. Grundlagen für Anwender. Andrea Weikert 1. Ausgabe, 1. Aktualisierung, Juli 2012. inkl. zusätzlichem Übungsanhang ACC2010-UA
Andrea Weikert 1. Ausgabe, 1. Aktualisierung, Juli 2012 Access 2010 Grundlagen für Anwender inkl. zusätzlichem Übungsanhang ACC2010-UA 3 Access 2010 - Grundlagen für Anwender 3 Daten in Formularen bearbeiten
MehrVerhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {...
PIWIN I Kap. 8 Objektorientierte Programmierung - Vererbung 31 Schlüsselwort: final Verhindert, dass eine Methode überschrieben wird public final int holekontostand() {... Erben von einer Klasse verbieten:
MehrJava: Vererbung. Teil 3: super() www.informatikzentrale.de
Java: Vererbung Teil 3: super() Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und IMMER zuerst den Konstruktor der Elternklasse auf! Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und
MehrSWE5 Übungen zu Software-Engineering
1 Übungen zu Software-Engineering 1) Klassen und Objekte 2) Telefonanlage 3) Objekt- und Klassendiagramme 4) Assoziationen 5) Telefonanlage (Erweiterung) 6) Fahrzeuge 7) Familien 2 Aufgabe 1: Klassen und
Mehr1 topologisches Sortieren
Wolfgang Hönig / Andreas Ecke WS 09/0 topologisches Sortieren. Überblick. Solange noch Knoten vorhanden: a) Suche Knoten v, zu dem keine Kante führt (Falls nicht vorhanden keine topologische Sortierung
MehrZeichen bei Zahlen entschlüsseln
Zeichen bei Zahlen entschlüsseln In diesem Kapitel... Verwendung des Zahlenstrahls Absolut richtige Bestimmung von absoluten Werten Operationen bei Zahlen mit Vorzeichen: Addieren, Subtrahieren, Multiplizieren
MehrProgrammierkurs Java
Programmierkurs Java Dr. Dietrich Boles Aufgaben zu UE16-Rekursion (Stand 09.12.2011) Aufgabe 1: Implementieren Sie in Java ein Programm, das solange einzelne Zeichen vom Terminal einliest, bis ein #-Zeichen
MehrUnified Modeling Language (UML)
Kirsten Berkenkötter Was ist ein Modell? Warum Modellieren? Warum UML? Viele, viele Diagramme UML am Beispiel Was ist ein Modell? Ein Modell: ist eine abstrakte Repräsentation eines Systems, bzw. ist eine
MehrKlausur zur Einführung in die objektorientierte Programmierung mit Java
Klausur zur Einführung in die objektorientierte Programmierung mit Java im Studiengang Informationswissenschaft Prof. Dr. Christian Wolff Professur für Medieninformatik Institut für Medien-, Informations-
Mehr5. Abstrakte Klassen
5. Abstrakte Klassen Beispiel 5. Abstrakte Klassen Angenommen, wir wollen die folgende Klassenhierarchie implementieren: Vogel Amsel Drossel Fink Peter Becker, Programiersprache Java FH Bonn-Rhein-Sieg,
MehrBauteilattribute als Sachdaten anzeigen
Mit den speedikon Attributfiltern können Sie die speedikon Attribute eines Bauteils als MicroStation Sachdaten an die Elemente anhängen Inhalte Was ist ein speedikon Attribut?... 3 Eigene Attribute vergeben...
MehrGrundlagen der Theoretischen Informatik, SoSe 2008
1. Aufgabenblatt zur Vorlesung Grundlagen der Theoretischen Informatik, SoSe 2008 (Dr. Frank Hoffmann) Lösung von Manuel Jain und Benjamin Bortfeldt Aufgabe 2 Zustandsdiagramme (6 Punkte, wird korrigiert)
Mehr7 Rechnen mit Polynomen
7 Rechnen mit Polynomen Zu Polynomfunktionen Satz. Zwei Polynomfunktionen und f : R R, x a n x n + a n 1 x n 1 + a 1 x + a 0 g : R R, x b n x n + b n 1 x n 1 + b 1 x + b 0 sind genau dann gleich, wenn
MehrGI-Technologien zur Umsetzung der EU-Wasserrahmenrichtlinie (WRRL): Wissensbasen. Teil 1: Einführung: Wissensbasis und Ontologie.
GI-Technologien zur Umsetzung der EU-Wasserrahmenrichtlinie (WRRL): Wissensbasen Teil 1: Einführung: Wissensbasis und Ontologie Was ist eine Wissensbasis? Unterschied zur Datenbank: Datenbank: strukturiert
MehrTypumwandlungen bei Referenztypen
Typumwandlungen bei Referenztypen Genau wie es bei einfachen Typen Typumwandlungen gibt, gibt es auch bei Referenztypen Umwandlungen von einem Referenztypen in einen anderen Referenztypen, die wie bei
MehrZählen von Objekten einer bestimmten Klasse
Zählen von Objekten einer bestimmten Klasse Ziel, Inhalt Zur Übung versuchen wir eine Klasse zu schreiben, mit der es möglich ist Objekte einer bestimmten Klasse zu zählen. Wir werden den ++ und den --
MehrDas Typsystem von Scala. L. Piepmeyer: Funktionale Programmierung - Das Typsystem von Scala
Das Typsystem von Scala 1 Eigenschaften Das Typsystem von Scala ist statisch, implizit und sicher 2 Nichts Primitives Alles ist ein Objekt, es gibt keine primitiven Datentypen scala> 42.hashCode() res0:
MehrKapitel 4 Die Datenbank Kuchenbestellung Seite 1
Kapitel 4 Die Datenbank Kuchenbestellung Seite 1 4 Die Datenbank Kuchenbestellung In diesem Kapitel werde ich die Theorie aus Kapitel 2 Die Datenbank Buchausleihe an Hand einer weiteren Datenbank Kuchenbestellung
MehrBarcodedatei importieren
Barcodedatei importieren Inhaltsverzeichnis 1 Schnittstelle Barcodedatei importieren... 2 1.1 Funktion... 2 1.2 Konfiguration... 2 1.2.1 Lizenz... 2 1.2.2 Einstellungen... 2 1.2.3 Vorarbeiten... 3 1.2.3.1
MehrObjektorientierte Programmierung für Anfänger am Beispiel PHP
Objektorientierte Programmierung für Anfänger am Beispiel PHP Johannes Mittendorfer http://jmittendorfer.hostingsociety.com 19. August 2012 Abstract Dieses Dokument soll die Vorteile der objektorientierten
MehrAnleitung über den Umgang mit Schildern
Anleitung über den Umgang mit Schildern -Vorwort -Wo bekommt man Schilder? -Wo und wie speichert man die Schilder? -Wie füge ich die Schilder in meinen Track ein? -Welche Bauteile kann man noch für Schilder
MehrProgrammiersprache 2 (C++) Prof. Dr. Stefan Enderle NTA Isny
Programmiersprache 2 (C++) Prof. Dr. Stefan Enderle NTA Isny 3. UML Klassendiagramm Nachtrag 3.1 Einführung UML UML ist eine standardisierte Sprache zur Modellierung von Systemen. In UML werden graphische
MehrLineare Gleichungssysteme
Brückenkurs Mathematik TU Dresden 2015 Lineare Gleichungssysteme Schwerpunkte: Modellbildung geometrische Interpretation Lösungsmethoden Prof. Dr. F. Schuricht TU Dresden, Fachbereich Mathematik auf der
MehrErstellen von x-y-diagrammen in OpenOffice.calc
Erstellen von x-y-diagrammen in OpenOffice.calc In dieser kleinen Anleitung geht es nur darum, aus einer bestehenden Tabelle ein x-y-diagramm zu erzeugen. D.h. es müssen in der Tabelle mindestens zwei
MehrEinführung in. Logische Schaltungen
Einführung in Logische Schaltungen 1/7 Inhaltsverzeichnis 1. Einführung 1. Was sind logische Schaltungen 2. Grundlegende Elemente 3. Weitere Elemente 4. Beispiel einer logischen Schaltung 2. Notation von
MehrWinWerk. Prozess 6a Rabatt gemäss Vorjahresverbrauch. KMU Ratgeber AG. Inhaltsverzeichnis. Im Ifang 16 8307 Effretikon
WinWerk Prozess 6a Rabatt gemäss Vorjahresverbrauch 8307 Effretikon Telefon: 052-740 11 11 Telefax: 052-740 11 71 E-Mail info@kmuratgeber.ch Internet: www.winwerk.ch Inhaltsverzeichnis 1 Ablauf der Rabattverarbeitung...
MehrJava Kurs für Anfänger Einheit 5 Methoden
Java Kurs für Anfänger Einheit 5 Methoden Ludwig-Maximilians-Universität München (Institut für Informatik: Programmierung und Softwaretechnik von Prof.Wirsing) 22. Juni 2009 Inhaltsverzeichnis Methoden
Mehr1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage:
Zählen und Zahlbereiche Übungsblatt 1 1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage: Für alle m, n N gilt m + n = n + m. in den Satz umschreiben:
MehrDas erste Programm soll einen Text zum Bildschirm schicken. Es kann mit jedem beliebigen Texteditor erstellt werden.
Einfache Ein- und Ausgabe mit Java 1. Hallo-Welt! Das erste Programm soll einen Text zum Bildschirm schicken. Es kann mit jedem beliebigen Texteditor erstellt werden. /** Die Klasse hello sendet einen
MehrEinführung in die Algebra
Prof. Dr. H. Brenner Osnabrück SS 2009 Einführung in die Algebra Vorlesung 13 Einheiten Definition 13.1. Ein Element u in einem Ring R heißt Einheit, wenn es ein Element v R gibt mit uv = vu = 1. DasElementv
Mehr50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse 11 13. 501322 Lösung 10 Punkte
50. Mathematik-Olympiade. Stufe (Regionalrunde) Klasse 3 Lösungen c 00 Aufgabenausschuss des Mathematik-Olympiaden e.v. www.mathematik-olympiaden.de. Alle Rechte vorbehalten. 503 Lösung 0 Punkte Es seien
Mehr4. BEZIEHUNGEN ZWISCHEN TABELLEN
4. BEZIEHUNGEN ZWISCHEN TABELLEN Zwischen Tabellen können in MS Access Beziehungen bestehen. Durch das Verwenden von Tabellen, die zueinander in Beziehung stehen, können Sie Folgendes erreichen: Die Größe
MehrAGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom 21.10.2013b
AGROPLUS Buchhaltung Daten-Server und Sicherheitskopie Version vom 21.10.2013b 3a) Der Daten-Server Modus und der Tresor Der Daten-Server ist eine Betriebsart welche dem Nutzer eine grosse Flexibilität
MehrErweiterung der Aufgabe. Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen:
VBA Programmierung mit Excel Schleifen 1/6 Erweiterung der Aufgabe Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen: Es müssen also 11 (B L) x 35 = 385 Zellen berücksichtigt
MehrBeweisbar sichere Verschlüsselung
Beweisbar sichere Verschlüsselung ITS-Wahlpflichtvorlesung Dr. Bodo Möller Ruhr-Universität Bochum Horst-Görtz-Institut für IT-Sicherheit Lehrstuhl für Kommunikationssicherheit bmoeller@crypto.rub.de 6
MehrKlassendiagramm. (class diagram)
: Klassendiagramm http:///topic95.html Klassendiagramm (class diagram) Klassendiagramm Objektdiagramm Komponentendiagramm Kompositionsstrukturdiagramm Verteilungsdiagramm Einstieg Paketdiagramm Aufbau
Mehr4. AuD Tafelübung T-C3
4. AuD Tafelübung T-C3 Simon Ruderich 17. November 2010 Arrays Unregelmäßige Arrays i n t [ ] [ ] x = new i n t [ 3 ] [ 4 ] ; x [ 2 ] = new i n t [ 2 ] ; for ( i n t i = 0; i < x. l e n g t h ; i ++) {
MehrKorrelation (II) Korrelation und Kausalität
Korrelation (II) Korrelation und Kausalität Situation: Seien X, Y zwei metrisch skalierte Merkmale mit Ausprägungen (x 1, x 2,..., x n ) bzw. (y 1, y 2,..., y n ). D.h. für jede i = 1, 2,..., n bezeichnen
MehrOutlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang
sysplus.ch outlook - mail-grundlagen Seite 1/8 Outlook Mail-Grundlagen Posteingang Es gibt verschiedene Möglichkeiten, um zum Posteingang zu gelangen. Man kann links im Outlook-Fenster auf die Schaltfläche
MehrPrinzipien Objektorientierter Programmierung
Prinzipien Objektorientierter Programmierung Valerian Wintner Inhaltsverzeichnis 1 Vorwort 1 2 Kapselung 1 3 Polymorphie 2 3.1 Dynamische Polymorphie...................... 2 3.2 Statische Polymorphie........................
MehrDer Jazz Veranstaltungskalender für Deutschland, Österreich und die Schweiz
Veranstaltung erstellen mit vorheriger Registrierung Wenn Sie sich bei Treffpunkt Jazz registrieren, genießen Sie folgende Vorteile: Sie können bereits eingestellte Veranstaltungen auch noch später ändern
MehrSUDOKU - Strategien zur Lösung
SUDOKU Strategien v. /00 SUDOKU - Strategien zur Lösung. Naked Single (Eindeutiger Wert)? "Es gibt nur einen einzigen Wert, der hier stehen kann". Sind alle anderen Werte bis auf einen für eine Zelle unmöglich,
MehrDas Freiwillige Soziale Jahr. Der Bundes-Freiwilligen-Dienst
Das Freiwillige Soziale Jahr Die Abkürzung für Freiwilliges Soziales Jahr ist: FSJ Das bedeutet: Junge Menschen arbeiten 1 Jahr in einer gemeinwohl-orientierten Einrichtung. Gemeinwohl-orientierte Einrichtungen
Mehrteamsync Kurzanleitung
1 teamsync Kurzanleitung Version 4.0-19. November 2012 2 1 Einleitung Mit teamsync können Sie die Produkte teamspace und projectfacts mit Microsoft Outlook synchronisieren.laden Sie sich teamsync hier
MehrDownloadfehler in DEHSt-VPSMail. Workaround zum Umgang mit einem Downloadfehler
Downloadfehler in DEHSt-VPSMail Workaround zum Umgang mit einem Downloadfehler Downloadfehler bremen online services GmbH & Co. KG Seite 2 Inhaltsverzeichnis Vorwort...3 1 Fehlermeldung...4 2 Fehlerbeseitigung...5
MehrModul Datenbanksysteme 2 Prüfung skizzenhaft SS Aug. 2007. Name: Note:
1 Modul Datenbanksysteme 2 Prüfung skizzenhaft SS Aug. 2007 Name: Note: Nr. Aufgaben Max. Punkte Erreichte Punkte 1 Grundlagen ~ 10% Vgl. Hinweis unten 2 Integrität, Procedures, Triggers, Sichten ~ 20%
MehrDieses Tutorial gibt eine Übersicht der Form Klassen von Struts, welche Besonderheiten und Unterschiede diese aufweisen.
Übersicht Struts Forms Dieses Tutorial gibt eine Übersicht der Form Klassen von Struts, welche Besonderheiten und Unterschiede diese aufweisen. Allgemeines Autor: Sascha Wolski http://www.laliluna.de/tutorials.html
MehrAnimationen erstellen
Animationen erstellen Unter Animation wird hier das Erscheinen oder Bewegen von Objekten Texten und Bildern verstanden Dazu wird zunächst eine neue Folie erstellt : Einfügen/ Neue Folie... Das Layout Aufzählung
MehrErstellen eigener HTML Seiten auf ewon
ewon - Technical Note Nr. 010 Version 1.2 Erstellen eigener HTML Seiten auf ewon 30.08.2006/SI Übersicht: 1. Thema 2. Benötigte Komponenten 3. Funktionsaufbau und Konfiguration 3.1. Unterpunkt 1 3.2. Unterpunkt
MehrRepetitionsaufgaben Wurzelgleichungen
Repetitionsaufgaben Wurzelgleichungen Inhaltsverzeichnis A) Vorbemerkungen B) Lernziele C) Theorie mit Aufgaben D) Aufgaben mit Musterlösungen 4 A) Vorbemerkungen Bitte beachten Sie: Bei Wurzelgleichungen
MehrJavakurs zu Informatik I. Henning Heitkötter
Javakurs zu Informatik I Arrays vergleichen Implementieren Sie folgende Methode, die prüft, ob die Elemente der beiden Arrays an jeder Position übereinstimmen: public static boolean identisch(int[] a,
MehrErfahrungen mit Hartz IV- Empfängern
Erfahrungen mit Hartz IV- Empfängern Ausgewählte Ergebnisse einer Befragung von Unternehmen aus den Branchen Gastronomie, Pflege und Handwerk Pressegespräch der Bundesagentur für Arbeit am 12. November
MehrLehrer: Einschreibemethoden
Lehrer: Einschreibemethoden Einschreibemethoden Für die Einschreibung in Ihren Kurs gibt es unterschiedliche Methoden. Sie können die Schüler über die Liste eingeschriebene Nutzer Ihrem Kurs zuweisen oder
MehrProgrammiersprachen und Übersetzer
Programmiersprachen und Übersetzer Sommersemester 2010 19. April 2010 Theoretische Grundlagen Problem Wie kann man eine unendliche Menge von (syntaktisch) korrekten Programmen definieren? Lösung Wie auch
MehrWPF Steuerelemente Listbox, ComboBox, ListView,
WPF Steuerelemente Listbox, ComboBox, ListView, Dr. Beatrice Amrhein Überblick Einführung Listen ComboBox Tabellen 2 Einführung 3 Listen- und Tabellen-Elemente Listen und Tabellen-Elemente sind Steuerelemente,
MehrEtikettendruck mit Works 7.0
Etikettendruck mit Works 7.0 Wie Sie die Kundendaten aus der JS Software exportieren können, ist in der Anleitungen Datenexport aus JS-Software beschrieben. Wir gehen davon aus, dass Sie im Programm Etikettendruck
Mehr5 DATEN. 5.1. Variablen. Variablen können beliebige Werte zugewiesen und im Gegensatz zu
Daten Makro + VBA effektiv 5 DATEN 5.1. Variablen Variablen können beliebige Werte zugewiesen und im Gegensatz zu Konstanten jederzeit im Programm verändert werden. Als Variablen können beliebige Zeichenketten
MehrDrei Fragen zum Datenschutz im. Nico Reiners
Drei Fragen zum Datenschutz im Geoinformationswesen Nico Reiners 1. Frage Welche Geoinformationen sind personenbezogen? Personenbezug? Personenbezogene Daten sind Einzelangaben über persönliche oder sachliche
MehrAlle Schlüssel-Karten (blaue Rückseite) werden den Schlüssel-Farben nach sortiert und in vier getrennte Stapel mit der Bildseite nach oben gelegt.
Gentlemen", bitte zur Kasse! Ravensburger Spiele Nr. 01 264 0 Autoren: Wolfgang Kramer und Jürgen P. K. Grunau Grafik: Erhard Dietl Ein Gaunerspiel für 3-6 Gentlemen" ab 10 Jahren Inhalt: 35 Tresor-Karten
MehrKlassendiagramm. Kurzer Überblick über UML - Stand 2006. BlaBla
BlaBla Diese Kennzeichnungen sind nur Erläuterungen und nicht Bestandteil des Diagramms Quelle: P.Grässle, H.Baumann, P.Baumann, UML projektorientiert, Galileo Verlag, 2003 21 Primäre Begriffe Kapselung
MehrProfessionelle Seminare im Bereich MS-Office
Serienbrief aus Outlook heraus Schritt 1 Zuerst sollten Sie die Kontakte einblenden, damit Ihnen der Seriendruck zur Verfügung steht. Schritt 2 Danach wählen Sie bitte Gerhard Grünholz 1 Schritt 3 Es öffnet
MehrSEP 114. Design by Contract
Design by Contract SEP 114 Design by Contract Teile das zu entwickelnde Programm in kleine Einheiten (Klassen, Methoden), die unabhängig voneinander entwickelt und überprüft werden können. Einheiten mit
MehrVerkehrsteilnehmer. Beispiel: Wir betrachten die Modellierung von Handlungskomponenten wie Verkehrsteilnehmern und Straßen.
7.6 Bedingte Rechte Manchmal sind Rechte nur unter bestimmten Voraussetzungen gültig. Diese Situation beschreiben wir -wie sonst auch üblich- mit bedingten Rechten. Beispiel: Wir betrachten die Modellierung
MehrDrei-Schichten-Architektur. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 16: 3-Schichten-Architektur 1 Fachkonzept - GUI
Universität Osnabrück Drei-Schichten-Architektur 3 - Objektorientierte Programmierung in Java Vorlesung 6: 3-Schichten-Architektur Fachkonzept - GUI SS 2005 Prof. Dr. F.M. Thiesing, FH Dortmund Ein großer
MehrStundenerfassung Version 1.8 Anleitung Arbeiten mit Replikaten
Stundenerfassung Version 1.8 Anleitung Arbeiten mit Replikaten 2008 netcadservice GmbH netcadservice GmbH Augustinerstraße 3 D-83395 Freilassing Dieses Programm ist urheberrechtlich geschützt. Eine Weitergabe
MehrFolge 18 - Vererbung
Workshop Folge 18 - Vererbung 18.1 Ein einfacher Fall der Vererbung Schritt 1 - Vorbereitungen Besorgen Sie sich - vielleicht aus einer der Übungen der Folge 17 - ein fertiges und lauffähiges Listenprojekt,
MehrAutoTexte und AutoKorrektur unter Outlook verwenden
AutoTexte und AutoKorrektur unter Outlook verwenden Die Hilfsmittel "AutoKorrektur" und "AutoTexte", die schon unter Microsoft Word das Arbeiten erleichtern, sind natürlich auch unter Outlook verfügbar.
MehrSatzhilfen Publisher Seite Einrichten
Satzhilfen Publisher Seite Einrichten Es gibt verschiedene Möglichkeiten die Seite einzurichten, wir fangen mit der normalen Version an, Seite einrichten auf Format A5 Wählen Sie zunächst Datei Seite einrichten,
Mehr