Tutorium 5 - Programmieren

Ähnliche Dokumente
Java: Vererbung. Teil 3: super()

Objektorientierte Programmierung. Kapitel 12: Interfaces

Programmieren Tutorium

Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung: Lösungsvorschlag

Programmieren in Java

Verhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {...

Java Kurs für Anfänger Einheit 4 Klassen und Objekte

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

13. Tutorium zu Programmieren

Java Einführung Abstrakte Klassen und Interfaces

Operationalisierbare Qualitätskriterien für die Programmierung mit Erfahrungen aus PRÜ1 und PRÜ2

Folge 19 - Bäume Binärbäume - Allgemeines. Grundlagen: Ulrich Helmich: Informatik 2 mit BlueJ - Ein Kurs für die Stufe 12

Einführung in die Programmierung

5. Tutorium zu Programmieren

Vorkurs Informatik WiSe 15/16

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf Seite 1 von 22

Informatik 2 Labor 2 Programmieren in MATLAB Georg Richter

SEP 114. Design by Contract

Anleitung über den Umgang mit Schildern

Fakultät Angewandte Informatik Lehrprofessur für Informatik

Java Kurs für Anfänger Einheit 5 Methoden

Große Übung Praktische Informatik 1

Programmieren. 10. Tutorium 4./ 5. Übungsblatt Referenzen

5 DATEN Variablen. Variablen können beliebige Werte zugewiesen und im Gegensatz zu

Installation OMNIKEY 3121 USB

Objektorientierte Programmierung für Anfänger am Beispiel PHP

Was meinen die Leute eigentlich mit: Grexit?

Objektorientierte Programmierung

Prof. Dr. Uwe Schmidt. 21. August Aufgaben zur Klausur Objektorientierte Programmierung im SS 2007 (IA 252)

Übung 9 - Lösungsvorschlag

Institut für Programmierung und Reaktive Systeme 25. August Programmier-Labor Übungsblatt. int binarysearch(int[] a, int x),

Lichtbrechung an Linsen

Tutorium zur Mikroökonomie II WS 02/03 Universität Mannheim Tri Vi Dang. Aufgabenblatt 3 (KW 44) ( )

Klausur zur Einführung in die objektorientierte Programmierung mit Java

Objektorientierte Programmierung

Software Engineering Klassendiagramme Assoziationen

teamsync Kurzanleitung

Übungsaufgaben Tilgungsrechnung

FORUM HANDREICHUNG (STAND: AUGUST 2013)

Mit dem Tool Stundenverwaltung von Hanno Kniebel erhalten Sie die Möglichkeit zur effizienten Verwaltung von Montagezeiten Ihrer Mitarbeiter.

Konzepte der Informatik

Die Post hat eine Umfrage gemacht

Programmieren I. Strategie zum Entwurf von Klassen. Beispiele. Design von Klassen. Dr. Klaus Höppner. Beispiel: Bibliothek

Wir machen neue Politik für Baden-Württemberg

Vorkurs C++ Programmierung

Ändern eines Kontotyps

Überblick. Lineares Suchen

Prozentrechnung. Wir können nun eine Formel für die Berechnung des Prozentwertes aufstellen:

Was ist das Budget für Arbeit?

Leichte-Sprache-Bilder

Sie haben noch keine Rücklagen in Höhe von mindestens einem Netto-Monatsgehalt auf der Seite.

Einführung in die Java- Programmierung

MORE Profile. Pass- und Lizenzverwaltungssystem. Stand: MORE Projects GmbH

Handbuch. NAFI Online-Spezial. Kunden- / Datenverwaltung. 1. Auflage. (Stand: )

Unterrichtsmaterialien in digitaler und in gedruckter Form. Auszug aus:

Dieses Tutorial gibt eine Übersicht der Form Klassen von Struts, welche Besonderheiten und Unterschiede diese aufweisen.

Einführung in Java. PING e.v. Weiterbildung Andreas Rossbacher 24. März 2005

Software Engineering Interaktionsdiagramme

Anwendungsbeispiele Buchhaltung

EndTermTest PROGALGO WS1516 A

Software Engineering Klassendiagramme weiterführende Konzepte

1 topologisches Sortieren

Kfz-Versicherung für Fahranfänger. mit der Lizenz zum Fahren

Das große ElterngeldPlus 1x1. Alles über das ElterngeldPlus. Wer kann ElterngeldPlus beantragen? ElterngeldPlus verstehen ein paar einleitende Fakten

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

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

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

Grundbegriffe der Informatik

Bedienungsanleitung für den Online-Shop

Beispiel überschießendes Kindergeld:

DAVID: und David vom Deutschlandlabor. Wir beantworten Fragen zu Deutschland und den Deutschen.

Viele Bilder auf der FA-Homepage

Kapitel 4 Die Datenbank Kuchenbestellung Seite 1

Innere Klassen in Java

5. Abstrakte Klassen. Beispiel (3) Abstrakte Klasse. Beispiel (2) Angenommen, wir wollen die folgende Klassenhierarchie implementieren:

Hilfedatei der Oden$-Börse Stand Juni 2014

Algorithmik II. a) Fügen Sie in einen anfangs leeren binären Baum die Schlüsselfolge 20, 28, 35, 31, 9, 4, 13, 17, 37, 25 ein.

