Dr. Tobias Günther Programmierung Einführung Probeklausur 120 min



Ähnliche Dokumente
Objektorientierte Programmierung Studiengang Medieninformatik

Erste Java-Programme (Scopes und Rekursion)

Test zu Grundlagen der Programmierung Leitung: Susanne Guth/Michael Hahsler. 31. Jänner 2003

Programmieren in Java

Philipp Güttler Objektorientierung und komplexe Datentypen

Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer. Programmiertechnik Objektorientierung

Die Halde. Verwendung in der Speicherbelegung Visualisierung der Halde Call by Value & Call by Reference

Implementieren von Klassen

Teil 2: Weitere Aspekte der Objektorientierung

Programmieren in Java

Kapitel 9. Programmierkurs. Attribute von Klassen, Methoden und Variablen. 9.1 Attribute von Klassen, Methoden und Variablen

Objektorientierte Programmierung Studiengang Medieninformatik

1 Klassen und Objekte

Programmiertechnik Objektorientierung

Grundelemente objektorientierter Sprachen (1)

Grundelemente objektorientierter Sprachen (1)

Objektorientierung. Klassen und Objekte. Dr. Beatrice Amrhein

Grundelemente objektorientierter Sprachen (1)

CS1005 Objektorientierte Programmierung

Prinzipien der objektorientierten Programmierung (OOP)

Propädeutikum Programmierung in der Bioinformatik

Beispiele für Ausdrücke. Der imperative Kern. Der imperative Kern. Imperativer Kern - Kontrollstrukturen. Deklarationen mit Initialisierung

Javakurs für Anfänger

Probeklausur: Programmierung WS04/05

Was du ererbt von Deinen Vätern hast, erwirb es, um es zu besitzen. J. W. v. Goethe.

Einführung in die Programmiersprache Java II

Methoden und Klassen. Silke Trißl Wissensmanagement in der Bioinformatik

Silke Trißl, Prof. Ulf Leser Wissensmanagement in der Bioinformatik. Jede Applikation braucht eine Klasse mit einer main-methode

Einführung in die Programmierung 1

Klassen mit Instanzmethoden

Institut für Programmierung und Reaktive Systeme 2. Februar Programmieren I. Übungsklausur

7. Übung Informatik II - Objektorientierte Programmierung

Objektorientes Design & Programm

Objektorientierte Programmierung Studiengang Medieninformatik

Aufgabenblatt: OOP - Seite 1. (2.) Geometrie: Erstellen Sie eine Klasse CPyramid, die sich von der Klasse Square ableitet:

CoMa 04. Java II. Paul Boeck. 7. Mai Humboldt Universität zu Berlin Institut für Mathematik. Paul Boeck CoMa 04 7.

7. Objektorientierung. Informatik II für Verkehrsingenieure

Vererbung P rogram m ieren 2 F örster/r iedham m er K apitel 11: V ererbung 1

Einführung in die Informatik

4. Vererbung Die Klasse Object. Die Klasse Object

Javakurs für Anfänger

Repetitorium Informatik (Java)

Selbsteinstufungstest Vorkurs Programmieren

Neben der Verwendung von Klassen ist Vererbung ein wichtiges Merkmal objektorientierter

Algorithmen und Datenstrukturen

Probeklausur Java Einführung in die Informatik. Wintersemester 2017/2018

Arten von Klassen-Beziehungen

Praxis der Programmierung

JAVA - Methoden

Fragen zur OOP in Java

Probeklausur Java Einführung in die Informatik. Wintersemester 2016/2017

FH D. Objektorientierte Programmierung in Java FH D FH D. Prof. Dr. Ing. André Stuhlsatz. Referenzen. Referenzen

JAVA - Methoden - Rekursion

Sichtbarkeit & statische Methoden. Einsatz von Sichtbarkeit Einsatz statischer Methoden programmatische Realisierung 2 Beispielaufgaben

III. Objektorientierte Programmierung. Aufruf einer Methode. Definition einer Methode. Bezug zur aufrufenden Instanz. Instanzen einer Klasse

Die Klasse java.lang.object. Thorsten Treffer

1 Aufgabe: Computer-Aufbau

Vorkurs Informatik WiSe 15/16

16. Dezember 2004 Dr. M. Schneider, P. Ziewer

Arten von Klassen-Beziehungen

Kapitel 8. Programmierkurs. Methoden. 8.1 Methoden

Statische und Nichtstatische Methoden Properties/ Eigenschaften

Algorithmen und Datenstrukturen 07

Teil 5 - Java. Programmstruktur Operatoren Schlüsselwörter Datentypen

Kontrollstrukturen: Wiederholungsanweisungen

Javakurs für Anfänger

Silke Trißl Wissensmanagement in der Bioinformatik. Objektorientierte Programmierung (OOP) Vorstellung wie in der realen Welt: Farbe Hubraum Tank...

Informatik II. Woche 15, Giuseppe Accaputo

