Algorithmik II. Aufgabe 5 a) In der Vorlesung im Wintersemester haben Sie folgende Klasse für ein Bankkonto kennengelernt:
|
|
- Ewald Bäcker
- vor 8 Jahren
- Abrufe
Transkript
1 Aufgabe 5 a) In der Vorlesung im Wintersemester haben Sie folgende Klasse für ein Bankkonto kennengelernt: ( d e f i n e ( e r o e f f n e k o n t o g u t h a b e n ) ( d e f i n e ( abheben b e t r a g ) ( cond ( ( = g u t h a b e n b e t r a g ) ( s e t! g u t h a b e n ( g u t h a b e n b e t r a g ) ) g u t h a b e n ) ( e l s e ( error Konto : Guthaben r e i c h t n i c h t aus ) ) ) ) ( d e f i n e ( e i n z a h l e n b e t r a g ) ( s e t! g u t h a b e n ( + g u t h a b e n b e t r a g ) ) g u t h a b e n ) ( d e f i n e ( e n t s c h l u e s s e l e op ) ( cond ( ( eq? op e i n z a h l e n ) e i n z a h l e n ) ( ( eq? op abheben ) abheben ) ( e l s e ( error Konto : Unbekannte O p e r a t i o n ) ) ) ) e n t s c h l u e s s e l e ) Schreiben Sie in Java eine entsprechende Klasse Konto. Diese soll außerdem eine Methode kontostand haben, die den aktuellen Kontostand zurückliefert. Vergleichen Sie die Scheme-Fassung von Konto mit der Java-Fassung. class Konto private double guthaben = 0.0; Konto(double startguthaben) guthaben = startguthaben; public void einzahlen(double betrag) guthaben += betrag; public void abheben(double betrag) if (betrag <= guthaben) guthaben -= betrag; else System.out.println("Guthaben reicht nicht aus!"); public double kontostand() return guthaben; Mai Sommersemester 2001
2 Beim Vergleich der beiden Programme soll vor allem gezeigt werden, daß Java für die objektorientierte Programmierung bereits fertige syntaktische Konstrukte bereitstellt. Statt die ganze Klasse als Funktion zu schreiben (in Scheme ist alles eine Funktion, also auch ein Objekt), stellt man einen Konstruktor bereit; die Dispatch-Funktion muß nicht für jede Klasse programmiert werden; eine Notation, mit der man auf eine Methode einer Klasse zugreifen kann, ist bereits vorgegeben (Punkt Operator). Das Scheme-Programm wird folgendermaßen benutzt: ( d e f i n e marys Konto ( e r o e f f n e konto ) ) ( ( marys Konto abheben ) 2 0 ) Und das Java-Programm: Konto maryskonto = new Konto(100.0); maryskonto.abheben(20.0); b) Schreiben Sie zwei von der Klasse Konto abgeleitete Klassen Girokonto und Sparkonto. Ein Girokonto darf um ein vorher festgelegtes Dispolimit überzogen werden. Die Klasse Girokonto benötigt also neue Methoden zum Festlegen und zum Abfragen des Dispolimits. Der Einfachheit halber gehen wir davon aus, daß für das Überziehen des Kontos keine Zinsen gezahlt werden müssen. Für das Geld, das auf einem Sparkonto liegt, bekommt man jedoch Zinsen. Die Klasse Sparkonto benötigt also eine Methode, in der der Zinssatz festgelegt wird, und eine weitere Methode, in der dem Konto die angefallenen Zinsen gutgeschrieben werden. class Konto protected double guthaben = 0.0; // Der Defaultkonstruktor muss implementiert werden, // da er (in unserem Beispiel) von der abgeleiteten // Klasse aufgerufen wird Konto()... class Girokonto extends Konto private double dispositionsrahmen = 0.0; Girokonto (double startguthaben) guthaben = startguthaben; Mai Sommersemester 2001
3 Girokonto (double startguthaben, double dispo) guthaben = startguthaben; dispositionsrahmen = dispo; public void abheben (double betrag) if (guthaben - betrag >= dispositionsrahmen) guthaben -= betrag; else System.out.println("Dispositionsrahmen reicht nicht aus!"); public double getdispolimit () return dispositionsrahmen; public void setdispolimit (double wert) dispositionsrahmen = wert; class Sparkonto extends Konto private double zinssatz = 0.0; Sparkonto (double startguthaben) guthaben = startguthaben; Sparkonto (double startguthaben, double zins) guthaben = startguthaben; zinssatz = zins; public double getzinssatz () return zinssatz; public void setzinssatz (double wert) zinssatz = wert; public void schreibezinsengut (int anzahltage) guthaben += ((double) anzahltage / 360) * (zinssatz / 100.0) * guthaben; c) Das Programm erlaubt jetzt, Girokonten, Sparkonten und allgemeine Konten der Basisklasse anzulegen. Solche allgemeinen Konten gibt es aber in Wirklichkeit nicht. Ändern Sie daher die Basisklasse so, daß es nicht mehr möglich ist, Objekte von ihr zu erzeugen Mai Sommersemester 2001
4 abstract class Konto... d) Erklären Sie die Bedeutung des Schlüsselwortes interface. Hat es in unserem Beispiel Sinn, Konto zum interface zu machen? Wird eine Methode als abstract deklariert, so darf sie keinen Methodenrumpf besitzen (in von dieser Klasse abgeleiteten Klassen aber sehr wohl). Ein interface könnte man nun als abstrakte Klasse mit abstrakten Methoden und ohne Komponenten ansehen, eben als Schnittstelle. interfaces besitzen nur Methodennamen und Schnittstelleninformationen (zum Beispiel zu übergebende Argumente) aber keine Definitionen. Mit interfaces kann man also zu einer Klasse zusätzliches Verhalten hinzufügen, das nicht durch die Methoden der Klasse selbst oder der Oberklasse festgelegt wurde. In Java kann eine Klasse mehrere interfaces implementieren, sie kann aber nur von einer einzigen Oberklasse abgeleitet sein. In Bezug auf unser Beispiel Konto bedeutet dies, daß eine Festlegung von Konto als interface keinen Sinn macht, da zum Beispiel die Implementierung der Methode kontostand bereits in der Klasse Konto als Oberklasse vorgenommen werden kann. Aufgabe 6 a) Erläutern Sie kurz die Ihnen bekannten Darstellungsformen für die Syntax von Programmiersprachen. Zur Beschreibung kontextfreier Grammatiken und somit der Syntax von Programmiersprachen wurden in der Vorlesung die Syntaxdiagramme und die Backus Naur Form vorgestellt. Syntaxdiagramme Syntaxdiagramme sind eine Möglichkeit zur graphischen Darstellung der Syntax des kontextfreien Teils von Programmiersprachen. Es wird jedem nichtterminalen Symbol ein Diagramm (math.: gerichteter Graph) mit genau einer Eingangs- und einer Ausgangskante zugeordnet. Die Knoten des Diagramms repräsentieren die Grammatiksymbole, wobei terminale Symbole durch Ovale und nichtterminale Symbole durch Rechtecke dargestellt werden. Bestandteile: Mai Sommersemester 2001
5 Algorithmik II terminale Symbole : nichtterminale Symbole : Konkatenation : Alternative : Regelende : ( ) : durch sich selbst definiert Durchläuft man ein Syntaxdiagramm entlang der gerichteten Kanten von der Eingangs zur Ausgangskante, so ist die Folge der Knoteninhalte, die dabei vorkommen, aus dem zugehörigen nichtterminalen Symbol ableitbar. BNF (Backus Naur Form) Die BNF ist eine Metasprache (= formale Sprache), mit deren Hilfe wiederum Sprachen beschrieben werden können. Für jedes nichtterminale Symbol existiert eine BNF Regel. Die linke Seite (= zu definierendes nichtterminales Symbol) und rechte Seite (Beschreibung der Symbolfolgen, die aus der linken Seite ableitbar sind) einer Regel werden durch die Symbolfolge ::= getrennt. Gibt es mehrere rechte Seiten für ein nichtterminales Symbol, so werden diese durch senkrechte Striche getrennt aufeinanderfolgend hingeschrieben, ohne daß die linke Seite erneut hingeschrieben werden muß. Die nichtterminalen Symbole der Grammatik werden durch spitze Klammern gekennzeichnet. Bestandteile: ursprüngliche Form heute gebräuch liche Form terminale Symbole : ( )... nichtterminale Symbole :... ( ) Konkatenation : Alternative : Regelende : ( ). Im Laufe der Entwicklung wurden einige Abkürzungsmöglichkeiten eingeführt. Die so entstandene Beschreibungsform wird als EBNF (Extended Backus Naur Form) bezeichnet. Optionale Teile: Mai Sommersemester 2001
6 < > l < < < > < > l > > Algorithmik II Symbole oder Symbolfolgen, die auch weggelassen werden können, werden in eckige Klammern eingeschlossen. Wiederholung: Symbole oder Symbolfolgen, die beliebig oft wiederholt werden können, werden in geschweifte Klammern eingeschlossen, denen ein hochgestellter Stern folgt. Hierbei ist die nullmalige Wiederholung zugelassen. Soll diese ausgeschlossen sein, folgt der Klammer ein hochgestelltes Pluszeichen. Ausklammern: Ein allen Alternativen einer Regel gemeinsamer Teil kann ausgeklammert werden; die verbleibenden Anteile der Alternativen werden in geschweifte Klammern eingeschlossen. > b) Betrachten Sie den folgenden Ausschnitt aus der Definition der Syntax einer Programmiersprache:! "# $%$'& (! )+*-,.* 0/213 $%$'& :! "?A@B ACD:EFE ;=< 7JEF+K3 GIH 7JEF+ $%$'& *LNMPO#QSRT* UDVBW *BXZY[* GIH B!!\"? *R6]ZX^*-3 UDVBW $%$'& 79_Ẁ EFAUDVBW acb6aefd7 79_Ẁ EFAUDVBW ef3 (a) Formulieren Sie den Grammatikausschnitt mit Hilfe von Syntaxdiagrammen. StatementSequence: l Statement 9ghjik; Statement Statement: Assignment ProcedureCall WhileStatement Mai Sommersemester 2001
7 ; w & / ; Algorithmik II WhileStatement: gh ik WHILE Expression gh ik DO StatementSequence gh ik END Expression: SimpleExpression Relation SimpleExpression (b) Ist die durch die Syntaxbeschreibung gegebene Grammatik eindeutig? Begründen Sie Ihre Antwort! Der Grammatikausschnitt ist eindeutig, da es für kein Wort zwei strukturell verschiedene Ableitungsbäume gibt. Grammatiken können nur dann zweideutig sein, wenn es ein rekursives nichtterminales Symbol gibt. In unserem Grammatikausschnitt ist das nichtterminale Symbol WhileStatement rekursiv ( 2 "# B! 7JEF+B! 7JEF+B! GIH ). Da das nichtterminale Symbol GIH nur an einer Stelle eine Rekursion enthält (! "# ) und diese Stelle durch Schlüsselwörter (DO... END) eingeschlossen ist, kann dies nicht zu strukturell verschiedenen Ableitungsbäumen führen. l Aufgabe 7 a) Gegeben sei die Chomsky Grammatik m n &I)2 ots+o "+/ q &I) o 4D/ &u) o : s0v o+ o "?4 o+ 4 o "K4 o+ 4 o " Fnpo0qro o mit (a) Welche Sprache erzeugt diese Grammatik? ƒ m &u)2 w " ( s v w (b) Welche der Symbolfolgen " skv, :" s0v sind gültige Wörter der gegebenen Sprache? Begründen Sie Ihre Antwort! w s v w yxz w "K4 s v w w " (~ 4 s v w x z w " ( s v w o Nxz /, " s Mai Sommersemester 2001
8 / Algorithmik II :" s v : kein gültiges Wort n, m x 0 ˆ n = 1 ˆ m + 2 = 1 ˆ 3n =3 &\ m x :" s0v 0 ˆ m = -1 (Widerspruch) : gültiges Wort n, m x 0 ˆ n = 1 ˆ m + 2 = 2 ˆ 3n = 3 &\ n, m x 0 ˆ n = 1 ˆ m = 0 : s v "?4 s v " s v " s0 : kein gültiges Wort n, m x 0 ˆ n = 2 ˆ m + 2 = 2 ˆ 3n = 5 &\ n = 2 ˆ n = 5/3 (Widerspruch) b) Konstruieren Sie für die folgenden Sprachen ƒ mš jeweils eine Grammatik G. (a) ƒ & )2 s mš w w - Œx z o xuž/ Idee: Nxz B4 : w (~ s w 4 w ~ yxz (~ s w w (~ Grammatik: G = (T, N, P, S) mit T = ) a, b / N = ) S, A / P = ) (S, asa), (S, aaa), (A, baa),(a, (b) ƒ & )2 mš w s w "#B s s o z o0 xz:/ Idee: 4 "? w w 4 s w "# yxz w ~ s w ~ "? w ~ s w ~ "? s0 f xz w ~ s w ~ "? C s w ~ s w ~ "? s CD s Nxz w ~ s w ~ "? s (~ ~ s Mai Sommersemester 2001
9 z z Ž / Algorithmik II Grammatik: G = (T, N, P, S) mit T = ) a, b, c / N = ) S, A, B, C / P = ) (S, AcB), (A, aab), (A, ab), (B, abb), (B, C), (C, bca), (C, ba) / (c) ƒ & )+ u )2 o0s / 1 o mš š mod, also die Menge aller Wörter über dem Alphabet )2 o0s /, so daß die Anzahl der gerade ist. Idee: Die Grammatik hat zwei nichtterminale Symbole, ein Startsymbol und ein 4. In den Produktionen, die von nach 4 bzw. von 4 nach überführen, wird jeweils ein eingeführt. Somit ist in jeder Folge von terminalen und nichtterminalen Symbolen (in jedem u yœ, wobei œi& nž Pq ) entweder ein enthalten dann ist die Anzahl der s gerade oder ein 4, dann ist sie ungerade. Formal ausgedrückt: Sei u yœ mit 1 fÿ n 1 & mod & `4 pˆ mod Grammatik: G = (T, N, P, S) mit T = ) a, b / N = ) S, A / P = ) (S, ), (S, bs), (S, aa), (A, ba), (A, as) / Rechnerübung 2 static a) In der Rechnerübung 1 wurde zur Berechnung des ggt ein Objekt des Typs Ggt erzeugt und auf diesem die Methode ggtrekursiv bzw. ggtiterativ mit den entsprechenden Parametern aufgerufen. Schreiben Sie nun die Klasse Ggt so um, daß die Berechnung des ggt zweier Zahlen ermöglicht wird, ohne ein Objekt des Typs Ggt erzeugen zu müssen. Realisieren Sie dies durch Verwendung des Schlüsselwortes static. Die Methode ggtrekursiv muß static werden. public static int ggtrekursiv (int a, int b)... Der Aufruf von ggtrekursiv erfolgt dann mit Ggt.ggtIterativ(zahl1, zahl2) Mai Sommersemester 2001
10 b) Schreiben Sie eine Klasse MeineKlasse, die intern mitzählt, wie viele Objekte dieser Klasse erzeugt wurden. Weiterhin soll diese Klasse eine Methode anzahlobjekte() besitzen, die die Anzahl der bisher erzeugten Objekte dieses Typs ausgibt. Testen Sie die Implementierung anhand von Beispielen. public class MeineKlasse private static int anzahlobjerzeugt = 0; MeineKlasse() // jedes Mal wenn ein Objekt erzeugt wird, // wird die Klassenvariable inkrementiert anzahlobjerzeugt++; public static int anzahlobjekteerzeugt () return anzahlobjerzeugt; public static void main (String[] args) MeineKlasse k1 = new MeineKlasse(); MeineKlasse k2 = new MeineKlasse(); System.out.println ("Anzahl Objekte erzeugt: " + MeineKlasse.anzahlObjekteErzeugt() ); Rechnerübung 3 Polymorphismus Schreiben Sie ein Programm, das Ihnen auf Tastendruck zufällig eines der zwei geometrischen Objekte Circle oder Square zufälliger Größe (Radius bzw. Kantenlänge) erzeugt und die Fläche sowie den Namen des Objektes auf dem Bildschirm ausgibt. Verwenden Sie dazu eine abstrakte Basisklasse GeomObject und leiten sie davon zwei Klassen mit den genannten geometrischen Objekten ab. Die Klasse GeomObject soll die Methoden String getname() und double getarea() besitzen. Zum Erzeugen von geometrischen Objekten soll eine Klasse GeomObjectGenerator die statische Methode GeomObject.generateObject() zur Verfügung stellen, die zufällig ein 3 z, Sei- Objekt der Klasse Circle oder Square mit zufälliger Größe (Radius zwischen z-3.z und tenlänge zwischen z-3.z und Žz-3 z ) erzeugt. import java.io.*; import java.util.*; Mai Sommersemester 2001
11 abstract class GeomObject protected String name; public String getname() return name; abstract double getarea(); class Circle extends GeomObject double radius; Circle (double r) radius = r; name = new String("Circle"); public double getarea() return radius * radius * Math.PI; class Square extends GeomObject double edge; Square (double l) edge = l;; name = new String("Square"); public double getarea() return edge * edge; class GeomObjectGenerator static GeomObject generateobject() if(math.random() < 0.5) return new Circle(Math.random() * 5.0); else return new Square(Math.random() * 10.0); Mai Sommersemester 2001
12 public static void main(string args[]) String input = null; BufferedReader console = new BufferedReader( new InputStreamReader(System.in) ); do // ein neues geometrischen Objekt holen GeomObject neu = GeomObjectGenerator.generateObject(); System.out.println("Type: " + neu.getname()); System.out.println("Area: " + neu.getarea() + "\n"); // "readline" muß in einen try-catch-block gefasst werden try input = console.readline(); catch (IOException e) ; // so lange wiederholen bis "q" eingegeben wurde while(!input.equals("q")); Mai Sommersemester 2001
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:
Mehr5. 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:
MehrProgrammieren 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
MehrObjektorientierte 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/
Mehr1. Formale Sprachen 1.2 Grammatiken formaler Sprachen
1. Formale Sprachen 1.2 Grammatiken formaler Sprachen Die Regeln zur Bildung korrekter Wörter einer Sprache kann man in einer natürlichen Sprache formulieren. Da dies jedoch wieder Mehrdeutigkeiten mit
Mehr5. 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,
MehrProgrammiersprachen und Übersetzer
Programmiersprachen und Übersetzer Sommersemester 2010 19. April 2010 Theoretische Grundlagen Problem Wie kann man eine unendliche Menge von (syntaktisch) korrekten Programmen definieren? Lösung Wie auch
MehrProgrammierkurs 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
MehrJava: 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
MehrKapitel 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
MehrKapitel 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
Mehr4. AUSSAGENLOGIK: SYNTAX. Der Unterschied zwischen Objektsprache und Metasprache lässt sich folgendermaßen charakterisieren:
4. AUSSAGENLOGIK: SYNTAX 4.1 Objektsprache und Metasprache 4.2 Gebrauch und Erwähnung 4.3 Metavariablen: Verallgemeinerndes Sprechen über Ausdrücke von AL 4.4 Die Sprache der Aussagenlogik 4.5 Terminologie
MehrSEP 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
MehrKapitel 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
MehrInformatik 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Ü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
MehrWintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf http://informatik.swoke.de. Seite 1 von 22
Kapitel 19 Vererbung, UML Seite 1 von 22 Vererbung - Neben der Datenabstraktion und der Datenkapselung ist die Vererbung ein weiteres Merkmal der OOP. - Durch Vererbung werden die Methoden und die Eigenschaften
MehrFormale Sprachen und Grammatiken
Formale Sprachen und Grammatiken Jede Sprache besitzt die Aspekte Semantik (Bedeutung) und Syntax (formaler Aufbau). Die zulässige und korrekte Form der Wörter und Sätze einer Sprache wird durch die Syntax
MehrGrundbegriffe der Informatik
Grundbegriffe der Informatik Einheit 15: Reguläre Ausdrücke und rechtslineare Grammatiken Thomas Worsch Universität Karlsruhe, Fakultät für Informatik Wintersemester 2008/2009 1/25 Was kann man mit endlichen
MehrEinfü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
MehrInstitut für Programmierung und Reaktive Systeme 25. August 2014. Programmier-Labor. 04. + 05. Übungsblatt. int binarysearch(int[] a, int x),
Technische Universität Braunschweig Dr. Werner Struckmann Institut für Programmierung und Reaktive Systeme 25. August 2014 Programmier-Labor 04. + 05. Übungsblatt Aufgabe 21: a) Schreiben Sie eine Methode
MehrJava 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
MehrTheoretische Grundlagen der Informatik
Theoretische Grundlagen der Informatik Vorlesung am 12.01.2012 INSTITUT FÜR THEORETISCHE 0 KIT 12.01.2012 Universität des Dorothea Landes Baden-Württemberg Wagner - Theoretische und Grundlagen der Informatik
MehrKlausur 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-
Mehr3 Objektorientierte Konzepte in Java
3 Objektorientierte Konzepte in Java 3.1 Klassendeklarationen Fragen an die Klassendeklaration: Wie heißt die Klasse? Wer darf auf die Klasse und ihre Attribute/Methoden zugreifen? Ist die Klasse eine
MehrJava 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
MehrEinfü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
MehrKapitel 2. Methoden zur Beschreibung von Syntax
1 Kapitel 2 Methoden zur Beschreibung von Syntax Grammatik, die sogar Könige zu kontrollieren weiß... aus Molière, Les Femmes Savantes (1672), 2. Akt 2 Ziele Zwei Standards zur Definition der Syntax von
MehrObjektorientierte 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
MehrObjektorientierte Programmierung. Kapitel 3: Syntaxdiagramme und Grammatikregeln
Stefan Brass: OOP (Java), 3. Syntaxdiagramme und Grammatikregeln 1/32 Objektorientierte Programmierung Kapitel 3: Syntaxdiagramme und Grammatikregeln Stefan Brass Martin-Luther-Universität Halle-Wittenberg
Mehr5.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
MehrObjektorientierte 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Ü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
MehrIT-Basics 2. DI Gerhard Fließ
IT-Basics 2 DI Gerhard Fließ Wer bin ich? DI Gerhard Fließ Telematik Studium an der TU Graz Softwareentwickler XiTrust www.xitrust.com www.tugraz.at Worum geht es? Objektorientierte Programmierung Konzepte
MehrInnere 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
MehrFakultät Angewandte Informatik Lehrprofessur für Informatik 23.01.2012
WS 2011/2012 Fakultät Angewandte Informatik Lehrprofessur für Informatik 23.01.2012 Prof. Dr. Robert Lorenz Musterlösung zur Vorlesung Informatik I, Extrablatt zu komplexen Datenstrukturen Aufgabe 45 **
Mehr5 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
MehrBinä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
MehrPrimzahlen 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
MehrFolge 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,
MehrSoftware 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
MehrMotivation. Formale Grundlagen der Informatik 1 Kapitel 5 Kontextfreie Sprachen. Informales Beispiel. Informales Beispiel.
Kontextfreie Kontextfreie Motivation Formale rundlagen der Informatik 1 Kapitel 5 Kontextfreie Sprachen Bisher hatten wir Automaten, die Wörter akzeptieren Frank Heitmann heitmann@informatik.uni-hamburg.de
Mehr2.11 Kontextfreie Grammatiken und Parsebäume
2.11 Kontextfreie Grammatiken und Parsebäume Beispiel: Beispiel (Teil 3): Beweis für L(G) L: Alle Strings aus L der Länge 0 und 2 sind auch in L(G). Als Induktionsannahme gehen wir davon aus, dass alle
MehrPraktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester 2015/16. Vorbereitende Aufgaben
Praktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester 2015/16 Fakultät für Informatik Lehrstuhl 14 Lars Hildebrand, Marcel Preuß, Iman Kamehkhosh, Marc Bury, Diana Howey Übungsblatt
MehrProgrammieren 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,
MehrProblemstellung. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 24: Reflection 1. IDE und automatische Tests.
Universität Osnabrück 1 Problemstellung 3 - Objektorientierte Programmierung in Java Vorlesung 24: Reflection 1 SS 2006 Prof. Dr. Frank M. Thiesing, FH Osnabrück Um ein Objekt anzulegen, eine seiner Methoden
MehrDer Aufruf von DM_in_Euro 1.40 sollte die Ausgabe 1.40 DM = 0.51129 Euro ergeben.
Aufgabe 1.30 : Schreibe ein Programm DM_in_Euro.java zur Umrechnung eines DM-Betrags in Euro unter Verwendung einer Konstanten für den Umrechnungsfaktor. Das Programm soll den DM-Betrag als Parameter verarbeiten.
MehrGetName(), GetName(), GetGeschlecht() und AelterWerden().
11. Vererbung Vererbung ist eine der mächtigsten Funktionalitäten der objektorientierten Programmiersprachen. Man versteht unter Vererbung die Tatsache, dass eine Klasse alle Methoden und Variablen einer
MehrII. 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
MehrDas 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
MehrProgrammieren 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
MehrSWE1 / Übung 2 (19.10.2011)
SWE1 / Übung 2 (19.1.211) Simulation von Algorithmen Testen, Testplan Beispiel arithmetische Ausdrücke Handsimulation von Algorithmen Man versteht einen Algorithmus (insbesonders einen "Fremden"), wenn
MehrSichtbarkeit & 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
MehrProf. Dr. Uwe Schmidt. 21. August 2007. Aufgaben zur Klausur Objektorientierte Programmierung im SS 2007 (IA 252)
Prof. Dr. Uwe Schmidt 21. August 2007 Aufgaben zur Klausur Objektorientierte Programmierung im SS 2007 (IA 252) Zeit: 75 Minuten erlaubte Hilfsmittel: keine Bitte tragen Sie Ihre Antworten und fertigen
MehrLösungen zu Übung 3 Objektorientierte Modellierung - Statisches Modell
Universität Stuttgart Institut für Automatisierungs- und Softwaretechnik Prof. Dr.-Ing. Dr. h. c. P. Göhner Lösungen zu Übung 3 Objektorientierte Modellierung - Statisches Modell Aufgabe 3. Assoziation
MehrEinfü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Ü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:
Mehr4. AuD Tafelübung T-C3
4. AuD Tafelübung T-C3 Simon Ruderich 17. November 2010 Arrays Unregelmäßige Arrays i n t [ ] [ ] x = new i n t [ 3 ] [ 4 ] ; x [ 2 ] = new i n t [ 2 ] ; for ( i n t i = 0; i < x. l e n g t h ; i ++) {
MehrAssoziation und Aggregation
Assoziation und Aggregation Martin Wirsing in Zusammenarbeit mit Matthias Hölzl, Nora Koch 05/03 2 Ziele Verstehen der Begriffe Assoziation und Aggregation Implementierung von Assoziationen in Java schreiben
MehrVererbung & Schnittstellen in C#
Vererbung & Schnittstellen in C# Inhaltsübersicht - Vorüberlegung - Vererbung - Schnittstellenklassen - Zusammenfassung 1 Vorüberlegung Wozu benötigt man Vererbung überhaubt? 1.Um Zeit zu sparen! Verwendung
MehrSEQUENZDIAGRAMM. Christoph Süsens
SEQUENZDIAGRAMM Christoph Süsens DEFINITION Das Sequenzdiagramm gibt Auskunft darüber: Welche Methoden für die Kommunikation zwischen ausgewählten Objekten zuständig sind. Wie der zeitliche Ablauf von
MehrPrüfungszeuch im Fach Objektorientierte Programmierung WS 2000
Prüfungszeuch im Fach Objektorientierte Programmierung WS 2000 A. Beschreibung der Projektarbeit. Welche Aufgabe haben Sie im Rahmen der Projektarbeit gelöst? 2. Mit welchen Tools bzw. Programmen (Anwendung,
Mehr3. Konzepte der objektorientierten Programmierung
3. Konzepte der objektorientierten Programmierung 3.1 Basiskonzepte 3.2 Generalisierung / Spezialisierung 3.3 Aggregation 3.4 Assoziation 3.5 Nachrichten 3.6 Polymorphismus 3. Konzepte der Objektorientierung
MehrWas 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?
Mehr1 Mathematische Grundlagen
Mathematische Grundlagen - 1-1 Mathematische Grundlagen Der Begriff der Menge ist einer der grundlegenden Begriffe in der Mathematik. Mengen dienen dazu, Dinge oder Objekte zu einer Einheit zusammenzufassen.
MehrVererbung. 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,
MehrTheorie der Informatik
Theorie der Informatik 6. Formale Sprachen und Grammatiken Malte Helmert Gabriele Röger Universität Basel 17. März 2014 Einführung Beispiel: Aussagenlogische Formeln Aus dem Logikteil: Definition (Syntax
Mehr1. 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:
MehrObjektorientierte Programmierung OOP
Objektorientierte Programmierung OOP Objektorientierte Programmierung OOP Ronja Düffel WS2012/13 08. Oktober 2013 Objektorientierte Programmierung OOP Objektorientierte Programmierung Objektorientierte
MehrÜbung zur Vorlesung Einführung in die Computerlinguistik und Sprachtechnologie
Übung zur Vorlesung Einführung in die Computerlinguistik und Sprachtechnologie Wintersemester 2009/10, Prof. Dr. Udo Hahn, Erik Fäßler Übungsblatt 3 vom 19.11.2009 Abgabe bis 26.11.2009, 14:30 Uhr; per
MehrGrundlagen 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
MehrSoftware Engineering Klassendiagramme Einführung
Software Engineering Klassendiagramme Einführung Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Aufgabe Erstellen Sie eine Klasse Person in Java. Jede Person verfügt
Mehrt r Lineare Codierung von Binärbbäumen (Wörter über dem Alphabet {, }) Beispiel code( ) = code(, t l, t r ) = code(t l ) code(t r )
Definition B : Menge der binären Bäume, rekursiv definiert durch die Regeln: ist ein binärer Baum sind t l, t r binäre Bäume, so ist auch t =, t l, t r ein binärer Baum nur das, was durch die beiden vorigen
MehrAZK 1- Freistil. Der Dialog "Arbeitszeitkonten" Grundsätzliches zum Dialog "Arbeitszeitkonten"
AZK 1- Freistil Nur bei Bedarf werden dafür gekennzeichnete Lohnbestandteile (Stundenzahl und Stundensatz) zwischen dem aktuellen Bruttolohnjournal und dem AZK ausgetauscht. Das Ansparen und das Auszahlen
MehrObjektorientierte Programmierung
Universität der Bundeswehr Fakultät für Informatik Institut 2 Priv.-Doz. Dr. Lothar Schmitz FT 2006 Zusatzaufgaben Lösungsvorschlag Objektorientierte Programmierung Lösung 22 (Java und UML-Klassendiagramm)
Mehr5. 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
MehrAlgorithmen & Datenstrukturen 1. Klausur
Algorithmen & Datenstrukturen 1. Klausur 7. Juli 2010 Name Matrikelnummer Aufgabe mögliche Punkte erreichte Punkte 1 35 2 30 3 30 4 15 5 40 6 30 Gesamt 180 1 Seite 2 von 14 Aufgabe 1) Programm Analyse
MehrGrundlagen 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)
MehrAlgorithmik II. a) Fügen Sie in einen anfangs leeren binären Baum die Schlüsselfolge 20, 28, 35, 31, 9, 4, 13, 17, 37, 25 ein.
Aufgabe 10 Binäre Bäume a) Fügen Sie in einen anfangs leeren binären Baum die Schlüsselfolge, 28, 35, 31, 9, 4,, 17, 37, 25 ein. 1. Einfügen von : 3. Einfugen von 35: 2. Einfügen von 28: 28 28 10. Einfügen
Mehr1 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
MehrEinfü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 Pommes... Praktikum A 230 C 207 (Madeleine) F 112 F 113 (Kevin) E
MehrTest-Driven Design: Ein einfaches Beispiel
Test-Driven Design: Ein einfaches Beispiel Martin Wirsing in Zusammenarbeit mit Moritz Hammer und Axel Rauschmayer SS 06 2 Ziele Veranschaulichung der Technik des Test-Driven Design am Beispiel eines Programms
Mehr188.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
MehrVgl. Oestereich Kap 2.7 Seiten 134-147
Vgl. Oestereich Kap 2.7 Seiten 134-147 1 Sequenzdiagramme beschreiben die Kommunikation/Interaktion zwischen den Objekten (bzw. verschiedenen Rollen) eines Szenarios. Es wird beschrieben, welche Objekte
MehrDelegatesund Ereignisse
Delegatesund Ereignisse «Delegierter» Methoden Schablone Funktionszeiger Dr. Beatrice Amrhein Überblick Definition eines Delegat Einfache Delegate Beispiele von Delegat-Anwendungen Definition eines Ereignisses
MehrObjektbasierte Entwicklung
Embedded Software Objektbasierte Entwicklung Objektorientierung in C? Prof. Dr. Nikolaus Wulff Objektbasiert entwickeln Ohne C++ wird meist C im alten Stil programmiert. => Ein endlose while-schleife mit
MehrBEISPIELKLAUSUR 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
MehrVorkurs 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:
MehrStudentische 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
Mehra n + 2 1 auf Konvergenz. Berechnen der ersten paar Folgenglieder liefert:
Beispiel: Wir untersuchen die rekursiv definierte Folge a 0 + auf Konvergenz. Berechnen der ersten paar Folgenglieder liefert: ( ) (,, 7, 5,...) Wir können also vermuten, dass die Folge monoton fallend
MehrRekursion. 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
MehrFachdidaktik 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,
MehrDHBW Karlsruhe, Vorlesung Programmieren, Klassen (2)
DHBW Karlsruhe, Vorlesung Programmieren, Klassen (2) Aufgabe 3 Bankkonto Schreiben Sie eine Klasse, die ein Bankkonto realisiert. Attribute für das Bankkonto sind der Name und Vorname des Kontoinhabers,
Mehr5.6 Vererbung. Vererbung
5.6 Vererbung Klassen können zueinander in einer "ist ein"- Beziehung stehen Beispiel: Jeder PKW ist ein Kraftfahrzeug, jedes Kraftfahrzeug ist ein Transportmittel aber: auch jeder LKW ist ein Kraftfahrzeug
MehrKonzepte der Informatik
Konzepte der Informatik Vorkurs Informatik zum WS 2011/2012 26.09. - 30.09.2011 17.10. - 21.10.2011 Dr. Werner Struckmann / Christoph Peltz Stark angelehnt an Kapitel 1 aus "Abenteuer Informatik" von Jens
MehrÜbung: Verwendung von Java-Threads
Übung: Verwendung von Java-Threads Ziel der Übung: Diese Übung dient dazu, den Umgang mit Threads in der Programmiersprache Java kennenzulernen. Ein einfaches Java-Programm, das Threads nutzt, soll zum
MehrArrays 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
MehrVIII: 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:
Mehr1 topologisches Sortieren
Wolfgang Hönig / Andreas Ecke WS 09/0 topologisches Sortieren. Überblick. Solange noch Knoten vorhanden: a) Suche Knoten v, zu dem keine Kante führt (Falls nicht vorhanden keine topologische Sortierung
MehrGrundlagen 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