OOP Aufgabenblatt 8 2. Dezember 2013

Größe: px
Ab Seite anzeigen:

Download "OOP Aufgabenblatt 8 2. Dezember 2013"

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

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

Mehr

OOP Aufgabenblatt 4 2. November 2013

OOP 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),

Mehr

Informatik II Aufgabenblatt 7

Informatik 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

Mehr

OOP Aufgabenblatt November 2013

OOP 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

Mehr

OOP Aufgabenblatt Dezember 2013

OOP 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;

Mehr

OOP Aufgabenblatt 7 6. Dezember 2013

OOP 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

Mehr

CS1005 Objektorientierte Programmierung

CS1005 Objektorientierte Programmierung CS1005 Objektorientierte Programmierung Bachelor of Science (Informatik) Objektorientierung I : Statische Klassen Statische Aspekte (Modularisierung) Dynamische Aspekte (Klassen-Objekte) Seite 1 Th Letschert

Mehr

Probeklausur: Programmierung WS04/05

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,

Mehr

Aufgabenblatt 4. Aufgabe 3. Aufgabe 1. Aufgabe 2. Prof. Dr. Th. Letschert Algorithmen und Datenstrukturen

Aufgabenblatt 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

Mehr

Städtisches Gymnasium Olpe Java Ht Informatik - Q1 Die Klasse List im Abitur Methoden und Beispielcode Hier alle wichtigen Methoden. Ein Beispielcode

Stä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

Mehr

CS1005 Objektorientierte Programmierung

CS1005 Objektorientierte Programmierung CS1005 Objektorientierte Programmierung Bachelor of Science (Informatik) Funktionen / statische Methoden - Definition - Verwendung - Ausführung Seite 1 Th Letschert Funktionen: Definition und Verwendung

Mehr

CS1005 Objektorientierte Programmierung Bachelor of Science (Informatik)

CS1005 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

Mehr

2 Eine einfache Programmiersprache

2 Eine einfache Programmiersprache 2 Eine einfache Programmiersprache Eine Programmiersprache soll Datenstrukturen anbieten Operationen auf Daten erlauben Kontrollstrukturen zur Ablaufsteuerung bereitstellen Als Beispiel betrachten wir

Mehr

2 Eine einfache Programmiersprache. Variablen. Operationen Zuweisung. Variablen

2 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

Mehr

Aufbau eines "B-Baums" der Ordnung 3, Teil 1

Aufbau 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

Mehr

55 Ring-Queue. size. push. clear. get. Reinhard Schiedermeier / Klaus Köhler, Das Java-Praktikum, dpunkt.verlag, ISBN

55 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.

Mehr

Informatik Funktionen

Informatik 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

Mehr

Programmiermethodik 1. Klausur

Programmiermethodik 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

Mehr

Rückgabewerte von Methoden

Rü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

Mehr

M3 M4 M7 VORNAME: Nom-Kenner VERTIEFUNG: Ausdruck des vorab bekannt gemachten Quelltextes

M3 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,

Mehr

Informatik II Aufgabenblatt 6

Informatik 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

Mehr

C# - Einführung in die Programmiersprache Methoden. Leibniz Universität IT Services

C# - 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

Mehr

Martin Unold INFORMATIK. Geoinformatik und Vermessung

Martin 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

Mehr

Basispruefung Herbst 2016/ Einführung in die Programmierung

Basispruefung 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

Mehr

Aufgabenblatt 4. Kompetenzstufe 1. Allgemeine Informationen zum Aufgabenblatt:

Aufgabenblatt 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.

Mehr

Felder. Inhaltsverzeichnis. M. Jakob. 28. April Begriffsbildung. Verwendung von Feldern. Gymnasium Pegnitz

Felder. 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

Mehr

Klausur zur Lehrveranstaltung. Technische Informatik für Ingenieure WS 2008/09

Klausur 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

Mehr

Institut für Programmierung und Reaktive Systeme. Java 6. Markus Reschke

Institut 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

Mehr

188.154 Einführung in die Programmierung für Wirtschaftsinformatik

188.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

Mehr

Einführung in die Programmierung

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

Mehr

Felder. M. Jakob. 28. April Gymnasium Pegnitz

Felder. 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

Mehr

OOP Aufgabenblatt Januar 2014

OOP 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:

Mehr

Probeklausur Informatik 2 Sommersemester 2013

Probeklausur 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

Mehr

Algorithmen und Programmierung III

Algorithmen 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

Mehr

hue12 January 24, 2017

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

Mehr

Tag 8 Repetitorium Informatik (Java)

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

Mehr

Übungsblatt 13. Abgabe / Besprechung in Absprache mit dem Tutor

Ü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

Mehr

Repetitorium Informatik (Java)

Repetitorium 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

Mehr

Aufgabenblatt 5. Kompetenzstufe 1. Allgemeine Informationen zum Aufgabenblatt:

Aufgabenblatt 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.

Mehr

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

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 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

Mehr

Klausur Software-Entwicklung März 01

Klausur 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,

Mehr

Datenstrukturen sind neben Algorithmen weitere wichtige Bausteine in der Informatik

Datenstrukturen 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

Mehr

Javakurs für Anfänger

Javakurs 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

Mehr

Einstieg in die Informatik mit Java

Einstieg 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

Mehr

Nachholklausur zur Vorlesung: Einführung in die objektorientierte Programmierung mit Java WS1415