4. AuD Tafelübung T-C3

Orderarten im Wertpapierhandel

Kryptographie in der Moderne

sondern alle Werte gleich behandelt. Wir dürfen aber nicht vergessen, dass Ergebnisse, je länger sie in der Vergangenheit

MJD baut Brunnen. Pfandflaschenprojekt mit Tuisa e.v. Leitfaden

AW: AW: AW: AW: Kooperationsanfrage anwalt.de

DAVID: und David vom Deutschlandlabor. Wir beantworten Fragen zu Deutschland und den Deutschen.

Abschnitt 9: Schnittstellen: Interfaces

Breiten- und Tiefensuche in Graphen

Einführung in die Programmierung

SWE5 Übungen zu Software-Engineering

Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung: Lösungsvorschlag

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

Anleitungen zum KMG- -Konto

Verkaufsguide. Für die Closed-Beta-Version

Einfügen von Bildern innerhalb eines Beitrages

Landes-Arbeits-Gemeinschaft Gemeinsam Leben Gemeinsam Lernen Rheinland-Pfalz e.v.

Grundlagen der Programmierung Prof. H. Mössenböck. 14. Schrittweise Verfeinerung

Beispiel(unten ist der Spielfeldrand):

Einrichten einer mehrsprachigen Webseite mit Joomla (3.3.6)

Erklärung zum Internet-Bestellschein

Professionelle Seminare im Bereich MS-Office

Transkript:

Tutorium 5 - Programmieren Grischa Liebel Uni Karlsruhe (TH) Tutorium 11

1 Einleitung 2 Abschlussaufgaben 3 Vorlesungsstoff 4 Ergänzungen zum Vorlesungsstoff Grischa Liebel (Uni Karlsruhe (TH)) c 2008 by Grischa Liebel Tutorium 11 2 / 21

Übersicht Einleitung 1 Einleitung 2 Abschlussaufgaben 3 Vorlesungsstoff 4 Ergänzungen zum Vorlesungsstoff Grischa Liebel (Uni Karlsruhe (TH)) c 2008 by Grischa Liebel Tutorium 11 3 / 21

Einleitung Prüfungsanmeldung Abschlussaufgaben Anmeldeschluss: 22.1.09 Abmeldeschluss: 22.1.09 Anmeldungsstand Freitag: 70 Studenten Nach Anmeldeschluss ist die Anmeldung auch wirklich vorbei, keine Sonderregelungen! Vorlesungsschein Anmeldeschluss: 13.2.09 Abmeldeschluss: 20.2.09 Grischa Liebel (Uni Karlsruhe (TH)) c 2008 by Grischa Liebel Tutorium 11 4 / 21

