Übung Programmierung WS 2007/08 - Blatt 5

Save this PDF as:
 WORD  PNG  TXT  JPG

Größe: px
Ab Seite anzeigen:

Download "Übung Programmierung WS 2007/08 - Blatt 5"

Transkript

1 RHEINISCH- WESTFÄLISCHE TECHNISCHE HOCHSCHULE AACHEN LEHR- UND FORSCHUNGSGEBIET INFORMATIK 2 RWTH Aachen D Aachen GERMANY LuFG Informatik II Prof. Dr. Jürgen Giesl Carsten Fuhs, Peter Schneider-Kamp, Stephan Swiderski Übung Programmierung WS 2007/08 - Blatt 5 (Lösungsvorschlag)

2 Aufgabe 1

3 Aufgabe 2 Listing 1: Konto.java 1 / Diese Klasse modelliert ein Bankkonto. Sie s t e l l t Funktionalitaet fuer 2 Ein und Auszahlungen, fuer Ueberweisungen und fuer die Darstellung 3 des a k t u e l l e n Kontostandes in Euro zur Verfuegung. 4 5 Autor : Carsten Fuhs 6 Erst ellt am: Zuletzt geaendert : / 9 public cl a ss Konto { / d i e naechste Zahl, d i e vom System a l s neue Kontonummer verwendet 12 werden s o l l 13 / 14 public s t a t i c int naechsteneuekontonummer = 1; // die Kontonummer dieses Kontos 17 public int kontonummer ; / Das aktuelle Guthaben ; der Einfacheit halber werden hier keine 20 Eurocents betrachtet. 21 / 22 public int guthabenineuro ; // der Inhaber dieses Kontos 25 public Kunde inhaber ; / Zahlt den positiven Betrag betragineuro auf dieses Konto ein. 28 Gibt zurueck, ob die Einzahlung geklappt hat. 29 / 30 public boolean einzahlen ( int betragineuro ) { 31 i f ( betragineuro > 0) { 32 guthabenineuro += betragineuro ; 33 return true ; 34 } 35 else { 36 return false ; 37 } 38 } / Versucht, den p o s i t i v e n Betrag betragineuro von diesem Konto abzuheben. 41 Gibt zurueck, ob der Abhebeversuch geklappt hat. 42 / 43 public boolean abheben ( int betragineuro ) { 44 if (betragineuro > 0 && 45 guthabenineuro >= betragineuro ) { 46 guthabenineuro = betragineuro ; 47 return true ;

4 48 } 49 else { 50 return false ; 51 } 52 } / Ueberweist den p o s i t i v e n Geldbetrag betragineuro von diesem Konto 55 auf das Konto empfaengerkonto. Gibt zurueck, ob d i e Ueberweisung 56 geklappt hat. 57 / 58 public boolean ueberweisen ( int betragineuro, Konto empfaengerkonto ) { 59 // ungueltige Parameterwerte abfangen 60 i f ( empfaengerkonto == null betragineuro <= 0) { 61 return false ; 62 } // Zunaechst wird das Geld abgehoben. 65 boolean abhebenerfolgreich = abheben ( betragineuro ) ; 66 i f (! abhebenerfolgreich ) { 67 return false ; 68 } // Falls das Abheben geklappt hat, so wird auch das Einzahlen beim 71 // Empfaenger gelingen (denn betragineuro i s t > 0). 72 empfaengerkonto. einzahlen ( betragineuro ) ; 73 return true ; 74 } / Gibt eine String Darstellung dieses Objekts zurueck, aus der die 77 Kontonummer, der Inhaber des Kontos und das a k t u e l l e Guthaben 78 hervorgehen. 79 / 80 public String tostring () { 81 String ergebnis = Kontonummer: + kontonummer + \n ; 82 ergebnis += Inhaber : \n + inhaber.tostring () + \n ; 83 ergebnis += Guthaben i n Euro : + guthabenineuro ; 84 return ergebnis ; 85 } 86 } Listing 2: Kunde.java 1 / Diese Klasse besteht aus einigen Feldern, die einen Bankkunden definieren, 2 der Funktionalitaet zur Darstellung dieser Stammdaten des Kunden, sowie 3 einer Funktion zum Vergleich von zwei Kunden anhand von Name und 4 Geburtsdatum. 5 6 Autor : Carsten Fuhs 7 Erst ellt am: Zuletzt geaendert : /

5 10 public cl a ss Kunde { // Name des Kunden 13 public String name ; // Geburtsdatum des Kunden 16 public String geburtsdatum ; // Adresse des Kunden 19 public String adresse ; // Gibt eine String Darstellung dieses Objekts zurueck. 22 public String tostring () { 23 String ergebnis = Name: + name + \n ; 24 ergebnis += Geburtsdatum : + geburtsdatum + \n ; 25 ergebnis += Adresse : + adresse ; 26 return ergebnis ; 27 } / Gibt zurueck, ob dieser Kunde und nocheinkunde gleichen Namen und 30 gleiches Geburtsdatum haben. In diesem Fall sollen sie vom System 31 als gleich betrachtet werden. 32 / 33 public boolean gleich ( Kunde nocheinkunde ) { 34 return name.equals (nocheinkunde.name ) 35 && geburtsdatum. equals ( nocheinkunde. geburtsdatum ) ; 36 } 37 } Listing 3: Bank.java 1 / Ein Objekt des Typs Bank kapselt mehrere Kunden und Konten. 2 Weiterhin s t e l l t die Klasse eine Benutzerschnittstelle fuer 3 das Banksystem zur Verfuegung. 4 5 Autor : Carsten Fuhs 6 Erst ellt am: Zuletzt geaendert : / 9 public cl a ss Bank { // maximale Anzahl an Kunden, die das System verwalten kann 12 public static final int MAX_KUNDEN = 120; // maximale Anzahl an Konten, die das System verwalten kann 15 public static final int MAX_KONTEN = 600; // einige Konstanten fuer die Menuesteuerung 18 public static final int MIN_MENUE = 1; 19 public static final int ALLE_KUNDEN_ANZEIGEN_MENUE = MIN_MENUE ; 20 public s t a t i c f i n a l int ALLE_KONTEN_ANZEIGEN_MENUE = MIN_MENUE +1;

6 21 public static final int KUNDEN_ANLEGEN_MENUE = MIN_MENUE +2; 22 public static final int KONTO_ANLEGEN_MENUE = MIN_MENUE +3; 23 public static final int EINZAHLEN_MENUE = MIN_MENUE +4; 24 public static final int ABHEBEN_MENUE = MIN_MENUE +5; 25 public static final int UEBERWEISEN_MENUE = MIN_MENUE +6; 26 public static final int BEENDEN_MENUE = MIN_MENUE +7; // Array von Kunden der Bank 29 public Kunde [ ] kunden ; // Array von Konten der Bank 32 public Konto [ ] konten ; // aktuelle Anzahl von Kunden der Bank 35 public int anzahlkunden ; // aktuelle Anzahl von Konten der Bank 38 public int anzahlkonten ; // i n i t i a l i s i e r t ein neues Objekt vom Typ Bank 41 public void init () { 42 kunden = new Kunde [ MAX_KUNDEN ] ; 43 konten = new Konto [ MAX_KONTEN ] ; 44 anzahlkunden = 0; 45 anzahlkonten = 0; 46 } / Falls der Kunde kunde im System bekannt ist, so wird sein Eintrag 49 zurueckgegeben ; ansonsten wird n u l l zurueckgegeben. 50 / 51 public Kunde findekunden ( Kunde kunde ) { 52 for ( int i = 0; i < anzahlkunden ; ++i) { 53 if (kunden [i ]. gleich (kunde )) { 54 return kunden [i ] ; 55 } 56 } 57 return null ; 58 } / F a l l s ein Konto mit mit der Kontonummer kontonummer im System bekannt 61 i s t, so wird s e i n Eintrag zurueckgegeben ; ansonsten wird n u l l 62 zurueckgegeben. 63 / 64 public Konto findekonto ( int kontonummer ) { 65 for ( int i = 0; i < anzahlkonten ; ++i) { 66 if (konten [i ]. kontonummer == kontonummer ) { 67 return konten [i ] ; 68 } 69 } 70 return null ;

7 71 } // Dialog fuer das Anlegen eines neuen Kunden 74 public void kundenanlegendialog () { 75 System.out.println ( === Kunden anlegen === ) ; 76 / Falls die maximale Anzahl an Kunden noch nicht erreicht ist, 77 l i e s die Daten ein ; ueberpruefe, ob der Kunde schon bekannt ist, 78 und lege diesen an, f a l l s er noch nicht bekannt i s t ; 79 ansonsten brich mit einer Fehlermeldung ab. 80 / 81 i f ( anzahlkunden < MAX_KUNDEN ) { 82 Kunde neukunde = new Kunde ( ) ; 83 System.out.println ( Bitte geben Sie den Namen des Neukunden ein : ) ; 84 neukunde.name = IO.readLine ( ) ; 85 System.out.println ( Bitte geben Sie das Geburtsdatum des Neukunden ein : ) ; 86 neukunde. geburtsdatum = IO. readline ( ) ; Kunde altkunde = findekunden ( neukunde ) ; 89 i f ( altkunde!= null ) { 90 System.out.println ( Kunde b ereits im System! Abbruch der Eingabe. ) ; 91 return ; 92 } 93 System.out.println ( Bitte geben Sie die Adresse des Neukunden ein : ) ; 94 neukunde.adresse = IO.readLine ( ) ; 95 kunden [ anzahlkunden ] = neukunde ; 96 ++anzahlkunden ; 97 System.out.println ( Kunde + neukunde.name + erfolgreic h angelegt. ) ; 98 } 99 else { 100 System. out. println ( Maximale Anzahl Kunden ( + MAX_KUNDEN ) i s t errei ch t und kann nicht ueberschritten werden! ) ; 102 System.out.println ( Abbruch. ) ; 103 } 104 } // Dialog fuer das Anlegen eines neuen Kontos 107 public void kontoanlegendialog () { 108 System.out.println ( === Konto anlegen === ) ; 109 / Falls die maximale Anzahl an Konten noch nicht erreicht ist, 110 l i e s die notwendigen Daten ein, um den Kunden zu identifizieren, 111 fuer den das Konto angelegt werden s o l l ; lege ein Konto mit einer 112 frischen Kontonummer fuer diesen Kunden an, sofern der Kunde 113 bekannt i s t ; 114 ansonsten brich mit einer Fehlermeldung ab. 115 / 116 i f ( anzahlkonten < MAX_KONTEN ) { 117 Kunde dummykunde = new Kunde ( ) ; 118 System.out.println ( Bitte geben Sie den Namen des Kunden ein : ) ; 119 dummykunde.name = IO. readline ( ) ; 120 System.out.println ( Bitte geben Sie das Geburtsdatum des Kunden ein : ) ;

8 121 dummykunde.geburtsdatum = IO.readLine ( ) ; Kunde kunde = findekunden ( dummykunde ) ; 124 if (kunde == null ) { 125 System.out.println ( Kunde nicht gefunden! Abbruch. ) ; 126 return ; 127 } 128 Konto neukonto = new Konto ( ) ; 129 neukonto. inhaber = kunde ; 130 neukonto. guthabenineuro = 0; 131 neukonto. kontonummer = Konto. naechsteneuekontonummer ; Konto. naechsteneuekontonummer ; 133 konten [ anzahlkonten ] = neukonto ; anzahlkonten ; 135 System.out.println ( Konto + neukonto. kontonummer erfolgreic h angelegt. ) ; 137 } 138 else { 139 System. out. println ( Maximale Anzahl Konten ( + MAX_KONTEN ) i s t errei ch t und kann nicht ueberschritten werden! ) ; 141 System.out.println ( Abbruch. ) ; 142 } 143 } // Dialog f u e r das Einzahlen von Geld auf ein Konto 147 public void einzahlendialog () { 148 System.out.println ( === Einzahlen === ) ; 149 System.out.println ( Bitte Kontonummer eingeben : ) ; 150 int kontonummer = IO.readInt ( ) ; 151 Konto konto = findekonto ( kontonummer ) ; 152 if (konto == null ) { 153 System.out.println ( Unbekanntes Konto! Abbruch. ) ; 154 return ; 155 } 156 System.out.println ( Bitte geben Sie ein, wieviel Euro eingezahlt werden sollen : ) ; 157 int euros = IO.readInt ( ) ; 158 boolean einzahlungerfolgreich = konto. einzahlen ( euros ) ; 159 i f ( einzahlungerfolgreich ) { 160 System.out.println ( Es wurden + euros + Euro auf Konto kontonummer + eingezahlt. ) ; 162 } 163 else { 164 System.out.println ( Nur positive Betraege koennen eingezahlt werden! Abbruch. ) ; 165 } 166 } // Dialog f u e r das Abheben von Geld von einem Konto 169 public void abhebendialog () { 170 System.out.println ( === Abheben === ) ;

