Informatik II Musterlösung
|
|
|
- Sigrid Bäcker
- vor 7 Jahren
- Abrufe
Transkript
1 Ludwig-Maximilians-Universität München SS 2006 Institut für Informatik Übungsblatt 5 Prof. Dr. M. Wirsing, M. Hammer, A. Rauschmayer Informatik II Musterlösung Zu jeder Aufgabe ist eine Datei abzugeben, deren Name rechts in der Aufgabenüberschrift steht. Stellen Sie die Dateien in ein extra Verzeichnis (mit beliebigem Namen) und packen Sie dieses zu einem ZIP- Archiv. Geben Sie dieses, wie üblich, per UniWorx ab. Aufgabe 5-1 Beschäftigte bei Behörden (Clerk.java, 12 Punkte) Wir modellieren einen Beschäftigten bei einer Behörde aus der Sicht des Personalreferats; naturgemäß ist unsere Modellierung stark vereinfacht. Für das Personalreferat ist ein Beschäftigter gegeben durch ˆ seinen Nach- und Vornamen (jeweils vom Typ String) ˆ das Jahr seiner Geburt (von Typ int) ˆ seine Besoldungskategorie (vom Typ int) ˆ einen booleschen Wert, der anzeigt, ob der Beschäftigte verheiratet ist. Ziel der Aufgabe ist es, einen Beschäftigten zu modellieren und aus den gegebenen Daten die monatliche Besoldung zu ermitteln, die sich wie folgt berechnet: Der Grundsold von e2000 wird um x 17/9 Prozent erhöht, wobei x die Besoldungskategorie ist. Beginnend mit dem Jahr, in dem das 30. Lebensjahr vollendet wird, wird der so errechnete Betrag alle 5 Jahre zusätzlich um 1 Prozent erhöht. Der Zuschlag für Verheiratete beträgt 12.3 Prozent des Grundsolds. a) Definieren Sie eine Klasse Clerk, deren Attribute einen Angestellten (wie oben modelliert) beschreiben. b) Erweitern Sie Ihre Klasse um einen Konstruktor Clerk(String firstname, String lastname, int yearofbirth, int salaryclass, boolean married), der die Instanzvariablen eines Beschäftigten mit den übergebenen Werten vorbesetzt. c) Erweitern Sie Ihre Klasse um eine Methode void promote(int newsalaryclass), die einen Beschäftigten in eine neue Gehaltsstufe einordnet. d) Erweitern Sie Ihre Klasse um Methoden void marry() und void divorce(), die den Familienstand verheiratet bzw. nicht verheiratet verändern. e) Erweitern Sie Ihre Klasse um eine Methode double salary(int thisyear), die den Sold bestimmt. In der Variablen thisyear wird das Jahr übergeben, für das der Sold berechnet werden soll. f) Erweitern Sie Ihre Klasse um eine Methode boolean envies(clerk c), die genau dann true zurückliefert, wenn der Beschäftigte, bei dem die Methode aufgerufen wird, den Beschäftigten c beneidet. Dies ist der Fall, wenn ˆ der Beschäftigte bereits älter ist als c ˆ aber im Jahr 2006 einen geringeren Sold bezieht. g) Erweitern Sie Ihre Klasse um eine Prozedur main, die zwei Beschäftigte erzeugt, und die folgenden Aktionen durchführt: ˆ Ausgabe des Solds beider Beschäftigten auf dem Bildschirm. ˆ Der erste Beschäftigte heiratet; danach erneute Ausgabe des Sold beider Beschäftigten. ˆ Der zweite Beschäftigte wird in die Gehaltsklasse 7 übernommen.
2 ˆ Es soll auf dem Bildschirm ausgegeben werden, ob der erste Angestellte den zweiten beneidet. ˆ Es soll auf den Bildschirm ausgegeben werden, ob der zweite Angestellte sich selbst beneidet. h) Schreiben Sie eine Prozedur boolean allhappy(clerk[] cs), die für eine Reihung von Clerk- Objekten bestimmt, ob alle Beschäftigten glücklich sind, d.h. ob bei einem paarweisen Vergleich envies stets false liefert. Fügen Sie einen Test dieser Prozedur in die main-prozedur ein! Lösung: public class Clerk { /* Teilaufgabe (a): Instanzenvariablen mit Defaultwerten private String firstname, lastname; private int yearofbirth; private int salaryclass; private boolean married; /* * wegen der vermeidung von magic numbers hier der Grundsold und die * weiteren Konstanten private static final double basicsalary = ; private static final double classmultiplier = 17.0 / 9.0; private static final double marriagebonus = 12.3; private static final int year = 2006; public String tostring() { return firstname + " " + lastname + "(born " + yearofbirth + ", " + (married?"married":"bac * Teilaufgabe (b): Initialisieren der Instanzenvariablen per Konstruktor public Clerk(String firstname, String lastname, int yearofbirth, int salaryclass, boolean married) { this.firstname = firstname; this.lastname = lastname; this.yearofbirth = yearofbirth; this.salaryclass = salaryclass; this.married = married; Teilaufgabe (c): Befoerdern eines Angestellten public void promote(int newsalaryclass) { salaryclass = newsalaryclass; Teilaufgabe (d): Heirat und Scheidung public void marry() { married = true; public void divorce() { married = false; Teilaufgabe (e): Berechnung des Solds public double salary(int thisyear) { /* berechnet den Sold
3 double thesalary; /* Grundsold + x * 17/9 Prozent mit x = salaryclass: thesalary = basicsalary * (( classmultiplier) / * salaryclass); // System.out.println("s1: " + thesalary); /* Altersbonus int age = thisyear - yearofbirth; int nbonus = 0; if (age >= 30) nbonus = (age - 25) / 5; thesalary = (( nbonus) / 100.0) * thesalary; /* Verheiratetenzuschlag if (married) thesalary += (( marriagebonus) / 100.0) * basicsalary; return thesalary; Teilaufgabe (f): wer beneidet wen? public boolean envies(clerk c) { return (yearofbirth < c.yearofbirth) && (salary(year) < c.salary(year)); Teilaufgabe (g): main (enthaelt etwas mehr als verlangt) public static void main(string[] args) { Clerk c1 = new Clerk("Jack", "Miller", 1970, 1, false); Clerk c2 = new Clerk("John", "Smith", 1980, 1, false); System.out.println(c1 + " earns " + c1.salary(year)); System.out.println(c2 + " earns " + c2.salary(year)); System.out.println(c1 + " envies " + c2 + ": " + c1.envies(c2)); c2.promote(7); System.out.println(c2 + " earns " + c2.salary(year)); System.out.println(c1 + " envies " + c2 + ": " + c1.envies(c2)); System.out.println(c2 + " envies himself: " + c2.envies(c2)); Clerk c3 = new Clerk("Clark", "Kent", 1962, 3, false); Clerk c4 = new Clerk("Jerry", "Maguire", 1974, 1, true); Clerk[] clerks = new Clerk[]{c1, c2, c3, c4; System.out.println(java.util.Arrays.toString(clerks) + "are happy: " + allhappy(clerks)); // wir machen sie gluecklich c4.divorce(); c2.promote(1); System.out.println(java.util.Arrays.toString(clerks) + "are happy: " + allhappy(clerks)); Teilaufgabe(h): Ist eine Reihung von Clerk-Objekten paarweise zufrieden? public static boolean allhappy(clerk[] cs) { for (Clerk c1 : cs) { for (Clerk c2 : cs) { if (c1.envies(c2)) { // beachte die Nichtreflexivitaet! return false; return true;
4 Aufgabe 5-2 Keller als Klasse implementieren (ArrayStack.java, 10 Punkte) Implementieren Sie einen Keller (engl. Stack) als eine Klasse. Erweitern Sie hierzu das unten angegebene Gerüst. public class ArrayStackSkeleton { * Hier werden die Stack-Einträge gespeichert. private int[] data; * Das nächste zu schreibende Element (= Anzahl der Elemente auf dem Stack) private int topofstack; * Legt einen Stack mit der Anfangskapazität <code>initialcapacity</code> * an. Die Kapazität wirkt sich nicht auf das beobachtbare Verhalten aus * (sprich: sie wird bei Bedarf erweitert). public ArrayStackSkeleton(int initialcapacity) { * Lege einen leeren Stack an. public ArrayStackSkeleton() { * Lege einen neuen Stack an, belege ihn mit den Elementen * <code>elements</code>. public ArrayStackSkeleton(int[] elements) { * Copy constructor: Erzeuge eine neue Instanz als echte Kopie von * <code>other</code>. public ArrayStackSkeleton(ArrayStackSkeleton other) { * Stelle einen neuen Wert auf den Stack, erweitere gegebenenfalls die * Kapazität. public void push(int value) {
5 * Entferne den obersten Wert vom Stack und gib ihn zurück. public int pop() { * Lies den obersten Wert vom Stack aus. public int peek() { * Gib den momentanen Stackzustand als String zurück. public String tostring() { public static void main(string[] args) { ArrayStackSkeleton stack = new ArrayStackSkeleton(); stack.push(5); stack.push(3); System.out.println("-->" + stack.pop()); System.out.println("-->" + stack.peek()); Hinweise: ˆ Methode tostring(): Wenn man diese parameterlose Methode in eine Klasse schreibt, kann man deren Instanzen direkt per System.out.println() ausgeben. Mit dem +-Operator kann man in Java nicht nur Zahlen addieren, sondern auch Strings zusammenhängen. Kommt ein Objekt, das kein String ist, in so einer Addition vor, dann setzt Java tostring() ein, um dieses Objekt zu konvertieren. Die untenstehende Klasse IntArrayContainer enthält eine tostring-implementierung. Ihre Implementierung soll zu folgender Ausgabe führen: ArrayStack[] ArrayStack[5] ArrayStack[5, 3] -->3 ArrayStack[5] -->5 ArrayStack[5] ˆ Weiterhin kann ihnen die Klasse StringBuilder und die Methode System.arraycopy() bei der Implementierung helfen. Schlagen Sie beides im JavaDoc nach. ˆ Copy-Konstruktoren: sind ein einfaches Mittel, um Objekte zu kopieren. Prinzip: Einer der Konstruktoren einer Klasse bekommt als Argument eine andere Instanz der selben Klasse. Nun wird der interne Zustand des neuen Objekts komplett von dem existierenden übernommen und fertig ist die Kopie. ArrayStack hat einen Copy-Konstruktor.
6 ˆ Assertions: Manche Methoden können, abhängig vom momentanen Zustand des Stacks, manchmal nicht aufgerufen werden. Überprüfen Sie diese Fälle über Assertions. ˆ Pseudo-Methode this(): Damit kann man von einem Konstruktor einen anderen aufrufen, allerdings nur in der ersten Zeile, also bevor andere Anweisungen aufgeführt werden. IntArrayContainer ist auch hierfür ein Beispiel. Beispiel für ein paar der erwähnten Konstrukte: public class IntArrayContainer { private int[] data; public IntArrayContainer(int[] mydata) { this.data = mydata; public IntArrayContainer() { this(new int[0]); public String tostring() { // Bei leeren Arrays ist das Ergebnis nicht optimal! StringBuilder sb = new StringBuilder(); sb.append(" "); for(int i : this.data) { sb.append(i); sb.append(" "); String mystring = sb.tostring(); return mystring; public static void main(string[] args) { System.out.println(new IntArrayContainer(new int[] { 1, 2, 3)); System.out.println(new IntArrayContainer(new int[] { 77 )); System.out.println(new IntArrayContainer(new int[0])); Die main-methode erzeugt folgende Ausgabe: Lösung: public class ArrayStack { * Hier werden die Stack-Einträge gespeichert. private int[] data; * Das nächste zu schreibende Element (= Anzahl der Elemente auf dem Stack) private int topofstack;
7 * Lege einen leeren Stack an. public ArrayStack() { this(5); * Legt einen Stack mit der Anfangskapazität <code>initialcapacity</code> * an. Die Kapazität wirkt sich nicht auf das beobachtbare Verhalten aus * (sprich: sie wird bei bedarf erweitert). public ArrayStack(int initialcapacity) { assert initialcapacity >= 0; this.data = new int[initialcapacity]; topofstack = 0; * Lege einen neuen Stack an, belege ihn mit den Elementen * <code>elements</code>. public ArrayStack(int[] elements) { this(elements.length); // Nicht schnell, aber dafür einfach: for (int elem : elements) { push(elem); * Copy constructor: Erzeuge eine neue Instanz als echte Kopie von * <code>other</code>. public ArrayStack(ArrayStack other) { this.data = new int[other.data.length]; System.arraycopy(other.data, 0, this.data, 0, other.data.length); this.topofstack = other.topofstack; * Stelle einen neuen Wert auf den Stack, erweitere gegebenenfalls die * Kapazität. public void push(int value) { if (this.topofstack >= data.length) { extendcapacity(); this.data[this.topofstack] = value; this.topofstack++; * Hilfsfunktion: Verdopple Kapazität.
8 private void extendcapacity() { int newlength = this.data.length * 2; if (newlength == 0) { // Zur Sicherheit: Möglicherweise war die Anfangskapazität = 0 newlength = 2; int[] newdata = new int[newlength]; System.arraycopy(this.data, 0, newdata, 0, this.data.length); this.data = newdata; * Entferne den obersten Wert vom Stack und gib ihn zurück. public int pop() { assert this.topofstack > 0; this.topofstack--; return this.data[topofstack]; * Lies den obersten Wert vom Stack aus. public int peek() { assert this.topofstack > 0; return this.data[topofstack - 1]; * Gib den momentanen Stackzustand als String zurück. public String tostring() { StringBuilder sb = new StringBuilder(); sb.append("arraystack["); for (int i = 0; i < this.topofstack; i++) { if (i > 0) { sb.append(", "); sb.append(this.data[i]); sb.append("]"); return sb.tostring(); public static void main(string[] args) { ArrayStack stack = new ArrayStack(); stack.push(5); stack.push(3); System.out.println("-->" + stack.pop()); System.out.println("-->" + stack.peek());
9 Abgabe: Per UniWorx, bis spätestens Montag, den um 9:00 Uhr.
Informatik II Musterlösung
Ludwig-Maximilians-Universität München SS 2006 Institut für Informatik Übungsblatt 8 Prof. Dr. M. Wirsing, M. Hammer, A. Rauschmayer Informatik II Musterlösung Zu jeder Aufgabe sind Dateien abzugeben,
Informatik II Musterlösung
Ludwig-Maximilians-Universität München SS 2006 Institut für Informatik Übungsblatt 4 Prof. Dr. M. Wirsing, M. Hammer, A. Rauschmayer Informatik II Musterlösung Zu jeder Aufgabe ist eine Datei abzugeben,
Übungsblatt 13. Abgabe / Besprechung in Absprache mit dem Tutor
Albert-Ludwigs-Universität Freiburg Institut für Informatik Einführung in die Informatik Sommersemester 2013 PD Dr. Cyrill Stachniss Dr. Rainer Kümmerle Übungsblatt 13 Abgabe / Besprechung in Absprache
Übungsblatt 13. Abgabe / Besprechung in Absprache mit dem Tutor
Albert-Ludwigs-Universität Freiburg Institut für Informatik Einführung in die Informatik Sommersemester 2018 Prof. Dr. Wolfram Burgard Andreas Kuhner Daniel Büscher Übungsblatt 13 Abgabe / Besprechung
Javakurs für Anfänger
Javakurs für Anfänger Einheit 08: Mehr zu Klassen Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme 1. Teil: Wiederholung Heutige Agenda Verwendung der ArrayList 2. Teil: Weitere Aspekte der OO
Prüfung Softwareentwicklung II (IB)
Hochschule für angewandte Wissenschaften München Fakultät für Informatik und Mathematik Studiengruppe IB 2 B, IB 2 C Sommersemester 2013 Prüfung Softwareentwicklung II (IB) Datum : 11.07.2013, 08:30 Uhr
Probeklausur Java Einführung in die Informatik. Wintersemester 2016/2017
Fakultät IV NI & CV Java Einführung in die Informatik Wintersemester 2016/2017 Hinweis: Diese ist eine kleine Aufgabensammlung, die etwa dem Schwierigkeitsgrad der schriftlichen Prüfung des Moduls Einführung
FH D. Objektorientierte Programmierung in Java FH D FH D. Prof. Dr. Ing. André Stuhlsatz. Referenzen. Referenzen
5 Objektorientierte Programmierung in Java Prof. Dr. Ing. André Stuhlsatz Referenzen Beispiel an der einfachen Klasse Walze: public class Walze { int id; public Walze(int id) { this.id = id; Verwenden
Objektorientierung. Klassen und Objekte. Dr. Beatrice Amrhein
Objektorientierung Klassen und Objekte Dr. Beatrice Amrhein Überblick Konzepte der Objektorientierten Programmierung Klassen und Objekte o Implementierung von Klassen o Verwendung von Objekten 2 Konzepte
Probeklausur Java Einführung in die Informatik. Wintersemester 2017/2018
Fakultät IV NI & CV Java Einführung in die Informatik Wintersemester 2017/2018 Hinweis: Diese ist eine kleine Aufgabensammlung, die etwa dem Schwierigkeitsgrad der schriftlichen Prüfung des Moduls Einführung
1 Klassen und Objekte
1 Klassen und Objekte Datentyp - Spezifikation des Typs von Datenobjekten Datenstruktur - logische Ordnung von Elementen eines Datentyps - zur (effizienten) Speicherung, Verwaltung, Zugriff - auf die Elemente
Aufgabenblatt: OOP - Seite 1. (2.) Geometrie: Erstellen Sie eine Klasse CPyramid, die sich von der Klasse Square ableitet:
Aufgabenblatt: OOP - Seite 1 Aufgabenblatt: OOP II (1.) Gegeben ist nebenstehende die Klasse CPoint! (a.) Schreiben Sie eine Subklasse CPoint3 mit nebenstehenden Eigenschaften und Methoden und Testen Sie
Objektorientierte Programmierung. Kapitel 22: Aufzählungstypen (Enumeration Types)
Stefan Brass: OOP (Java), 22. Aufzählungstypen 1/20 Objektorientierte Programmierung Kapitel 22: Aufzählungstypen (Enumeration Types) Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester
Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung: Lösungsvorschlag
Ludwig-Maximilians-Universität München WS 2018/19 Institut für Informatik Übungsblatt 3 Prof. Dr. D. Sabel, Dr. P. Wendler Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung:
CoMa 04. Java II. Paul Boeck. 7. Mai Humboldt Universität zu Berlin Institut für Mathematik. Paul Boeck CoMa 04 7.
CoMa 04 Java II Paul Boeck Humboldt Universität zu Berlin Institut für Mathematik 7. Mai 2013 Paul Boeck CoMa 04 7. Mai 2013 1 / 13 Verzweigungen Wenn-Dann Beziehungen if (BEDINGUNG) { else if (BEDINGUNG2)
12 Abstrakte Klassen, finale Klassen und Interfaces
12 Abstrakte Klassen, finale Klassen und Interfaces Eine abstrakte Objekt-Methode ist eine Methode, für die keine Implementierung bereit gestellt wird. Eine Klasse, die abstrakte Objekt-Methoden enthält,
Probeklausur Java Einführung in die Informatik. Wintersemester 2014/2015
Fakultät IV NI & CV Probeklausur Java Einführung in die Informatik Wintersemester 2014/2015 Hinweis: Diese Probeklausur ist eine kleine Aufgabensammlung, die etwa dem Schwierigkeitsgrad der schriftlichen
Ausgabe:
Aufgabe 2.10: Schreiben Sie ein Programm, das zunächst die Quadratzahlen zu den Zahlen 1-10 mit Hilfe einer While- Schleife und danach die Quadratzahlen zu den Zahlen 3, 6, 9,.., 30 mit Hilfe einer For-Schleife
Fakultät IV Elektrotechnik/Informatik
Fakultät IV Elektrotechnik/Informatik Probeklausur Einführung in die Informatik I Hinweis: Diese Probeklausur ist eine kleine Aufgabensammlung, die etwa dem Schwierigkeitsgrad der Teilleistung TL 2 (Programmiertest)
Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung: Lösungsvorschlag
Ludwig-Maximilians-Universität München WS 2018/19 Institut für Informatik Übungsblatt 3 Prof. Dr. D. Sabel, Dr. P. Wendler Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung:
Vorbereitende Aufgaben
Praktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester 2018/19 Fakultät für Informatik Lehrstuhl 14 Lars Hildebrand Übungsblatt 4 Besprechung: 19. 23.11.2018 (KW 47) Vorbereitende
Die Klasse java.lang.object. Thorsten Treffer
Die Klasse java.lang.object Thorsten Treffer 6. Dezember 2003 1 java.lang.object Die Klassenhierarchie von Java kann als Baum aufgezeichnet werden, dessen Wurzel die Klasse Object ist. Mit anderen Worten:
Übung Programmierung WS 2007/08 - Blatt 6
RHEINISCH- WESTFÄLISCHE TECHNISCHE HOCHSCHULE AACHEN LEHR- UND FORSCHUNGSGEBIET INFORMATIK 2 RWTH Aachen D-52056 Aachen GERMANY http://programmierung.informatik.rwth-aachen.de LuFG Informatik II Prof.
Probeklausur Java Einführung in die Informatik. Wintersemester 2014/2015. Musterlösung
Fakultät IV NI & CV Probeklausur Java Einführung in die Informatik Wintersemester 2014/2015 Hinweis: Diese Probeklausur ist eine kleine Aufgabensammlung, die etwa dem Schwierigkeitsgrad der schriftlichen
Musterlösung Stand: 5. Februar 2009
Fakultät IV Elektrotechnik/Informatik Probeklausur Einführung in die Informatik I Hinweis: Diese Probeklausur ist eine kleine Aufgabensammlung, die etwa dem Schwierigkeitsgrad der Teilleistung TL 2 (Programmiertest)
Einführung in die Java- Programmierung
Einführung in die Java- Programmierung Dr. Volker Riediger Tassilo Horn riediger [email protected] WiSe 2012/13 1 Wichtig... Mittags keine Pommes... Praktikum A 230 C 207 (Madeleine + Esma) F 112 F 113
Felder - Arrays. Typ feldname[] = new Typ[<ganze Zahl >]; Beispiel: double vektor[] = new double[5]; auch eine Initialisierung ist möglich.
Felder Felder - Arrays Variable gleichen Types können in Feldern (array) zusammengefasst werden. Typ[] feldname; oder Typ feldname[]; dabei kann unter Benutzung des new-operators gleich die Dimension zugewiesen
Einführung in die Programmierung WS 2009/10. Übungsblatt 7: Imperative Programmierung, Parameterübergabe
Ludwig-Maximilians-Universität München München, 04.12.2009 Institut für Informatik Prof. Dr. Christian Böhm Annahita Oswald, Bianca Wackersreuther Einführung in die Programmierung WS 2009/10 Übungsblatt
Einfache Arrays. Dr. Philipp Wendler. Zentralübung zur Vorlesung Einführung in die Informatik: Programmierung und Softwareentwicklung
Dr. Philipp Wendler Zentralübung zur Vorlesung Einführung in die Informatik: Programmierung und Softwareentwicklung WS18/19 https://www.sosy-lab.org/teaching/2018-ws-infoeinf/ Arrays: Wiederholung Ein
Programmierkurs Java
Programmierkurs Java Dr. Dietrich Boles Aufgaben zu UE38-Generics (Stand 28.09.2012) Aufgabe 1: Schauen Sie sich die generischen Klassen des Paketes java.util an. Aufgabe 2: Ausgangslage sind die folgenden
Vererbung. Martin Wirsing. Ziele. Vererbung
2 Ziele Martin Wirsing en Begriff der einfachen verstehen und Redefinition von Oberklassenmethoden verstehen spolymorphie verstehen ie Klasse Object kennenlernen in Zusammenarbeit mit Michael Barth, Philipp
Probeklausur: Programmierung WS04/05
Probeklausur: Programmierung WS04/05 Name: Hinweise zur Bearbeitung Nimm Dir für diese Klausur ausreichend Zeit, und sorge dafür, dass Du nicht gestört wirst. Die Klausur ist für 90 Minuten angesetzt,
Vorkurs Informatik WiSe 15/16
Java 7 Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe, 21.10.2015 Technische Universität Braunschweig, IPS Überblick OO in Java Vererbung Abstrakte Klassen und Interfaces 21.10.2015 Dr. Werner Struckmann
1. Grundzüge der Objektorientierung 2. Methoden, Unterprogramme und Parameter 3. Datenabstraktion 4. Konstruktoren 5. Vordefinierte Klassen
1. Grundzüge der Objektorientierung 2. Methoden, Unterprogramme und Parameter 3. Datenabstraktion 4. Konstruktoren 5. Vordefinierte Klassen II.2.2 Methoden, Unterprogramme und Parameter - 1 - 2. Methoden
Programmieren in Java
Programmieren in Java Vorlesung 03: Schleifen Prof. Dr. Peter Thiemann Albert-Ludwigs-Universität Freiburg, Germany SS 2017 Peter Thiemann (Univ. Freiburg) Programmieren in Java JAVA 1 / 12 Inhalt Codequalität
ALP II Dynamische Datenmengen Datenabstraktion
ALP II Dynamische Datenmengen Datenabstraktion O1 O2 O3 O4 SS 2012 Prof Dr Margarita Esponda M Esponda-Argüero 1 Dynamische Datenmengen Dynamische Datenmengen können durch verschiedene Datenstrukturen
Programmierstarthilfe SS 2010 Fakultät für Ingenieurwissenschaften und Informatik 2. Blatt Für die Woche vom 3.5. bis zum 7.5.
Programmierstarthilfe SS 2010 Fakultät für Ingenieurwissenschaften und Informatik 2. Blatt Für die Woche vom 3.5. bis zum 7.5.2010 (KW 18) Organisatorisches Im Web unter http://www.uni-ulm.de/in/programmierstarthilfe.html
Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 16/17. Kapitel 13. Listen. Listen 1
Kapitel 13 Listen Listen 1 Ziele Implementierungen für Listen kennenlernen Einfach verkettete und doppelt verkettete Listen verstehen Listen-Implementierungen in der Java-Bibliothek kennenlernen Durch
Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 15/16. Kapitel 12. Listen. Listen 1
Kapitel 12 Listen Listen 1 Ziele Implementierungen für Listen kennenlernen Einfach verkettete und doppelt verkettete Listen verstehen Listen-Implementierungen in der Java-Bibliothek kennenlernen Durch
JAVA - Methoden
Übungen Informatik I JAVA - http://www.fbi-lkt.fh-karlsruhe.de/lab/info01/tutorial Übungen Informatik 1 Folie 1 sind eine Zusammenfassung von Deklarationen und Anweisungen haben einen Namen und können
hue12 January 24, 2017
hue12 January 24, 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
Programmiertechnik Klassenvariablen & Instantiierung
Programmiertechnik Klassenvariablen & Instantiierung Prof. Dr. Oliver Haase Oliver Haase Hochschule Konstanz 1 Klassenvariablen Zur Erinnerung: Klassen bestehen aus Variablen und Methoden; beide zusammen
Übungsblatt 1. Java Vorkurs (WS 2017)
Übungsblatt 1 Java Vorkurs (WS 2017) Aufgabe 1 Hallo-Welt Erstelle ein neues Projekt mit dem Namen HelloJava. Erzeuge in diesem Projekt eine neue Klasse HelloJava. (a) Schreibe die main-methode in die
Programmieren in Java -Eingangstest-
Programmieren in Java -Eingangstest- Nummer: 1. Studiengang: Informatik B.Sc. Informatik M.Sc. ESE B.Sc. ESE M.Sc. Sonstiges: Fachsemester: Bitte Fragen, die Sie nicht beantworten können unbedingt mit
Konstruktor. public Rational(int i) { Zaehler = i; Nenner = 1; }
Konstruktor spezielle Methode zum Initialisieren bei Erzeugen eines Objekts mit new trägt Namen der Klasse hat keinen Rückgabetyp keiner angegeben: Compiler erzeugt Standard-Konstruktor (analog: Attribute
JAVA BASICS. 2. Primitive Datentypen. 1. Warum Java? a) Boolean (logische Werte wahr & falsch)
JAVA BASICS 2. Primitive Datentypen 1. Warum Java? weit verbreitet einfach und (relativ) sicher keine Pointer (?) keine gotos kein Präprozessor keine globalen Variablen garbage collection objekt-orientiert
Einführung in die Programmierung
Technische Universität München WS 2003/2004 Institut für Informatik Prof. Dr. Christoph Zenger Semestralklausur Einführung in die Programmierung Semestralklausur Java (Lösungsvorschlag) 1 Die Klasse ArrayList
Hochschule Augsburg, Fakultät für Informatik Name:... Prüfung "Programmieren 1", IN1bac, WS 10/11 Seite 1 von 6
Prüfung "Programmieren 1", IN1bac, WS 10/11 Seite 1 von 6 Datum, Uhrzeit: 24. 01. 2011, 10.30 Uhr Semester: IN1 Note:... Prüfer: Prof. Meixner Dauer: 60 Min. Hilfsmittel: keine Punkte:... Diese Prüfung
Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 11/12 1. Kapitel 11. Listen. Listen
Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 11/12 1 Kapitel 11 Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 11/12 2 Ziele Implementierungen für
Vorbereitende Aufgaben
Praktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester 2017/18 Fakultät für Informatik Lehrstuhl 14 Lars Hildebrand Übungsblatt 4 Besprechung: 13. 17.11.2017 (KW 46) Vorbereitende
Klausur zur Vorlesung Einführung in die Programmierung
Ludwig-Maximilians-Universität München Institut für Informatik Dr. Peer Kröger, Dr. Andreas Züfle Daniel Kaltenthaler, Klaus Schmid Klausur zur Vorlesung Einführung in die Programmierung Lösungen Vorname:
1. Grundzüge der Objektorientierung 2. Methoden, Unterprogramme und Parameter 3. Datenabstraktion 4. Konstruktoren 5. Vordefinierte Klassen
1. Grundzüge der Objektorientierung 2. Methoden, Unterprogramme und Parameter 3. Datenabstraktion 4. Konstruktoren 5. Vordefinierte Klassen II.2.2 Methoden, Unterprogramme und Parameter - 1 - 2. Methoden
Übung zur Vorlesung Programmierung
RWTH Aachen Lehrgebiet Theoretische Informatik Frohn Reidl Rossmanith Sánchez Ströder WS 013/14 Übungsblatt 4 18.11.013 Übung zur Vorlesung Programmierung Aufgabe T8 Ein Stack ist eine Datenstruktur, die
Beuth Hochschule Parameter-Übergabe-Mechanismen WS17/18, S. 1
Beuth Hochschule Parameter-Übergabe-Mechanismen WS17/18, S. 1 Parameter-Übergabe-Mechanismen in Java und in anderen Sprachen. 1. Methoden vereinbaren mit Parametern Wenn man (z.b. in Java) eine Methode
Praktikum 4: Grafiken und Ereignisse
Praktikum 4: Grafiken und Ereignisse Aufgabe 1: Java Applikation Bisher haben wir in Java (ebenso wie in C) jeweils selbständige Konsole-Applikationen erstellt. Java wurde als Programmiersprache für das
Informatik - Übungsstunde
Informatik - Übungsstunde Jonas Lauener ([email protected]) ETH Zürich Woche 12-23.05.2018 Lernziele Klassen Dynamic Memory Jonas Lauener (ETH Zürich) Informatik - Übung Woche 12 2 / 20 Structs
Prüfung Softwareentwicklung I (IB)
Hochschule für angewandte Wissenschaften München Fakultät für Informatik und Mathematik Studiengruppe IB 1 B, IB 1 C Wintersemester 2012/13 Prüfung Softwareentwicklung I (IB) Datum : 25.01.2013, 10:30
Algorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Tafelübung 03 Vererbung, Polymorphie, Sichtbarkeit, Interfaces Clemens Lang T2 11. Mai 2010 14:00 16:00, 00.152 Tafelübung zu AuD 1/26 Klassen und Objekte Klassen und Objekte
Übungen zum Bioinformatik-Tutorium. Blatt 6
Institut für Informatik Wintersemester 2018/19 Praktische Informatik und Bioinformatik Prof. Dr. Ralf Zimmer Übungen zum Bioinformatik-Tutorium Blatt 6 Termin: Dienstag, 27.11.2018, 11 Uhr 1. Klassen und
Tag 8 Repetitorium Informatik (Java)
Tag 8 Repetitorium Informatik (Java) Dozent: Michael Baer Lehrstuhl für Informatik 2 (Programmiersysteme) Friedrich-Alexander-Universität Erlangen-Nürnberg Wintersemester 2017/2018 Informatik-Repetitorium
Vererbung. Gerd Bohlender. Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java 14.1.
Vererbung Gerd Bohlender Institut für Angewandte und Numerische Mathematik Vorlesung: Einstieg in die Informatik mit Java 14.1.08 G. Bohlender (IANM UNI Karlsruhe) Vererbung 14.1.08 1 / 11 Übersicht 1
Grundlagen der Objektorientierten Programmierung Static
static - Komponenten Das Schlüsselwort static steht vor einer Klassenkomponente (Attribut oder Methode) und kennzeichnet diese als zur Klasse gehörig und nicht zu einem bestimmten Objekt. Was bedeutet
14 Abstrakte Klassen, finale Klassen, Interfaces
Eine abstrakte Objekt-Methode ist eine Methode, für die keine Implementierung bereit gestellt wird. Eine Klasse, die abstrakte Objekt-Methoden enthält, heißt ebenfalls abstrakt. Für eine abstrakte Klasse
Klassenvariablen, Klassenmethoden
Einstieg in die Informatik mit Java, Vorlesung vom 11.12.07 Übersicht 1 Klassenmethoden 2 Besonderheiten von Klassenmethoden 3 Aufruf einer Klassenmethode 4 Hauptprogrammparameter 5 Rekursion Klassenmethoden
Javakurs für Anfänger
Javakurs für Anfänger Einheit 09: Vererbung Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda 1. Teil Einführung in die Vererbung Motivation Das Schlüsselwort extends Einführendes
14 Abstrakte Klassen, finale Klassen, Interfaces. Auswertung von Ausdrücken. Beispiel. Abstrakte Methoden und Klassen
Auswertung von Ausdrücken Eine abstrakte Objekt-Methode ist eine Methode, für die keine Implementierung bereit gestellt wird. Eine Klasse, die abstrakte Objekt-Methoden enthält, heißt ebenfalls abstrakt.
Objektorientierte Programmierung Studiengang Medieninformatik
Objektorientierte Programmierung Studiengang Medieninformatik Hans-Werner Lang Hochschule Flensburg Vorlesung 5 12.04.2017 Was bisher geschah... Objektorientierte Programmierung Klassen und Objekte, Attribute
14 Abstrakte Klassen, finale Klassen, Interfaces
Eine abstrakte Objekt-Methode ist eine Methode, für die keine Implementierung bereit gestellt wird. Eine Klasse, die abstrakte Objekt-Methoden enthält, heißt ebenfalls abstrakt. Für eine abstrakte Klasse
Klausur Grundlagen der Programmierung
Klausur Grundlagen der Programmierung Aufgabenstellung: Martin Schultheiß Erreichte Punktzahl: von 60 Note: Allgemeine Hinweise: Schreiben Sie bitte Ihren Namen auf jedes der Blätter Zugelassene Hilfsmittel
Probe-Klausur im Modul: Grundlagen der Informatik (GDI)
Fachbereich Betriebswirtschaft Bachelor Information Management PO 2013 Probe-Klausur im Modul: Grundlagen der Informatik (GDI) Prüfer: Prof. Dipl.-Ing. Klaus Knopper Datum: 29.06.2017 Bearbeitungszeit:
Programmiertechnik II Klausur SS 2018 Angewandte Informatik Bachelor
Programmiertechnik II Klausur SS 2018 Angewandte Informatik Bachelor Name Matrikelnummer Aufgabe Punkte Aufgabe Punkte Zwischensumme 1 9 2 12 3 12 4 15 48 5 23 6 13 7 20 8 16 Summe 120 Note Prof. Dr. O.
Anregungen zu Übung 2
Anregungen zu Übung 2 Allgemeine Informatik II - SS 2007 Was sind Arrays und wie kann man sie verwenden? Ein Array ist ein spezieller Datentyp, der mehrere Werte zu einer Einheit zusammenfasst. Er ist
Algorithmen und Datenstrukturen 07
(7. Juni 2012) 1 Besprechung Blatt 6 Fragen 2 Referenzen Referenzsemantik 3 Vererbung Allgemein abstract Interfaces Vererbung in UML 4 Vorbereitung Blatt 7 Anmerkungen Fragen Fragen zu Blatt 6? Referenzsemantik
a) Für das vorgegebene Programmstück ergibt sich folgendes Referenzgeflecht:
Technische Universität München WS 2011/12 Fakultät für Informatik Übungsblatt 7 Dr. C. Herzog, M. Maalej 05. Dezember 2011 Übungen zu Grundlagen der Programmierung Aufgabe 32 (Lösungsvorschlag) Für die