Einleitung Punktestand Punktestände der Übungsblätter wurden rumgeschickt Wer nichts bekommen hat, es aber wissen will nach dem Tutorium Grischa Liebel (Uni Karlsruhe (TH)) c 2008 by Grischa Liebel Tutorium 11 5 / 21

Fragerunde Einleitung Was ist eine Utility-Class Grischa Liebel (Uni Karlsruhe (TH)) c 2008 by Grischa Liebel Tutorium 11 6 / 21

Einleitung Fragerunde Was ist eine Utility-Class Kein eigener Zustand final, alle Methoden static, Konstruktor private Grischa Liebel (Uni Karlsruhe (TH)) c 2008 by Grischa Liebel Tutorium 11 6 / 21

Fragerunde Einleitung Wie funktioniert Divide and Conquer? Grischa Liebel (Uni Karlsruhe (TH)) c 2008 by Grischa Liebel Tutorium 11 7 / 21

Einleitung Fragerunde Wie funktioniert Divide and Conquer? Problem wird in Teilprobleme zerlegt; diese werden gelöst und die Gesamtlösung aus den Teillösungen zusammengesetzt Grischa Liebel (Uni Karlsruhe (TH)) c 2008 by Grischa Liebel Tutorium 11 7 / 21

Übersicht Abschlussaufgaben 1 Einleitung 2 Abschlussaufgaben 3 Vorlesungsstoff 4 Ergänzungen zum Vorlesungsstoff Grischa Liebel (Uni Karlsruhe (TH)) c 2008 by Grischa Liebel Tutorium 11 8 / 21

Abschlussaufgaben Notenänderung: Statt einem C im Schnitt, wird nun ein D im Schnitt benötigt Sind seit dem Wochenende freigegeben Nicht sehr einfach, dafür aber sehr ausführlich und präzise beschrieben Literaturhinweis: Thomas H. Cormen - Introduction to Algorithms Kap. 33.4 - Finding the closest pair of points Grischa Liebel (Uni Karlsruhe (TH)) c 2008 by Grischa Liebel Tutorium 11 9 / 21

Abschlussaufgaben Haltet euch genau an die Vorgaben der Aufgabe Nur die Terminal-Klasse von der Vorlesungs-Homepage verwenden Die Terminal-Klasse aus dem Buch ist nicht JCC konform Zeilenbreite: 80 Zeichen bei 4er-Tabs Es gibt optimierte Varianten des Algorithmus Ihr solltet euch aber strikt an die Aufgabe halten! Grischa Liebel (Uni Karlsruhe (TH)) c 2008 by Grischa Liebel Tutorium 11 10 / 21

Übersicht Vorlesungsstoff 1 Einleitung 2 Abschlussaufgaben 3 Vorlesungsstoff 4 Ergänzungen zum Vorlesungsstoff Grischa Liebel (Uni Karlsruhe (TH)) c 2008 by Grischa Liebel Tutorium 11 11 / 21

Vorlesungsstoff Doppelt verkettete Listen Funktioniert vom Prinzip her genauso wie die einfach verkettete Liste Hat zusätzlich noch einen Zeiger auf das vorhergehende Objekt Liste kann auch Rückwärts durchlaufen werden Grischa Liebel (Uni Karlsruhe (TH)) c 2008 by Grischa Liebel Tutorium 11 12 / 21

Vorlesungsstoff Doppelt verkettete Listen Funktioniert vom Prinzip her genauso wie die einfach verkettete Liste Hat zusätzlich noch einen Zeiger auf das vorhergehende Objekt Liste kann auch Rückwärts durchlaufen werden Grischa Liebel (Uni Karlsruhe (TH)) c 2008 by Grischa Liebel Tutorium 11 12 / 21

Vorlesungsstoff Listenoperationen Wie wird in eine Liste eingefügt? Grischa Liebel (Uni Karlsruhe (TH)) c 2008 by Grischa Liebel Tutorium 11 13 / 21

Vorlesungsstoff Listenoperationen Wie wird in eine Liste eingefügt? aus einer Liste gelöscht? Grischa Liebel (Uni Karlsruhe (TH)) c 2008 by Grischa Liebel Tutorium 11 13 / 21