Javaprogrammierung mit NetBeans. Variablen, Datentypen, Methoden

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

Java Einführung Klassendefinitionen

Name:... Matr.-Nr... Bearbeitungszeit: 120 Minuten. Lesen Sie die Aufgaben jeweils bis zum Ende durch; oft gibt es hilfreiche Hinweise!

Einführung in die Programmierung

Innere Klassen. Gerd Bohlender. Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java

Anregungen zu Übung 2

1 Abstrakte Klassen, finale Klassen und Interfaces

Musterlösung Stand: 5. Februar 2009

Einführung in die Systemprogrammierung

Test zu Grundlagen der Programmierung Leitung: Michael Hahsler. 21. Juni 2004

Java I Vorlesung Vererbung und Sichtbarkeit

Martin Unold INFORMATIK. Geoinformatik und Vermessung

Folienpaket 7 Themenschwerpunkte: Methoden in OOP /2016 Dr. Daniel Haase - Vorkurse Informatik V3/V4

EINFÜHRUNG IN DIE PROGRAMMIERUNG

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

12 Abstrakte Klassen, finale Klassen und Interfaces

JAVA 06: Gemischte einfache Fragen zu Java

JAVA BASICS. 2. Primitive Datentypen. 1. Warum Java? a) Boolean (logische Werte wahr & falsch)

Fakultät IV Elektrotechnik/Informatik

Das Ersetzbarkeitsprinzip

4. Objektorientierte Programmierung mit C++

Übung 09: Vererbung und Dynamische Bindung

Objektorientierte Programmierung

Test zu Grundlagen der Programmierung Leitung: Susanne Guth/Michael Hahsler. 2. Mai 2003

1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen und Kontrollstrukturen 4. Verifikation 5. Reihungen (Arrays)

Musterübung 09: Vererbung und Dynamische Bindung

n 1. Grundzüge der Objektorientierung n 2. Methoden, Unterprogramme und Parameter n 3. Datenabstraktion n 4. Konstruktoren n 5. Vordefinierte Klassen

Das Ersetzbarkeitsprinzip

11. Java Klassen. Klassen - Technisch. Klassen - Beispiel: Erdbebendaten. Klassen - Konzeptuell

Transkript:

Aufgaben zu Kontrollstrukturen (Pseudocode) Aufgabe Schleifen Stellen Sie mit Hilfe von Pseudocode das Hochzählen einer Variablen jeweils mit Hilfe einer "for" bzw. Mit Hilfe einer "while" Schleife dar. Aufgabe If-Then Aus welchen Bestandteilen besteht eine if-then-else Bedingung. Nennen Sie die Voraussetzungen, die eintreten müssen, damit der else-teil aufgerufen wird. Aufgaben zu primitiven Datentypen Aufgabe primitive Datentypen Geben Sie zu jedem der Datentypen "float", "int" und "boolean" die Standardinitialisierungs- Belegungen an, wenn der Programmierer diese nicht selbst vorgibt. Aufgabe Definition versus Deklaration Worin unterscheiden sich Deklaration und Definition einer Variablen? An welchen Stellen in der Klasse wird normalerweise die Definition und wo die Deklaration vorgenommen. Aufgaben zu Boolschen Ausdrücken Aufgabe Boolsche Ausdrücke Die Variable a und b sind boolsche Variablen unbekannter Belegung. Verkürzen Sie folgende boolsche Ausdrücke, soweit es möglich ist: (!(a & a)) & true ( (true b ) ( false b) ) Aufgaben zur Objektorientierung Klasse Aufgabe Klasse Geben Sie die Bestandteile einer Klasse an. Nennen Sie außerdem 3 Gründe, weshalb die vormals nicht-objektorientierte (prozedurale) Softwareentwicklung an Grenzen stieß, welche den Einsatz von Objektorientierung notwendig machte. Aufgabe Bestandteile einer Klasse Welchen Zweck haben Zustandsvariablen in einer Klasse. Können diese von den Verhaltensmethoden angesprochen werden?

Aufgaben zu statischen und nicht-statischen Methoden Aufgabe Funktionsbestandteile Aus welchen Bestandteilen setzt sich eine Funktion zusammen? Aufgabe statische Methode Wann ist es sinnvoll eine statische Methode zu verwenden? Welche Vorteile und Nachteile hat diese im Vergleich zu Member-Methoden? Aufgabe Funktionsaufrufe Geben Sie die drei Konsolenausgaben des folgenden Programms an. public class StaticFunctions private static int f(int x) return x; private static int f(int x,int y) return (x*y); public static void main(string[] args) System.out.println(f(1)); System.out.println(f(2,3)); System.out.println( f( f(1), f(2,3) ) ); Aufgaben zur Konstruktoren Aufgabe Rolle der Konstruktoren Wofür werden Konstruktoren genutzt? Welche wichtige Aufgabe kommt ihnen zu? Wann werden Konstruktoren aufgerufen? Aufgabe Konstruktorenparameter Wie viele verschiedene Konstruktoren (diese unterscheiden sich durch die Anzahl und Typ der Parameter) kann eine Klasse haben.

