Programmiervorkurs 2008

Größe: px
Ab Seite anzeigen:

Download "Programmiervorkurs 2008"

Transkript

1 Programmiervorkurs 2008 Es steht noch was aus Wir erinnern uns, jede Methode beginnt mit: public static Aber jetzt wollen wir endlich klären, was das eigentlich ist Fertig? Programmiervorkurs WS 2009 Fachbereich Informatik TU Darmstadt 1 Programmiervorkurs WS 2009 Fachbereich Informatik TU Darmstadt 2 Mehrere Java Klassen Mehrere Java Klassen Wir kennen bisher nur Java Programme bestehend aus einer Datei Wie schaut es also aus wenn wir mehrere Dateien verwenden wollen? public class Eins { System.out.println("Hauptklasse!"); System.out.println(Zwei.methode()); Wir müssen zum compilieren nur diejenige Klasse compilieren, welche die main-methode enthält Java setzt Links zwischen den.class Dateien public class Zwei { public static String methode() { return "Und ich bin die 2. Klasse!"; :> javac Eins.java :> java Eins Hauptklasse! Und ich bin die 2. Klasse! Die zweite Klasse kann ganz normal mit Methoden gefüllt werden, die von der ersten Klasse aus aufgerufen werden können NAME_ZWEITE_KLASSE.methoden_name(PARAMETER_LISTE) public class Hauptprogramm { int add = MatheKlasse.add(2,4); int sub= MatheKlasse.sub(2,4); int by= MatheKlasse.by(2,4); Im Prinzip nichts anders als das, was wir schon können public class MatheKlasse { public static int add(int a, int b) { return a + b; public static int sub(int a, int b) { return a - b; public static int by(int a, int b) { return a * b; Programmiervorkurs WS 2009 Fachbereich Informatik TU Darmstadt 3 Programmiervorkurs WS 2009 Fachbereich Informatik TU Darmstadt 4

2 Public vs. Private Und jetzt kommt noch das static Und was ist nun dieses public? public class Hauptklasse { Versteckklasse.run(); // nicht möglich: // Versteckklasse.doSomeWork(); public class Versteckklasse { public static void run() { dosomework(); private static void dosomework() { System.out.println( Unsichtbar von außen!"); Für das static brauchen wir aber ein bischen länger als für das public public bezeichnet, dass die Methoden oder Klassen von überall und von jedem benutzt werden dürfen Mit private werden Methoden nach außen hin versteckt Nur Methoden in der gleichen Klasse dürfen andere private Methoden benutzen Können auch Klassen private sein? Nein, hier gibt es noch andere Schlüsselwörter, aber nicht im Vorkurs Programmiervorkurs WS 2009 Fachbereich Informatik TU Darmstadt 5 Programmiervorkurs WS 2009 Fachbereich Informatik TU Darmstadt 6 Konto Konto-Objekt mit eigenem Speicher Wir wollen eine Art Konto, z.b. ein Bankkonto, auf dass wir einzahlen und abheben können public class Konto { int konto = 0; konto += 100; konto -= 20; Das ist aber nicht schön, denn was macht man bei mehreren Konten? Mehrere Variablen für die Konten? Was mache ich wenn ich die Anzahl maximaler Konten nicht kenne? public class Bank { Konto k1 = new Konto(100); Konto k2 = new Konto(20); k1.einzahlen(50); k2.abheben(40); System.out.println(k1.guthaben()); System.out.println(k2.guthaben()); :> javac Test.java :> java Test public class Konto { private int konto; public Konto(int startguthaben) { konto = startguthaben; public void einzahlen(int betrag) { konto += betrag; public void abheben(int betrag) { konto -= betrag; public int guthaben() { return konto; Programmiervorkurs WS 2009 Fachbereich Informatik TU Darmstadt 7 Programmiervorkurs WS 2009 Fachbereich Informatik TU Darmstadt 8

3 Was ist da passiert? Der Konstruktor Bauplan für ein Konto: eine Java Klasse erzeugen einer Instanz mit new Konto( ) public Konto(int startguthaben) { konto = startguthaben; reales Konto reales Konto reales Konto Jedes Konto hat eine eigene Variable für den Kontostand Mit new wird aus dem Bauplan ein Objekt instanziiert (= erzeugt) Jedes Objekt hat im Arbeitsspeicher einen eigenen Bereich für seine Variablen Warum gibt es hier kein static und keinen Rückgabetyp? Ein Konstruktor erzeugt ein Objekt, eine Instanz der Java- Klasse Ein Konstruktor ist keine Methode, da er in der Regel keine weiteren Funktionen beinhaltet, außer eben ein Objekt zu erzeugen Der Konstruktor Name muß identisch sein mit dem Java-Klassen Namen Programmiervorkurs WS 2009 Fachbereich Informatik TU Darmstadt 9 Programmiervorkurs WS 2009 Fachbereich Informatik TU Darmstadt 10 Pascal studiert Architektur Daniel studiert Architektur Er hat den Plan für ein Haus im Kopf Aber in eine Idee kann man nicht einziehen Der Plan muß erst in die Realität umgesetzt werden Und wenn es sich bewährt vielleicht sogar mehrfach und nicht nur einmal Pascal entwirft ein Haus Bauunternehmen baut 10 Stück Bauplan Jedes Haus hat einen eigenen Stromzähler Programmiervorkurs WS 2009 Fachbereich Informatik TU Darmstadt 11 Programmiervorkurs WS 2009 Fachbereich Informatik TU Darmstadt 12

4 Konto-Objekt mit eigenem Speicher Bekannte Klassen/Objekt Systeme Konto Objekt 1 Konto Objekt 2 public class Konto { private int konto; public Konto(int startguthaben) { konto = startguthaben; public void einzahlen(int betrag) { konto += betrag; public void abheben(int betrag) { konto -= betrag; public int guthaben() { return konto; public class Bank { Konto k1 = new Konto(100); Konto k2 = new Konto(20); k1.einzahlen(50); k2.abheben(40); System.out.println(k1.guthaben()); System.out.println(k2.guthaben()); Die Variablen konto haben den gleichen Namen, aber im Arbeitsspeicher existieren sie an verschiedenen Position, jede für sich. Und nicht nur die Variablen, das ganze Objekt ist doppelt da. Man könnte sagen, die Variablen heißen eigentlich: k1/konto und k2/konto public class Konto { private int konto; public Konto(int startguthaben) { konto = startguthaben; public void einzahlen(int betrag) { konto += betrag; public void abheben(int betrag) { konto -= betrag; public int guthaben() { return konto; Beispiele: int[] i = new int[]; Integer.valueOf( ).intvalue(); System.out.println( ); stringvariable.equals(stringvariable) stringvariable.charat(n) Wann muß ich ein Objekt anlegen und wann nicht? Objekt: Sobald ich einen internen Zustand verwalten muß kein Objekt: Sobald der Ablauf einer Methode von nichts abhängt (außer den übergebenen Parametern (z.b. Math.sqrt(double d) oder Math.PI) Programmiervorkurs WS 2009 Fachbereich Informatik TU Darmstadt 13 Programmiervorkurs WS 2009 Fachbereich Informatik TU Darmstadt 14 Vorgefertigte Klassen Innere Klassen Java liefert uns in speziellen Packeten Klassen und darin implementierte Funktionen mit Problem: Wir wollen eine Zufallszahl erzeugen Klasse Random existiert schon auf unserem PC muß jedoch extra eingebunden werden Wir können uns von ihr ein Objekt erzeugen.nextint(int n) import java.util.random; liefert eine Zufallszahl zwischen public class Zufall { [0..n[ Random rand = new Random(); (also von einschließlich 0 bis ausschließlich n) System.out.println(rand.nextInt(3)); public class AuessereKlasse { InnereKlasse ik = new InnereKlasse(); ik.dosomework(); class InnereKlasse { public InnereKlasse() { public void dosomework() { In einer Datei! Innere Klassen können nur aus der eigenen Klassen-Datei heraus benutzt oder instanziiert werden Für exklusive Objekte oder Funktionen Programmiervorkurs WS 2009 Fachbereich Informatik TU Darmstadt 15 Programmiervorkurs WS 2009 Fachbereich Informatik TU Darmstadt 16

5 Variablen und Methoden Call by Reference vs. Call by Value public class Calling { int i = 5; addoneandprint(i); System.out.println(i); Container c = new Container(2); changecontainer(c); System.out.println(c.getI()); public static void addoneandprint(int i) { i = i + 1; System.out.println(i); private static void changecontainer(container c) { c.seti(7); System.out.println(c.getI()); class Container { private int i; public Container(int i) { this.i = i; public int geti() { return i; public void seti(int i) { this.i = i; Ausgabe auf der Konsole: mit THIS unterscheidet man zwischen LOKALEN und GLOBALEN Variablen In Java gibt es zwei unterschiedliche Arten Variablen an Methoden zu übergeben Call by Value primitive Datentypen (int, char, String, boolean) werden als Kopie des ursprünglichen Werts an die Methode übergeben Änderungen an dieser übergebenen Variable haben keine Auswirkungen auf außen Objekte werden als Referenz an die Methode übergeben interne Änderungen am Objekt haben Auswirkungen nach außen Programmiervorkurs WS 2009 Fachbereich Informatik TU Darmstadt 17 Programmiervorkurs WS 2009 Fachbereich Informatik TU Darmstadt 18 KarelJ Karels Welt Jetzt wollen wir mal richtig los legen, Objekte erstellen und damit etwas tun Streets KarelJ ist eine kleine Graphik-Bibliothek, die es erlaubt einen kleinen Roboter über eine Karte zu bewegen Karel kann außerdem Beeper ablegen und wieder aufnehmen Und in Karels Welt gibt es Wände Wall Beeper Sagt Hallo zu Karel! Avenues Programmiervorkurs WS 2009 Fachbereich Informatik TU Darmstadt 19 Programmiervorkurs WS 2009 Fachbereich Informatik TU Darmstadt 20

6 Was kann Karel alles? Was kann Karel alles? Einen Schritt nach vorne gehen.move(); Sich nach links drehen. Einen Beeper aufsammeln/ablegen.pickbeeper();.putbeeper(); Feststellen ob er über einem Beeper steht.nexttoabeeper(); (boolean) Festellen ob er mindestens einen Beeper dabei hat.anybeepersinbeeperbag(); (boolean) Festellen ob er nach Norden/Süden/Westen/Osten schaut.facingnorth(); (boolean).facingsouth(); (boolean).facingwest(); (boolean).facingeast(); (boolean) Festellen ob er gegen eine Mauer schaut.frontisclear(); (boolean) Wir wenden das alles jetzt mal an, damit Ihr seht wie es funktioniert! Programmiervorkurs WS 2009 Fachbereich Informatik TU Darmstadt 21 Programmiervorkurs WS 2009 Fachbereich Informatik TU Darmstadt 22 Karel in Aktion Objekt Konstruktor public class KarelAktion { World.setSize(6,8); World.setTrace(false); Robot r = new Robot(1, 2, 5, direction.north); r.putbeeper(); r. System.out.println("Wand: " + r.frontisclear()); Robot r = new Robot(avenue, street, beeper, looking); Wir erzeugen eine Variable vom Typ Robot mit Namen r Wir instanziieren ein Objekt vom Typ Robot und speichern es in die Variable r avenue: die x-koordinate street: die y-koordinate beeper: Anzahl Beeper im Rucksack looking: Richtung, in die Karel am Anfang schaut direction.north, direction.south, direction.east, direction.west Programmiervorkurs WS 2009 Fachbereich Informatik TU Darmstadt 23 Programmiervorkurs WS 2009 Fachbereich Informatik TU Darmstadt 24

7 Karel in Aktion, aber wie? TurnRightRobot Wie compiliert man das jetzt? Ihr benötigt die Datei robots.jar von der Material-Seite Windows :> javac classpath robots.jar; KarelAktion.java :> java classpath robots.jar; KarelAktion Unix/Linux :> javac classpath ~/robots.jar:. KarelAktion.java :> java classpath ~/robots.jar:. KarelAktion Wir haben gesehen, dass sich Karel nach links drehen kann Aber nach rechts gibt es nicht, wäre aber schon praktisch Wir müssen diese Funktion selbst implementieren Wir schreiben eine neue TurnRightRobot-Klasse, die nach rechts drehen enthält und lassen diese TurnRightRobot-Klasse alle Eigenschaft von der Robot-Klasse erben Unten im Pool, wenn ihr die.bashrc und robots.jar ins home entpackt habt :> compilerobot KarelAktion.java :> runrobot KarelAktion Programmiervorkurs WS 2009 Fachbereich Informatik TU Darmstadt 25 Programmiervorkurs WS 2009 Fachbereich Informatik TU Darmstadt 26 TurnRightRobot extends und super public class TurnRightRobot extends Robot { public TurnRightRobot(int arg0, int arg1, int arg2, direction arg3) { super(arg0, arg1, arg2, arg3); public void turnright() { TurnRightRobot r = new TurnRightRobot(2, 2, Integer.MAX_VALUE, direction.north); System.out.println("Ich kann mich jetzt rechts herum drehen..."); r.turnright(); In der Java Klasse TurnRightRobot wurde rechts Drehen mittels 3 mal links Drehen implementiert Aber in der ganze Klasse sind die bekannten Methoden move(), putbeeper() etc. nicht enthalten, warum? public class TurnRightRobot extends Robot super(arg0, arg1, arg2, arg3); Die Klasse TurnRightRobot extends (erweitert) die Klasse Robot d.h. dass die neue Klasse alle Methoden, globalen Variablen und sonstigen Eigenschaften von der Klasse Robot erbt Programmiervorkurs WS 2009 Fachbereich Informatik TU Darmstadt 27 Programmiervorkurs WS 2009 Fachbereich Informatik TU Darmstadt 28

8 Vererbung TurnRightRobot public class TurnRightRobot extends Robot { public TurnRightRobot(int arg0, int arg1, int arg2, direction arg3) { super(arg0, arg1, arg2, arg3); public void turnright() { 3 mal links = 1 mal rechts extends importiert alle Eigenschaften von Robot super ruft den Konstruktor von Robot auf jedes 2-beinige Lebewesen hier im Baum ist ein Säugetier, da es die Eigenschaft geerbt hat TurnRightRobot r = new TurnRightRobot(2, 2, Integer.MAX_VALUE, direction.north); System.out.println("Ich kann mich jetzt rechts herum drehen..."); r.turnright();.turnright() auf einer Instanz von TRB steht absofort als Befehl zur Verfügung Programmiervorkurs WS 2009 Fachbereich Informatik TU Darmstadt 29 Programmiervorkurs WS 2009 Fachbereich Informatik TU Darmstadt 30 Treppensteigen Treppensteigen public class TreppensteigerRobot extends TurnRightRobot { public TreppensteigerRobot(int arg0, int arg1, int arg2, direction arg3) { super(arg0, arg1, arg2, arg3); // Methode zum Treppe steigen TreppensteigerRobot r = new TreppensteigerRobot(2, 2, Integer.MAX_VALUE, direction.north); r.steigetreppe(5); public class TreppensteigerRobot extends TurnRightRobot { public TreppensteigerRobot(int arg0, int arg1, int arg2, direction arg3) { private void steigeeinestufe() { putbeeper(); move(); turnright(); move(); public void steigetreppe(int stufen) { for (int i = 0; i < stufen; i++) { this.steigeeinestufe(); Basisfunktionen in einer eigenen Methode; Code auslagern! Durch Codeauslagerung werden fast alle Methoden schön übersichtlich Aber funktioniert das auch? Programmiervorkurs WS 2009 Fachbereich Informatik TU Darmstadt 31 Programmiervorkurs WS 2009 Fachbereich Informatik TU Darmstadt 32

9 Wie haben einen Fehler gemacht Zustandserhaltung DAS ist keine Treppe! Vor der 1. Stufe: Schlagwort: Zustandserhaltung! Was ist das? Bsp: Drucker Eurer Kommilitone druckt im Pool 500 Seiten Script aus Ihr wollt als nächstes drucken, aber das Papier ist aus. Ärgerlich! Euer Kommilitone hätte Papier nachfüllen sollen verlaßt einen Arbeitsplatz so, wie Ihr ihn vorgefunden habt, damit Eure Nachfolger keine Probleme haben Nach der 1.Stufe: Zustandserhaltung! Programmiervorkurs WS 2009 Fachbereich Informatik TU Darmstadt 33 Programmiervorkurs WS 2009 Fachbereich Informatik TU Darmstadt 34 Treppensteigen korrigiert Jetzt wird s erst richtig lustig! public class TreppensteigerRobot extends TurnRightRobot { public TreppensteigerRobot(int arg0, int arg1, int arg2, direction arg3) { private void steigeeinestufe() { putbeeper(); move(); turnright(); move(); public void steigetreppe(int stufen) { for (int i = 0; i < stufen; i++) { this.steigeeinestufe(); Programmiervorkurs WS 2009 Fachbereich Informatik TU Darmstadt 35 Programmiervorkurs WS 2009 Fachbereich Informatik TU Darmstadt 36

10 Jetzt wird s erst richtig lustig! BoingRobot Wir wollen ans Ziel: der Doppel-Beeper Laufregeln: Wir laufen bis wir vor einer Wand stehen Liegt ein Beeper unter uns, dann laufen wir nach rechts weiter Liegt kein Beeper unter uns, dann laufen wir nach links weiter public class BoingRobot extends TurnRightRobot { public BoingRobot(int arg0, int arg1, int arg2, direction arg3) { super(arg0, arg1, arg2, arg3); // go Methode World(); // Setup der Welt BoingRobot r = new BoingRobot(2, 1, 0, direction.north); r. Programmiervorkurs WS 2009 Fachbereich Informatik TU Darmstadt 37 Programmiervorkurs WS 2009 Fachbereich Informatik TU Darmstadt 38 Die go-methode Die go-methode public void { Wir laufen gerade aus, wenn wir keine Wand im Sichtfeld haben -> move() sonst (Wir haben ein Wand gerade aus) -> Wenn wir auf einem Beeper stehen -> Stehen wir auf einem zweiten Beeper? -> Ende! sonst (Wir stehen nicht auf einem zweiten Beeper) -> turnright() sonst (Wir stehen auf keinem Beeper) -> turnleft() public void { if (this.frontisclear()) { this.move(); sonst (Wir haben ein Wand gerade aus) -> Wenn wir auf einem Beeper stehen -> Stehen wir auf einem zweiten Beeper? -> Ende! sonst (Wir stehen nicht auf einem zweiten Beeper) -> turnright() sonst (Wir stehen auf keinem Beeper) -> turnleft() Programmiervorkurs WS 2009 Fachbereich Informatik TU Darmstadt 39 Programmiervorkurs WS 2009 Fachbereich Informatik TU Darmstadt 40

11 Die go-methode Die go-methode public void { if (this.frontisclear()) { this.move(); else { if (this.nexttoabeeper()) { this.pickbeeper(); Stehen wir auf einem zweiten Beeper? -> Ende! sonst (Wir stehen nicht auf einem zweiten Beeper) -> turnright() public void { if (this.frontisclear()) { this.move(); else { if (this.nexttoabeeper()) { this.pickbeeper(); if (this.nexttoabeeper()) { this.pickbeeper(); this.turnoff(); sonst (Wir stehen nicht auf einem zweiten Beeper) -> turnright() else { this. else { this. Programmiervorkurs WS 2009 Fachbereich Informatik TU Darmstadt 41 Programmiervorkurs WS 2009 Fachbereich Informatik TU Darmstadt 42 Die go-methode Exceptions (Ausnahmen) public void { if (this.frontisclear()) { this.move(); else { if (this.nexttoabeeper()) { this.pickbeeper(); if (this.nexttoabeeper()) { this.pickbeeper(); this.turnoff(); else { this.turnright(); else { this. Rekursions-Anker Alle haben bestimmt schon mal sowas gesehen: public class AIOOBE { int[] ia = { 0, 1, 2, 3, 4 ; for (int i = 0; i < 6; i++) { System.out.println(i + " - " + ia[i]); produziert auf der Konsole: Exception in thread "main" java.lang.arrayindexoutofboundsexception: 5 at AIOOBE.main(AIOOBE.java:5) klar, denn wir versuchen auf ia[5] zu zugreifen, obwohl es ja nur von ia[0] bis ia[4] geht Programmiervorkurs WS 2009 Fachbereich Informatik TU Darmstadt 43 Programmiervorkurs WS 2009 Fachbereich Informatik TU Darmstadt 44

12 Exceptions (2) Exceptions catchen Anderer Fall: Division durch 0 Exception in thread "main" java.lang.arithmeticexception: / by zero at AIOOBE.main(DivByZero.java:3) Es handelt sich um Laufzeitfehler, also Fehler, die nicht vom Compiler erkannt werden semantische Fehler des Programms Können wir solche Fehler bemerken, behandeln und dem Programm die Chance geben weiter zu laufen? Ja, natürlich!! Wenn eine Exception auftritt fangen und weiter machen als wenn nichts geschehen wäre public class DivByZeroByTwo { double r = Double.MIN_VALUE; try { r = 5 / 0; catch (ArithmeticException e) { System.out.println("Problem behoben!"); r = 1; finally { r = r * 2; System.out.println(r); Programmiervorkurs WS 2009 Fachbereich Informatik TU Darmstadt 45 Programmiervorkurs WS 2009 Fachbereich Informatik TU Darmstadt 46 Exception Struktur Mensa!? allgemeine Struktur try { PROGRAMM CODE catch (EXCEPTION e1) { catch (EXCEPTION e2) { catch (EXCEPTION e3) { finally { Es können beliebig viele Exceptions nach einem Try- Block gefangen und behandelt werden Der Name einer Exception kann entweder aus der Fehlermeldung an sich abgelesen werden dann kann man beim ersten Auftreten des Fehlers AB DANN darauf reagieren oder man baut try-catch auf Verdacht ein Programmiervorkurs WS 2009 Fachbereich Informatik TU Darmstadt 47 Programmiervorkurs WS 2009 Fachbereich Informatik TU Darmstadt 48

Programmiervorkurs SS 2011

Programmiervorkurs SS 2011 Programmiervorkurs SS 2011 Objekte und Vererbung Programmiervorkurs SS 2011 Wir erinnern uns an Montag public class HelloWorld { public static void main(string[] args) { System.out.println("Hello World!");

Mehr

Java: Vererbung. Teil 3: super() www.informatikzentrale.de

Java: Vererbung. Teil 3: super() www.informatikzentrale.de Java: Vererbung Teil 3: super() Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und IMMER zuerst den Konstruktor der Elternklasse auf! Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und

Mehr

Programmiervorkurs SS 2011 Technische Universität Darmstadt Jan Hendrik Burdinski, Felix Kerger http://www.d120.de/vorkurs.

Programmiervorkurs SS 2011 Technische Universität Darmstadt Jan Hendrik Burdinski, Felix Kerger http://www.d120.de/vorkurs. Programmiervorkurs SS 2011 Technische Universität Darmstadt Jan Hendrik Burdinski, Felix Kerger http:www.d120.de/vorkurs Aufgabenblatt 3 Du findest zur Bearbeitung dieses Aufgabenblatts zu einigen Aufgaben

Mehr

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

Verhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {... PIWIN I Kap. 8 Objektorientierte Programmierung - Vererbung 31 Schlüsselwort: final Verhindert, dass eine Methode überschrieben wird public final int holekontostand() {... Erben von einer Klasse verbieten:

Mehr

Informatik 2 Labor 2 Programmieren in MATLAB Georg Richter

Informatik 2 Labor 2 Programmieren in MATLAB Georg Richter Informatik 2 Labor 2 Programmieren in MATLAB Georg Richter Aufgabe 3: Konto Um Geldbeträge korrekt zu verwalten, sind zwecks Vermeidung von Rundungsfehlern entweder alle Beträge in Cents umzuwandeln und

Mehr

Einführung in die Java- Programmierung

Einführung in die Java- Programmierung Einführung in die Java- Programmierung Dr. Volker Riediger Tassilo Horn riediger horn@uni-koblenz.de WiSe 2012/13 1 Wichtig... Mittags keine Pommes... Praktikum A 230 C 207 (Madeleine + Esma) F 112 F 113

Mehr

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

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

Mehr

Java Kurs für Anfänger Einheit 5 Methoden

Java Kurs für Anfänger Einheit 5 Methoden Java Kurs für Anfänger Einheit 5 Methoden Ludwig-Maximilians-Universität München (Institut für Informatik: Programmierung und Softwaretechnik von Prof.Wirsing) 22. Juni 2009 Inhaltsverzeichnis Methoden

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 Testklausur Einführung in die Programmierung Probeklausur Java (Lösungsvorschlag) 1 Die Klasse ArrayList In

Mehr

Programmieren in Java

Programmieren in Java Programmieren in Java objektorientierte Programmierung 2 2 Zusammenhang Klasse-Datei In jeder *.java Datei kann es genau eine public-klasse geben wobei Klassen- und Dateiname übereinstimmen. Es können

Mehr

II. Grundlagen der Programmierung. 9. Datenstrukturen. Daten zusammenfassen. In Java (Forts.): In Java:

II. Grundlagen der Programmierung. 9. Datenstrukturen. Daten zusammenfassen. In Java (Forts.): In Java: Technische Informatik für Ingenieure (TIfI) WS 2005/2006, Vorlesung 9 II. Grundlagen der Programmierung Ekkart Kindler Funktionen und Prozeduren Datenstrukturen 9. Datenstrukturen Daten zusammenfassen

Mehr

Zählen von Objekten einer bestimmten Klasse

Zählen von Objekten einer bestimmten Klasse Zählen von Objekten einer bestimmten Klasse Ziel, Inhalt Zur Übung versuchen wir eine Klasse zu schreiben, mit der es möglich ist Objekte einer bestimmten Klasse zu zählen. Wir werden den ++ und den --

Mehr

5. Abstrakte Klassen

5. Abstrakte Klassen 5. Abstrakte Klassen Beispiel 5. Abstrakte Klassen Angenommen, wir wollen die folgende Klassenhierarchie implementieren: Vogel Amsel Drossel Fink Peter Becker, Programiersprache Java FH Bonn-Rhein-Sieg,

Mehr

Fachdidaktik der Informatik 18.12.08 Jörg Depner, Kathrin Gaißer

Fachdidaktik der Informatik 18.12.08 Jörg Depner, Kathrin Gaißer Fachdidaktik der Informatik 18.12.08 Jörg Depner, Kathrin Gaißer Klassendiagramme Ein Klassendiagramm dient in der objektorientierten Softwareentwicklung zur Darstellung von Klassen und den Beziehungen,

Mehr

Große Übung Praktische Informatik 1

Große Übung Praktische Informatik 1 Große Übung Praktische Informatik 1 2005-12-08 fuessler@informatik.uni-mannheim.de http://www.informatik.uni-mannheim.de/pi4/people/fuessler 1: Announcements / Orga Weihnachtsklausur zählt als Übungsblatt,

Mehr

Vorkurs C++ Programmierung

Vorkurs C++ Programmierung Vorkurs C++ Programmierung Klassen Letzte Stunde Speicherverwaltung automatische Speicherverwaltung auf dem Stack dynamische Speicherverwaltung auf dem Heap new/new[] und delete/delete[] Speicherklassen:

Mehr

Grundlagen der Theoretischen Informatik, SoSe 2008

Grundlagen der Theoretischen Informatik, SoSe 2008 1. Aufgabenblatt zur Vorlesung Grundlagen der Theoretischen Informatik, SoSe 2008 (Dr. Frank Hoffmann) Lösung von Manuel Jain und Benjamin Bortfeldt Aufgabe 2 Zustandsdiagramme (6 Punkte, wird korrigiert)

Mehr

Objektorientierte Programmierung für Anfänger am Beispiel PHP

Objektorientierte Programmierung für Anfänger am Beispiel PHP Objektorientierte Programmierung für Anfänger am Beispiel PHP Johannes Mittendorfer http://jmittendorfer.hostingsociety.com 19. August 2012 Abstract Dieses Dokument soll die Vorteile der objektorientierten

Mehr

Programmierkurs Java

Programmierkurs Java Programmierkurs Java Dr. Dietrich Boles Aufgaben zu UE16-Rekursion (Stand 09.12.2011) Aufgabe 1: Implementieren Sie in Java ein Programm, das solange einzelne Zeichen vom Terminal einliest, bis ein #-Zeichen

Mehr

Wie halte ich Ordnung auf meiner Festplatte?

Wie halte ich Ordnung auf meiner Festplatte? Wie halte ich Ordnung auf meiner Festplatte? Was hältst du von folgender Ordnung? Du hast zu Hause einen Schrank. Alles was dir im Wege ist, Zeitungen, Briefe, schmutzige Wäsche, Essensreste, Küchenabfälle,

Mehr

Software Engineering Klassendiagramme Assoziationen

Software Engineering Klassendiagramme Assoziationen Software Engineering Klassendiagramme Assoziationen Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Lesen von Multiplizitäten (1) Multiplizitäten werden folgendermaßen

Mehr

Anleitung über den Umgang mit Schildern

Anleitung über den Umgang mit Schildern Anleitung über den Umgang mit Schildern -Vorwort -Wo bekommt man Schilder? -Wo und wie speichert man die Schilder? -Wie füge ich die Schilder in meinen Track ein? -Welche Bauteile kann man noch für Schilder

Mehr

Primzahlen und RSA-Verschlüsselung

Primzahlen und RSA-Verschlüsselung Primzahlen und RSA-Verschlüsselung Michael Fütterer und Jonathan Zachhuber 1 Einiges zu Primzahlen Ein paar Definitionen: Wir bezeichnen mit Z die Menge der positiven und negativen ganzen Zahlen, also

Mehr

Arbeiten mit UMLed und Delphi

Arbeiten mit UMLed und Delphi Arbeiten mit UMLed und Delphi Diese Anleitung soll zeigen, wie man Klassen mit dem UML ( Unified Modeling Language ) Editor UMLed erstellt, in Delphi exportiert und dort so einbindet, dass diese (bis auf

Mehr

Zwischenablage (Bilder, Texte,...)

Zwischenablage (Bilder, Texte,...) Zwischenablage was ist das? Informationen über. die Bedeutung der Windows-Zwischenablage Kopieren und Einfügen mit der Zwischenablage Vermeiden von Fehlern beim Arbeiten mit der Zwischenablage Bei diesen

Mehr

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

Das erste Programm soll einen Text zum Bildschirm schicken. Es kann mit jedem beliebigen Texteditor erstellt werden. Einfache Ein- und Ausgabe mit Java 1. Hallo-Welt! Das erste Programm soll einen Text zum Bildschirm schicken. Es kann mit jedem beliebigen Texteditor erstellt werden. /** Die Klasse hello sendet einen

Mehr

SEP 114. Design by Contract

SEP 114. Design by Contract Design by Contract SEP 114 Design by Contract Teile das zu entwickelnde Programm in kleine Einheiten (Klassen, Methoden), die unabhängig voneinander entwickelt und überprüft werden können. Einheiten mit

Mehr

Dokumentation für das Spiel Pong

Dokumentation für das Spiel Pong Dokumentation für das Spiel Pong BwInf - Turnierserver Didaktik der nformatik BWINF KI Wettbewerbs-Plattform Stand: 02.09.2014 Grundlagen In diesem KI-Turnier programmiert ihr einen Schläger für das Retro-Spiel

Mehr

1 Vom Problem zum Programm

1 Vom Problem zum Programm Hintergrundinformationen zur Vorlesung GRUNDLAGEN DER INFORMATIK I Studiengang Elektrotechnik WS 02/03 AG Betriebssysteme FB3 Kirsten Berkenkötter 1 Vom Problem zum Programm Aufgabenstellung analysieren

Mehr

Objektorientierte Programmierung. Kapitel 12: Interfaces

Objektorientierte Programmierung. Kapitel 12: Interfaces 12. Interfaces 1/14 Objektorientierte Programmierung Kapitel 12: Interfaces Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester 2012/13 http://www.informatik.uni-halle.de/ brass/oop12/

Mehr

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

Programmieren I. Strategie zum Entwurf von Klassen. Beispiele. Design von Klassen. Dr. Klaus Höppner. Beispiel: Bibliothek Programmieren I Dr. Klaus Höppner Hochschule Darmstadt Wintersemester 2008/2009 1 / 22 2 / 22 Strategie zum Entwurf von Klassen Beispiele Objektorientierte Sichtweise: Mit welchen Objekten habe ich es

Mehr

Das sogenannte Beamen ist auch in EEP möglich ohne das Zusatzprogramm Beamer. Zwar etwas umständlicher aber es funktioniert

Das sogenannte Beamen ist auch in EEP möglich ohne das Zusatzprogramm Beamer. Zwar etwas umständlicher aber es funktioniert Beamen in EEP Das sogenannte Beamen ist auch in EEP möglich ohne das Zusatzprogramm Beamer. Zwar etwas umständlicher aber es funktioniert Zuerst musst du dir 2 Programme besorgen und zwar: Albert, das

Mehr

Beispiel: Methode mit einem Fehler. Diese Methode wird problematisch, wenn von außen eine Dauer von 0 Sekunden angegeben wird, etwa im Aufruf

Beispiel: Methode mit einem Fehler. Diese Methode wird problematisch, wenn von außen eine Dauer von 0 Sekunden angegeben wird, etwa im Aufruf 16 Exceptions Zur Behandlung unerwarteter Situationen bietet Java Unterstützung in Form von Exceptions oder Ausnahmen. Den Sinn von Exceptions können wir Ihnen an einem kleinen Beispiel klarmachen. Nehmen

Mehr

.NET Code schützen. Projekt.NET. Version 1.0

.NET Code schützen. Projekt.NET. Version 1.0 .NET Code schützen Projekt.NET Informationsmaterial zum Schützen des.net Codes Version 1.0 Autor: Status: Ablage: Empfänger: Seiten: D. Hoyer 1 / 6 Verteiler : Dokument1 Seite 1 von 1 Änderungsprotokoll

Mehr

Objektorientierte Programmierung

Objektorientierte Programmierung Objektorientierte Programmierung Ein Computerprogramm besteht aus Funktionen (Programmabschnitten, die etwas tun) und Variablen (Speicherplätzen für Informationen). Werden Funktionen aktiviert, verändern

Mehr

Leichte-Sprache-Bilder

Leichte-Sprache-Bilder Leichte-Sprache-Bilder Reinhild Kassing Information - So geht es 1. Bilder gucken 2. anmelden für Probe-Bilder 3. Bilder bestellen 4. Rechnung bezahlen 5. Bilder runterladen 6. neue Bilder vorschlagen

Mehr

Folge 18 - Vererbung

Folge 18 - Vererbung Workshop Folge 18 - Vererbung 18.1 Ein einfacher Fall der Vererbung Schritt 1 - Vorbereitungen Besorgen Sie sich - vielleicht aus einer der Übungen der Folge 17 - ein fertiges und lauffähiges Listenprojekt,

Mehr

Erstellen einer digitalen Signatur für Adobe-Formulare

Erstellen einer digitalen Signatur für Adobe-Formulare Erstellen einer digitalen Signatur für Adobe-Formulare (Hubert Straub 24.07.13) Die beiden Probleme beim Versenden digitaler Dokumente sind einmal die Prüfung der Authentizität des Absenders (was meist

Mehr

Professionelle Seminare im Bereich MS-Office

Professionelle Seminare im Bereich MS-Office Der Name BEREICH.VERSCHIEBEN() ist etwas unglücklich gewählt. Man kann mit der Funktion Bereiche zwar verschieben, man kann Bereiche aber auch verkleinern oder vergrößern. Besser wäre es, die Funktion

Mehr

Das Leitbild vom Verein WIR

Das Leitbild vom Verein WIR Das Leitbild vom Verein WIR Dieses Zeichen ist ein Gütesiegel. Texte mit diesem Gütesiegel sind leicht verständlich. Leicht Lesen gibt es in drei Stufen. B1: leicht verständlich A2: noch leichter verständlich

Mehr

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

Sichtbarkeit & statische Methoden. Einsatz von Sichtbarkeit Einsatz statischer Methoden programmatische Realisierung 2 Beispielaufgaben Sichtbarkeit & statische Methoden Einsatz von Sichtbarkeit Einsatz statischer Methoden programmatische Realisierung 2 Beispielaufgaben Nicht sichtbare Methoden Wollen Eltern bestimmte Methoden vor den

Mehr

DOKUMENTATION VOGELZUCHT 2015 PLUS

DOKUMENTATION VOGELZUCHT 2015 PLUS DOKUMENTATION VOGELZUCHT 2015 PLUS Vogelzucht2015 App für Geräte mit Android Betriebssystemen Läuft nur in Zusammenhang mit einer Vollversion vogelzucht2015 auf einem PC. Zusammenfassung: a. Mit der APP

Mehr

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren Lineargleichungssysteme: Additions-/ Subtraktionsverfahren W. Kippels 22. Februar 2014 Inhaltsverzeichnis 1 Einleitung 2 2 Lineargleichungssysteme zweiten Grades 2 3 Lineargleichungssysteme höheren als

Mehr

Schritte 4. Lesetexte 13. Kosten für ein Girokonto vergleichen. 1. Was passt? Ordnen Sie zu.

Schritte 4. Lesetexte 13. Kosten für ein Girokonto vergleichen. 1. Was passt? Ordnen Sie zu. Kosten für ein Girokonto vergleichen 1. Was passt? Ordnen Sie zu. a. die Buchung, -en b. die Auszahlung, -en c. der Dauerauftrag, - e d. die Überweisung, -en e. die Filiale, -n f. der Kontoauszug, - e

Mehr

Gliederung Grundlagen Schlüsselworte try-catch Fehlerobjekte Fehlerklassen Schlüsselwort finally Schlüsselwort throws selbst erstellte Exceptions

Gliederung Grundlagen Schlüsselworte try-catch Fehlerobjekte Fehlerklassen Schlüsselwort finally Schlüsselwort throws selbst erstellte Exceptions try-catch Schlüsselworte try-catch e Schlüsselwort Schlüsselwort selbst erstellte ermöglichen die Behandlung von Fehlern, die zur Laufzeit entstehen. try-catch in C: Fehler führt immer zum Abbruch des

Mehr

Einleitung. Hauptteil. Wir befinden uns nun im Demoarchiv.

Einleitung. Hauptteil. Wir befinden uns nun im Demoarchiv. Dublettenprüfung Einleitung Herzlich willkommen zum ELOoffice 8 Video-Training Dublettenprüfung. Mein Name ist Andreas Schulz, ich bin bei ELO für das Produktmanagement verantwortlich und werde Sie in

Mehr

Klausur zur Einführung in die objektorientierte Programmierung mit Java

Klausur zur Einführung in die objektorientierte Programmierung mit Java Klausur zur Einführung in die objektorientierte Programmierung mit Java im Studiengang Informationswissenschaft Prof. Dr. Christian Wolff Professur für Medieninformatik Institut für Medien-, Informations-

Mehr

Objektorientierte Programmierung

Objektorientierte Programmierung Objektorientierte Programmierung 1 Geschichte Dahl, Nygaard: Simula 67 (Algol 60 + Objektorientierung) Kay et al.: Smalltalk (erste rein-objektorientierte Sprache) Object Pascal, Objective C, C++ (wiederum

Mehr

Handbuch zur Anlage von Turnieren auf der NÖEV-Homepage

Handbuch zur Anlage von Turnieren auf der NÖEV-Homepage Handbuch zur Anlage von Turnieren auf der NÖEV-Homepage Inhaltsverzeichnis 1. Anmeldung... 2 1.1 Startbildschirm... 3 2. Die PDF-Dateien hochladen... 4 2.1 Neue PDF-Datei erstellen... 5 3. Obelix-Datei

Mehr

Kreativ visualisieren

Kreativ visualisieren Kreativ visualisieren Haben Sie schon einmal etwas von sogenannten»sich selbst erfüllenden Prophezeiungen«gehört? Damit ist gemeint, dass ein Ereignis mit hoher Wahrscheinlichkeit eintritt, wenn wir uns

Mehr

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

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang sysplus.ch outlook - mail-grundlagen Seite 1/8 Outlook Mail-Grundlagen Posteingang Es gibt verschiedene Möglichkeiten, um zum Posteingang zu gelangen. Man kann links im Outlook-Fenster auf die Schaltfläche

Mehr

Übungsblatt 3: Algorithmen in Java & Grammatiken

Übungsblatt 3: Algorithmen in Java & Grammatiken Humboldt-Universität zu Berlin Grundlagen der Programmierung (Vorlesung von Prof. Bothe) Institut für Informatik WS 15/16 Übungsblatt 3: Algorithmen in Java & Grammatiken Abgabe: bis 9:00 Uhr am 30.11.2015

Mehr

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

Folge 19 - Bäume. 19.1 Binärbäume - Allgemeines. Grundlagen: Ulrich Helmich: Informatik 2 mit BlueJ - Ein Kurs für die Stufe 12 Grundlagen: Folge 19 - Bäume 19.1 Binärbäume - Allgemeines Unter Bäumen versteht man in der Informatik Datenstrukturen, bei denen jedes Element mindestens zwei Nachfolger hat. Bereits in der Folge 17 haben

Mehr

Einführung in die Informatik Tools

Einführung in die Informatik Tools Einführung in die Informatik Tools Werkzeuge zur Erstellung von Softwareprojekten Wolfram Burgard 8.1 Motivation Große Softwareprojekte werden schnell unübersichtlich. Änderungen im Code können leicht

Mehr

Statuten in leichter Sprache

Statuten in leichter Sprache Statuten in leichter Sprache Zweck vom Verein Artikel 1: Zivil-Gesetz-Buch Es gibt einen Verein der selbstbestimmung.ch heisst. Der Verein ist so aufgebaut, wie es im Zivil-Gesetz-Buch steht. Im Zivil-Gesetz-Buch

Mehr

2A Basistechniken: Weitere Aufgaben

2A Basistechniken: Weitere Aufgaben 2A Basistechniken: Weitere Aufgaben 2A.3 Programmierung unter UNIX/Linux 1. Gegeben sind einige Ausschnitte von C-Programmen, die unter UNIX/Linux ausgeführt werden sollen. Beantworten Sie die zugehörigen

Mehr

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

Einführung in Java. PING e.v. Weiterbildung Andreas Rossbacher 24. März 2005 Einführung in Java PING e.v. Weiterbildung Andreas Rossbacher 24. März 2005 Gliederung 1. Was ist Java / Geschichte von Java 2. Prinzip der Plattformunabhängigkeit 3. Wie kommt man vom Quellcode zum Programm

Mehr

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

Fachgebiet Informationssysteme Prof. Dr.-Ing. N. Fuhr. Programmierung Prof. Dr.-Ing. Nobert Fuhr. Übungsblatt Nr. 6 Gudrun Fischer Sascha Kriewel programmierung@is.informatik.uni-duisburg.de Anmeldung zur Klausur! Übungsblatt Nr. 6 Um an der Klausur teilzunehmen, müssen sich Studierende der angewandten Informatik in

Mehr

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

Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung: Lösungsvorschlag Ludwig-Maximilians-Universität München WS 2015/16 Institut für Informatik Übungsblatt 9 Prof. Dr. R. Hennicker, A. Klarl Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung:

Mehr

Erstellen einer Collage. Zuerst ein leeres Dokument erzeugen, auf dem alle anderen Bilder zusammengefügt werden sollen (über [Datei] > [Neu])

Erstellen einer Collage. Zuerst ein leeres Dokument erzeugen, auf dem alle anderen Bilder zusammengefügt werden sollen (über [Datei] > [Neu]) 3.7 Erstellen einer Collage Zuerst ein leeres Dokument erzeugen, auf dem alle anderen Bilder zusammengefügt werden sollen (über [Datei] > [Neu]) Dann Größe des Dokuments festlegen beispielsweise A4 (weitere

Mehr

Animationen erstellen

Animationen erstellen Animationen erstellen Unter Animation wird hier das Erscheinen oder Bewegen von Objekten Texten und Bildern verstanden Dazu wird zunächst eine neue Folie erstellt : Einfügen/ Neue Folie... Das Layout Aufzählung

Mehr

Klausur WS 2006/07 Programmiersprache Java Objektorientierte Programmierung II 15. März 2007

Klausur WS 2006/07 Programmiersprache Java Objektorientierte Programmierung II 15. März 2007 Fachhochschule Bonn-Rhein-Sieg University of Applied Sciences Fachbereich Informatik Prof. Dr. Peter Becker Klausur WS 2006/07 Programmiersprache Java Objektorientierte Programmierung II 15. März 2007

Mehr

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

Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung: Lösungsvorschlag Ludwig-Maximilians-Universität München WS 2015/16 Institut für Informatik Übungsblatt 5 Prof. Dr. R. Hennicker, A. Klarl Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung:

Mehr

Outlook-Daten komplett sichern

Outlook-Daten komplett sichern Outlook-Daten komplett sichern Komplettsicherung beinhaltet alle Daten wie auch Kontakte und Kalender eines Benutzers. Zu diesem Zweck öffnen wir OUTLOOK und wählen Datei -> Optionen und weiter geht es

Mehr

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

Java Kurs für Anfänger Einheit 4 Klassen und Objekte Java Kurs für Anfänger Einheit 4 Klassen und Ludwig-Maximilians-Universität München (Institut für Informatik: Programmierung und Softwaretechnik von Prof.Wirsing) 13. Juni 2009 Inhaltsverzeichnis klasse

Mehr

Kapitel 6. Vererbung

Kapitel 6. Vererbung Kapitel 6 Vererbung Vererbung 1 Ziele Das Vererbungsprinzip der objektorientierten Programmierung verstehen Und in Java umsetzen können Insbesondere folgende Begriffe verstehen und anwenden können: Ober/Unterklassen

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen Tafelübung 04 Referenzen, Overloading, Klassen(hierarchien) Clemens Lang T2 18. Mai 2010 14:00 16:00, 00.152 Tafelübung zu AuD 1/13 Organisatorisches Nächster Übungstermin

Mehr

CodeSaver. Vorwort. Seite 1 von 6

CodeSaver. Vorwort. Seite 1 von 6 CodeSaver Vorwort Die Flut der Passwörter nimmt immer mehr zu. Kontopasswörter, Passwörter für Homepages, Shellzugriffe, Registrierungscodes für Programme und und und. Da ich aber nicht sonderlich viel

Mehr

Übungen 19.01.2012 Programmieren 1 Felix Rohrer. Übungen

Übungen 19.01.2012 Programmieren 1 Felix Rohrer. Übungen Übungen if / else / else if... 2... 2 Aufgabe 2:... 2 Aufgabe 3:... 2 Aufgabe 4:... 2 Aufgabe 5:... 2 Aufgabe 6:... 2 Aufgabe 7:... 3 Aufgabe 8:... 3 Aufgabe 9:... 3 Aufgabe 10:... 3 switch... 4... 4 Aufgabe

Mehr

Inhaltsverzeichnis. 1. Empfängerübersicht / Empfänger hinzufügen 2. Erstellen eines neuen Newsletters / Mailings 3. Versand eines Newsletters

Inhaltsverzeichnis. 1. Empfängerübersicht / Empfänger hinzufügen 2. Erstellen eines neuen Newsletters / Mailings 3. Versand eines Newsletters Erste Schritte Wir heißen Sie herzlich willkommen im Newslettersystem der Euroweb Internet GmbH. Hier erfahren Sie die grundlegendsten Informationen, die Sie zur Erstellung und zum Versand eines Newsletters

Mehr

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage:

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage: Zählen und Zahlbereiche Übungsblatt 1 1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage: Für alle m, n N gilt m + n = n + m. in den Satz umschreiben:

Mehr

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen Binäre Bäume 1. Allgemeines Binäre Bäume werden grundsätzlich verwendet, um Zahlen der Größe nach, oder Wörter dem Alphabet nach zu sortieren. Dem einfacheren Verständnis zu Liebe werde ich mich hier besonders

Mehr

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

Einführung in die objektorientierte Programmierung mit Java. Klausur am 19. Oktober 2005 Einführung in die objektorientierte Programmierung mit Java Klausur am 19. Oktober 2005 Matrikelnummer: Nachname: Vorname: Semesteranzahl: Die Klausur besteht aus drei Frageblöcken zu den Inhalten der

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

Javakurs 2013 Objektorientierung

Javakurs 2013 Objektorientierung Javakurs 2013 Objektorientierung Objektorientierte Programmierung I Armelle Vérité 7 März 2013 Technische Universität Berlin This work is licensed under the Creative Commons Attribution-ShareAlike 3.0

Mehr

www.internet-einrichten.de

www.internet-einrichten.de E-Mail-Programme E-Mail Adresse einrichten Bei t-online, AOL, Compuserve, und anderen können Sie sich E-Mail-Adressen einrichten. Dies hat aber den Nachteil, dass Sie diese nur mit der entsprechenden Zugangssoftware

Mehr

Was ist Sozial-Raum-Orientierung?

Was ist Sozial-Raum-Orientierung? Was ist Sozial-Raum-Orientierung? Dr. Wolfgang Hinte Universität Duisburg-Essen Institut für Stadt-Entwicklung und Sozial-Raum-Orientierte Arbeit Das ist eine Zusammen-Fassung des Vortrages: Sozialräume

Mehr

AUSBILDUNG eines OBEDIENCE HUNDES

AUSBILDUNG eines OBEDIENCE HUNDES Beginners, CH (Box, Carré), 15 m entfernt Beginners, CH ab 2017 FCI - 1 (Box, Carré), 15 m entfernt mit Platz, 15 m FCI - 2 FCI - 3 mit Platz und Abrufen, 23 m Voransenden in einen Kreis, dann in ein Viereck

Mehr

Einfügen von Bildern innerhalb eines Beitrages

Einfügen von Bildern innerhalb eines Beitrages Version 1.2 Einfügen von Bildern innerhalb eines Beitrages Um eigene Bilder ins Forum einzufügen, gibt es zwei Möglichkeiten. 1.) Ein Bild vom eigenem PC wird auf den Webspace von Baue-die-Bismarck.de

Mehr

Enigmail Konfiguration

Enigmail Konfiguration Enigmail Konfiguration 11.06.2006 Steffen.Teubner@Arcor.de Enigmail ist in der Grundkonfiguration so eingestellt, dass alles funktioniert ohne weitere Einstellungen vornehmen zu müssen. Für alle, die es

Mehr

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

MORE Profile. Pass- und Lizenzverwaltungssystem. Stand: 19.02.2014 MORE Projects GmbH MORE Profile Pass- und Lizenzverwaltungssystem erstellt von: Thorsten Schumann erreichbar unter: thorsten.schumann@more-projects.de Stand: MORE Projects GmbH Einführung Die in More Profile integrierte

Mehr

Was meinen die Leute eigentlich mit: Grexit?

Was meinen die Leute eigentlich mit: Grexit? Was meinen die Leute eigentlich mit: Grexit? Grexit sind eigentlich 2 Wörter. 1. Griechenland 2. Exit Exit ist ein englisches Wort. Es bedeutet: Ausgang. Aber was haben diese 2 Sachen mit-einander zu tun?

Mehr

Javakurs zu Informatik I. Henning Heitkötter

Javakurs zu Informatik I. Henning Heitkötter Javakurs zu Informatik I Arrays vergleichen Implementieren Sie folgende Methode, die prüft, ob die Elemente der beiden Arrays an jeder Position übereinstimmen: public static boolean identisch(int[] a,

Mehr

Wichtig ist die Originalsatzung. Nur was in der Originalsatzung steht, gilt. Denn nur die Originalsatzung wurde vom Gericht geprüft.

Wichtig ist die Originalsatzung. Nur was in der Originalsatzung steht, gilt. Denn nur die Originalsatzung wurde vom Gericht geprüft. Das ist ein Text in leichter Sprache. Hier finden Sie die wichtigsten Regeln für den Verein zur Förderung der Autonomie Behinderter e. V.. Das hier ist die Übersetzung der Originalsatzung. Es wurden nur

Mehr

Arrays von Objekten. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung

Arrays von Objekten. 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-12-13/infoeinf WS12/13 Arrays: Wiederholung Ein Array ist ein Tupel von Elementen gleichen

Mehr

Dow Jones am 13.06.08 im 1-min Chat

Dow Jones am 13.06.08 im 1-min Chat Dow Jones am 13.06.08 im 1-min Chat Dieser Ausschnitt ist eine Formation: Wechselstäbe am unteren Bollinger Band mit Punkt d über dem 20-er GD nach 3 tieferen Hoch s. Wenn ich einen Ausbruch aus Wechselstäben

Mehr

Es sollte die MS-DOS Eingabeaufforderung starten. Geben Sie nun den Befehl javac ein.

Es sollte die MS-DOS Eingabeaufforderung starten. Geben Sie nun den Befehl javac ein. Schritt 1: Installation des Javacompilers JDK. Der erste Start mit Eclipse Bevor Sie den Java-Compiler installieren sollten Sie sich vergewissern, ob er eventuell schon installiert ist. Gehen sie wie folgt

Mehr

Geld Verdienen im Internet leicht gemacht

Geld Verdienen im Internet leicht gemacht Geld Verdienen im Internet leicht gemacht Hallo, Sie haben sich dieses E-book wahrscheinlich herunter geladen, weil Sie gerne lernen würden wie sie im Internet Geld verdienen können, oder? Denn genau das

Mehr

Die Windows 7 Sicherung im Detail

Die Windows 7 Sicherung im Detail 1 Die Windows 7 Sicherung im Detail Das man zu Windows XP-Zeiten lieber ein extra Programm zur Sicherung seiner Daten nehmen sollte ist bereits jedem klar. Windows XP hat im Bereich Backup und Reparaturfunktion

Mehr

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

DAVID: und David vom Deutschlandlabor. Wir beantworten Fragen zu Deutschland und den Deutschen. Das Deutschlandlabor Folge 09: Auto Manuskript Die Deutschen sind bekannt dafür, dass sie ihre Autos lieben. Doch wie sehr lieben sie ihre Autos wirklich, und hat wirklich jeder in Deutschland ein eigenes

Mehr

Fotos verkleinern mit Paint

Fotos verkleinern mit Paint Fotos verkleinern mit Paint Warum Paint? Sicher, es gibt eine Menge kostenloser guter Programme und Möglichkeiten im Netz zum Verkleinern von Fotos. Letztendlich ist es Geschmackssache, aber meine Erfahrungen

Mehr

Spielmaterial. Hallo! Ich bin der kleine AMIGO und zeige euch, wie dieses Spiel funktioniert. Viel Spaß! von Liesbeth Bos

Spielmaterial. Hallo! Ich bin der kleine AMIGO und zeige euch, wie dieses Spiel funktioniert. Viel Spaß! von Liesbeth Bos Kissenschlacht_Regel.qxp:Layout 1 19.05.2010 12:00 Uhr Seite 1 Hallo! Ich bin der kleine AMIGO und zeige euch, wie dieses Spiel funktioniert. Viel Spaß! von Liesbeth Bos Spieler: 2 4 Personen Alter: ab

Mehr

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

Tutorium zur Mikroökonomie II WS 02/03 Universität Mannheim Tri Vi Dang. Aufgabenblatt 3 (KW 44) (30.10.02) Tutorium zur Mikroökonomie II WS 02/03 Universität Mannheim Tri Vi Dang Aufgabenblatt 3 (KW 44) (30.10.02) Aufgabe 1: Preisdiskriminierung dritten Grades (20 Punkte) Ein innovativer Uni-Absolvent plant,

Mehr

Kapitel 6. Vererbung

Kapitel 6. Vererbung 1 Kapitel 6 2 Ziele Das sprinzip der objektorientierten Programmierung verstehen Und in Java umsetzen können Insbesondere folgende Begriffe verstehen und anwenden können: Ober/Unterklassen Subtyping Überschreiben

Mehr

Arrays von Objekten. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung

Arrays von Objekten. 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 Action required now 1. Smartphone: installiere die App "socrative student"

Mehr

5. Tutorium zu Programmieren

5. Tutorium zu Programmieren 5. Tutorium zu Programmieren Dennis Ewert Gruppe 6 Universität Karlsruhe Institut für Programmstrukturen und Datenorganisation (IPD) Lehrstuhl Programmierparadigmen WS 2008/2009 c 2008 by IPD Snelting

Mehr

Alle gehören dazu. Vorwort

Alle gehören dazu. Vorwort Alle gehören dazu Alle sollen zusammen Sport machen können. In diesem Text steht: Wie wir dafür sorgen wollen. Wir sind: Der Deutsche Olympische Sport-Bund und die Deutsche Sport-Jugend. Zu uns gehören

Mehr

Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress.

Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress. Anmeldung http://www.ihredomain.de/wp-admin Dashboard Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress. Das Dashboard gibt Ihnen eine kurze Übersicht, z.b. Anzahl der Beiträge,

Mehr

AutoCAD 2007 - Dienstprogramm zur Lizenzübertragung

AutoCAD 2007 - Dienstprogramm zur Lizenzübertragung AutoCAD 2007 - Dienstprogramm zur Lizenzübertragung Problem: Um AutoCAD abwechselnd auf mehreren Rechnern einsetzen zu können konnte man bis AutoCAD 2000 einfach den Dongle umstecken. Seit AutoCAD 2000i

Mehr

Innere Klassen in Java

Innere Klassen in Java Innere Klassen in Java SS 2012 Prof. Dr. Margarita Esponda Innere Klassen Klassen- oder Interfacedefinitionen können zur besseren Strukturierung von Programmen verschachtelt werden Eine "Inner Class" wird

Mehr