OOP Aufgabenblatt 8 2. Dezember 2013
|
|
- Lorenz Hofer
- vor 5 Jahren
- Abrufe
Transkript
1 1 Prof. Dr. Th. Letschert OOP Aufgabenblatt 8 2. Dezember 2013 Aufgabe 1 1. Was bedeutet das Wort public vor einer Klassendefinition? 2. Was bedeutet das Wort public vor einer Methodendefinition? 3. Ist das Wort private vor einer Klassendefinition erlaubt? Wenn ja: was bedeutet es? 4. Ist das Wort private vor einer Methodendefinition erlaubt? Wenn ja: was bedeutet es? 5. Was versteht man und dem Begriff Geheimnisprinzip? 6. Wann ist eine Klasse eine statische Klasse? 7. Was bedeuten die Begriffe statisch und dynamisch bei Programmiersprachen? 8. Der statische Aspekt der Klassen ist der Beitrag einer Klassendefinition zur Strukturierung des Quellcodes. Erläutern Sie! 9. Der dynamische Aspekt einer Klasse beschäftigt sich mit dem, was zur Laufzeit mit einer Klasse passiert. Erläutern Sie! 10. Ein Klasse public class C { static int x = 10; static int m () { return x++; hat die Komponenten x und m. Mit C.x und C.m kann man darauf zugreifen. Kann man zur Laufzeit auch auf C insgesamt zugreifen? Wenn ja wie? 11. Für jede (benutzte) statische Klasse wird ein Klassenobjekt erzeugt. Wie kann man darauf zugreifen? Wird für nicht-statische Klassen auch ein Klassenobjekt erzeugt? Aufgabe 2 Betrachten Sie folgende Klassendefinition: package aufgabe_0; import javax.swing.joptionpane; public class Test { int size = 2; int count = 0; String[] inputstrings = new String[size];
2 2 while (true) { String next = JOptionPane.showInputDialog("Naechste Eingabe"); if (next == null) break; if (count == size){ String[] inputstringstemp = inputstrings; size = size * 2; inputstrings = new String[size]; for (int i=0; i<count; i++) { inputstrings[i] = inputstringstemp[i]; inputstrings[count++] = next; for (int i = 0; i<count; i++) { JOptionPane.showMessageDialog( inputstrings[i]); 1. Analysieren sie den Code. Was passiert hier? Welche unterschiedlichen Teilaktivitäten mit welchen unterschiedlichen Kompetenzen (Können und Wissen) werden ausgeführt? Welche Strukturierung des Codes liegt also nahe? 2. Stellen Sie die Anwendung so um, dass sie anerkannten Prinzipien des Software Entwurfs genügt: Modularisieren Sie die Anwendung durch Aufteilung in Klassen: Trennen Sie die Benutzerschnittstelle von der Datenspeicherung. Ein Kriterium dafür, dass diese Umstellung keine jämmerliche Software-Stümperei erzeugt hat, ist die Frage, ob eine komplette Änderung der Speicherung ohne jede Änderung an der Benutzerschnittstelle möglich ist. 3. Erläutern Sie in wie weit das Geheimnisprinzip in Ihrer umstrukturierten Anwendung gewahrt wird. 4. Erweitern Sie die neue Version der Anwendung derart, dass dem Benutzer vor der Ausgabe der eingegebenen Daten die Möglichkeit gegeben wird, einen der eingegebenen Werte zu löschen. Aufgabe 3 Eine Implementierung einer Applikation zur Verwaltung von Telefonnummern ist: package oop.blatt_8.aufgabe_3.v1; import javax.swing.joptionpane; import javax.swing.jtextfield; public class TelephoneApp { /* * Zuordnung Name zu Nummer: * Fuer alle i: 0 <= i< aktsize gilt name[i] -> nummer[i] */ private static int maxsize = 10; // maximale Zahl der Eintraege private static int actsize = 0; // aktuelle Zahl der Eintraege private static String[] name = new String[maxSize]; // alle Namen private static String[] firstname = new String[maxSize]; // alle Vornamen private static String[] number = new String[maxSize]; // alle Nummern while (true) { String action = getactiondialog("eintrag anlegen", "Eintrag abfragen"); if (action == null) { break; if (action.equals("eintrag anlegen")) {
3 3 String[] entrydata = getentrydatadialog(); if (entrydata!= null) { addentry(entrydata[0], entrydata[1], entrydata[2]); else if (action.equals("eintrag abfragen")) { String[] querydata = getquerydatadialog(); if (querydata!= null) { String nr = findentry(querydata[0], querydata[1]); if (nr == null) { JOptionPane.showMessageDialog( "Nicht gefunden"); else { JOptionPane.showMessageDialog( "Name: "+ querydata[0] + ", Vornane: " + querydata[1] + ", Nummer:" + nr); else { System.err.println("Fehler: unbekannte Aktion " + action); break; private static String findentry(string namep, String firstnamep) { for (int i = 0; i<actsize; i++) { if (name[i].equals(namep) && firstname[i].equals(firstnamep)) { return number[i]; private static void addentry(string namep, String firstnamep, String numberp) { if (actsize == maxsize) { System.err.println("Eintrag ignoriert: Speicher voll"); return; for (int i=0; i<actsize; i++) { if (name[i].equals(namep) && firstname[i].equals(firstnamep)) { System.err.println("Eintrag ignoriert: Existiert schon"); return; name[actsize] = namep; firstname[actsize] = firstnamep; number[actsize] = numberp; actsize = actsize+1; private static String getactiondialog(string... actions) { String action = (String) JOptionPane.showInputDialog( "Was soll getan werden?", "Aktions-Wahl", actions, actions[0]); return action; private static String[] getentrydatadialog() { JTextField nametf = new JTextField();
4 4 JTextField firstnametf = new JTextField(); JTextField numbertf = new JTextField(); Object[] message = {"Name", nametf, "Vorname", firstnametf, "Nummer", numbertf; Object[] options = { "OK", "Abbruch" ; int n = JOptionPane.showOptionDialog( message, "Eintrag anlegen", JOptionPane.YES_NO_OPTION, options, options[0]); if(n == JOptionPane.OK_OPTION){ // Zustimmung return new String[]{ nametf.gettext(), firstnametf.gettext(), numbertf.gettext(); else if(n == JOptionPane.NO_OPTION // Verneinung n == JOptionPane.CLOSED_OPTION){ // Dialogfenster geschlossen else { private static String[] getquerydatadialog() { JTextField nametf = new JTextField(); JTextField firstnametf = new JTextField(); Object[] message = {"Name", nametf, "Vorname", firstnametf; Object[] options = { "OK", "Abbruch" ; int n = JOptionPane.showOptionDialog( message, "Eintrag abfragen", JOptionPane.YES_NO_OPTION, options, options[0]); if(n == JOptionPane.OK_OPTION){ // Zustimmung return new String[]{nameTF.getText(), firstnametf.gettext(); else if(n == JOptionPane.NO_OPTION // Verneinung n == JOptionPane.CLOSED_OPTION){ // Dialogfenster geschlossen else {
5 5 1. Im vorgegebenen Programmcode kommen etliche Vergleiche vor. Mal wird mit equals verglichen, mal mit ==. Finden Sie heraus, an welchen Stellen welche Variante verwendet wird? Gibt es eine Regel, oder ein Muster? Unter welchen Umständen wird welche Variante verwendet? 2. Bringen Sie dies in einen ordentlichen Zustand indem Sie den Code in Klassen aufteilen (Modularisierung): UserInterface: Diese Klasse soll alles enthalten, was mit der Kommunikation des Programms mit dem Benutzer zu tun hat. (Insbesondere die Funktion main) TelephoneDirectory: Diese Klasse soll alles enthalten, was mit der Verwaltung der Telefondaten selbst zu tun hat. Achten Sie darauf, dass möglichst viele Bestandteile mit private und möglichst wenige mit public gekennzeichnet werden. ES ist absolut verpönt Variablen einer Klasse nicht mit private zu markieren. (Jetzt: 25 Liegestütze, später: Entlassung nach der Probezeit.) Aufgabe 4 Modifizieren Sie den Dialog mit dem der Benutzer entscheidet, welche Aktion (neuer Eintrag, Nachschlagen einer Telefonnummer) ausgeführt werden soll, derart, dass statt der Drop-Down Box Radio-Knöpfe (Radio Buttons) zur Auswahl verwendet werden. Experimentieren Sie dazu zunächst mit folgendem Beispielcode um mit dem Umgang mit Radio Knöpfen in einem Dialog vertraut zu werden: package oop.blatt_8.aufgabe_4; import javax.swing.buttongroup; import javax.swing.joptionpane; import javax.swing.jradiobutton; public class RadioButtonExperiment { // Knoepfe erzeugen JRadioButton action1_radiobutton = new JRadioButton("Aktion 1"); JRadioButton action2_radiobutton = new JRadioButton("Aktion 2"); JRadioButton action3_radiobutton = new JRadioButton("Aktion 2"); action1_radiobutton.setselected(true); // Knoepfe in Gruppe anordnen ButtonGroup group = new ButtonGroup(); group.add(action1_radiobutton); group.add(action2_radiobutton); group.add(action3_radiobutton); //Inhalt der Dialogbox definieren Object[] message = {action1_radiobutton, action2_radiobutton, action3_radiobutton; Object[] options = { "OK", "Abbruch" ; // Dialogbox erzeugen int n = JOptionPane.showOptionDialog( message, "Titel", JOptionPane.YES_NO_OPTION, options, options[0]); // Dialog-Ergebnis auswerten
6 6 if(n == JOptionPane.OK_OPTION){ System.out.println("Klick auf OK"); if (action1_radiobutton.isselected()) { System.out.println("Auswahl von Radio-Knopf 1!"); else if (action2_radiobutton.isselected()) { System.out.println("Auswahl von Radio-Knopf 2!"); else if (action3_radiobutton.isselected()) { System.out.println("Auswahl von Radio-Knopf 3!"); else { // hierher sollten wir nie kommen System.out.println("Nichts ausgewaehlt!"); else { System.out.println("Abbruch durch den Benutzer"); Passen Sie dann Ihre Lösung zu Aufgabe 3 entsprechend an. Die vorgegebene Funktion zur Auswahl der nächsten Aktion ist in der Vorgabe: private static String getactiondialog(string... actions) { String action = (String) JOptionPane.showInputDialog( "Was soll getan werden?", "Aktions-Wahl", actions, actions[0]); return action; Sie muss jetzt auf Radio-Knöpfe umgestellt werden. Der Parameter actions ist hier ein sogenannter vararg Parameter. Mit seiner Hilfe kann eine variable Anzahl von Parametern übergeben werden (siehe Aufgabe 3, vorgegebenen Code). Diese tauchen dann hier in der aufgerufenen Funktion als Array auf. Wenn diese Schnittstelle (der Kopf der Funktion ) erhalten bleiben soll, dann muss in der neuen Radio-Knopf Variante der Funktion eine ausreichende Zahl von Radio Knöpfen erzeugt werden. Das ist kein Problem: private static String getactiondialog(string... actions) { JRadioButton[] buttons = new JRadioButton[actions.length]; ButtonGroup group = new ButtonGroup(); for (int i = 0; i<actions.length; i++) { buttons[i] = new JRadioButton(actions[i]); group.add(buttons[i]); buttons[0].setselected(true); Object[] message = buttons; Object[] options = { "OK", "Abbruch" ; // jetzt haben wir eine Message mit einem Knopf fuer jeden String // und koennen nach dem Vorbild des Experiments // einen Dialog mit Radio-Knoepfen erzeugen und auswerten.... Aufgabe 5 Erweitern Sie Ihre Lösung von Aufgabe 4 derart, dass dem Benutzer die Möglichkeit gegeben wird, alle Einträge im Telefonverzeichnis zu sehen.
7 7 Experimentieren Sie dazu erst einmal mit folgendem Beispiel um zu klären, wie ein Anzeigefenster mit Scroll Text erzeugt werden kann: package oop.blatt_8.aufgabe_5; import javax.swing.joptionpane; import javax.swing.jscrollpane; import javax.swing.jtextarea; public class ScrolltextExperiment { // Text (String) mit vielen Zeilen zusammenbauen: StringBuilder stringbuilder = new StringBuilder(); for(int i=0; i< 200; i++) { stringbuilder.append("zeile Nr. "+i+"\n"); String longstring = new String(stringBuilder); // Text (String) mit vielen Zeilen anzeigen: JTextArea textarea = new JTextArea(6, 25); textarea.settext(longstring); textarea.seteditable(false); JScrollPane scrollpane = new JScrollPane(textArea); JOptionPane.showMessageDialog( scrollpane, "Fenster-Titel", JOptionPane.PLAIN_MESSAGE); Um die erforderlichen Daten aus dem Verzeichnis heraus zu holen, können Sie ein zweidimensionales Feld verwenden. Auch dazu erst einmal ein technisches Experiment um zu klären, wie die Daten aus drei Arrays in ein dreidimensionales Array gepackt werden können: package oop.blatt_8.aufgabe_5; import java.util.arrays; public class ArrayExperiment { int actsize = 4; String[] info_1 = { "A", "B", "C", "D", null; String[] info_2 = { "1", "2", "3", "4", ; String[] info_3 = { "Eins", "Zwei", "Drei", "Vier", null, null; String[][] info = new String[4][3]; for (int i = 0; i < actsize; i++) { info[i][0] = info_1[i]; info[i][1] = info_2[i];
8 8 info[i][2] = info_3[i]; for (int i = 0; i < actsize; i++) { System.out.println(Arrays.toString(info[i])); Aufgabe 6 Ein Telefonverzeichnis ist eine Zuordnung (Abbildung) von Namen zu Telefonnummern. Zuordnungen können mit Hilfe von Arrays (Feldern) gespeichert werden: Dem Index i wird der Wert an der Stelle a[i] zugeordnet. Der Index ist dabei stets eine nicht-negative ganze Zahl. Der zugeordnete Wert kann beliebig sein. Nun hat man es aber oft nicht mit Zuordnungen von positiven ganzen Zahlen zu irgendwelchen Werten zu tun. Bei einen Telefonverzeichnis sind es beispielsweise Namen dargestellt etwa als ein oder mehrere Strings (Vor und Nachname) die ganzen Zahlen oder Strings zugeordnet werden. Erläutern Sie, wie man Zuordnungen von beliebigen Daten zu beliebigen anderen Daten mit Hilfe von Arrays speichern kann. (Hinweis: man benötigt mehrere Arrays.) Gehen Sie im einzelnen auf folgende Zuordnungen ein (Z ist dabei die Menge der Zeichenketten): N Z z.b. Der 1-te, 2-te... Name Z {1, 2, 3, 4, 5, 6 z.b. Name und zugeordnete Note Z Z z.b. x ist Partner von y N (Z Z) z.b. Personalnummer und zugeordneter Name und Vorname (Z Z) N z.b. Name und Vorname und zugeordnete Personalnummer N P(N) z.b. natürliche Zahl und zugeordnete Menge der Teiler der Zahl Aufgabe 7 Hausaufgabe Nr. 5 (Klein) Erweitern / modifizieren Sie Ihre Lösung zu Aufgabe 5 wie folgt: Wenn die Arrays von TelephoneDirectory beim Anlegen eines neuen Eintrags voll sind, dann soll deren Größe verdoppelt werden. Die Arrays sollen beim Start mit der Kapazität 2 angelegt werden. Der Endbenutzer soll die Möglichkeit haben, den aktuellen Füllstand (Zahl der Einträge des Verzeichnisses) zu sehen. Der Endbenutzer soll die Möglichkeit haben, die aktuelle Kapazität (maximale mögliche Zahl der Einträge ohne Erweiterung) des Verzeichnisses zu sehen. TelephoneDirectory.addEntry soll die Ausnahme IllegalArgumentException werfen, wenn versucht wird, einen zweiten Eintrag zum gleichen Namen und Vornamen einzufügen oder ein Eintrag mit einer bereits vergebenen Telefonnummer eingefügt werden soll. Das Userinterface muss darauf angemessen reagieren. Der Endbenutzer soll die Möglichkeit haben, einen Einträge zu löschen. Die zu löschenden Einträge wird über Name, Vorname und Telefonnummer identifiziert. Eine fehlende Angabe gilt dabei als Joker (Wildcard). Beachten Sie auch die Testfälle und die Methodenspezifikation der Vorgabe. Ausgabe: Abgabe: Lernziele: Statische Klassen, Arrays.
9 Bewertungskriterien: 0 Punkte keine Abgabe oder Abgabe mit formalen Mängeln (kein Quellcode oder nicht ausführbar). 5 Punkte Formal korrekte Abgabe und der vorgegebene Testfall wird bestanden. 8 Punkte Zusätzlich: Es werden weitere Testfälle für das Telefonverzeichnis bestanden. 10 Punkte Zusätzlich: Die Benutzeroberfläche entspricht den Vorgaben und Anforderungen. 9
Informatik II Aufgabenblatt 1
Prof. Dr. Th. Letschert FB MNI TH Mittelhessen StudiumPlus Informatik II Aufgabenblatt 1 Gruppenübung Aufgabe 1 Ein Telefonverzeichnis ist eine Zuordnung (Abbildung) von Namen zu Telefonnummern. Zuordnungen
MehrOOP Aufgabenblatt 4 2. November 2013
1 Prof. Dr. Th. Letschert OOP Aufgabenblatt 4 2. November 2013 Aufgabe 1 1. Wenn eine Funktion f in der Mathematik, Physik oder sonst wo definiert ist als f(x) = 2 x + 5 kann man dann f(5), f(x), f(2 x),
MehrInformatik II Aufgabenblatt 7
Prof. Dr. Th. Letschert FB MNI TH Mittelhessen StudiumPlus Informatik II Aufgabenblatt 7 Gruppenübung Stücklisten Stücklisten beschreiben die Zusammensetzung von Erzeugnissen aus Untereinheiten. Bei der
MehrOOP Aufgabenblatt November 2013
1 Prof. Dr. Th. Letschert OOP Aufgabenblatt 5 12. November 2013 Aufgabe 1 Betrachten Sie folgende Funktion zur Division von ganzzahligen Werten: /** * Dividiert zwei ganzzahlige Werte und liefert das Ergebnis
MehrOOP Aufgabenblatt Dezember 2013
1 Prof. Dr. Th. Letschert OOP Aufgabenblatt 9 18. Dezember 2013 Aufgabe 1 Betrachten Sie folgende Anwendung zum Sortieren eingelesener Zahlen: package oop.blatt_9.aufgabe_1.vorgabe; import javax.swing.joptionpane;
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
MehrCS1005 Objektorientierte Programmierung
CS1005 Objektorientierte Programmierung Bachelor of Science (Informatik) Objektorientierung I : Statische Klassen Statische Aspekte (Modularisierung) Dynamische Aspekte (Klassen-Objekte) Seite 1 Th Letschert
MehrProbeklausur: 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,
MehrAufgabenblatt 4. Aufgabe 3. Aufgabe 1. Aufgabe 2. Prof. Dr. Th. Letschert Algorithmen und Datenstrukturen
Prof. Dr. Th. Letschert Algorithmen und Datenstrukturen Aufgabenblatt 4 Aufgabe 1 1. Erläutern Sie in eigenen Worten die Begriffe Datenstruktur, Datentyp und abstrakter Datentyp. Nutzen Sie das Beispiel
MehrStädtisches Gymnasium Olpe Java Ht Informatik - Q1 Die Klasse List im Abitur Methoden und Beispielcode Hier alle wichtigen Methoden. Ein Beispielcode
Die Klasse List im Abitur Methoden und Beispielcode Hier alle wichtigen Methoden. Ein Beispielcode folgt im Anschluss. Beispielcode Es gibt eine Klasse Benutzerverwaltung, welche eine Liste mit Benutzern
MehrCS1005 Objektorientierte Programmierung
CS1005 Objektorientierte Programmierung Bachelor of Science (Informatik) Funktionen / statische Methoden - Definition - Verwendung - Ausführung Seite 1 Th Letschert Funktionen: Definition und Verwendung
MehrCS1005 Objektorientierte Programmierung Bachelor of Science (Informatik)
CS005 Objektorientierte Programmierung Bachelor of Science (Informatik) Th Letschert Felder Seite Th Letschert OOP Felder / Arrays Seite 2 Th Letschert Feld / Array Feld (auch Array) Daten unter einem
Mehr2 Eine einfache Programmiersprache
2 Eine einfache Programmiersprache Eine Programmiersprache soll Datenstrukturen anbieten Operationen auf Daten erlauben Kontrollstrukturen zur Ablaufsteuerung bereitstellen Als Beispiel betrachten wir
Mehr2 Eine einfache Programmiersprache. Variablen. Operationen Zuweisung. Variablen
Variablen Eine Programmiersprache soll Datenstrukturen anbieten Operationen auf Daten erlauben Kontrollstrukturen zur Ablaufsteuerung bereitstellen Variablen dienen zur Speicherung von Daten. Um Variablen
MehrAufbau eines "B-Baums" der Ordnung 3, Teil 1
Aufbau eines "B-Baums" der Ordnung 3, Teil 1 Leerer B-Baum der Ordnung 3. Insgesamt Platz für 3 Werte. + 100 100 + 50 50 100 + 150 50 100 150 Aufbau eines "B-Baums" der Ordnung 3, Teil 1 Leerer B-Baum
Mehr55 Ring-Queue. size. push. clear. get. Reinhard Schiedermeier / Klaus Köhler, Das Java-Praktikum, dpunkt.verlag, ISBN
D3kjd3Di38lk323nnm 394 55 Ring-Queue In dieser Aufgabe wird eine generische Containerklasse definiert. Ihre Kapazität wird beim Erzeugen festgelegt, im Gegensatz zu den Klassen des Collection- Frameworks.
MehrInformatik Funktionen
Informatik Seite 1 Funktion Mathematik: Zuordnung Argumentwert(e) => Ergebniswerte Beispiel: f(x,y) = 2*x+y Informatik / Programmierung: Zusammenfassung von Anweisungen die von Argumentwerten abhängen
MehrProgrammiermethodik 1. Klausur
Programmiermethodik 1. Klausur 27. 6. 2013 Name Matrikelnummer Aufgabe mögliche Punkte erreichte Punkte 1 21 2 20 3 19 4 19 5 21 6 20 Gesamt 120 1 Seite 2 von 18 Aufgabe 1) Objekt-Orientierung und Vererbung
MehrRückgabewerte von Methoden
OOP Rückgabewerte von Methoden Henrik Horstmann 14. September 2014 Inhaltsverzeichnis Inhaltsverzeichnis 1 Bedeutung der Symbole...1 2 Rückgabewerte von Methoden...2 3 Der freundliche Computer...2 3.1
MehrM3 M4 M7 VORNAME: Nom-Kenner VERTIEFUNG: Ausdruck des vorab bekannt gemachten Quelltextes
NACHNAME: Poly SEMESTER: M5 M6 M3 M4 M7 VORNAME: Nom-Kenner VERTIEFUNG: FV IM ANLAGE, HILFSMITTEL: Ausdruck des vorab bekannt gemachten Quelltextes UNBEDINGT BEACHTEN: Bevor Sie mit der Bearbeitung beginnen,
MehrInformatik II Aufgabenblatt 6
Prof. Dr. Th. Letschert FB MNI TH Mittelhessen StudiumPlus Informatik II Aufgabenblatt 6 Gruppenübung Aufgabe 1 CSV Dateien sind Textdateien die Zeilen mit Komma-separierten Werten bestehen (CSV = Comma
MehrC# - Einführung in die Programmiersprache Methoden. Leibniz Universität IT Services
C# - Einführung in die Programmiersprache Methoden Leibniz Universität IT Services 02.07.12 Methoden... sind Subroutinen in einer Klasse. können einen Wert an den Aufrufer zurückgeben. verändern die Eigenschaften
MehrMartin Unold INFORMATIK. Geoinformatik und Vermessung
Wiederholung So sieht ein leeres Java-Programm aus public class Programmname { public static void main (String[] args) { // Hier stehen die Anweisungen Welche Arten von Anweisungen gibt es? Anweisungen
MehrBasispruefung Herbst 2016/ Einführung in die Programmierung
Basispruefung Herbst 2016/17 0027 Einführung in die Programmierung Departement Informatik ETH Zürich Nachname: Vorname: Stud.number: Mit Ihrer Unterschrift bestätigen Sie, dass Sie folgenden Hinweise zur
MehrAufgabenblatt 4. Kompetenzstufe 1. Allgemeine Informationen zum Aufgabenblatt:
Aufgabenblatt 4 Kompetenzstufe 1 Allgemeine Informationen zum Aufgabenblatt: Die Abgabe erfolgt in TUWEL. Bitte laden Sie Ihr IntelliJ-Projekt bis spätestens Freitag, 08.12.2017 13:00 Uhr in TUWEL hoch.
MehrFelder. Inhaltsverzeichnis. M. Jakob. 28. April Begriffsbildung. Verwendung von Feldern. Gymnasium Pegnitz
M. Jakob Gymnasium Pegnitz 28. April 2015 Inhaltsverzeichnis Gliederung 3 / 19 Beispiel Ergebnistabelle 100m-Lauf Platzierung 1 2 3... 8 Zeit/s 10.1 11.2 12.3... 15.7 auch Arrays genannt, benutzt man um
MehrKlausur zur Lehrveranstaltung. Technische Informatik für Ingenieure WS 2008/09
Klausur zur Lehrveranstaltung Technische Informatik für Ingenieure WS 2008/09 23. Februar 2009 Aufgabe 1 2 3 4 5 5 5 Summe mögliche Punkte 10 15 25 20 20 15 15 120 erreichte Punkte Note: Hinweise: Diese
MehrInstitut für Programmierung und Reaktive Systeme. Java 6. Markus Reschke
Institut für Programmierung und Reaktive Systeme Java 6 Markus Reschke 13.10.2014 OOP Objekte = Verhalten (durch Methoden) + Daten (durch Attribute) Klassen = Baupläne für Objekte Kapselung von Programmteilen
Mehr188.154 Einführung in die Programmierung für Wirtschaftsinformatik
Beispiel 1 Vererbung (Liste) Gegeben sind die beiden Klassen ListNode und PersonNode. 188.154 Einführung in die Programmierung für Wirtschaftsinformatik Wiederholung, Prüfungsvorbereitung Monika Lanzenberger
MehrEinfü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
MehrFelder. M. Jakob. 28. April Gymnasium Pegnitz
Felder M. Jakob Gymnasium Pegnitz 28. April 2015 Inhaltsverzeichnis 1 Begriffsbildung 2 Verwendung von Feldern Begriffsbildung Gliederung 1 Begriffsbildung 2 Verwendung von Feldern M. Jakob (Gymnasium
MehrOOP Aufgabenblatt Januar 2014
1 Prof. Dr. Th. Letschert OOP Aufgabenblatt 10 15. Januar 2014 Aufgabe 1 Informationen zu einem beliebigen Objekt können in einer Abbildung als Zuordnung von Attribut und zugehörigem Wert gespeichert werden:
MehrProbeklausur Informatik 2 Sommersemester 2013
Probeklausur Informatik 2 Sommersemester 2013 1 Probeklausur Informatik 2 Sommersemester 2013 Name: Matrikelnummer: Hilfsmittel: Es sind alle schriftlichen Unterlagen, aber keine elektronischen Hilfsmittel
MehrAlgorithmen und Programmierung III
Musterlösung zum 4. Aufgabenblatt zur Vorlesung WS 2006 Algorithmen und Programmierung III von Christian Grümme Aufgabe 1 Amortisierte Analyse 10 Punkte Zu erst betrachte ich wie oft die letzte Ziffer
Mehrhue12 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
MehrTag 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
MehrÜ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
MehrRepetitorium Informatik (Java)
Repetitorium Informatik (Java) Tag 6 Lehrstuhl für Informatik 2 (Programmiersysteme) Übersicht 1 Klassen und Objekte Objektorientierung Begrifflichkeiten Deklaration von Klassen Instanzmethoden/-variablen
MehrAufgabenblatt 5. Kompetenzstufe 1. Allgemeine Informationen zum Aufgabenblatt:
Aufgabenblatt 5 Kompetenzstufe 1 Allgemeine Informationen zum Aufgabenblatt: Die Abgabe erfolgt in TUWEL. Bitte laden Sie Ihr IntelliJ-Projekt bis spätestens Freitag, 05.01.2018 13:00 Uhr in TUWEL hoch.
MehrZuerst wird die Bedingung ausgewertet. Ist sie erfüllt, wird der Rumpf des while-statements ausgeführt. Nach Ausführung des Rumpfs wird das gesamte
Zuerst wird die Bedingung ausgewertet. Ist sie erfüllt, wird der Rumpf des while-statements ausgeführt. Nach Ausführung des Rumpfs wird das gesamte while-statement erneut ausgeführt. Ist die Bedingung
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,
MehrDatenstrukturen sind neben Algorithmen weitere wichtige Bausteine in der Informatik
5. Datenstrukturen Motivation Datenstrukturen sind neben Algorithmen weitere wichtige Bausteine in der Informatik Eine Datenstruktur speichert gegebene Daten und stellt auf diesen bestimmte Operationen
MehrJavakurs für Anfänger
Javakurs für Anfänger Einheit 04: Variablenzugriff und Eingaben Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda 1. Teil: Zugriff auf Instanzvariablen Praktisches Beispiel: Student
MehrEinstieg in die Informatik mit Java
1 / 35 Einstieg in die Informatik mit Java Vererbung Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 35 1 Grundlagen 2 Verdeckte Variablen 3 Verdeckte Methoden 4 Konstruktoren
MehrNachholklausur zur Vorlesung: Einführung in die objektorientierte Programmierung mit Java WS1415
Nachholklausur zur Vorlesung: Einführung in die objektorientierte Programmierung mit Java WS1415 Alexander Bazo 10. April 2015 Allgemeine Hinweise 1. Die Bearbeitungszeit beträgt 60 Minuten. Sie könne
MehrEin erstes "Hello world!" Programm
OOP Henrik Horstmann 14. September 2014 Inhaltsverzeichnis Inhaltsverzeichnis 1 Bedeutung der Symbole...1 2 Die Benutzer Oberfläche von HOOPLU...2 2.1 Projekte öffnen und speichern...2 2.2 Die Klasse Program
MehrFakultät Angewandte Informatik Programmierung verteilter Systeme Übungen zur Vorlesung Informatik II, Blatt 8
WS 2011/12 Fakultät Angewandte Informatik Programmierung verteilter Systeme 12.12.2011 Prof. Dr. Bernhard Bauer Übungen zur Vorlesung Informatik II, Blatt 8 Abgabe: Montag, 19.12.2011, 12.00 Uhr, Informatik
MehrCS1005 Objektorientierte Programmierung
CS1005 Objektorientierte Programmierung Bachelor of Science (Informatik) Objektorientierung II: Klassen und Objekte Klassen: Statische und dynamische Aspekte Objekt- und Klasseninitialisierung OO-Entwurf:
MehrPraktikum Informatik II Prof. Dr. Martin Trauth, Dr. Michael Männel
Praktikum Informatik II Prof. Dr. Martin Trauth, Dr. Michael Männel FB Physikalische Technik Musterlösungen Teil 4 Aufgabe 1 package teil4; import javax.swing.*; public class Ei { int haltung, ident; String
MehrC++ Teil 12. Sven Groß. 18. Jan Sven Groß (IGPM, RWTH Aachen) C++ Teil Jan / 11
C++ Teil 12 Sven Groß 18. Jan 2016 Sven Groß (IGPM, RWTH Aachen) C++ Teil 12 18. Jan 2016 1 / 11 Themen der letzten Vorlesung Wiederholung aller bisherigen Themen: Datentypen und Variablen Operatoren Kontrollstrukturen
MehrÜbungsblatt 4. Java Vorkurs (WS 2015)
Übungsblatt 4 Java Vorkurs (WS 2015) Aufgabe 1 Übungsblock In dieser Aufgabe soll ein kleines Programm zur verwaltung von Studenten erstellt werden. Gehe davon aus, dass nicht mehr 100 Studenten durch
MehrBachelorprüfung: Objektorientierte Softwareentwicklung
Bachelorprüfung: Objektorientierte Softwareentwicklung WS17/18 Erlaubte Hilfsmittel: keine Jeder Griff zu einem elektronischen Gerät (z.b. Smartphone) wird als Täuschungsversuch gewertet. Lösung ist auf
MehrObjektorientierung. 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
MehrVorkurs 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
MehrEinführung in die Informatik
Einführung in die Informatik Jochen Hoenicke Software Engineering Albert-Ludwigs-University Freiburg Sommersemester 2014 Jochen Hoenicke (Software Engineering) Einführung in die Informatik Sommersemester
MehrHeap vs. Stack vs. statisch. 6 Speicherorganisation. Beispiel Statische Variablen. Statische Variablen
Heap vs. vs. statisch Der Speicher des Programms ist in verschiedene Speicherbereiche untergliedert Speicherbereiche, die den eigentlichen Programmcode und den Code der Laufzeitbibliothek enthalten; einen
MehrII.4.5 Generische Datentypen - 1 -
1. Unterklassen und Vererbung 2. Abstrakte Klassen und Interfaces 3. Modularität und Pakete 4. Ausnahmen (Exceptions) 5. Generische Datentypen 6. Collections II.4.5 Generische Datentypen - 1 - Ähnliche
MehrPraxis der Programmierung
Dynamische Datentypen Institut für Informatik und Computational Science Universität Potsdam Henning Bordihn Einige Folien gehen auf A. Terzibaschian zurück. 1 Dynamische Datentypen 2 Dynamische Datentypen
MehrRechtsbelehrung. Java und OOP Das Buch Christian Silberbauer 144
Rechtsbelehrung Dieser Foliensatz ist urheberrechtlich geschützt. Änderungen an den Folien sind untersagt. Ausschließlich eine nicht-kommerzielle Nutzung ist kostenfrei. Andernfalls wird eine Gebühr fällig.
Mehr6 Speicherorganisation
Der Speicher des Programms ist in verschiedene Speicherbereiche untergliedert Speicherbereiche, die den eigentlichen Programmcode und den Code der Laufzeitbibliothek enthalten; einen Speicherbereich für
MehrHeap vs. Stack vs. statisch. 6 Speicherorganisation. Beispiel Statische Variablen. Statische Variablen
Heap vs. vs. statisch Der Speicher des Programms ist in verschiedene Speicherbereiche untergliedert Speicherbereiche, die den eigentlichen Programmcode und den Code der Laufzeitbibliothek enthalten; einen
Mehr1 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
Mehrjcontentpane.setlayout(new BorderLayout()); // unten JPanel unten = new JPanel(); unten.setlayout( new BoxLayout(unten, BoxLayout.
04.07.2011 Lösungsvorschlag 1. Aufgabe (12 + 12 Punkte): Screendesign : im Center: Label mit Bild 3P: Panel im West mit BoxLayout und TextField, Scrollpane und TextArea 4P: Panel im East mit FlowLayout
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Dynamische Datenobjekte Pointer/Zeiger, Verkettete Liste Eigene Typdefinitionen 1 Zeigeroperatoren & und * Ein Zeiger ist die Speicheradresse irgendeines Objektes. Eine
MehrÜ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
MehrTeil 2: Weitere Aspekte der Objektorientierung
Teil 2: Weitere Aspekte der Objektorientierung Klassenvariablen So wie es Instanzvariablen gibt, die zu einer gewissen Instanz (Objekt) gehören und deren Attribute speichern, so gibt es aus Klassenvariablen:
MehrM3 M4 M7 VORNAME: Gewinnt VERTIEFUNG:
NACHNAME: Vier SEMESTER: M5 M6 M3 M4 M7 VORNAME: Gewinnt VERTIEFUNG: FV IM VERWENDETE KLASSEN: Als Anlage erhalten Sie einen Ausdruck des vorab bekannt gemachten Quelltextes von verschiedenen Klassen.
MehrVererbung. Gerd Bohlender. Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java 23.5.
Vererbung Gerd Bohlender Institut für Angewandte und Numerische Mathematik Vorlesung: Einstieg in die Informatik mit Java 23.5.07 G. Bohlender (IANM UNI Karlsruhe) Vererbung 23.5.07 1 / 22 Übersicht 1
MehrÜbersicht. Informatik 2 Teil 3 Anwendungsbeispiel für objektorientierte Programmierung
Übersicht 3.1 Modell Konto 3.2 Modell Konto - Erläuterungen 3.3 Benutzer Ein- und Ausgabe mit Dialogfenster I 3.4 Benutzer Ein- und Ausgabe mit Dialogfenster II 3.5 Klassen- und Objekteigenschaften des
MehrEinführung in die Informatik - Teil 6a -
Eckart Modrow Felder mit dem JBuilder S. 1 Einführung in die Informatik - Teil 6a - Felder mit dem JBuilder Inhalt: 1. Bezug zum Unterricht: Anwendungen 2. Eine eigene Klasse Feldverwalter 3. Den Feldverwalter
MehrKapitel 10 Delegationsvariablen
Kapitel 10 Delegationsvariablen Korbinian Molitorisz IPD Tichy Lehrstuhl für Programmiersysteme KIT die Kooperation von Forschungszentrum Karlsruhe GmbH und Universität Karlsruhe (TH) Agenda Wie werden
MehrAlgorithmen und Datenstrukturen Sommersemester Übung Abgabe bis , 10:00 Uhr
4. Übung Abgabe bis 24.05.2010, 10:00 Uhr Aufgabe 4.1: Referenzen Geben Sie Ihre Lösung als Referenzen.pdf ab. 16 Punkte a) Führen Sie einen Schreibtischlauf des folgenden Java-Programms durch. Es werden
MehrEinstieg in die Informatik mit Java
1 / 22 Einstieg in die Informatik mit Java Grundlagen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 22 1 Kommentare 2 Bezeichner für Klassen, Methoden, Variablen 3 White
MehrImplementieren von Klassen
Implementieren von Klassen Felder, Methoden, Konstanten Dr. Beatrice Amrhein Überblick Felder/Mitglieder (Field, Member, Member-Variable) o Modifizierer Konstanten Methoden o Modifizierer 2 Felder und
MehrSichtbarkeiten, Klassenmember und -methoden
Sichtbarkeiten, Klassenmember und -methoden Prof. Dr.-Ing. Thomas Schwotzer 11. November 2017 1 Einführung Wir haben uns mit Klassen und Objekten beschäftigt. Wir wissen nun, dass Objekte anhand von Klassen
MehrFelder - 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
MehrKlassen können bekanntlich aus zwei Komponententypen bestehen, nämlich Attributen und Methoden.
Objektzugriff Klassen können bekanntlich aus zwei Komponententypen bestehen, nämlich Attributen und Methoden. Attribute sind in der Klasse mit Datentyp und Namen deklariert im Objekt sind sie mit jeweils
MehrObjektorientierte 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
MehrUniversität München, Hans-Peter Kriegel und Thomas Seidl Informatik II a[0] a[1] a[2] a[3] a[n 1]
Universität München, Hans-Peter Kriegel und Thomas Seidl Informatik II -108 Kapitel 5: Arrays Einführung Ein Array ist eine Reihung gleichartiger Objekte. a: a[0] a[1] a[2] a[3] a[n 1] Bezeichner a steht
MehrAlgorithmen implementieren. Implementieren von Algorithmen
Algorithmen implementieren Implementieren von Algorithmen Um Algorithmen ablaufen zu lassen, muss man sie als Programm darstellen (d.h. implementieren) Wie stellt man die algorithmischen Strukturelemente
Mehr9. Ausnahmebehandlung
Schwerpunkte Ausnahmen und Laufzeitfehler 9. Ausnahmebehandlung Java-Beispiele: Ausnahme.java TryCatch.java TryCatchAll.java Finally.java TryInTry.java KeyboardTry.java Oeffnungszeit.java Stack-Trace Java-Ausnahmeklassen-Hierarchie
MehrAufgabe11. Methode test1. import java.util.hashmap; import java.util.arraylist; public class Aufgabe11 {
Hochschule Harz Programmierung1 Aufgabe 10: FB Automatisierung und Informatik Dipl.-Inf. Dipl.-Ing. (FH) M. Wilhelm Programmierung 1 für MI / WI Thema: Hashing und Generische Klassen Versuchsziele Kenntnisse
MehrSwing Lernen am Code Teil 1
Swing Lernen am Code Teil 1 Swing Fenster erzeugen import java.awt.* import java.awt.event.* import javax.swing.* class SwingDemo{ static JFrame Fenster; public static void main(string[] args){ } } Fenster
MehrNeben der Verwendung von Klassen ist Vererbung ein wichtiges Merkmal objektorientierter
Kapitel 1 Der vierte Tag 1.1 Vererbung Neben der Verwendung von Klassen ist Vererbung ein wichtiges Merkmal objektorientierter Sprachen. Unter Vererbung versteht man die Möglichkeit, Eigenschaften vorhandener
Mehr1 Klassen anlegen und Objekte erzeugen
Werkzeugkiste Java 1 1 Klassen anlegen und Objekte erzeugen Klassengrundgerüst 1 /** 2 * Write a description of class Testklasse here. 3 * 4 * @author ( your name ) 5 * @version (a version number or a
MehrMartin Unold INFORMATIK. Geoinformatik und Vermessung
Wiederholung So sieht ein leeres Java-Programm aus public class Programmname { public static void main (String[] args) { // Hier stehen die Anweisungen Welche Arten von Anweisungen gibt es? Anweisungen
MehrPraktikum zu Einführung in die Informatik für LogWings und WiMas Wintersemester 2013/14
Praktikum zu Einführung in die Informatik für LogWings und WiMas Wintersemester 2013/14 Fakultät für Informatik Lehrstuhl 1 Dr. Lars Hildebrand Iman Kamehkhosh, Marcel Preuß, Henning Timm Übungsblatt 11
MehrEinstieg in die Informatik mit Java
Vorlesung vom 18.4.07, Grundlagen Übersicht 1 Kommentare 2 Bezeichner für Klassen, Methoden, Variablen 3 White Space Zeichen 4 Wortsymbole 5 Interpunktionszeichen 6 Operatoren 7 import Anweisungen 8 Form
Mehr1 Klassen anlegen und Objekte erzeugen
Werkzeugkiste Java 1 1 Klassen anlegen und Objekte erzeugen Klassengrundgerüst 1 /** 2 * Write a description of class Testklasse here. 3 * 4 * @author ( your name ) 5 * @version (a version number or a
MehrAufgabenblatt: Arrays
Aufgabenblatt: Arrays - Seite 1 Aufgabenblatt: Arrays (1.) (a.) Erstellen Sie eine Methode, die in einem Array von Zahlen nach einem bestimmten Wert sucht! static int LinearSearch(int searchvalue, int
Mehr6 Speicherorganisation
6 Speicherorganisation Der Speicher des Programms ist in verschiedene Speicherbereiche untergliedert Speicherbereiche, die den eigentlichen Programmcode und den Code der Laufzeitbibliothek enthalten; einen
MehrProgrammierstarthilfe SS 2009 Fakultät für Ingenieurwissenschaften und Informatik 4. Blatt Für die Woche vom bis zum 22.5.
Programmierstarthilfe SS 2009 Fakultät für Ingenieurwissenschaften und Informatik 4. Blatt Für die Woche vom 18.5. bis zum 22.5.2009 (KW 21) Organisatorisches Die Webseiten zur Veranstaltung sind unter
MehrInformatik 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,
MehrGrundlagen der Objektorientierten Programmierung - Statische Arrays
Statische Arrays Ein Array ist ein Behälter für Datenelemente desselben Typs. Arrays können beliebig viele Dimensionen haben. Die Standardform ist das eindimensionale Array, das man sich in Zeilenform
MehrGrundlagen der Informatik / Algorithmen und Datenstrukturen. Aufgabe 139
Aufgabe 139 Aufgabe 139 Aufgabenstellung Stellen Sie den folgenden in Feldbaum-Darstellung beschriebenen Binärbaum a) graphisch (welcher Knoten ist die Wurzel?), b) in halbsequentieller Darstellung, c)
MehrJava Einführung Klassendefinitionen
Java Einführung Klassendefinitionen Inhalt dieser Einheit Java-Syntax Klassen definieren Objekte instanziieren Instanzvariable deklarieren Klassenvariable deklarieren 2 Klassen definieren In der Problemanalyse
Mehr