9 171 System.out.println ( Bitte Kontonummer eingeben : ) ; 172 int kontonummer = IO.readInt ( ) ; 173 Konto konto = findekonto ( kontonummer ) ; 174 if (konto == null ) { 175 System.out.println ( Unbekanntes Konto! Abbruch. ) ; 176 return ; 177 } 178 System.out.println ( Bitte geben Sie ein, wieviel Euro abgehoben werden sollen : ) ; 179 int euros = IO.readInt ( ) ; 180 boolean abhebungerfolgreich = konto. abheben ( euros ) ; 181 i f ( abhebungerfolgreich ) { 182 System.out.println ( Es wurden + euros + Euro von Konto kontonummer + abgehoben. ) ; 184 } 185 else { 186 System.out.println ( Die Abhebung schlug fehl. ) ; 187 System.out.println ( Moegliche Gruende : ) ; 188 System.out.println ( Zu geringe Deckung des Kontos ) ; 189 System.out.println ( Eingegebener Betrag nicht p ositiv ) ; 190 System.out.println ( Abbruch. ) ; 191 } 192 } // Dialog f u e r das Ueberweisen von Geld zwischen zwei Konten 195 public void ueberweisendialog () { 196 System.out.println ( === Ueberweisen === ) ; 197 System.out.println ( Bitte geben Sie die Kontonummer des Ueberweisenden ein : ) ; 198 int quellkontonummer = IO. readint ( ) ; 199 Konto quellkonto = findekonto ( quellkontonummer ) ; 200 if (quellkonto == null ) { 201 System.out.println ( Unbekanntes Konto! ) ; 202 return ; 203 } 204 System.out.println ( Bitte geben Sie die Kontonummer des Empfaengers ein : ) ; 205 int empfaengerkontonummer = IO. readint ( ) ; 206 Konto empfaengerkonto = findekonto ( empfaengerkontonummer ) ; 207 i f ( empfaengerkonto == null ) { 208 System.out.println ( Unbekanntes Konto! Abbruch. ) ; 209 return ; 210 } System.out.println ( Bitte geben Sie ein, wieviel Euro ueberwiesen werden s ollen : ) ; 213 int euros = IO.readInt ( ) ; 214 boolean ueberweisungerfolgreich = quellkonto. ueberweisen ( euros, empfaengerkonto ) ; 215 i f ( ueberweisungerfolgreich ) { 216 System.out.println ( Ueberweisung von + euros Euro von Konto + quellkontonummer + an Konto empfaengerkontonummer + i s t e r f olgt. ) ; 219 } 220 else {

