Informatik I Eprog HS11

Ähnliche Dokumente
Repetitorium Informatik (Java)

Probeklausur: Programmierung WS04/05

Einführung in die Java- Programmierung

Javakurs für Anfänger

Java Einführung Klassendefinitionen

Algorithmen und Programmierung II

Einstieg in die Informatik mit Java

Letztes Mal. static int ggt(int a, int b) { if (a == b) return a; else if (a > b) return ggt(a-b,b); else if (a < b) return ggt(a,b-a);

Programmierung für Mathematik HS12 Übung 3

Informatik I EProg HS13

Objektorientierte Programmierung

5.4 Klassen und Objekte

Objektorientierte Programmierung OOP Programmieren mit Java

einkonto.zahle(+100); //Transaktion Einzahlung einkonto.zahle(-20); //Transaktion Auszahlung einkonto.zahle(+30); //Transaktion Einzahlung

Informatik I Eprog HS10

Probeklausur: Programmierung WS04/05

Javakurs 2013 Objektorientierung

Javakurs für Anfänger

Einführung in die objektorientierte Programmierung mit Java. Klausur am 19. Oktober 2005

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

PIWIN 1 Übung Blatt 5

Teil 2: OOP und JAVA (Vorlesung 11)

Klassen Objekte. Borchers: Programmierung für Alle (Java), WS 06/07 Kapitel 2 1

Klassen mit Instanzmethoden

Java Einführung Methoden in Klassen

Informatik II Prüfungsvorbereitungskurs

Selbstbestimmtes Lernen. Proinformatik III Objektorientierte Programmierung. Format. Inhalt. Buzzwords

Programmierkurs Java

Grundzüge der Programmierung. Wiederverwendung VERERBUNG

JAVA - Methoden

Klassen und Objekte. Einführung in Java. Folie 1 von Mai Ivo Kronenberg

OOP und Angewandte Mathematik. Eine Einführung in die Anwendung objektorientierter Konzepte in der angewandten Mathematik

Aufgabe 1. »Programmieren«, WS 2006/2007. Nino Simunic M.A.

Eine Klasse beschreibt Objekte mit gleichen Attributen und Methoden.

Distributed Computing Group

Kapitel 8. Programmierkurs. Methoden. 8.1 Methoden

Javakurs für Anfänger

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

Einführung in die Programmierung 1

Algorithmen und Datenstrukturen

Java Einführung Umsetzung von Beziehungen zwischen Klassen. Kapitel 7

Primitive Datentypen

0. Einführung & Motivation

Fachgebiet Informationssysteme Prof. Dr.-Ing. N. Fuhr. Programmierung Prof. Dr.-Ing. Nobert Fuhr. Übungsblatt Nr. 6

Semestralklausur Einführung in die Programmierung, WS 2005/06, Seite 1/6 Name, Vorname, Matrikelnummer: Gruppe A

Objektorientierte Programmierung mit Java. Grundlagen Übersicht. Programmiersprachen

Übungen zur Vorlesung Einführung in die Informatik Wintersemester 2010/11

Javakurs für Anfänger

Das erste Programm soll einen Text zum Bildschirm schicken. Es kann mit jedem beliebigen Texteditor erstellt werden.

Ein erstes Java-Programm

Test zu Grundlagen der Programmierung Leitung: Michael Hahsler. 21. November 2003

Java Einführung VARIABLEN und DATENTYPEN Kapitel 2

3 Objektorientierte Konzepte in Java

Vererbung & Schnittstellen in C#

Fundamentale Ideen der Informatik PH Weingarten Sommersemester 2014 Paul Libbrecht CC-BY. Vorlesung 3: Methoden, Scope

PIWIN I. Praktische Informatik für Wirtschaftsmathematiker, Ingenieure und Naturwissenschaftler I. Vorlesung 3 SWS WS 2007/2008

Programmierkurs. Manfred Jackel

Computeranwendung und Programmierung (CuP)

Objektorientierte Programmierung. Objektorientierte Programmierung. Klasse. Objekt. Beispiel: Sportfest1. Methode. Eine Einführung mit BlueJ

Workshop 6. Einführung in die objektorientierte Programmierung. Teil: Java mit BlueJ

Einführung Datentypen Verzweigung Schleifen. Java Crashkurs. Kim-Manuel Klein May 4, 2015

String s1, s2; Eine Zuweisung geschieht am einfachsten direkt durch Angabe des Strings eingeschlossen in doppelte Hochkommata:

EINI WiMa/LW. Einführung in die Informatik für Naturwissenschaftler und Ingenieure. Vorlesung 2 SWS WS 11/12

Der Datentyp String. Stringvariable und -vergleiche

Einführung Datentypen Verzweigung Schleifen Funktionen Dynamische Datenstrukturen. Java Crashkurs. Kim-Manuel Klein

Kurzeinführung in C/C++ Elementare Datentypen in C++

Übersicht. Schleifen. Schleifeninvarianten. Referenztypen, Wrapperklassen und API. 9. November 2009 CoMa I WS 08/09 1/15

Hochschule Augsburg, Fakultät für Informatik Name:... Prüfung "Programmieren 1", IN1bac, WS 10/11 Seite 1 von 6

Prinzipien Objektorientierter Programmierung

JAVA - Methoden - Rekursion

Java I Vorlesung 6 Referenz-Datentypen

Objektorientierte Programmierung

II.1.1. Erste Schritte - 1 -

C# im Vergleich zu Java

Grundlagen der Programmierung Prof. H. Mössenböck. 6. Methoden

Programmierkurs C++ Abstrakte Klassen und Methoden

Programmieren Tutorium

Methoden (fortgeschritten) in C# - 1

7. Objektorientierte Softwareentwicklung/3. Informatik II für Verkehrsingenieure

13. Tutorium zu Programmieren

Objektorientierte Programmierung OOP Programmieren mit Java

Prof. H. Herbstreith Fachbereich Informatik. Leistungsnachweis. Informatik 1 WS 2001/2002

Einstieg in die Informatik mit Java

Graphische Benutzungsoberflächen mit Java. Einführung in NetBeans

Java Cheatsheet. Mehrzeiliger Kommentar (beginnt mit /* und endet mit */)

Java I Vorlesung Objektorientiertes Programmieren

5.5.8 Öffentliche und private Eigenschaften

Javakurs für Anfänger

Informationsverarbeitung im Bauwesen

Java I Vorlesung Vererbung und Sichtbarkeit

Einführung in die Java- Programmierung

Objektorientierte Programmierung OOP Programmieren mit Java

Kapitel 3: Variablen

Theorie zu Übung 8 Implementierung in Java

OO Softwareentwicklung

12 Klassen in Java Instanz- und Klassenbestandteile

Grundlagen der Informatik für Ingenieure I

Java Vererbung. Inhalt

Tutorium Java. Softwaretechnologie: Java I. Marco Jürgens und Mihail Atanassov.

Java für Computerlinguisten

Transkript:

software evolution & architecture lab Informatik I Eprog HS11 Übung 2 1 Aufgabe: Primitive- & Referenztypen 1.1 Lernziele 1. Unterschied zwischen primitiven Datentypen und Objekten erklären können. 2. Verschiedene Funktionsweise der primitiven Datentypen und Referenztypen verstehen. 1.2 Aufgabenstellung a) Verständnis 1. Was verstehen Sie unter einem primitiven Datentyp? 2. Inwiefern unterscheiden sich primitive Datentypen von Referenztypen? b) Funktionsweise Wie lautet die Ausgabe der beiden Code-Snippets? 1 Begründen Sie Ihre Antwort. 1 int a = 5, b = 7; 2 3 a = b; 4 a++; 5 6 System.out.println(a); 7 System.out.println(b); Listing 1: Snippet 1 1 Gehen Sie davon aus, dass Number mit setnumber(int newnumber) eine Zahl korrekt speichern und mit printnumber() ausgeben kann? 1