Vorlesungsstoff Listenoperationen Wie wird in eine Liste eingefügt? aus einer Liste gelöscht? in einer Liste gesucht? Grischa Liebel (Uni Karlsruhe (TH)) c 2008 by Grischa Liebel Tutorium 11 13 / 21

Vorlesungsstoff Listenoperationen Wie wird in eine Liste eingefügt? aus einer Liste gelöscht? Tafel in einer Liste gesucht? Grischa Liebel (Uni Karlsruhe (TH)) c 2008 by Grischa Liebel Tutorium 11 13 / 21

Vorlesungsstoff Interfaces Interface = Schnittstelle Menge von Konstanten und Methodenköpfen, ohne eine Implementierung davon Legt also eine Menge an notwendigen Methoden mit Paramteren fest Eine Klasse kann dieses Interface nun implementieren Diese Klasse muss alle vorgegebenen Methoden implementieren Grischa Liebel (Uni Karlsruhe (TH)) c 2008 by Grischa Liebel Tutorium 11 14 / 21

Vorlesungsstoff interface Konto { void einzahlen(int betrag); void abheben(int betrag); } public class GiroKonto implements Konto { public void einzahlen(int betrag) { //Do Something } public void abheben(int betrag){ //Do Something } } Grischa Liebel (Uni Karlsruhe (TH)) c 2008 by Grischa Liebel Tutorium 11 15 / 21

Vorlesungsstoff Eine Klasse kann mehrere Interfaces implementieren public class GepanzerterGeldtransporter implements Auto, Konto {... } Grischa Liebel (Uni Karlsruhe (TH)) c 2008 by Grischa Liebel Tutorium 11 16 / 21

Vorlesungsstoff Implementiert eine Klasse ein Interface, so hat sie 2 Typen Beispiel: Die Klasse GiroKonto aus dem vorhergehenden Codebeispiel ist vom Typ GiroKonto und vom Typ Konto public void ueberweisen (Konto quellkonto, Konto zielkonto, int menge) { quellkonto.abheben(menge); zielkonto.einzahlen(menge); }... GiroKonto mygk = new GiroKonto(); GiroKonto mygk2 = new GiroKonto(); ueberweisen (mygk, mygk2, 100); Grischa Liebel (Uni Karlsruhe (TH)) c 2008 by Grischa Liebel Tutorium 11 17 / 21

Übersicht Ergänzungen zum Vorlesungsstoff 1 Einleitung 2 Abschlussaufgaben 3 Vorlesungsstoff 4 Ergänzungen zum Vorlesungsstoff Grischa Liebel (Uni Karlsruhe (TH)) c 2008 by Grischa Liebel Tutorium 11 18 / 21

Typecasts Ergänzungen zum Vorlesungsstoff Eine Variable lässt sich in einen Datentyp casten Durch Voranstellen eines Datentyps in Klammern, wird die Variable so behandelt, als wäre sie von diesem Typ Wurde schon kurz bei den primitiven Datentypen erwähnt: int a = (int)(1.0/3.0 * 1); Wichtig insbesondere bei Interfaces Grischa Liebel (Uni Karlsruhe (TH)) c 2008 by Grischa Liebel Tutorium 11 19 / 21

Typecasts Ergänzungen zum Vorlesungsstoff public class GiroKonto implements Konto {... public void kartenzahlung(int betrag){ //Do Something } } Konto meinkonto = new Girokonto(); //funktioniert meinkonto.kartenzahlung (10); //Compilerfehler ((GiroKonto)meinKonto).kartenzahlung(10); //funktioniert Grischa Liebel (Uni Karlsruhe (TH)) c 2008 by Grischa Liebel Tutorium 11 20 / 21

Ergänzungen zum Vorlesungsstoff Bis nächste Woche! Grischa Liebel (Uni Karlsruhe (TH)) c 2008 by Grischa Liebel Tutorium 11 21 / 21