10 221 System.out.println ( Die Ueberweisung schlug fehl. ) ; 222 System.out.println ( Moegliche Gruende : ) ; 223 System.out.println ( Zu geringe Deckung des Kontos ) ; 224 System.out.println ( Eingegebener Betrag nicht p ositiv ) ; 225 System.out.println ( Abbruch. ) ; 226 } 227 } // Ausgabe a l l e r im System vorhandenen Kunden 230 public void kundenanzeigen () { 231 System.out.println ( === Alle Kunden === ) ; 232 for ( int i = 0; i < anzahlkunden ; ++i) { 233 String darstellungaktuellerkunde = kunden [ i ]. tostring ( ) ; 234 System. out. println ( darstellungaktuellerkunde ) ; 235 System.out.println ( ) ; 236 } 237 } // Ausgabe a l l e r im System vorhandenen Konten 240 public void kontenanzeigen () { 241 System.out.println ( === Alle Konten === ) ; 242 for ( int i = 0; i < anzahlkonten ; ++i) { 243 String darstellungaktuelleskonto = konten [ i ]. tostring ( ) ; 244 System. out. println ( darstellungaktuelleskonto ) ; 245 System.out.println ( ) ; 246 } 247 } // Ausgabe des Hauptmenues 250 public static void menueanzeigen () { 251 System.out.println ( \n=== Bank Hauptmenue === ) ; 252 System.out.println (ALLE_KUNDEN_ANZEIGEN_MENUE + : Alle Kunden anzeigen ) ; 253 System.out.println (ALLE_KONTEN_ANZEIGEN_MENUE + : Alle Konten anzeigen \n ) ; 254 System. out. println ( KUNDEN_ANLEGEN_MENUE + : Kunden anl egen ) ; 255 System. out. println ( KONTO_ANLEGEN_MENUE + : Konto anl egen \n ) ; 256 System.out.println (EINZAHLEN_MENUE + : Einzahlen ) ; 257 System.out.println (ABHEBEN_MENUE + : Abheben ) ; 258 System. out. println ( UEBERWEISEN_MENUE + : Ueberweisen \n ) ; 259 System.out.println (BEENDEN_MENUE + : Beenden \n ) ; 260 System.out.println ( Bitte waehlen Sie einen Menuepunkt! ) ; 261 } public static void main (String [ ] args ) { 264 Bank diebank = new Bank ( ) ; 265 diebank.init ( ) ; 266 int menuepunkt ; 267 do { 268 menueanzeigen ( ) ; 269 menuepunkt = IO.readInt ( ) ; 270 switch ( menuepunkt ) {

11 271 case ALLE_KUNDEN_ANZEIGEN_MENUE : 272 diebank. kundenanzeigen ( ) ; 273 break ; 274 case ALLE_KONTEN_ANZEIGEN_MENUE : 275 diebank. kontenanzeigen ( ) ; 276 break ; 277 case KUNDEN_ANLEGEN_MENUE : 278 diebank. kundenanlegendialog ( ) ; 279 break ; 280 case KONTO_ANLEGEN_MENUE : 281 diebank. kontoanlegendialog ( ) ; 282 break ; 283 case EINZAHLEN_MENUE : 284 diebank. einzahlendialog ( ) ; 285 break ; 286 case ABHEBEN_MENUE : 287 diebank. abhebendialog ( ) ; 288 break ; 289 case UEBERWEISEN_MENUE : 290 diebank. ueberweisendialog ( ) ; 291 break ; 292 case BEENDEN_MENUE : 293 break ; 294 default : 295 System.out.println ( Falsche Eingabe! Bitte versuchen Sie es erneut. ) ; 296 break ; 297 } 298 } while ( menuepunkt!= BEENDEN_MENUE ) ; 299 System.out.println ( Vielen Dank fuer Ihren Besuch! ) ; 300 } 301 }

Arrays Fortgeschrittene Verwendung

Arrays Fortgeschrittene Verwendung Arrays Fortgeschrittene Verwendung Gilbert Beyer und Annabelle Klarl Zentralübung zur Vorlesung Einführung in die Informatik http://www.pst.ifi.lmu.de/lehre/wise-11-12/infoeinf WS11/12 Arrays: Wiederholung

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