1 Number x = new Number(); 2 Number y = new Number(); 3 x.setnumber(5); 4 y.setnumber(7); 5 6 x = y; 7 x.setnumber(8); 8 9 x.printnumber(); 10 y.printnumber(); Listing 2: Snippet 2 2

2 Aufgabe: Deklarationen, Zuweisungen, Verschicken von Nachrichten 2.1 Lernziele 1. Elementare Arten von Statements kennen. 2.2 Aufgabenstellung Geben Sie je zwei Beispiele für die folgenden Arten von Statements: a) Deklaration b) Initialisierung c) Verschicken einer Nachricht 3

3 Aufgabe: Cascading, Composition 3.1 Lernziele 1. Cascading und Composition von Methodenaufrufen anhand von String-Operationen verstehen und anwenden können. 3.2 Aufgabenstellung Gegeben seien die folgenden Deklarationen: 1 String s1 = "butterfly"; 2 String s2 = "tiger"; Welche Werte liefern die folgenden Nachrichten-Aufrufe? a) Aufrufe 1. s1.substring(6).concat(s2.substring(2)); 2. s1.substring(6).concat(" ").concat(s2).concat("!"); 3. s1.substring(0, 7).concat(s2.substring(1, 2)).concat("n").concat(s2.substring(2)); 4. s2.touppercase().concat("woods".tolowercase()).tolowercase(); 4