Nachholklausur 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

Mehr

Ein erstes "Hello world!" Programm

Ein 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

Mehr

Fakultät Angewandte Informatik Programmierung verteilter Systeme Übungen zur Vorlesung Informatik II, Blatt 8

Fakultä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

Mehr

CS1005 Objektorientierte Programmierung

CS1005 Objektorientierte Programmierung CS1005 Objektorientierte Programmierung Bachelor of Science (Informatik) Objektorientierung II: Klassen und Objekte Klassen: Statische und dynamische Aspekte Objekt- und Klasseninitialisierung OO-Entwurf:

Mehr

Praktikum Informatik II Prof. Dr. Martin Trauth, Dr. Michael Männel

Praktikum 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

Mehr

C++ Teil 12. Sven Groß. 18. Jan Sven Groß (IGPM, RWTH Aachen) C++ Teil Jan / 11

C++ 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) Ü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

Mehr

Bachelorprüfung: Objektorientierte Softwareentwicklung

Bachelorprü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

Mehr

Objektorientierung. Klassen und Objekte. Dr. Beatrice Amrhein

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

Mehr

Vorkurs Informatik WiSe 15/16

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

Mehr

Einführung in die Informatik

Einfü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

Mehr

Heap vs. Stack vs. statisch. 6 Speicherorganisation. Beispiel Statische Variablen. Statische Variablen

Heap 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

Mehr

II.4.5 Generische Datentypen - 1 -

II.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

Mehr

Praxis der Programmierung

Praxis 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

Mehr

Rechtsbelehrung. Java und OOP Das Buch Christian Silberbauer 144

Rechtsbelehrung. 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.

Mehr

6 Speicherorganisation

6 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

Mehr

Heap vs. Stack vs. statisch. 6 Speicherorganisation. Beispiel Statische Variablen. Statische Variablen

Heap 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

Mehr

1 Klassen und Objekte

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

Mehr

jcontentpane.setlayout(new BorderLayout()); // unten JPanel unten = new JPanel(); unten.setlayout( new BoxLayout(unten, BoxLayout.

jcontentpane.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

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen Dynamische Datenobjekte Pointer/Zeiger, Verkettete Liste Eigene Typdefinitionen 1 Zeigeroperatoren & und * Ein Zeiger ist die Speicheradresse irgendeines Objektes. Eine

Mehr

Übungsblatt 13. Abgabe / Besprechung in Absprache mit dem Tutor

Ü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

Mehr

Teil 2: Weitere Aspekte der Objektorientierung

Teil 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:

Mehr

M3 M4 M7 VORNAME: Gewinnt VERTIEFUNG:

M3 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.

Mehr

Vererbung. 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. 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. 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

Mehr

Einführung in die Informatik - Teil 6a -

Einfü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

Mehr

Kapitel 10 Delegationsvariablen

Kapitel 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

Mehr

Algorithmen und Datenstrukturen Sommersemester Übung Abgabe bis , 10:00 Uhr

Algorithmen 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

Mehr

Einstieg in die Informatik mit Java

Einstieg 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

Mehr

Implementieren von Klassen

Implementieren 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

Mehr

Sichtbarkeiten, Klassenmember und -methoden

Sichtbarkeiten, 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

Mehr

Felder - Arrays. Typ feldname[] = new Typ[<ganze Zahl >]; Beispiel: double vektor[] = new double[5]; auch eine Initialisierung ist möglich.

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

Mehr

Klassen können bekanntlich aus zwei Komponententypen bestehen, nämlich Attributen und Methoden.

Klassen 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

Mehr

Objektorientierte Programmierung. Kapitel 22: Aufzählungstypen (Enumeration Types)

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

Mehr

Universitä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 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

Mehr

Algorithmen implementieren. Implementieren von Algorithmen

Algorithmen 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

Mehr

9. Ausnahmebehandlung

9. 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

Mehr

Aufgabe11. Methode test1. import java.util.hashmap; import java.util.arraylist; public class Aufgabe11 {

Aufgabe11. 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

Mehr

Swing Lernen am Code Teil 1

Swing 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

Mehr

Neben der Verwendung von Klassen ist Vererbung ein wichtiges Merkmal objektorientierter

Neben 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

Mehr

1 Klassen anlegen und Objekte erzeugen

1 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

Mehr

Martin Unold INFORMATIK. Geoinformatik und Vermessung

Martin 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

Mehr

Praktikum 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 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

Mehr

Einstieg in die Informatik mit Java

Einstieg 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

Mehr

1 Klassen anlegen und Objekte erzeugen

1 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

Mehr

Aufgabenblatt: Arrays

Aufgabenblatt: 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

Mehr

6 Speicherorganisation

6 Speicherorganisation 6 Speicherorganisation Der Speicher des Programms ist in verschiedene Speicherbereiche untergliedert Speicherbereiche, die den eigentlichen Programmcode und den Code der Laufzeitbibliothek enthalten; einen

Mehr

Programmierstarthilfe 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 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

Mehr

Informatik II Musterlösung

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,

Mehr

Grundlagen der Objektorientierten Programmierung - Statische Arrays

Grundlagen 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

Mehr

Grundlagen der Informatik / Algorithmen und Datenstrukturen. Aufgabe 139

Grundlagen 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)

Mehr

Java Einführung Klassendefinitionen

Java 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