// Zeigt den insgesamt einbezahlten Betrag auf der Bank. // Muss 1600 GE sein. System.out.println("Current Bank balance: " + b.

// Zeigt den insgesamt einbezahlten Betrag auf der Bank. // Muss 1600 GE sein. System.out.println(Current Bank balance:  + b. / Testtreiberklasse, welche das Bankensystem testet. Es werden neue Bankkonten angelegt und Geld deponiert, abgehoben und transferiert. public class Main { / Main Methode fuehrt bestimmte Testfaelle aus.

Mehr

Praktikum Informatik II Prof. Dr. Martin Trauth, Dr. Michael Männel

Praktikum Informatik II Prof. Dr. Martin Trauth, Dr. Michael Männel Praktikum Informatik II Prof. Dr. Martin Trauth, Dr. Michael Männel FB Physikalische Technik Musterlösungen Teil 4 Aufgabe 1 package teil4; import javax.swing.*; public class Ei { int haltung, ident; String

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

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.4 Klassen und Objekte

5.4 Klassen und Objekte 5.4 Klassen und Objekte Zusammenfassung: Projekt Figuren und Zeichner Figuren stellt Basisklassen für geometrische Figuren zur Verfügung Zeichner bietet eine übergeordnete Klasse Zeichner, welche die Dienstleistungen

Mehr

Grundlagen Programmierung

Grundlagen Programmierung 1. Aufgabe (Spielen mit Objekten) Gegeben sei der auch von der Veranstaltungsseite erhältliche Programmcode auf der rechten Seite, der im Detail zuerst nicht verstanden werden muss. a) Erzeugen Sie sich

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

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

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

Mehr

Primitive Datentypen

Primitive Datentypen Primitive Datentypen 2 Arten von Datentypen: primitive Datentypen (heute) Objekte (später) Java ist streng typisiert, d.h. für jede Variable muß angegeben werden was für eine Art von Wert sie aufnimmt.

Mehr

Dr. Monika Meiler. Inhalt

Dr. Monika Meiler. Inhalt Inhalt 4 Einführung in die Programmiersprache Java (Teil II)... 4-2 4.4 Strukturierte Programmierung... 4-2 4.4.1 Strukturierung im Kleinen... 4-2 4.4.2 Addierer (do-schleife)... 4-3 4.4.3 Ein- Mal- Eins

Mehr