4 Aufgabe: Codeverständnis 4.1 Lernziele 1. Eine Klasse und deren Verhalten mit Hilfe der Java API am Beispiel der String-Klasse kennen lernen. 2. Codelesen und Codeverständnis trainieren. 4.2 Aufgabenstellung a) Code Snippets Welche der nachfolgenden vierzehn Code-Fragmente sind syntaktisch korrekt und wie lautet in diesem Fall die Ausgabe? Begründen Sie Ihre Antwort. Benutzen Sie dazu folgende Hilfsmittel: Walter Savitch, Java: An Introduction to Problem Solving & Programming Java API 1 String s; 2 s = "Hallo Welt"; 3 System.out.println(s); Listing 3: Snippet 1 1 String s; 2 "Hallo Welt" = s; 3 System.out.println(s); Listing 4: Snippet 2 1 String s = "Hallo Welt"; 2 s.touppercase(); 3 System.out.println(s); Listing 5: Snippet 3 1 System.out.println("Hallo Welt".toUpperCase()); Listing 6: Snippet 4 1 String s = "Hallo Welt"; 2 PrintStream t = "Hallo Universitaet"; 3 t = s; 4 System.out.println(t); Listing 7: Snippet 5 1 String s = System.out.println("Hallo Welt"); Listing 8: Snippet 6 5

1 String s = "Hello World".toUpperCase(); Listing 9: Snippet 7 1 String s = "w" + "oooo".touppercase() + "t"; Listing 10: Snippet 8 1 String s; 2 String t = "Hallo Universitaet"; 3 s = "Hallo Welt"; 4 t = s; 5 s = t; 6 System.out.println(s); 7 System.out.println(t); Listing 11: Snippet 9 1 String s = new String(int i = 0); Listing 12: Snippet 10 1 String s = new String("Hallo Welt").toUpperCase(); Listing 13: Snippet 11 1 String s = new String("Hallo Welt".toUpperCase); Listing 14: Snippet 12 1 System.out.println(new String("Hallo ").concat(new String("schoene "). concat("welt".touppercase()))); Listing 15: Snippet 13 1 String s = new "Hallo Welt"; Listing 16: Snippet 14 6

5 Aufgabe: OOP 5.1 Lernziele 1. Den Unterschied zwischen Klassen und Objekten kennen. 2. Gängige Begriffe der objektorientierten Programmierung definieren und zuordnen können. 5.2 Aufgabenstellung 1. Stellen Sie fest, bei welchen Begriffen aus Table 1 es sich um Klassen, Objekte, Methoden oder Eigenschaften handeln könnte. Es können verschiedene Lösungen möglich sein, abhängig von der Implementierung. Begriff Klasse Objekt Methode Eigenschaft Hund bellen Hund Barny Fellfarbe Auto Autonummer bremsen Table 1: OO-Begriffe 2. Erklären Sie die nachfolgenden Begriffe im Kontext der objektorientierten Programmierung: (a) Klasse (b) Instanz (c) Nachricht (d) Referenz (e) Überladen (Overloading) 7

6 Aufgabe: Klassen 6.1 Lernziele 1. Eine Klasse mit Zustand (Instanzvariablen) und Methoden mit Übergabewerten implementieren können. 2. Das Verhalten der erstellten Klasse mittels eines TestDrivers überprüfen. 6.2 Aufgabenstellung a) Adder Schreiben Sie eine Klasse mit dem Namen Adder und den Methoden reset(), add() und sum(). Die Methode add() soll einen einzigen Parameter vom Typ long erwarten und diesen zur Summe aller bisher erhaltenen Werte hinzuaddieren. sum() soll die Summe der bisher erhaltenen Werte auf dem Bildschirm ausgeben. reset() setzt das Objekt zurück, sprich die Summe der bisher erhaltenen Werte werden wieder auf 0 gesetzt. Erzeugen Sie in der main()-methode eines TestDrivers einige Objekte der Klasse Adder und testen Sie die reset()-, add()- und sum()-methoden. 1 public class Adder { 2 3... 4 5 public void add(... ) { 6... 7 } 8 9 public void reset() { 10... 11 } 12 13 public void sum() { 14... 15 } 16 } 8