MEC: Objektorient. Programmierung - Prüfung
|
|
- Elvira Kerner
- vor 5 Jahren
- Abrufe
Transkript
1 Prof. Dr. Michael Helbig SS 2018 ######### MEC: Objektorient. Programmierung - Prüfung Name Vorname Geburtsdatum Matrikel-Nr. Hinweise Bitte Blätter nicht auseinanderreißen! Hilfsmittel: handbeschriebenes DINA4-Blatt, Taschenrechner Bearbeitungszeit: 60 min. VIEL ERFOLG! Diesen Bereich nicht ausfüllen! Aufgabe Summe Punkte Maximum Note: Erstprüfer: Zweitprüfer:
2 1. Gegeben die Klassen Test, DataElement, , Image, die alle in einem Package liegen und java.util.arraylist und java.util.list importiert haben. Ergänzen Sie den Code so wie in den Kommentaren beschrieben: public class Test { public static void main(string[] args) { e = new ( "Re : Anfrage", "ab@cd.com", "ef@gh.de", "Tach!" ); byte [] d = new byte [] { 1, 0, 0, 0, 0, 0 ; e.addattachment( new Image( "Bestellung",Image.ImageType.JPG, d)); e.addattachment( new ( "Anfrage", "ef@gh.de", "ab@cd.com", "Hi!" )); f = ( ) e.getattachment(1); byte [] d2 = new byte [] { 1, 0, 0, 0, 0, 0 ; f.addattachment( new Image( "Angebot", Image.ImageType.JPG, d2)); boolean r = e.removeattachment( "Test" ); // Rufen Sie die Methode namens getattachmentcount von e auf: (1P) int z = ; int c = e.getsizeinchars(); // Geben Sie r,z,c auf der Konsole aus: (1P) /* Geben Sie die Werte von r,z,c mit Begründung an: (6P) Wert von r: Begründung: Wert von z: Begründung: Wert von c: Begründung: */ String desc = e.getdescription(); // Was steht in desc: (2P)
3 abstract class DataElement { String titel ; public String gettitel() { return titel ; public DataElement(String titel) { this. titel = titel; // Ergänzen Sie, damit der Code kompiliert: (2P) public String getdescription(); public int getsizeinchars(); class extends DataElement { String sender ; String recipient ; String text ; // Initialisieren Sie mit einer java.util.arraylist: (1P) List<DataElement> attachments = ; public (String title, String sender, String recipient, String text){ super (title); // Prüfen Sie, ob sender und recipient -Zeichen enthalten. // Falls nein, soll eine IllegalArgumentException geworfen werden. // Benutzen Sie dazu: // boolean java.lang.string.contains(charsequence s): Returns true // if and only if this string contains the specified sequence of // char values. (3P) this. sender = sender; this. recipient = recipient; this. text = text;
4 public String getdescription() { String resultat = gettitel() + " mit " + attachments.size() + " Anhängen : " ; boolean istdererste = true ; for (DataElement item : attachments ) { if (!istdererste) { resultat = resultat + ", " ; istdererste = false ; resultat = resultat + item.getdescription(); return resultat; public int getsizeinchars() { int resultat = text.length(); for (DataElement item : attachments ) { resultat += item.getsizeinchars(); return resultat; public void addattachment(dataelement anhang) { attachments.add(anhang); public DataElement getattachment( int i) { return attachments.get(i); public boolean removeattachment(string title) { DataElement a = findanhangbytitel(title); // TODO s.u. if (a!= null ) { attachments.remove(a); return true ; else { return false ; // Implementieren Sie folgeden Methode: Sie gibt ein DataElement // anhand eines übergebenen title in attachements zurück: (4P) DataElement findanhangbytitel(string title) { // TODO public int getattachmentcount() { return attachments.size(); public String gettext() { return text ;
5 class Image extends DataElement { // Deklarieren Sie eine enum namens ImageType mit den Werten // JPG, PNG, GIF (1P) public ImageType ImageType typ; byte [] data ; public Image(String title, Image.ImageType typ, byte [] data) { super (title); this.typ = typ; this. data = data; public String getdescription() { return gettitel() + " (" + typ + ") " ; public int getsizeinchars() { return data. length ;
6 2. Schreiben Sie ein Interface Processor folgender Art: (4P) Dieses soll einen generischen Typparamter T besitzen und eine öffentliche Methode namens process, die einen Parameter vom Typ T aufnimmt und nichts zurückgibt. 3. Schreiben Sie eine Klasse Visitenkarte folgender Art: (6P) Sie erbt von DataElement. Sie besitzt einen parameterlosen Konstruktor, der als Titel immer " Visitenkarte " benutzt. Sie liefert als Beschreibung " Visitenkarte " zurück. Sie liefert als Größe (SizeInChars) 42 zurück. Implementieren das Interface Processor für den Typ-Parameter Visitenkarte. In der Methode process soll die Beschreibung auf die Konsole ausgegeben werden.
7 4. Gegeben eine CSV-Datei C:/Downloads/Countries.csv: DE,Germany US,United States MY,Malaysia Diese Datei soll in einem Java-Programm auf die Konsole ausgegeben werden. Ergänzen Sie den Code: import java.io.bufferedreader; import java.io.filereader; import java.io.ioexception; public class CSVParser { public static void main(string[] args) { String csvfile = "C:/Downloads/Countries.csv" ; BufferedReader br = null ; String line = "" ; // (1P) String csvsplitby = ; try { br = new BufferedReader( new FileReader(csvFile)); while ((line = br.readline())!= null ) { String[] country = line.split(csvsplitby); // Geben Sie auf der Konsole im folgenden Format aus: // z.b. Country [code=de, name=germany] (3P) catch (Exception e) {e.printstacktrace(); finally { if (br!= null ) { try { br.close(); catch (IOException e) {e.printstacktrace();
8 5. Liste. Gegeben folgende Implementierung einer Liste von ganzen Zahlen. Ergänzen Sie die TODOs: public class NumberList { // Innere Klasse für ein ListenELement: private class NumberCell { int data ; // Nutzinhalt: NumberCell next ; // Verweis aufs nächste ListenElement: // Konstruktor: NumberCell( int data, NumberCell next) { this. data = data; this. next = next; // Erstes ListenElement: private NumberCell head = null ; // TODO Implementieren Sie eine Methode, die eine Zahl data an den Anfang // der Liste anhängt (denken Sie auch an den Fall einer leeren Liste) (4P): public void addfirst( int data) { Diese Klasse gilt zum Anwenden der obigen Klasse. Ergänzen Sie das TODO: class Test { public static void main(string[] args) { // TODO Erzeugen Sie eine Liste NumberList mit den Werten 5, 7, 10 (3P):
9 6. JavaFX. Gegeben ist folgende JavaFX-GUI, die mittels FXML und einem Controller erzeugt worden ist. Implementieren Sie den Controller. <? xml version = "1.0" encoding = "UTF-8"?> <? import... > < StackPane xmlns = " xmlns:fx = " fx:controller = "application.samplecontroller" > < children > < HBox alignment = "CENTER" spacing = "5.0" > < children > < TextField fx:id = "input" text = "input" /> < Button mnemonicparsing = "false" text = "write input to output" onaction = "#write" /> < Text fx:id = "output" stroketype = "OUTSIDE" strokewidth = "0.0" text = "output" /> </ children > < StackPane.margin > < Insets bottom = "10.0" left = "10.0" right = "10.0" top = "10.0" /> </ StackPane.margin > </ HBox > </ children > </ StackPane > Controller: package application; import javafx.fxml.fxml; import javafx.scene.control.textfield; import javafx.scene.text.text; public class SampleController { // TODO Geben Sie zwei Attribute an, mit der Sie auf das TextField // (Text-Eingabefeld) und den Text (Textanzeige) aus der FXML-Datei Zugriff // haben // TODO Implementieren Sie folgende Methode: Beim Drücken des Buttons, soll // der Inhalt des Text-Eingabefeldes in der rechten Textanzeige anzeigen // Hinweis: benutzen Sie die Methoden gettext() und settext(string text). public void write() { // TODO
10 LÖSUNG: 1. Gegeben die Klassen Test, DataElement, , Image, die alle in einem Package liegen und java.util.arraylist und java.util.list importiert haben. Ergänzen Sie den Code so wie in den Kommentaren beschrieben: public class Test { public static void main(string[] args) { e = new ( "Re : Anfrage", "ab@cd.com", "ef@gh.de", "Tach!" ); byte [] d = new byte [] { 1, 0, 0, 0, 0, 0 ; e.addattachment( new Image( "Bestellung",Image.ImageType.JPG, d)); e.addattachment( new ( "Anfrage", "ef@gh.de", "ab@cd.com", "Hi!" )); f = ( ) e.getattachment(1); byte [] d2 = new byte [] { 1, 0, 0, 0, 0, 0 ; f.addattachment( new Image( "Angebot", Image.ImageType.JPG, d2)); /* Datenstruktur: (Re : Anfrage) -- Image (Bestellung) -- (Anfrage) -- Image (Angebot) */ boolean r = e.removeattachment( "Test" ); // Rufen Sie die Methode namens getattachmentcount von e auf: (1P) int z = e.getattachmentcount() ; int c = e.getsizeinchars(); // Geben Sie r,z,c auf der Konsole aus: (1P) System.out.println("r=" + r); System.out.println("z=" + z); System.out.println("c=" + c); /* Geben Sie die Werte von r,z,c mit Begründung an: (6P) Wert von r: false
11 Begründung: Attachement mit title Test befindet sich nicht in der Liste attachements Wert von z: 2 Begründung: e.getattachmentcount() liefert attachements.size(), also 2, da ein Image Bestellung und Anfrage in der Liste sind. Wert von c: 22 Begründung: text von e: "Tach!" 6 + Anhang Image Anzahl Bytes in { 1, 0, 0, 0, 0, 0 : 6 + Anhang text "Hi!": 4 + Anhang von letzter { 1, 0, 0, 0, 0, 0 : 6 = 22 */ String desc = e.getdescription(); // Was steht in desc: (2P) // "Re : Anfrage mit 2 Anhängen : Bestellung (JPG), Anfrage mit 1 Anhängen : Angebot (JPG)" abstract class DataElement { String titel ; public String gettitel() { return titel ; public DataElement(String titel) { this. titel = titel; // Ergänzen Sie, damit der Code kompiliert: (2P) public abstract String getdescription(); public abstract int getsizeinchars(); class extends DataElement { String sender ; String recipient ; String text ; // Initialisieren Sie mit einer java.util.arraylist: (1P) List<DataElement> attachments = new ArrayList<DataElement>() ; public (String title, String sender, String recipient, String text){ super (title); // Prüfen Sie, ob sender und recipient -Zeichen enthalten.
12 // Falls nein, soll eine IllegalArgumentException geworfen werden. // Benutzen Sie dazu: // boolean java.lang.string.contains(charsequence s): Returns true // if and only if this string contains the specified sequence of // char values. (3P) ) { throw new IllegalArgumentException(); this. sender = sender; this. recipient = recipient; this. text = text; public String getdescription() { String resultat = gettitel() + " mit " + attachments.size() + " Anhängen : " ; boolean istdererste = true ; for (DataElement item : attachments ) { if (!istdererste) { resultat = resultat + ", " ; istdererste = false ; resultat = resultat + item.getdescription(); return resultat; public int getsizeinchars() { int resultat = text.length(); for (DataElement item : attachments ) { resultat += item.getsizeinchars(); return resultat; public void addattachment(dataelement anhang) { attachments.add(anhang); public DataElement getattachment( int i) { return attachments.get(i); public boolean removeattachment(string title) { DataElement a = findanhangbytitel(title); // TODO s.u. if (a!= null ) { attachments.remove(a); return true ; else {
13 return false ; // Implementieren Sie folgeden Methode: Sie gibt ein DataElement // anhand eines übergebenen title in attachements zurück: (4P) DataElement findanhangbytitel(string title) { // TODO for(dataelement item : attachments){ if( item.gettitel().equals(title) ) { // Treffer: return item; // kein Treffer: return null; public int getattachmentcount() { return attachments.size(); public String gettext() { return text ; class Image extends DataElement { // Deklarieren Sie eine enum namens ImageType mit den Werten // JPG, PNG, GIF (1P) public enum ImageType {JPG, PNG, GIF ImageType typ; byte [] data ; public Image(String title, Image.ImageType typ, byte [] data) { super (title); this.typ = typ; this. data = data; public String getdescription() { return gettitel() + " (" + typ + ") " ; public int getsizeinchars() { return data. length ;
14 7. Schreiben Sie ein Interface Processor folgender Art: (4P) Dieses soll einen generischen Typparamter T besitzen und eine öffentliche Methode namens process, die einen Parameter vom Typ T aufnimmt und nichts zurückgibt. public interface Processor<T> { public void process(t t); 8. Schreiben Sie eine Klasse Visitenkarte folgender Art: (6P) Sie erbt von DataElement. Sie besitzt einen parameterlosen Konstruktor, der als Titel immer " Visitenkarte " benutzt. Sie liefert als Beschreibung " Visitenkarte " zurück. Sie liefert als Größe (SizeInChars) 42 zurück. Implementieren das Interface Processor für den Typ-Parameter Visitenkarte. In der Methode process soll die Beschreibung auf die Konsole ausgegeben werden. public class Visitenkarte extends DataElement implements Processor<Visitenkarte> { // Konstruktor: public Visitenkarte(){ super( Visitenkarte ); public String getdescription() { return Visitenkarte ; public int getsizeinchars() { return 42; public void process(visitenkarte t){ System.out.println( getdescription() ); // oder: System.out.println( t.getdescription() );
15 9. Gegeben eine CSV-Datei C:/Downloads/Countries.csv: DE,Germany US,United States MY,Malaysia Diese Datei soll in einem Java-Programm auf die Konsole ausgegeben werden. Ergänzen Sie den Code: import java.io.bufferedreader; import java.io.filereader; import java.io.ioexception; public class CSVParser { public static void main(string[] args) { String csvfile = "C:/Downloads/Countries.csv" ; BufferedReader br = null ; String line = "" ; // (1P) String csvsplitby = "," ; try { br = new BufferedReader( new FileReader(csvFile)); while ((line = br.readline())!= null ) { String[] country = line.split(csvsplitby); // Geben Sie auf der Konsole im folgenden Format aus: // z.b. Country [code=de, name=germany] (3P) System.out.println( Country [code= + country[0] +, name= + country[1] + ] ); catch (Exception e) {e.printstacktrace(); finally { if (br!= null ) { try { br.close(); catch (IOException e) {e.printstacktrace();
16 10. Liste. Gegeben folgende Implementierung einer Liste von ganzen Zahlen. Ergänzen Sie die TODOs: public class NumberList { // Innere Klasse für ein ListenELement: private class NumberCell { int data ; // Nutzinhalt: NumberCell next ; // Verweis aufs nächste ListenElement: // Konstruktor: NumberCell( int data, NumberCell next) { this. data = data; this. next = next; // Erstes ListenElement: private NumberCell head = null ; // TODO Implementieren Sie eine Methode, die eine Zahl data an den Anfang // der Liste anhängt (denken Sie auch an den Fall einer leeren Liste) (4P): public void addfirst( int data) { if( head == null ) { // Liste noch leer: head = new NumberCell(data, null); else { // Liste hat schon ein Element: NumberCell newhead = new NumberCell(data, head); head = newhead; Diese Klasse gilt zum Anwenden der obigen Klasse. Ergänzen Sie das TODO: class Test { public static void main(string[] args) { // TODO Erzeugen Sie eine Liste NumberList mit den Werten 5, 7, 10 (3P): NumberList list = new NumberList(); list.addfirst(10); list.addfirst(7);
17 list.addfirst(5); 11. JavaFX. Gegeben ist folgende JavaFX-GUI, die mittels FXML und einem Controller erzeugt worden ist. Implementieren Sie den Controller. <? xml version = "1.0" encoding = "UTF-8"?> <? import... > < StackPane xmlns = " xmlns:fx = " fx:controller = "application.samplecontroller" > < children > < HBox alignment = "CENTER" spacing = "5.0" > < children > < TextField fx:id = "input" text = "input" /> < Button mnemonicparsing = "false" text = "write input to output" onaction = "#write" /> < Text fx:id = "output" stroketype = "OUTSIDE" strokewidth = "0.0" text = "output" /> </ children > < StackPane.margin > < Insets bottom = "10.0" left = "10.0" right = "10.0" top = "10.0" /> </ StackPane.margin > </ HBox > </ children > </ StackPane > Controller: package application; import javafx.fxml.fxml; import javafx.scene.control.textfield; import javafx.scene.text.text; public class SampleController { // TODO Geben Sie zwei Attribute an, mit der Sie auf das TextField // (Text-Eingabefeld) und den Text (Textanzeige) aus der FXML-Datei Zugriff // TextField input;
18 @FXML Text output; // TODO Implementieren Sie folgende Methode: Beim Drücken des Buttons, soll // der Inhalt des Text-Eingabefeldes in der rechten Textanzeige angezeigt werden // Hinweis: benutzen Sie die Methoden gettext() und settext(string text). public void write() { output.settext(input.gettext());
Informatik 2 für Regenerative Energien
Informatik 2 für Regenerative Energien Klausur vom 5. Juli 2013 Jörn Loviscach Versionsstand: 13. Juli 2013, 18:12 This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike
MehrKlausur: Java (Liste P)
Klausur: Java (Liste P) SS05 Erlaubte Hilfsmittel: Gebundene! Unterlagen (Skript mit Anmerkungen, eigene Mitschrift) und maximal ein Buch. Bitte keine losen Blätter. Lösung ist auf den Klausurbögen anzufertigen.
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
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
MehrJava-Schulung Grundlagen
Java-Schulung Grundlagen Java 2 Standard Edition JDK 5 / 6 31.05.2008 Marcel Wieczorek 1 Themenübersicht Basiswissen Objektorientierung Datentypen Fehlerbehandlung Sonstiges Einführung Klassen, Strings
MehrPrü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
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
Mehrboolean ispalindrome = word.equalsignorecase(reverse.tostring());
Bereich: Input/Output (2) Palindrome speichern Package: de.dhbwka.java.exercise.io Musterlösung Klasse: PalindromeFile package de.dhbwka.java.exercise.io; import java.io.bufferedreader; import java.io.file;
MehrTeil 5 - Java. Programmstruktur Operatoren Schlüsselwörter Datentypen
Teil 5 - Java Programmstruktur Operatoren Schlüsselwörter Datentypen 1 Kommentare in Java In Java gibt es drei Möglichkeiten zur Kommentierung: // Kommentar Alle Zeichen nach dem // werden ignoriert. für
MehrInstitut für Programmierung und Reaktive Systeme 17. Juli Programmieren II. Übungsklausur
Technische Universität Braunschweig Dr. Werner Struckmann Institut für Programmierung und Reaktive Systeme 17. Juli 2015 Hinweise: Klausurtermine: Programmieren II Übungsklausur Programmieren I: 7. September
MehrInstitut für Programmierung und Reaktive Systeme 6. Juli Programmieren II. Übungsklausur
Technische Universität Braunschweig Dr. Werner Struckmann Institut für Programmierung und Reaktive Systeme 6. Juli 2018 Hinweise: Klausurtermine: Programmieren II Übungsklausur Programmieren I: 27. August
MehrEinführung in die Programmierung mit Java
Einführung in die Programmierung mit Java Teil 9: Ausnahmebehandlung Martin Hofmann Steffen Jost LFE Theoretische Informatik, Institut für Informatik, Ludwig-Maximilians Universität, München 8. Dezember
MehrDatum, Uhrzeit: , Uhr Semester: IN1 Note:... Prof. Dr. G. Meixner
Prüfung "Programmieren 1", IN1, WS 16/17 Seite 1 von 6 Datum, Uhrzeit: 20. 01. 2017, 10.30 Uhr Semester: IN1 Note:... Prüfer: Prof. Dr. G. Meixner Dauer: 60 Min. Hilfsmittel: keine Punkte:... Diese Prüfung
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
MehrProgrammieren in Java
Programmieren in Java Dateien lesen und schreiben 2 Übersicht der heutigen Inhalte File Streams try-with-resources Properties csv-dateien 3 Klasse File Die Klasse java.io.file bietet Unterstützung im Umgang
MehrMusterlö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)
MehrII.4.4 Exceptions - 1 -
n 1. Unterklassen und Vererbung n 2. Abstrakte Klassen und Interfaces n 3. Modularität und Pakete n 4. Ausnahmen (Exceptions) n 5. Generische Datentypen n 6. Collections II.4.4 Exceptions - 1 - Ausnahmen
MehrFakultä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)
MehrAusnahmebehandlung. Ausnahmen werfen (auslösen) Eigene Ausnahmen definieren. Ausnahmen abfangen. Ausnahmen definieren
Ausnahmebehandlung Ausnahmen werfen (auslösen) Eigene Ausnahmen definieren Ausnahmen abfangen Ausnahmen definieren Sinnvolle Verwendung von Ausnahmen Informatik II: Objektorientierte SW-Entwicklung, Algorithmik,
MehrLösungsvorschläge zur Nachklausur zum Kurs 1618 Sommersemester 2001 am
Aufgabe 1 Lösungsvorschläge zur Nachklausur zum Kurs 1618 Sommersemester 2001 am 16.3.2002 Folgende Implementierung löst die gestellte Aufgabe : public interface Figur { public void anzeigen (); public
MehrProgrammierung für Mathematik HS11
software evolution & architecture lab Programmierung für Mathematik HS11 Übung 8 1 Aufgabe: Codeverständnis (Repetition) 1.1 Lernziele 1. Code verstehen können. 2. Fehler im Code finden und korrigieren
MehrSystem.out.println("TEXT");
Inhaltsübersicht - Erstes Beispiel - Datentypen - Ausdrücke und Operatoren - Schleifen / Bedinungen - Struktogramme - Grundgerüst eines Programms in JAVA - Einlesen von Daten Erstes Beispiel public class
MehrEinfü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
MehrEinfü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
MehrProgrammierung für Mathematik HS10 Übung 8
Department of Informatics software evolution & architecture lab Programmierung für Mathematik HS10 Übung 8 1 Aufgabe: Codeverständnis (Repetition) 1.1 Lernziele 1. Code verstehen können. 2. Fehler im Code
MehrLösungshinweise/-vorschläge zum Übungsblatt 11: Software-Entwicklung 1 (WS 2017/18)
Dr. Annette Bieniusa Mathias Weber, M. Sc. Peter Zeller, M. Sc. TU Kaiserslautern Fachbereich Informatik AG Softwaretechnik Lösungshinweise/-vorschläge zum Übungsblatt 11: Software-Entwicklung 1 (WS 2017/18)
MehrEinführung in die Programmierung I. 2.0 Einfache Java Programme. Thomas R. Gross. Department Informatik ETH Zürich
252-0027 Einführung in die Programmierung I 2.0 Einfache Java Programme Thomas R. Gross Department Informatik ETH Zürich Uebersicht 2.0 Einfache Java Programme Struktur Namen Output 2 Graphische Darstellung
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
MehrProbeklausur 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
MehrProbeklausur 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
MehrProgrammieren 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
MehrAllgemeine Hinweise:
TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK Lehrstuhl für Sprachen und Beschreibungsstrukturen WS 12/13 Einführung in die Informatik I Wiederholungsklausur Prof. Dr. Helmut Seidl, A. Lehmann,
MehrProgrammiermethodik 3. Klausur Lösung
Programmiermethodik 3. Klausur Lösung 9. 1. 2014 Name Matrikelnummer Aufgabe mögliche Punkte erreichte Punkte 1 20 2 16 3 45 4 19 5 20 Gesamt 120 1 Seite 2 von 10 Aufgabe 1) Objekt-Orientierung und Vererbung
MehrInstitut für Programmierung und Reaktive Systeme 7. Juli Programmieren II. Übungsklausur
Technische Universität Braunschweig Dr. Werner Struckmann Institut für Programmierung und Reaktive Systeme 7. Juli 2017 Hinweise: Klausurtermine: Programmieren II Übungsklausur Programmieren I: 28. August
MehrJava - Programmierung - Prozedurale Programmierung 1
Java - Programmierung - Prozedurale Programmierung 1 // elementare Datentypen public class el_dt public static void main(string args []) byte b = 127; short s = 32767; int i = 2147483647; long l = 9223372036854775807L,
MehrProbeklausur 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
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
MehrAllgemeine Hinweise:
TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK Lehrstuhl für Sprachen und Beschreibungsstrukturen WS 12/13 Einführung in die Informatik I Wiederholungsklausur Prof. Dr. Helmut Seidl, A. Lehmann,
MehrInstitut für Programmierung und Reaktive Systeme. Java 7. Markus Reschke
Institut für Programmierung und Reaktive Systeme Java 7 Markus Reschke 14.10.2014 Vererbung in Java Vererbung ermöglicht es, Klassen zu spezialisieren Wiederverwendung vorhandener Klassen Kindsklasse erhält
Mehr1. Typen und Literale (6 Punkte) 2. Zuweisungen (6 = Punkte)
Praktische Informatik (Software) Vorlesung Softwareentwicklung 1 Prof. Dr. A. Ferscha Hauptklausur am 01. 02. 2001 Zuname Vorname Matr. Nr. Stud. Kennz. Sitzplatz HS / / / Punkte Note korr. Fügen Sie fehlende
MehrEINFÜHRUNG IN DIE PROGRAMMIERUNG
EINFÜHRUNG IN DIE PROGRAMMIERUNG FORTGESCHRITTENE KONZEPTE Tobias Witt!! 26.03.2014 FEHLERBEHANDLUNG KLASSISCHER ANSATZ Fehlercode als Rückgabewert von Methoden! String Fehlercode als String! int Fehlercode
Mehr! 1. Unterklassen und Vererbung! 2. Abstrakte Klassen und Interfaces! 3. Modularität und Pakete! 4. Ausnahmen (Exceptions) II.4.
! 1. Unterklassen und Vererbung! 2. Abstrakte Klassen und Interfaces! 3. Modularität und Pakete! 4. Ausnahmen (Exceptions) II.4.4 Exceptions - 1 - Ausnahmen (Exceptions( Exceptions) Treten auf, wenn zur
MehrTechnische Universität Braunschweig
Technische Universität Braunschweig Institut für Programmierung und Reaktive Systeme Programmieren II Dr. Werner Struckmann 28. August 2015 Name: Vorname: Matrikelnummer: Kennnummer: Anrede: Frau Herr
MehrProgrammieren in Java
Programmieren in Java Vorlesung 11: Generic Methods Prof. Dr. Peter Thiemann Albert-Ludwigs-Universität Freiburg, Germany SS 2017 Peter Thiemann (Univ. Freiburg) Programmieren in Java JAVA 1 / 15 Inhalt
MehrObjektorientierung II & die Java Klassenbibliothek. Kristian Bergmann und Arthur Lochstampfer
Java Kurs Objektorientierung II & die Java Klassenbibliothek Kristian Bergmann und Arthur Lochstampfer Vergleich class Apfel { String farbe; int gewicht; String geerntetin; class Erdbeere { String farbe;
MehrII.4.4 Exceptions - 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.4 Exceptions - 1 - Ausnahmen (Exceptions)
MehrTechnische Universität Braunschweig Institut für Programmierung und Reaktive Systeme
Technische Universität Braunschweig Institut für Programmierung und Reaktive Systeme Programmieren II Dr. Werner Struckmann 16. August 2013 Name: Vorname: Matrikelnummer: Kennnummer: Anrede: Frau Herr
MehrPolymorphie/Späte Bindung Abstrakte Klassen Interfaces. Polymorphie/Späte Bindung Abstrakte Klassen Interfaces
Programmieren I Martin Schultheiß Hochschule Darmstadt Wintersemester 2010/2011 1 / 20 Polymorphie/Späte Bindung Abstrakte Klassen Interfaces 2 / 20 Definition: Polymorphie Der Begriff Polymorphie (manchmal
MehrAusnahmen. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung
Annabelle Klarl Zentralübung zur Vorlesung Einführung in die Informatik: http://www.pst.ifi.lmu.de/lehre/wise-13-14/infoeinf WS13/14 Fehlerarten Bei der Programmierung können viele Arten von Fehlern auftreten:
MehrProbeklausur 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
MehrCoMa 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)
Mehr12 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,
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
MehrProgrammieren I. Fehlerbehandlung Exceptions. Heusch 2. Bd, 3 Ratz 10. Institut für Angewandte Informatik
Programmieren I Fehlerbehandlung Exceptions Heusch 2. Bd, 3 Ratz 10 KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Exceptions und ihre Behandlung Exception - Ausnahmebedingung
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,
MehrProf. Dr. Oliver Haase Karl Martin Kern Achim Bitzer. Programmiertechnik Ausnahmen
Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer Programmiertechnik Ausnahmen Motivation Anwendungsbeispiel 1: java Excep1 a: 15 b: 3 a / b = 5 Job done. Konsole Anwendungsbeispiel 2: Konsole java
Mehr1 of :26:26
//import java.util.arraylist; //import java.util.iterator; public class Bank private String name; //private ArrayList kontolist; private MyLinkedList kontolist; public Bank() this("bank");
MehrÜ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
MehrHandbuch konsultieren!
Zeichenketten Klasse String Enthält zahlreiche Methoden z.b.: int length(): Anzahl der Zeichen in Zeichenkette String substring(int start): Unterzeichenkette ab Position start boolean equalsignorecase(string
MehrAllgemeine Hinweise:
TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK Lehrstuhl für Sprachen und Beschreibungsstrukturen WS 11/12 Einführung in die Informatik I Probe-Klausur Prof. Dr. Helmut Seidl, M. Schwarz, A. Herz,
Mehr1 of :17:14
7 public class Main 10 /** 11 * @param args the command line arguments 1 */ 13 public static void main(string[] args) 14 { 15 // Aufgabe 1 16 System.out.println("##### AUFGABE 1 #####"); 17 // Stack initialisieren
MehrTechnische Universität Braunschweig Institut für Programmierung und Reaktive Systeme
Technische Universität Braunschweig Institut für Programmierung und Reaktive Systeme Programmieren II Dr. Werner Struckmann 29. August 2014 Name: Vorname: Matrikelnummer: Kennnummer: Anrede: Frau Herr
MehrDHBW Karlsruhe, Vorlesung Programmieren, Events Musterlösung
DHBW Karlsruhe, Vorlesung Programmieren, Events Musterlösung Aufgabe Editor package BA.GUI.Swing; import java.awt.*; import java.awt.event.*; import java.io.*; import java.util.logging.level; import java.util.logging.logger;
MehrSemestralklausur Informatik I - Programmierung
RHEINISCH- WESTFÄLISCHE TECHNISCHE HOCHSCHULE AACHEN LEHR- UND FORSCHUNGSGEBIET INFORMATIK II RWTH Aachen D-52056 Aachen GERMANY http://www-i2.informatik.rwth-aachen.de/lufgi2 Prof. Dr. Jürgen Giesl LuFG
MehrII.4.2 Abstrakte Klassen und Interfaces - 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.2 Abstrakte Klassen und Interfaces - 1
MehrAusnahmen. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung
Annabelle Klarl Zentralübung zur Vorlesung : http://www.pst.ifi.lmu.de/lehre/wise-12-13/infoeinf WS12/13 Fehlerarten Bei der Programmierung können viele Arten von Fehlern auftreten: Syntaktische Fehler
MehrInterface. So werden Interfaces gemacht
Design Ein Interface (=Schnittstelle / Definition) beschreibt, welche Funktionalität eine Implementation nach Aussen anzubieten hat. Die dahinter liegende Algorithmik wird aber der Implementation überlassen.
MehrAusnahmen. 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/ Fehlerarten Bei der Programmierung
MehrAlgorithmen 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
MehrEINFÜHRUNG IN DIE PROGRAMMIERUNG
EINFÜHRUNG IN DIE PROGRAMMIERUNG FORTGESCHRITTENE KONZEPTE Tobias Witt 26.03.2014 tobias.witt@hhu.de 25.12.01.30 Bürozeiten: 09 Uhr - 12 Uhr FEHLERBEHANDLUNG KLASSISCHER ANSATZ Fehlercode als Rückgabewert
Mehrhue13 January 30, 2017
hue13 January 30, 2017 1 Abgabehinweise Beachten Sie unbedingt diese Hinweise, sonst erhalten Sie keine Punkte aus dieser Abgabe! Für Details siehe z.b. Folien der nullten Zentralübung 1.1 Namen und Matrikelnummern
MehrAusnahmen. Philipp Wendler. Zentralübung zur Vorlesung Einführung in die Informatik: Programmierung und Softwareentwicklung
Philipp Wendler Zentralübung zur Vorlesung Einführung in die Informatik: Programmierung und Softwareentwicklung https://www.sosy-lab.org/teaching/2017-ws-infoeinf/ WS17/18 Fehlerarten Bei der Programmierung
MehrAufgabe 1 (Programmanalyse, Punkte)
2 Aufgabe 1 (Programmanalyse, 8 + 6 Punkte) a) Geben Sie die Ausgabe des Programms für den Aufruf java M an. Schreiben Sie hierzu jeweils die ausgegebenen Zeichen hinter den Kommentar OUT:. public class
MehrSelbststudium OOP6 & ALG1 Auftrag
Selbststudium OOP6 & ALG1 Auftrag Kapitel 5.2 1. zu bearbeitende Aufgabe: 5.1 done 2. Auf den Seiten 157/158 wird in der Methode start()ein while-loop verwendet. Kreieren Sie ein Code-Fragment mit derselben
MehrProgrammierung WS12/13 Lösung - Präsenzübung M. Brockschmidt, F. Emmes, C. Otto, T. Ströder
Prof. aa Dr. J. Giesl M. Brockschmidt, F. Emmes, C. Otto, T. Ströder Aufgabe 1 (Programmanalyse): (9 + 1 = 10 Punkte) a) Geben Sie die Ausgabe des Programms für den Aufruf java M an. Tragen Sie hierzu
MehrPrüfung Softwareentwicklung I (IB)
Hochschule für angewandte Wissenschaften München Fakultät für Informatik und Mathematik Studiengruppe IB 3 B, IB 3 C Wintersemester 2013/14 Prüfung Softwareentwicklung I (IB) Datum : 03.02.2014, 08:30
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)
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
MehrFragenkatalog ESOP WS 16/17
Fragenkatalog ESOP WS 16/17 1. Einleitung 1.1 Was ist Programmieren? 1.2 Was ist ein Programm? 1.3 Welche Schritte werden bei der Programmerstellung benötigt? 1.4 Was ist ein Algorithmus? 1.5 Was sind
MehrOrdnung im Materiallager: Datenstrukturen II. Suchen und Sortieren im Array Verkettete Listen Rekursion
Ordnung im Materiallager: Datenstrukturen II Suchen und Sortieren im Array Verkettete Listen Rekursion Indizierter Datenbehälter Modell: Parkhaus, nummerierte Plätze interface FuhrparkIndex { // indiziert
MehrObjekt-Orientierte Programmierung. II/Wb17
Probeklausur SS 2018 Hochschule Zittau/Görlitz, Prüfer: Prof. Dr. Georg Ringwelski Objekt-Orientierte Programmierung II/Wb17 Matrikelnummer: Punkte: 1 2 3 4 5 Gesamt /30 /25 /25 /20 /20 /120 Spielregeln:
MehrFachhochschule Wedel 31. Januar 2004 Prof. Dr. Uwe Schmidt
Fachhochschule Wedel 31. Januar 2004 Prof. Dr. Uwe Schmidt Aufgaben zur Klausur C und Objektorientierte Programmierung im WS 2003/04 (WI h103, II h105, MI h353) Zeit: 150 Minuten erlaubte Hilfsmittel:
MehrBeispielprüfung CuP WS 2015/2016
Beispielprüfung CuP WS 2015/2016 Univ.-Prof. Dr. Peter Auer 23. Dezember 2015 Informationen zur Prüfung Die Prüfung wird als Multiple-Choice-Test mit 10 Fragen am Computer abgehalten. (Bei manchen Fragen
MehrAllgemeine Informatik II SS :30-11:30 Uhr
TU Darmstadt FB Informatik Prof. J. Fürnkranz Semestralklausur - Lösungsvorschlag Allgemeine Informatik II SS 2005 20.07.2005 09:30-11:30 Uhr Hinweise: Als Hilfsmittel ist nur ein schwarzer oder blauer
MehrTechnische Universität Braunschweig
Technische Universität Braunschweig Institut für Programmierung und Reaktive Systeme Programmieren II Dr. Werner Struckmann 19. August 2016 Name: Vorname: Matrikelnummer: Kennnummer: Anrede: Frau Herr
MehrPhysikalisch Technische Lehranstalt Wedel 31. Januar 2004 Prof. Dr. Uwe Schmidt
Physikalisch Technische Lehranstalt Wedel 31. Januar 2004 Prof. Dr. Uwe Schmidt Aufgaben zur Klausur Objektorientierte Programmierung im WS 2003/04 (IA 252) Zeit: 90 Minuten erlaubte Hilfsmittel: keine
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
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
MehrEndklausur 25. September 2012
Endklausur 25. September 2012 Institut für Informatik Einführung in die Programmierung Sommersemester 2012 Name: Matrikel: Raum: Audimax 2 Vorname: Studiengang: Sitzreihe: Sitzplatz: Für Ihre Lösungen
Mehr14 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
Mehrihrer Klasse benötigt die Funktion einfuegenan:
Aufgabe 11 Verkettete Listen Entwickeln Sie einen Algorithmus, der Ihnen das Einfügen eines Elementes an einer beliebigen Position innerhalb der Liste erlaubt. Der Algorithmus soll beispielsweise erlauben,
MehrEinführung in die Programmierung I. 2.4 Felder. Thomas R. Gross. Department Informatik ETH Zürich
252-0027 Einführung in die Programmierung I 2.4 Felder Thomas R. Gross Department Informatik ETH Zürich Uebersicht 2.4 Felder (Vektoren, "array"s) 2.5 Verschachtelte Schleifen 2.6 "if" Anweisungen 2.7
Mehr14 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.
MehrDistributed Computing Group
JAVA TUTORIAL Distributed Computing Group Vernetzte Systeme - SS 06 Übersicht Warum Java? Interoperabilität grosse und gut dokumentierte Library weit verbreitet Syntax sehr nahe an C Erfahrung: Java wird
Mehr