public class SternchenRechteckGefuellt {

public class SternchenRechteckGefuellt { Java programmieren: Musterlösungen Konsolen-Aufgaben Aufgabe 1: Gefüllte Rechtecke zeichnen Schreiben Sie ein Programm, das ein durch Sternchen gefülltes Rechteck zeichnet. Der Benutzer soll Breite und

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

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

Objektorientierte Programmierung

Objektorientierte Programmierung Universität der Bundeswehr Fakultät für Informatik Institut 2 Priv.-Doz. Dr. Lothar Schmitz FT 2006 Übungsblatt 5 Lösungsvorschlag Objektorientierte Programmierung 22. 05. 2006 Lösung 9 (SMS-Eingabe am

Mehr

Problemdefinition. Cash Flow Reminder. 1 Problembeschreibung: 2 Projektziel: 3 Aufgaben des Benutzers

Problemdefinition. Cash Flow Reminder. 1 Problembeschreibung: 2 Projektziel: 3 Aufgaben des Benutzers Cash Flow Reminder Problemdefinition 1 Problembeschreibung: Viele Studenten verfügen über ein eher geringes monatliches Budget, mit welchem sie aber alle Lebensunterhaltskosten decken sollten. Deshalb

Mehr

Teilprüfung Software- und Internettechnologie Programmierkurs 1 Wintersemester 2005/2006

Teilprüfung Software- und Internettechnologie Programmierkurs 1 Wintersemester 2005/2006 Universität Mannheim Fakultät für Mathematik und Informatik Dr. Heinz Kredel Teilprüfung Software- und Internettechnologie Programmierkurs 1 Wintersemester 2005/2006 Name:.................................

Mehr

Kapitel 3 Das Projekt Bankkonto Seite 1

Kapitel 3 Das Projekt Bankkonto Seite 1 Kapitel 3 Das Projekt Bankkonto Seite 1 3 Das Projekt Bankkonto Nun wirst du dich etwas gründlicher mit dem Quelltext einer Klasse beschäftigen. Du lernst, wie zwei Objekte eine gemeinsame Aufgabe erledigen.

Mehr

Kapitel 14. Systemarchitektur

Kapitel 14. Systemarchitektur 1 Kapitel 14 Ziele 2 Grundprinzipien der verstehen Schichtenarchitekturen kennenlernen Modelle und Programme mit Paketen strukturieren Eine Architektur für eine einfache Bankanwendung konstruieren Grundprinzipien

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

Autor: Michael Spahn Version: 1.0 1/10 Vertraulichkeit: öffentlich Status: Final Metaways Infosystems GmbH

Autor: Michael Spahn Version: 1.0 1/10 Vertraulichkeit: öffentlich Status: Final Metaways Infosystems GmbH Java Einleitung - Handout Kurzbeschreibung: Eine kleine Einführung in die Programmierung mit Java. Dokument: Autor: Michael Spahn Version 1.0 Status: Final Datum: 23.10.2012 Vertraulichkeit: öffentlich

Mehr

188.154 Einführung in die Programmierung für Wirtschaftsinformatik

188.154 Einführung in die Programmierung für Wirtschaftsinformatik Beispiel 1 Vererbung (Liste) Gegeben sind die beiden Klassen ListNode und PersonNode. 188.154 Einführung in die Programmierung für Wirtschaftsinformatik Wiederholung, Prüfungsvorbereitung Monika Lanzenberger

Mehr

Vorlesung im Herbstwintersemester 2007. Autorisierte studentisch Lösungen zu Aufgabenblatt 2

Vorlesung im Herbstwintersemester 2007. Autorisierte studentisch Lösungen zu Aufgabenblatt 2 Praktische Informatik I Vorlesung im Herbstwintersemester 2007 Autorisierte studentisch Lösungen zu Aufgabenblatt 2 zusammengestellt von Iva Tsvetkova 9.10.2007 1.Präsenzaufgaben 1.1 Entwurf einer Verwaltung

Mehr

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 11/12. Kapitel 8. Arrays. Arrays

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 11/12. Kapitel 8. Arrays. Arrays 1 Kapitel 8 Ziele 2 Die Datenstruktur der kennenlernen Grundlegende Algorithmen auf in Java implementieren können Mit von Objekten arbeiten können 3 Erweiterungen zur Behandlung von : Überblick Bisher

Mehr

5 Projekt Bankverwaltung

5 Projekt Bankverwaltung Kapitel 5 Bankverwaltung (Lösung) Seite 1/7 5 Projekt Bankverwaltung 5.1 Festlegen der Schnittstelle Bevor du mit der Programmierung beginnst, musst du dir einige Gedanken über die Schnittstelle zwischen

Mehr

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 14/15. Kapitel 11. Fehler und Ausnahmen 1

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 14/15. Kapitel 11. Fehler und Ausnahmen 1 Kapitel 11 Fehler und Ausnahmen Fehler und Ausnahmen 1 Ziele Fehlerquellen in Programmen und bei der Programmausführung verstehen Das Java-Konzept der Ausnahmen als Objekte kennenlernen Ausnahmen auslösen

Mehr

Dr. Monika Meiler. Inhalt

Dr. Monika Meiler. Inhalt Inhalt 4 Anweisungen... 4-2 4.1 Strukturierte Programmierung... 4-2 4.1.1 Geschichte... 4-2 4.1.2 Strukturierung im Kleinen... 4-2 4.2 Einige Beispielanwendungen... 4-4 4.2.1 Addierer (do-schleife)...

Mehr

Rekursion. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung

Rekursion. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung Rekursion Annabelle Klarl Zentralübung zur Vorlesung Einführung in die Informatik: http://www.pst.ifi.lmu.de/lehre/wise-12-13/infoeinf WS12/13 Aufgabe 1: Potenzfunktion Schreiben Sie eine Methode, die

Mehr

2. Methoden. n Generelles zum Aufruf von Methoden. n Parameterübergabemechanismen (call by value, call by reference)

2. Methoden. n Generelles zum Aufruf von Methoden. n Parameterübergabemechanismen (call by value, call by reference) 2. Methoden n Generelles zum Aufruf von Methoden n Parameterübergabemechanismen (call by value, call by reference) n Speicherorganisation bei Methodenaufruf und Parameterübergabe (Laufzeitkeller) n vararg

Mehr

Dr. Monika Meiler. Inhalt

Dr. Monika Meiler. Inhalt Inhalt 5 Referenzdatentypen - Felder... 5-2 5.1 Eindimensionale Felder - Vektoren... 5-3 5.1.1 Vereinbarung... 5-3 5.1.2 Referenzen sind keine Felder... 5-4 5.1.3 Kopieren eindimensionaler Felder... 5-6

Mehr

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

1. Grundzüge der Objektorientierung 2. Methoden, Unterprogramme und Parameter 3. Datenabstraktion 4. Konstruktoren 5. Vordefinierte Klassen 1. Grundzüge der Objektorientierung 2. Methoden, Unterprogramme und Parameter 3. Datenabstraktion 4. Konstruktoren 5. Vordefinierte Klassen II.2.3 Datenabstraktion - 1 - public class Rechteck { Selektoren

Mehr

Programmieren I. Kontrollstrukturen. Heusch 8 Ratz 4.5. www.kit.edu. Institut für Angewandte Informatik

Programmieren I. Kontrollstrukturen. Heusch 8 Ratz 4.5. www.kit.edu. Institut für Angewandte Informatik Programmieren I Kontrollstrukturen Heusch 8 Ratz 4.5 KIT Universität des Landes Baden-Württemberg und nationales Großforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Arten von Kontrollstrukturen

Mehr

Einstieg in die Informatik mit Java

Einstieg 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

Mehr

Einführung Datentypen Verzweigung Schleifen Funktionen Dynamische Datenstrukturen. Java Crashkurs. Kim-Manuel Klein (kmk@informatik.uni-kiel.

Einführung Datentypen Verzweigung Schleifen Funktionen Dynamische Datenstrukturen. Java Crashkurs. Kim-Manuel Klein (kmk@informatik.uni-kiel. Java Crashkurs Kim-Manuel Klein (kmk@informatik.uni-kiel.de) May 7, 2015 Quellen und Editoren Internet Tutorial: z.b. http://www.java-tutorial.org Editoren Normaler Texteditor (Gedit, Scite oder ähnliche)

Mehr

Hochschule Darmstadt Informatik-Praktikum (INF 1) WS 2015/2016 Wirtschaftsingenieur Bachelor 5. Aufgabe Datenstruktur, Dateieingabe und -ausgabe

Hochschule Darmstadt Informatik-Praktikum (INF 1) WS 2015/2016 Wirtschaftsingenieur Bachelor 5. Aufgabe Datenstruktur, Dateieingabe und -ausgabe Aufgabenstellung Für eine Hausverwaltung sollen für maximal 500 Wohnungen Informationen gespeichert werden, die alle nach der gleichen Weise wie folgt strukturiert sind: Art Baujahr Wohnung Whnginfo Nebenkosten

Mehr

UNIVERSITÄT ULM Fakultät für Ingenieurswissenschaften und Informatik Institut für Datenbanken und Informationssysteme

UNIVERSITÄT ULM Fakultät für Ingenieurswissenschaften und Informatik Institut für Datenbanken und Informationssysteme UNIVERSITÄT ULM Fakultät für Ingenieurswissenschaften und Informatik Institut für Datenbanken und Informationssysteme 8. Übung zur Vorlesung Datenbanksysteme WS 08/09 Musterlösung Aufgabe 8-1: SQLJ //

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

Studentische Lösung zum Übungsblatt Nr. 7

Studentische Lösung zum Übungsblatt Nr. 7 Studentische Lösung zum Übungsblatt Nr. 7 Aufgabe 1) Dynamische Warteschlange public class UltimateOrderQueue private Order[] inhalt; private int hinten; // zeigt auf erstes freies Element private int

Mehr

Programmieren II Klassen. Programmieren II Klassen. Programmieren II Klassen. Programmieren II Klassen. Zur Erinnerung.

Programmieren II Klassen. Programmieren II Klassen. Programmieren II Klassen. Programmieren II Klassen. Zur Erinnerung. Vorbemerkungen Zur Erinnerung aktueller Standpunkt: Entwickler von (bibliotheken) jetzt sind wichtig interne Repräsentation der Daten Realisierung der gewünschten Funktionalität Bereitstellung geeigneter

Mehr

II.1.1. Erste Schritte - 1 -

II.1.1. Erste Schritte - 1 - ! 1. Grundelemente der Programmierung! 2. Objekte, Klassen und Methoden! 3. Rekursion und dynamische Datenstrukturen! 4. Erweiterung von Klassen und fortgeschrittene Konzepte II.1.1. Erste Schritte - 1

Mehr

Programmierung in C. Grundlagen. Stefan Kallerhoff

Programmierung in C. Grundlagen. Stefan Kallerhoff Programmierung in C Grundlagen Stefan Kallerhoff Vorstellungsrunde Name Hobby/Beruf Schon mal was programmiert? Erwartungen an den Kurs Lieblingstier Für zu Hause C-Buch online: http://openbook.rheinwerk-verlag.de/c_von_a_bis_z/

Mehr

Vorkurs Informatik Wintersemester 2015/2016. Programmtexte

Vorkurs Informatik Wintersemester 2015/2016. Programmtexte www.vorkurs-informatik.de Vorkurs Informatik Wintersemester 2015/2016 Programmtexte 1 Grundkonzepte der Programmierung Java-Programm zur Suche des Minimums: class ProgrammMinSuche{ int[] a = {11,7,8,3,15,13,9,19,18,10,4;

Mehr

Grundlagen der Programmierung Prof. H. Mössenböck. 10. Klassen

Grundlagen der Programmierung Prof. H. Mössenböck. 10. Klassen Grundlagen der Programmierung Prof. H. Mössenböck 10. Klassen Motivation Wie würde man ein Datum speichern (z.b. 13. November 2004)? 3 Variablen int da; String month; int ear; Unbequem, wenn man mehrere

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

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

PIWIN 1 Übung Blatt 5

PIWIN 1 Übung Blatt 5 Fakultät für Informatik Wintersemester 2008 André Gronemeier, LS 2, OH 14 Raum 307, andre.gronemeier@cs.uni-dortmund.de PIWIN 1 Übung Blatt 5 Ausgabedatum: 19.12.2008 Übungen: 12.1.2009-22.1.2009 Abgabe:

Mehr

Hochschule Darmstadt Informatik-Praktikum (INF 1) WS 2014/2015 Wirtschaftsingenieur Bachelor 4. Aufgabe Datenstruktur, Dateieingabe und -ausgabe

Hochschule Darmstadt Informatik-Praktikum (INF 1) WS 2014/2015 Wirtschaftsingenieur Bachelor 4. Aufgabe Datenstruktur, Dateieingabe und -ausgabe Aufgabenstellung Für ein Baumkataster sollen für maximal 500 Bäume Informationen gespeichert werden, die alle nach der gleichen Weise wie folgt strukturiert sind: Nummer Bauminfo Baumart Hoehe Baum Umfang

Mehr

Einfache Rechenstrukturen und Kontrollfluss II

Einfache Rechenstrukturen und Kontrollfluss II Einfache Rechenstrukturen und Kontrollfluss II Martin Wirsing in Zusammenarbeit mit Moritz Hammer und Axel Rauschmayer http://www.pst.informatik.uni-muenchen.de/lehre/ss06/infoii/ SS 06 Ziele Lernen imperative

Mehr

VIII: Vererbung. Unterklassen einer Klasse. Vererbung von Methoden und Instanzvariablen. Überschreiben von Methoden

VIII: Vererbung. Unterklassen einer Klasse. Vererbung von Methoden und Instanzvariablen. Überschreiben von Methoden VIII: Vererbung Unterklassen einer Klasse Vererbung von Methoden und Instanzvariablen Überschreiben von Methoden Vererbung als Realisierung einer is-a Beziehung. Informatik I VIII: Vererbung 259 Beispiel:

Mehr

Programmieren in Java

Programmieren 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

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

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

Programmieren II Vererbung. Programmieren II Vererbung. Programmieren II Vererbung. Programmieren II Vererbung. Einleitende Bemerkungen

Programmieren II Vererbung. Programmieren II Vererbung. Programmieren II Vererbung. Programmieren II Vererbung. Einleitende Bemerkungen Einleitende Bemerkungen Einleitende Bemerkungen Ideen hinter der objektorientierten Programmierung Objekte (/* Instanzen einer Klasse */) im Mittelpunkt Objekte bilden Einheit aus Daten (/* Attributen,

Mehr

Exceptions. Prof. Dr. Margarita Esponda SS 2012. M. Esponda-Argüero

Exceptions. Prof. Dr. Margarita Esponda SS 2012. M. Esponda-Argüero Exceptions Prof. Dr. Margarita Esponda SS 2012 1 Ausnahmen Eine Ausnahme (Exception) ist ein Fehler oder ein nicht geplantes Ereignis, das während der Ausführung eines Programms vorkommt und dessen normalen

Mehr

Vererbung. Vererbung von Methoden und Instanzvariablen. Vererbung als Realisierung einer is-a Beziehung.

Vererbung. Vererbung von Methoden und Instanzvariablen. Vererbung als Realisierung einer is-a Beziehung. Vererbung Unterklassen einer Klasse Vererbung von Methoden und Instanzvariablen Überschreiben von Methoden Vererbung als Realisierung einer is-a Beziehung. Informatik II: Objektorientierte SW-Entwicklung,

Mehr

Nachholklausur (6 ECTS) Einführung in die Informatik: Programmierung und Software-Entwicklung. Nachname... Vorname... Matrikelnummer... Studienfach...

Nachholklausur (6 ECTS) Einführung in die Informatik: Programmierung und Software-Entwicklung. Nachname... Vorname... Matrikelnummer... Studienfach... Ludwig-Maximilians-Universität München WS 2012/13 Institut für Informatik 19.04.2013, 12:00 14:00 Uhr Prof. Dr. R. Hennicker, A. Klarl Nachholklausur (6 ECTS) Einführung in die Informatik: Programmierung

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

17 00 01 Übungen zu Computeranwendung und Programmierung WS 13/14

17 00 01 Übungen zu Computeranwendung und Programmierung WS 13/14 17 00 01 Übungen zu Computeranwendung und Programmierung WS 13/14 Übungseinheit 2. - 6. Dezember 2013 Aufgabe 1 Es gibt zwei Roboter in einem durch Mauern abgeschlossenen Labyrinth unbekannter Größe. Der

Mehr

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

Einfache Arrays. 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

Java-Schulung Grundlagen

Java-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

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

Algorithmische Kernsprache. Zuweisung, einfache und bedingte Anweisung, Blöcke, Schleifen, return, debugging.

Algorithmische Kernsprache. Zuweisung, einfache und bedingte Anweisung, Blöcke, Schleifen, return, debugging. Algorithmische Kernsprache Zuweisung, einfache und bedingte Anweisung, Blöcke, Schleifen, return, debugging. Ausdrücke Anweisungen Ausdrücke bezeichnen einen Wert Kontext stellt Werte von Variablen Werte

Mehr

Eine Klasse beschreibt Objekte mit gleichen Attributen und Methoden.

Eine Klasse beschreibt Objekte mit gleichen Attributen und Methoden. Grundwissen Informatik Objekt Attribut Methoden Als Objekte bezeichnet man alle Gegenstände, Dinge, Lebewesen, Begriffe oder Strukturen unserer Welt ( Autos, Räume, Bakterien, Lehrer, Schüler, Kunden,

Mehr

Repetitorium Informatik (Java)

Repetitorium Informatik (Java) Repetitorium Informatik (Java) Tag 6 Lehrstuhl für Informatik 2 (Programmiersysteme) Übersicht 1 Klassen und Objekte Objektorientierung Begrifflichkeiten Deklaration von Klassen Instanzmethoden/-variablen

Mehr

Nachholklausur (9 ECTS) Einführung in die Informatik: Programmierung und Software-Entwicklung. Nachname... Vorname... Matrikelnummer... Studienfach...

Nachholklausur (9 ECTS) Einführung in die Informatik: Programmierung und Software-Entwicklung. Nachname... Vorname... Matrikelnummer... Studienfach... Ludwig-Maximilians-Universität München WS 2012/13 Institut für Informatik 19.04.2013, 12:00 14:30 Uhr Prof. Dr. R. Hennicker, A. Klarl Nachholklausur (9 ECTS) Einführung in die Informatik: Programmierung

Mehr

BEISPIELKLAUSUR Softwareentwicklung:

BEISPIELKLAUSUR Softwareentwicklung: Prof. Dr. Andreas Fink Institut für Informatik Fakultät für Wirtschafts- und Sozialwissenschaften Helmut-Schmidt-Universität / Universität der Bundeswehr Hamburg BEISPIELKLAUSUR Softwareentwicklung: Objektorientierte

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

620.900 Propädeutikum zur Programmierung

620.900 Propädeutikum zur Programmierung 620.900 Propädeutikum zur Programmierung Andreas Bollin Institute für Informatik Systeme Universität Klagenfurt Andreas.Bollin@uni-klu.ac.at Tel: 0463 / 2700-3516 Arrays Wiederholung (1/5) Array = GEORDNETE

Mehr

Repetitorium Informatik (Java)

Repetitorium Informatik (Java) Repetitorium Informatik (Java) Tag 8 Lehrstuhl für Informatik 2 (Programmiersysteme) Übersicht 1 Vererbung Vererbung Statischer Typ Dynamischer Typ 2 Polymorphie Overloading: Methoden überladen Overriding:

Mehr

Übung Grundlagen der Programmierung. Übung 03: Schleifen. Testplan Testergebnisse

Übung Grundlagen der Programmierung. Übung 03: Schleifen. Testplan Testergebnisse Übung 03: Schleifen Abgabetermin: xx.xx.xxxx Name: Matrikelnummer: Gruppe: G1 (Prähofer) G2 (Prähofer) G3 (Wolfinger) Aufgabe Punkte gelöst abzugeben schriftlich abzugeben elektronisch Aufgabe 03.1 12

Mehr

Fallunterscheidung: if-statement

Fallunterscheidung: if-statement Fallunterscheidung: if-statement A E 1 E 2 V 1 V 2 Syntax: if ( ausdruck ) Semantik: else anweisungsfolge_1 anweisungsfolge_2 1. Der ausdruck wird bewertet 2. Ergibt die Bewertung einen Wert ungleich 0

Mehr

Grundwissen Informatik JS 10 24. September 2015

Grundwissen Informatik JS 10 24. September 2015 Grundwissen Informatik JS 10 24. September 2015 Grundlagen der Objektorientierung 1. Erkläre die Begriffe Klasse, Attribut, Attributwert, Objekt, Methode und Dienst. Beispiel! Allgemein Eine Klasse ist

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

Fakultät Angewandte Informatik Programmierung verteilter Systeme 28.11.2011. Übungen zur Vorlesung Informatik II, Blatt 6

Fakultät Angewandte Informatik Programmierung verteilter Systeme 28.11.2011. Übungen zur Vorlesung Informatik II, Blatt 6 WS 2011/12 Fakultät Angewandte Informatik Programmierung verteilter Systeme 28.11.2011 Prof. Dr. Bernhard Bauer Übungen zur Vorlesung Informatik II, Blatt 6 Abgabe: Montag, 05.12.2011, 12.00 Uhr, Informatik

Mehr

13 Java 4 - Entwurfsmuster am Beispiel des Rucksackproblems

13 Java 4 - Entwurfsmuster am Beispiel des Rucksackproblems 13 Java 4 - Entwurfsmuster am Beispiel des Rucksackproblems 13.1 Modellierung des Rucksackproblems 13.2 Lösung mit Greedy-Algorithmus 13.3 Lösung mit Backtracking 13.4 Lösung mit Dynamischer Programmierung

Mehr

Kapitel 19: Klassen und Unterklassen

Kapitel 19: Klassen und Unterklassen Kapitel 19: Klassen und Unterklassen Felix Freiling Lehrstuhl für Praktische Informatik 1 Universität Mannheim Vorlesung Praktische Informatik I im Herbstsemester 2009 Folien nach einer Vorlage von H.-Peter

Mehr

JAVA - Methoden

JAVA - Methoden Übungen Informatik I JAVA - http://www.fbi-lkt.fh-karlsruhe.de/lab/info01/tutorial Übungen Informatik 1 Folie 1 sind eine Zusammenfassung von Deklarationen und Anweisungen haben einen Namen und können

Mehr

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

Grundlagen der Programmierung Prof. H. Mössenböck. 14. Schrittweise Verfeinerung Grundlagen der Programmierung Prof. H. Mössenböck 14. Schrittweise Verfeinerung Entwurfsmethode für Algorithmen Wie kommt man von der Aufgabenstellung zum Programm? Beispiel geg.: Text aus Wörtern ges.:

Mehr

5.5.8 Öffentliche und private Eigenschaften

5.5.8 Öffentliche und private Eigenschaften 5.5.8 Öffentliche und private Eigenschaften Schnittstellen vs. Implementierungen: Schnittstelle einer Klasse beschreibt, was eine Klasse leistet und wie sie benutzt werden kann, ohne dass ihre Implementierung

Mehr

JSF Erstellen einer einfachen Bankanwendung mit Kontoübersicht und Überweisung

JSF Erstellen einer einfachen Bankanwendung mit Kontoübersicht und Überweisung Universität Bayreuth Lehrstuhl für Angewandte Informatik IV Datenbanken und Informationssysteme Prof. Dr.-Ing. Jablonski JSF Erstellen einer einfachen Bankanwendung mit Kontoübersicht und Überweisung Dipl.

Mehr

Informatik II. /* c) Baumstruktur in einen String schreiben und zurueckgeben */ public String tostring() {

Informatik II. /* c) Baumstruktur in einen String schreiben und zurueckgeben */ public String tostring() { Universität Augsburg, Institut für Informatik Sommersemester 2006 Prof. Dr. Werner Kießling 08. Juni. 2006 M. Endres, A. Huhn, T. Preisinger Lösungsblatt 5 Aufgabe 1: Cloneable Tree.java Informatik II

Mehr

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

PIWIN I. Praktische Informatik für Wirtschaftsmathematiker, Ingenieure und Naturwissenschaftler I. Vorlesung 3 SWS WS 2007/2008 PIWIN I Kap. 7 Objektorientierte Programmierung - Einführung 1 PIWIN I Praktische Informatik für Wirtschaftsmathematiker, Ingenieure und Naturwissenschaftler I Vorlesung 3 SWS WS 2007/2008 FB Informatik

Mehr

C# 2000 Expression Beispielcodes für Konsolen- und Formularanwendung

C# 2000 Expression Beispielcodes für Konsolen- und Formularanwendung C# 2000 Expression Beispielcodes für Konsolen- und Formularanwendung 1. "Hai!" [Konsolenanwendung] Console.WriteLine("Hai, wie geht's?"); 2. Muktiplikation mit sich selbst [Konsolenanwendung] // Ausgabe

Mehr

Die Programmiersprache C Eine Einführung

Die Programmiersprache C Eine Einführung Die Programmiersprache C Eine Einführung Christian Gentsch Fakutltät IV Technische Universität Berlin Projektlabor 2. Mai 2014 Inhaltsverzeichnis 1 Einführung Entstehungsgeschichte Verwendung 2 Objektorientiert

Mehr

Distributed Computing Group

Distributed 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

Lösungsvorschläge. zu den Aufgaben im Kapitel 4

Lösungsvorschläge. zu den Aufgaben im Kapitel 4 Lösungsvorschläge zu den Aufgaben im Kapitel 4 Aufgabe 4.1: Der KNP-Algorithmus kann verbessert werden, wenn in der Funktion nexttabelle die Zuweisung next[tabindex] = ruecksprung; auf die etwas differenziertere

Mehr

Musterlösungen zur Klausur Informatik 3

Musterlösungen zur Klausur Informatik 3 Musterlösungen zur Klausur Informatik 3 Justus-Liebig-Universität Gießen Wintersemester 2003/2004 Aufgabe 1 (6 Punkte) Man kreuze bei den folgenden Deklarationen und Definitionen jeweils an, ob sie aus

Mehr

Client-Server-Beziehungen

Client-Server-Beziehungen Client-Server-Beziehungen Server bietet Dienste an, Client nutzt Dienste Objekt ist gleichzeitig Client und Server Vertrag zwischen Client und Server: Client erfüllt Vorbedingungen eines Dienstes Server

Mehr

Teil 1: Grundeigenschaften von Rechnern und Software [10P]

Teil 1: Grundeigenschaften von Rechnern und Software [10P] Blatt Nummer: 1 Teil 1: Grundeigenschaften von Rechnern und Software [10P] Aufgabe 1.1 - Programmieren Lernen [5P] 0,5P pro richtigem Feld Klassifizieren Sie die folgenden Aussagen als richtig oder falsch

Mehr

Ein erstes Java-Programm

Ein erstes Java-Programm Ein erstes Java-Programm public class Rechnung { public static void main (String [] arguments) { int x, y; x = 10; y = -1 + 23 * 33 + 3 * 7 * (5 + 6); System.out.print ("Das Resultat ist "); System.out.println

Mehr

1.2 Attribute und Methoden Aufbau einer Java-Klasse:

1.2 Attribute und Methoden Aufbau einer Java-Klasse: Aufbau einer Java-Klasse: public class Quadrat { int groesse; int xposition; String farbe; boolean istsichtbar; public void sichtbarmachen() { istsichtbar = true; public void horizontalbewegen(int distance){

Mehr

Klassenattribute und -methoden, Vererbung

Klassenattribute und -methoden, Vererbung Klassenattribute und -methoden, Vererbung Michael Dienert 27. März 2002 1 Prüfungsaufgabe Anwendungsentwicklung Winter 2001 Die folgende Aufgabe stammt aus der Abschlussprüfung für Fachinformatiker Anwendungsentwicklung

Mehr

Tutorial04: Swing: Erstellen eines JFrames mit einem JSplitPane

Tutorial04: Swing: Erstellen eines JFrames mit einem JSplitPane Hochschule Harz Programmierung2 Tutorial 04: FB Automatisierung und Informatik Dipl.-Inf., Dipl.-Ing. (FH) M. Wilhelm Programmierung 2 für MI / WI Thema: Swing, JSplitPane und I/O Versuchsziele Kenntnisse

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

KV Software Engineering Übungsaufgaben SS 2005

KV Software Engineering Übungsaufgaben SS 2005 KV Software Engineering Übungsaufgaben SS 2005 Martin Glinz, Silvio Meier, Nancy Merlo-Schett, Katja Gräfenhain Übung 1 Aufgabe 1 (10 Punkte) Lesen Sie das Originalpapier von Dijkstra Go To Statement Considered

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

Beispiel: DB-Mock (1/7)

Beispiel: DB-Mock (1/7) Beispiel: DB-Mock (1/7) Aufgabe: DB, auf die vereinfachend nur lesend zugeriffen wird mocken warum: benötigte keine DB-Lizenz, garantiert gleiche Werte ohne aufwändiges reset, kein Zeitverlust durch Verbindungsaufbau

Mehr

Einführung in die Informatik für Hörer aller Fakultäten II. Andreas Podelski Stephan Diehl Uwe Waldmann

Einführung in die Informatik für Hörer aller Fakultäten II. Andreas Podelski Stephan Diehl Uwe Waldmann Einführung in die Informatik für Hörer aller Fakultäten II Andreas Podelski Stephan Diehl Uwe Waldmann 1 Einführung in die Informatik für Hörer aller Fakultäten II Andreas Podelski Stephan Diehl Uwe Waldmann

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