Aufgaben zur Sichtbarkeit Aufgabe Sichtbarkeit Warum ist es sinnvoll die Sichtbarkeit von Methoden und Variablen einzuschränken, d.h. von public auf private zu setzen? Aufgabe Sichtbarkeit bei der Vererbung Welche Sichtbarkeitsangaben werden benötigt, damit eine abgeleitete Klasse die Methoden der Mutterklasse aufrufen kann. Aufgaben zur Instantiierung und Ansicht der Halde Aufgabe Halde Gegen ist die Klasse Bus und die Methode main, in der Instanzen der Klasse Bus erstellt werden. Geben Sie den Zustand der Halde nach Ausführung der Methode main an (bevor die Instanzen durch den Garbage-Collector gelöscht werden). public class Bus int mbaujahr; String mkennzeichen; int msitzplätze; public static void main(string[] args) Bus bus1=new Bus(); Bus bus2=new Bus(); Bus bus3=new Bus(); Aufgabe Halde mit Array Gegen ist die Klasse Bus und Busfahrgast und die Methode main, in der Instanzen der Klasse Bus und Busfahrgast erstellt werden. Geben Sie den Zustand der Halde nach Ausführung der Methode main an (bevor die Instanzen durch den Garbage-Collector gelöscht werden).

public class Busfahrgast public String mticket; public long meinstiegszeit; public class Bus private int mbaujahr; private String mkennzeichen; private int msitzplaetze; private int manzahlfahrgaeste; private Busfahrgast[] mfahrgaeste; public Bus(int asitzplaetze) msitzplaetze=asitzplaetze; mfahrgaeste=new Busfahrgast[mSitzplaetze]; manzahlfahrgaeste=0; protected void einsteigen(busfahrgast afahrgast) mfahrgaeste[manzahlfahrgaeste]=afahrgast; manzahlfahrgaeste++; public static void main(string[] args) Busfahrgast marie=new Busfahrgast(); Busfahrgast peter=new Busfahrgast(); Bus bus=new Bus(10); bus.einsteigen(marie); bus.einsteigen(peter); Aufgabe Begriffe der Objektorientierung und UML Geben Sie den Unterschied zwischen Klasse und Objektinstanz an. Beschreiben Sie an einem Beispiel beide Begriffe mit Hilfe des UML-Klassendiagrams. Aufgabe UML Klassendiagramm Geben Sie das UML Klassendiagram der Klassen aus Aufgabe "Halde mit Array" an. Aufgabe Entwurf mit UML Zur Verwaltung von ICE-Zügen in einem Anwendungsprogramm möchte ein deutsches Bahn- Unternehmen Objektorientierte Programmierung verwenden. Folgende Anforderungen sind bekannt: Die Klasse IceFlotte besitzt ein Array des Types Train auf die mit Hilfe der Methode addtrain und gettrain(int index) von außen zugegriffen werden soll. Die ICE-Züge sollen demnach als Objekte der Klasse Train in schon erwähntem Array gespeichert

werden. Die Klasse Train soll neben dem Namen des ICE (vom Typ String) nun auch eine Variable hatklimaanlage (vom Typ boolean) enthalten. Auf beide Variablen soll ausschließlich mit Hilfe von get- und set Methoden zugegriffen werden. Entwerfen Sie ein auf diese Anforderungen passendes UML-Klassendiagramm der technischen Spezifikation. Achten Sie hierbei auch auf die Darstellung der Sichtbarkeit der Methoden und Variablen. Aufgabe package Warum wird empfohlen Packages zu verwenden? Wo muss die Zugehörigkeit einer Klasse zu einem Package eingetragen werden? Aufgabe Vererbung Welche Ausgaben erscheinen auf der Konsole bei den 4 Klassen und ausgeführter main-funktion: public class A public class B extends A private String ausgabe() return "Das ist Klasse A"; protected String ausgabe() return "das ist Klasse B"; public class C extends B public String ausgabe() return "Das ist Klasse C"; public class D extends C Die Klasse Start vom Package klausur_start enthält die folgende main-methode: public static void main(string[ ] args) D d=new D(); System.out.println(d.ausgabe()); C c=new C(); System.out.println(c.ausgabe()); B b=new B(); System.out.println(b.ausgabe()); A a=new A(); System.out.println(a.ausgabe());

Aufgabe Zugriffsrechte managen mit Vererbung Für die Verwaltung von Zugriffsrechten der Rollen Person,Direktorin, Kassiererin, Putzmann, Kundin soll ein objektorientiertes Design genutzt werden. Folgen Aktionen sind möglich: Bank_betreten(), Safe_öffnen(), Geld_auszahlen(), Fenster_öffnen(), Karte_stechen(), Geld_einzahlen(). Überlegen Sie, welche Aktion für welche Rolle geeignet ist und tragen sie die Aktionen in das unten stehende Klassendiagramm ein.