Funktionale Programmierung mit Haskell
|
|
- Ernst Vogt
- vor 8 Jahren
- Abrufe
Transkript
1 Funktionale Programmierung mit Haskell Prof. Dr. Hans J. Schneider Lehrstuhl für Programmiersprachen und Programmiermethodik Friedrich-Alexander-Universität Erlangen-Nürnberg Sommersemester 2011 I. Die Sprache Haskell 1. Einführung in Haskell 2. Funktionen als Basis der Programmierung 3. Algebraische Typen 4. Grundlagen des Typsystems 5. Strukturierung durch Typklassen 6. Verbergen von Information 7. Sprachergänzungen II. Fallstudien c Hans J. Schneider 2011
2 Beispiel einer Typklassenhierarchie: Bäume Hierarchie: Heap BinT ree T ree DerivT ree BinSearchT ree Balanced Ein Baum hat eine Wurzel, die keinen Vorgänger hat und weitere Knoten, die jeweils genau einen Vorgänger haben. Knoten ohne Nachfolger heißen Blätter. Bei einem binären Baum hat jeder Knoten höchstens zwei Nachfolger. (Strengere Definition: genau zwei oder keinen Nachfolger) Bei einem Ableitungsbaum sind die Blätter mit terminalen Symbolen, die anderen Knoten mit nichtterminalen markiert. Funktionale Programmierung mit Haskell 5.1
3 Überblick Wir betrachten zunächst die (Teil-)Hierarchie der binären Bäume, ohne jedoch Heap und Balanced genauer zu implementieren. Wie ist die allgemeine Syntax der Typklassendefinition? Beispiele für Default-Methoden Syntax der Instanzendeklarationen Standardimplementierung der binären Bäume Einordnung in die Baum-Hierarchie und in Show Mehrfachvererbung Ableitungsbäume Funktionale Programmierung mit Haskell 5.2
4 Bäume in Haskell class Tree h where isemptytree :: h a -> Bool root :: h a -> a height, weight :: h a -> Integer successors :: h a -> [h a] preorder :: h a -> [a] showtree :: (Show a) => h a -> String Binäre Bäume class (Tree h) => BinTree h where consleaf :: a -> h a constree :: (a, h a, h a) -> h a left, right :: h a -> h a inorder :: h a -> [a] Ableitungsbäume class (Tree h) => DerivTree h where termnode :: a -> h a nontermnode :: (Eq a) => (a, [a]) -> [h a] -> h a Funktionale Programmierung mit Haskell 5.3
5 Spezielle binäre Bäume Hierarchie: Heap BinT ree BinSearchT ree Balanced Ein Heap ist ein binärer Baum, in dem für jeden Teilbaum gilt, dass das Element an der Wurzel kleiner ist als beide Nachfolger (oder es ist stets größer als die Nachfolger). Eigentlich muss man sich auf fast vollständige binäre Bäume beschränken. In einem binären Suchbaum gilt für jeden Teilbaum, dass das Element an der Wurzel größer ist als alle Elemente im linken Unterbaum und kleiner als alle im rechten Unterbaum. Ein binärer Suchbaum heißt k-balanciert, wenn für jeden Knoten die Höhendifferenz seiner Unterbäume k ist. Interessant nur: k = 1 Funktionale Programmierung mit Haskell 5.4
6 Binäre Bäume in Haskell Binäre Suchbäume: class (BinTree h) => BinSearchTree h where insertordered :: Ord a => a -> h a -> h a isin :: Ord a => h a -> a -> Bool removeordered :: Ord a => a -> h a -> h a Balancierte Bäume: class (BinSearchTree h) => Balanced h where insertbalanced :: Ord a => h a -> a -> h a balance :: h a -> Integer rebalancesubtree :: Ord a => h a -> h a Heap-Bäume: class (BinTree h) => Heap h where insertheap :: Ord a => a -> h a -> h a removefromheap :: Ord a => h a -> h a (Beim Einfügen wählen wir den Unterbaum mit weniger Elementen.) Die Haskell-Syntax lässt nicht zu, dass Ord a in der Voraussetzung der Klassendefinition erscheint. Funktionale Programmierung mit Haskell 5.5
7 Allgemeine Form einer Typklassendeklaration A class declaration introduces a new class and the operations (class methods) on it. class (Tree h) => BinTree h where consleaf :: a -> h a constree :: (a, h a, h a) -> h a left, right :: h a -> h a inorder :: h a -> [a] A class declaration has the general form (Report No ): class cx => C u where cdecls This introduces a new class name C. The type variable u is scoped only over the class method signatures in the class body. The context cx specifies the superclasses of C. The only type variable that may be referred to in cx is u. The superclass relation must not be cyclic. Funktionale Programmierung mit Haskell 5.6
8 Methoden in einer Typklassendeklaration The cdecls part of a class declaration contains three kinds of declarations. The class declaration introduces new class methods vi vi :: cxi => ti... Beispiel: class (Tree h) => DerivTree h where termnode :: a -> h a nontermnode :: (Eq a) => (a, [a]) -> [h a] -> h a Class methods share the top level namespace with variable bindings [and field names]; they must not conflict with other top level bindings in scope. The ti must mention u. It may mention type variables w other than u, in which case the type of vi is polymorphic in both u and w. The cxi may constrain only w. Funktionale Programmierung mit Haskell 5.7
9 Optionale Angaben in der Typklassendefinition The cdecls may contain a fixity declaration for any of the class methods. (A fixity declaration gives the fixity and binding precedence of one or more operators.) The cdecls may contain a default class method for any of the vi. Beispiel: showstack st = if isemptystack st then "!" else (show (top st)) ++ " - " ++ (showstack (pop st)) The default class method for vi is used if no binding for it is given in a particular instance declaration. The default method declaration is a normal value definition, except that the left hand side may only be a variable or function definition. Bemerkung: Dies schließt an dieser Stelle die Definition durch Mustervergleich aus. Funktionale Programmierung mit Haskell 5.8
10 Default-Methoden für Bäume Schnittstelle für alle Bäume: class Tree h where isemptytree :: h a -> Bool root :: h a -> a height :: h a -> Integer -- Default: Uebung! weight :: h a -> Integer -- Default: s.u. successors :: h a -> [h a] preorder :: h a -> [a] -- Default: Uebung! showtree :: (Show a) => h a -> String -- Default: spaeter Default-Implementierung für weight: weight t = if isemptytree t then 0 -- else if length (successors t) == 0 then 1 else 1 + sum (map weight (successors t)) Es ist möglich, in der Default-Implementierung Funktionen zu verwenden, die selbst noch nicht implementiert sind! Default-Implementierungen gelten für alle Implementierungen von Bäumen und deren Unterklassen. Funktionale Programmierung mit Haskell 5.9
11 Default-Methoden für binäre Bäume class (Tree h) => BinTree h where consleaf :: a -> h a constree :: (a, h a, h a) -> h a left, right :: h a -> h a inorder :: h a -> [a] Auch die für die Oberklasse definierten Methoden dürfen in Default- Implementierungen verwendet werden: inorder t = if isemptytree t then [] else inorder (left t) ++ [root t] ++ inorder (right t) left t = (successors t)!!0 -- Fehlermeldung fehlt! right t = (successors t)!!1 Es ist nicht möglich, nachträglich Default-Implementierungen für Methoden der Oberklasse anzugeben, aber es ist möglich, diese für konkrete Instanzen durch effizientere Implementierungen zu ersetzen, z.b. left und right. Funktionale Programmierung mit Haskell 5.10
12 Instanzendeklarationen Eine Instanzendeklaration legt fest, dass ein (an anderer Stelle definierter) Typ Instanz einer Typklasse sein soll. (Report No ) Beispiel: instance (Show a) => Show (T_Stack a) where show = showstack An instance declaration introduces an instance of a class. Let class cx => C u where { cbody } be a class declaration. The general form of the corresponding instance declaration is: instance cx => C (T u1... uk) where { d } where k 0. The type (T u1... uk) must take the form of a type constructor T applied to simple type variables u1,... uk; furthermore, [T must not be a type synonym, and] the ui must all be distinct. Funktionale Programmierung mit Haskell 5.11
13 Bemerkungen zur Instanzendeklaration The declarations d may contain bindings only for the class methods of C. Zusätzliche Funktionsdeklarationen für diesen Typ können außerhalb der Instanzendeklaration vorgenommen werden (beispielsweise bei der Typdeklaration). Sie gelten dann nur für diese Instanz, nicht für die anderen Typen der Klasse. instance Stack [] where... erlaubt den Zugriff auf alle Elemente des Stacks mit!!. Wird ein Typ zur Instanz einer Klasse gemacht, die eine Oberklasse voraussetzt, so muss er auch zur Instanz der Oberklasse gemacht werden. As in the case of default class methods, the method declarations must take the form of a variable or function definition. Aber Mustervergleich geht hier, sofern es sich um algebraische Datentypen handelt. The declarations may not contain any type signatures or fixity declarations, since these have already been given in the class declaration. Funktionale Programmierung mit Haskell 5.12
14 Die Standardimplementierung der binären Bäume Festlegung einer Implementierung als Termalgebra: data StandBinTree a = EmptyBinTree Node(a, StandBinTree a, StandBinTree a) Einbettung in die Klasse BinTree: (Es müssen mindestens die Funktionen implementiert werden, für die keine Default-Implementierung vorliegt.) instance BinTree StandBinTree where consleaf e = Node(e, EmptyBinTree, EmptyBinTree) constree = Node Ersetzen der ineffizienten Default-Implementierungen: left(node(_, l, _)) = l right(node(_, _, r)) = r Funktionale Programmierung mit Haskell 5.13
15 Einordnung in die Klasse Tree Man muss die Implementierung in alle gewünschten Klassen explizit einordnen. Die Einordnung in BinTree setzt voraus, dass die Implementierung auch in Tree eingeordnet wird: class (Tree h) => BinTree h where... Einordnung in die Klasse Tree: instance Tree StandBinTree where isemptytree(emptybintree) = True isemptytree(node(_,_,_)) = False root(emptybintree) = error "root of empty tree" root(node(r, _, _)) = r successors(emptybintree) = [] successors(node(_, l, r)) = [l, r] Hier darf Mustervergleich verwendet werden, da ein algebraischer Datentyp vorliegt. Funktionale Programmierung mit Haskell 5.14
16 Mehrfachvererbung Mehrfachvererbung ist auf zwei Wegen möglich: Eine Klasse kann mehrere Oberklassen besitzen. class (Eq a, Show a) => C a where... Ein Typ kann zu Instanzen von mehreren Klassen gemacht werden: instance BinTree StandBinTree where... instance (Show a) => Show (StandBinTree a) where... Die Instanzenbildung erfolgt auch längs des Vererbungsweges schrittweise: instance Tree StandBinTree where... instance BinTree StandBinTree where... instance BinSearchTree StandBinTree where... instance Balanced StandBinTree where... Die Reihenfolge spielt keine Rolle. Funktionale Programmierung mit Haskell 5.15
17 Bemerkungen zur Mehrfachvererbung Doppelte Verwendung eines Methodenbezeichners längs unterschiedlicher Wege bei Mehrfachvererbung ist nur über qualifizierten Import möglich und dann eindeutig. Eine spezielle Anwendung (Report 4.3.1): A class declaration with no where part may be useful for combining a collection of classes into a larger one that inherits all of the class methods in the original ones. Beispiel: class (Read a, Show a) => Textual a If a type is an instance of all superclasses, it is not automatically an instance of the subclass, even though the subclass has no immediate class methods. The instance declaration must be given explicitly with no where part. Wenn man alle Instanzendeklarationen zu einem Typ an einer Stelle des Programms sammelt, hat man einen guten Überblick über das, was definiert ist. (Das ist aber nicht in jedem Fall praktisch.) Funktionale Programmierung mit Haskell 5.16
18 Ausgabe von Bäumen Default-Implementierung für beliebige Bäume: showtree t = if isemptytree t then "-" else if length(successors t) == 0 then "(" ++ show (root t) ++ ")" else "(" ++ show (root t) ++ " " ++ sh (successors t) ++ ")" where sh [] = "" sh (hd:[]) = showtree hd sh (hd:tl) = showtree hd ++ " " ++ sh tl Einordnung der Standardimplementierung binärer Bäume in Show: instance (Show a) => Show (StandBinTree a) where show = showtree Bemerkung: sh entspricht beinahe map showtree. Funktionale Programmierung mit Haskell 5.17
19 Beispiel-Ausgaben mit der Default-Implementierung Beispiel: t2 = Node(87, Node(123, Node(471, EmptyBinTree, EmptyBinTree), Node(200, EmptyBinTree, EmptyBinTree) ), Node(256, EmptyBinTree, Node(317, EmptyBinTree, EmptyBinTree)) ) Ausgabe: Main> t2 (87 (123 ( ) ( )) (256 - ( ))) Die Default-Lösung druckt die Blätter entsprechend der Definition als Wurzel mit leeren Unterbäumen. Kann man diese leeren Unterbäume weglassen? Funktionale Programmierung mit Haskell 5.18
20 Alternative Ausgabe für binäre Bäume Neue Definition der Ausgabe nur für binäre Bäume: instance (Show a) => Show (StandBinTree a) where show(emptybintree) = "()" show(node(root, EmptyBinTree, EmptyBinTree)) = "(" ++ show root ++ ")" show(node(root, l, r)) = "(" ++ show root ++ " " ++ show(l) ++ " " ++ show(r) ++ ")" Beispielausgabe: Main> t2 (87 (123 (471) (200)) (256 () (317))) Man kann aber auch die Implementierung aus der Oberklasse benutzen: Main> showtree t2 "(87 (123 ( ) ( )) (256 - ( )))" Funktionale Programmierung mit Haskell 5.19
21 Ableitungsbäume Ableitungsbaum = Graphische Darstellung einer Ableitung bei kontextfreien Grammatiken expr expr + term term term * factor expr ::= expr + term expr - term term term ::= term * factor term / factor factor factor var factor var num factor ::= var num ( expr ) Terminale Symbole: + - * / var num ( ) Nichtterminale Symbole: expr term factor Startsymbol: expr Funktionale Programmierung mit Haskell 5.20
22 Ableitungsbäume in Haskell Wiederholung: Klasse der Bäume class Tree h where isemptytree :: h a -> Bool root :: h a -> a height, weight :: h a -> Integer successors :: h a -> [h a] preorder :: h a -> [a] showtree :: (Show a) => h a -> String Bei einem Ableitungsbaum sind die Blätter mit terminalen Symbolen, die anderen Knoten mit nichtterminalen markiert. Klasse der Ableitungsbäume: class (Tree h) => DerivTree h where termnode :: a -> h a nontermnode :: (Eq a) => (a, [a]) -> [h a] -> h a (a, [a]) ist der Typ der Produktion. Für a wird stets String eingesetzt. Funktionale Programmierung mit Haskell 5.21
23 Implementierung der Ableitungsbäume Ein beliebiger Baum ist entweder leer, oder er besteht aus einem Knoten (mit Inhalt) und einer Liste von Unterbäumen: data StandArbTree a = EmptyArbTree ArbNode(a, [StandArbTree a]) Wir machen diese Implementierung zu einer Instanz der Klasse der Ableitungsbäume: instance DerivTree StandArbTree where Ein Blatt ist mit einem terminalen Symbol s markiert: termnode s = ArbNode(s, []) Ein nichtterminal markierter Knoten entsteht dadurch, dass eine Folge von Unterbäumen gemäß einer Produktion zusammengefasst wird: nontermnode (lhs, rhs) subtrees = if map root subtrees == rhs then ArbNode(lhs, subtrees) else error "production not applicable" Die Wurzeln der Unterbäume müssen mit den Symbolen der rechten Seite der Produktion übereinstimmen! Funktionale Programmierung mit Haskell 5.22
24 Allgemeine Bäume sind Bäume Einordnung in die Klasse Tree: instance Tree StandArbTree where isemptytree EmptyArbTree = True isemptytree (ArbNode(_, _)) = False root EmptyArbTree = error "root of empty tree" root(arbnode(r, _)) = r successors EmptyArbTree = [] successors(arbnode(_, s)) = s Einordnung in die Klasse Show: instance (Show a) => Show (StandArbTree a) where show = showtree Man kann natürlich eine optisch schönere Ausgabe implementieren. Funktionale Programmierung mit Haskell 5.23
25 Einfaches Beispiel Beispiele von Blättern: d1, d2, d3 :: StandArbTree String d1 = termnode "expr" d2 = termnode "+" d3 = termnode "term" Da termnode eine Klassenmethode ist, muss die gewünschte Implementierung explizit angegeben werden. (Eine genügt hier aber!) Main> d1 ("expr") Die Produktion expr ::= expr + term: p1 = ("expr", ["expr", "+", "term"]) Aufbau eines kleinen Ableitungsbaumes: d4 = nontermnode p1 [d1, d2, d3] d5 = nontermnode p1 [d4, d2, d3] Main> d5 ("expr" ("expr" ("expr") ("+") ("term")) ("+") ("term")) Funktionale Programmierung mit Haskell 5.24
Funktionale Programmierung mit Haskell
Funktionale Programmierung mit Haskell Prof. Dr. Hans J. Schneider Lehrstuhl für Programmiersprachen und Programmiermethodik Friedrich-Alexander-Universität Erlangen-Nürnberg Sommersemester 2011 I. Die
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
Mehr4. Jeder Knoten hat höchstens zwei Kinder, ein linkes und ein rechtes.
Binäre Bäume Definition: Ein binärer Baum T besteht aus einer Menge von Knoten, die durch eine Vater-Kind-Beziehung wie folgt strukturiert ist: 1. Es gibt genau einen hervorgehobenen Knoten r T, die Wurzel
MehrFolge 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
Mehr13. Binäre Suchbäume
1. Binäre Suchbäume Binäre Suchbäume realiesieren Wörterbücher. Sie unterstützen die Operationen 1. Einfügen (Insert) 2. Entfernen (Delete). Suchen (Search) 4. Maximum/Minimum-Suche 5. Vorgänger (Predecessor),
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
MehrLernziele: Ausgleichstechniken für binäre Bäume verstehen und einsetzen können.
6. Bäume Lernziele 6. Bäume Lernziele: Definition und Eigenschaften binärer Bäume kennen, Traversierungsalgorithmen für binäre Bäume implementieren können, die Bedeutung von Suchbäumen für die effiziente
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
MehrWiederholung ADT Menge Ziel: Verwaltung (Finden, Einfügen, Entfernen) einer Menge von Elementen
Was bisher geschah abstrakter Datentyp : Signatur Σ und Axiome Φ z.b. ADT Menge zur Verwaltung (Finden, Einfügen, Entfernen) mehrerer Elemente desselben Typs Spezifikation einer Schnittstelle Konkreter
MehrKONSTRUKTION VON ROT-SCHWARZ-BÄUMEN
KONSTRUKTION VON ROT-SCHWARZ-BÄUMEN RALF HINZE Institut für Informatik III Universität Bonn Email: ralf@informatik.uni-bonn.de Homepage: http://www.informatik.uni-bonn.de/~ralf Februar, 2001 Binäre Suchbäume
MehrKapiteltests zum Leitprogramm Binäre Suchbäume
Kapiteltests zum Leitprogramm Binäre Suchbäume Björn Steffen Timur Erdag überarbeitet von Christina Class Binäre Suchbäume Kapiteltests für das ETH-Leitprogramm Adressaten und Institutionen Das Leitprogramm
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
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
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
MehrGrundlagen der Programmierung 2. Bäume
Grundlagen der Programmierung 2 Bäume Prof. Dr. Manfred Schmidt-Schauÿ Künstliche Intelligenz und Softwaretechnologie 24. Mai 2006 Graphen Graph: Menge von Knoten undzugehörige (gerichtete oder ungerichtete)
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
MehrProgrammieren in Haskell Einführung
Programmieren in Haskell Einführung Peter Steffen Universität Bielefeld Technische Fakultät 16.10.2009 1 Programmieren in Haskell Veranstalter Dr. Peter Steffen Raum: M3-124 Tel.: 0521/106-2906 Email:
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
MehrSuchmaschinen. Universität Augsburg, Institut für Informatik SS 2014 Prof. Dr. W. Kießling 23. Mai 2014 Dr. M. Endres, F. Wenzel Lösungsblatt 6
Universität Augsburg, Institut für Informatik SS 2014 Prof. Dr. W. Kießling 23. Mai 2014 Dr. M. Endres, F. Wenzel Lösungsblatt 6 Aufgabe 1: Pareto mit SV-Semantik Suchmaschinen Pareto Definition: x < P
MehrEinfache Ausdrücke Datentypen Rekursive funktionale Sprache Franz Wotawa Institut für Softwaretechnologie wotawa@ist.tugraz.at
Inhalt SWP Funktionale Programme (2. Teil) Einfache Ausdrücke Datentypen Rekursive funktionale Sprache Franz Wotawa Institut für Softwaretechnologie wotawa@ist.tugraz.at Interpreter für funktionale Sprache
MehrErweiterung der Aufgabe. Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen:
VBA Programmierung mit Excel Schleifen 1/6 Erweiterung der Aufgabe Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen: Es müssen also 11 (B L) x 35 = 385 Zellen berücksichtigt
Mehr7 Rechnen mit Polynomen
7 Rechnen mit Polynomen Zu Polynomfunktionen Satz. Zwei Polynomfunktionen und f : R R, x a n x n + a n 1 x n 1 + a 1 x + a 0 g : R R, x b n x n + b n 1 x n 1 + b 1 x + b 0 sind genau dann gleich, wenn
MehrLineargleichungssysteme: Additions-/ Subtraktionsverfahren
Lineargleichungssysteme: Additions-/ Subtraktionsverfahren W. Kippels 22. Februar 2014 Inhaltsverzeichnis 1 Einleitung 2 2 Lineargleichungssysteme zweiten Grades 2 3 Lineargleichungssysteme höheren als
MehrHandbuch. Artologik EZ-Equip. Plug-in für EZbooking version 3.2. Artisan Global Software
Artologik EZ-Equip Plug-in für EZbooking version 3.2 Artologik EZbooking und EZ-Equip EZbooking, Ihre webbasierte Software zum Reservieren von Räumen und Objekten, kann nun durch die Ergänzung um ein oder
MehrInformatik II Bäume. Beispiele. G. Zachmann Clausthal University, Germany zach@in.tu-clausthal.de. Stammbaum. Stammbaum. Stammbaum
lausthal Beispiele Stammbaum Informatik II. Zachmann lausthal University, ermany zach@in.tu-clausthal.de. Zachmann Informatik - SS 06 Stammbaum Stammbaum / Parse tree, Rekursionsbaum Parse tree, Rekursionsbaum
MehrWS 2009/10. Diskrete Strukturen
WS 2009/10 Diskrete Strukturen Prof. Dr. J. Esparza Lehrstuhl für Grundlagen der Softwarezuverlässigkeit und theoretische Informatik Fakultät für Informatik Technische Universität München http://www7.in.tum.de/um/courses/ds/ws0910
MehrMatrix42. Use Case - Sicherung und Rücksicherung persönlicher Einstellungen über Personal Backup. Version 1.0.0. 23. September 2015 - 1 -
Matrix42 Use Case - Sicherung und Rücksicherung persönlicher Version 1.0.0 23. September 2015-1 - Inhaltsverzeichnis 1 Einleitung 3 1.1 Beschreibung 3 1.2 Vorbereitung 3 1.3 Ziel 3 2 Use Case 4-2 - 1 Einleitung
MehrScala kann auch faul sein
Scala kann auch faul sein Kapitel 19 des Buches 1 Faulheit Faulheit ( lazy evaluation ) ist auch in C oder Java nicht unbekannt int x=0; if(x!=0 && 10/x>3){ System.out.println("In if"); } Nutzen der Faulheit?
MehrAnmerkungen zur Übergangsprüfung
DM11 Slide 1 Anmerkungen zur Übergangsprüfung Aufgabeneingrenzung Aufgaben des folgenden Typs werden wegen ihres Schwierigkeitsgrads oder wegen eines ungeeigneten fachlichen Schwerpunkts in der Übergangsprüfung
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:
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Dipl. Inform. Andreas Wilkens aw@awilkens.com Überblick Grundlagen Definitionen Elementare Datenstrukturen Rekursionen Bäume 2 1 Datenstruktur Baum Definition eines Baumes
MehrWürfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.
040304 Übung 9a Analysis, Abschnitt 4, Folie 8 Die Wahrscheinlichkeit, dass bei n - maliger Durchführung eines Zufallexperiments ein Ereignis A ( mit Wahrscheinlichkeit p p ( A ) ) für eine beliebige Anzahl
Mehr368 4 Algorithmen und Datenstrukturen
Kap04.fm Seite 368 Dienstag, 7. September 2010 1:51 13 368 4 Algorithmen und Datenstrukturen Java-Klassen Die ist die Klasse Object, ein Pfeil von Klasse A nach Klasse B bedeutet Bextends A, d.h. B ist
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
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
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
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.
MehrIdee: Wenn wir beim Kopfknoten zwei Referenzen verfolgen können, sind die Teillisten kürzer. kopf Eine Datenstruktur mit Schlüsselwerten 1 bis 10
Binäre Bäume Bäume gehören zu den wichtigsten Datenstrukturen in der Informatik. Sie repräsentieren z.b. die Struktur eines arithmetischen Terms oder die Struktur eines Buchs. Bäume beschreiben Organisationshierarchien
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
MehrALP I. Funktionale Programmierung
ALP I Funktionale Programmierung Sortieren und Suchen (Teil 1) WS 2012/2013 Suchen 8 False unsortiert 21 4 16 7 19 11 12 7 1 5 27 3 8 False sortiert 2 4 6 7 9 11 12 18 21 24 27 36 Suchen in unsortierten
MehrBinäre Bäume Darstellung und Traversierung
Binäre Bäume Darstellung und Traversierung Name Frank Bollwig Matrikel-Nr. 2770085 E-Mail fb641378@inf.tu-dresden.de Datum 15. November 2001 0. Vorbemerkungen... 3 1. Terminologie binärer Bäume... 4 2.
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
Mehr3.2 Binäre Suche. Usr/local/www/ifi/fk/menschen/schmid/folien/infovk.ppt 1
3.2 Binäre Suche Beispiel 6.5.1: Intervallschachtelung (oder binäre Suche) (Hier ist n die Anzahl der Elemente im Feld!) Ein Feld A: array (1..n) of Integer sei gegeben. Das Feld sei sortiert, d.h.: A(i)
MehrWir machen neue Politik für Baden-Württemberg
Wir machen neue Politik für Baden-Württemberg Am 27. März 2011 haben die Menschen in Baden-Württemberg gewählt. Sie wollten eine andere Politik als vorher. Die Menschen haben die GRÜNEN und die SPD in
MehrSuchbäume. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung
Suchbäume 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
MehrBenutzerhandbuch - Elterliche Kontrolle
Benutzerhandbuch - Elterliche Kontrolle Verzeichnis Was ist die mymaga-startseite? 1. erste Anmeldung - Administrator 2. schnittstelle 2.1 Administrator - Hautbildschirm 2.2 Administrator - rechtes Menü
MehrBinärbäume als weiteres Beispiel für abstrakte Datentypen in PVS mit in Knoten gespeicherten Werten vom Typ T:
Binäre Bäume Binärbäume als weiteres Beispiel für abstrakte Datentypen in PVS mit in Knoten gespeicherten Werten vom Typ T: BinTree [T: TYPE]: DATATYPE empty: empty? node (key: T, left:bibtree, right:bibtree):
MehrErwin Grüner 09.02.2006
FB Psychologie Uni Marburg 09.02.2006 Themenübersicht Folgende Befehle stehen in R zur Verfügung: {}: Anweisungsblock if: Bedingte Anweisung switch: Fallunterscheidung repeat-schleife while-schleife for-schleife
MehrTypdeklarationen. Es gibt in Haskell bereits primitive Typen:
Typdeklarationen Es gibt in bereits primitive Typen: Integer: ganze Zahlen, z.b. 1289736781236 Int: ganze Zahlen mit Computerarithmetik, z.b. 123 Double: Fließkommazahlen, z.b. 3.14159 String: Zeichenketten,
MehrBedienungsanleitung: Onlineverifizierung von qualifiziert signierten PDF-Dateien
Sie haben von der VR DISKONTBANK GmbH ein signiertes PDF-Dokument (i.d.r. eine Zentralregulierungsliste mit dem Status einer offiziellen Rechnung) erhalten und möchten nun die Signatur verifizieren, um
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 Programmierung
: Inhalt Einführung in die Programmierung Wintersemester 2008/09 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund - mit / ohne Parameter - mit / ohne Rückgabewerte
MehrAlgorithmen und Datenstrukturen Suchbaum
Algorithmen und Datenstrukturen Suchbaum Matthias Teschner Graphische Datenverarbeitung Institut für Informatik Universität Freiburg SS 12 Motivation Datenstruktur zur Repräsentation dynamischer Mengen
MehrLehrer: Einschreibemethoden
Lehrer: Einschreibemethoden Einschreibemethoden Für die Einschreibung in Ihren Kurs gibt es unterschiedliche Methoden. Sie können die Schüler über die Liste eingeschriebene Nutzer Ihrem Kurs zuweisen oder
MehrXML-Austauschformat für Sicherheitsdatenblätter
XML-Austauschformat für Sicherheitsdatenblätter Version 2.0 / 15. Dezember 2008 www.edas.org 1 XML-Austauschformat für Sicherheitsdatenblätter Der Austausch der Sicherheitsdatenblätter erfolgt als XML-Datei.
MehrKapitel MK:IV. IV. Modellieren mit Constraints
Kapitel MK:IV IV. Modellieren mit Constraints Einführung und frühe Systeme Konsistenz I Binarization Generate-and-Test Backtracking-basierte Verfahren Konsistenz II Konsistenzanalyse Weitere Analyseverfahren
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/
MehrBusiness Breakfast. Collaboration and more - Wie Windows 10 die IT-Landschaft in Ihrem Unternehmen beeinflussen wird. Ludwigshafen, 11.
Business Breakfast Collaboration and more - Wie Windows 10 die IT-Landschaft in Ihrem Unternehmen beeinflussen wird Ludwigshafen, 11. Juni 2015 Auf Kacheln oder Fenster schauen 2 Auf oder durch Fenster
MehrDiana Lange. Generative Gestaltung Operatoren
Diana Lange Generative Gestaltung Operatoren Begriffserklärung Verknüpfungsvorschrift im Rahmen logischer Kalküle. Quelle: google Operatoren sind Zeichen, die mit einer bestimmten Bedeutung versehen sind.
MehrErstellen 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
Mehr13 OOP MIT DELPHI. Records und Klassen Ein Vergleich
13 OOP MIT DELPHI Delphi war früher "Object Pascal". Dieser Name impliziert eine Funktionalität, welche in der Welt der Programmierung nicht mehr wegzudenken ist: die objektorientierte Programmierung,
MehrWPF Steuerelemente Listbox, ComboBox, ListView,
WPF Steuerelemente Listbox, ComboBox, ListView, Dr. Beatrice Amrhein Überblick Einführung Listen ComboBox Tabellen 2 Einführung 3 Listen- und Tabellen-Elemente Listen und Tabellen-Elemente sind Steuerelemente,
MehrEndTermTest PROGALGO WS1516 A
EndTermTest PROGALGO WS1516 A 14.1.2016 Name:................. UID:.................. PC-Nr:................ Beachten Sie: Lesen Sie erst die Angaben aufmerksam, genau und vollständig. Die Verwendung von
MehrInformationsblatt Induktionsbeweis
Sommer 015 Informationsblatt Induktionsbeweis 31. März 015 Motivation Die vollständige Induktion ist ein wichtiges Beweisverfahren in der Informatik. Sie wird häufig dazu gebraucht, um mathematische Formeln
MehrDokumentenverwaltung im Internet
Dokumentenverwaltung im Internet WS 09/10 mit: Thema: Workflow und Rollenverteilung im Backend Gruppe: DVI 10 Patrick Plaum und Kay Hofmann Inhalt 1. Benutzer und Benutzergruppen erstellen...2 1.1. Benutzergruppen...2
MehrDas Typsystem von Scala. L. Piepmeyer: Funktionale Programmierung - Das Typsystem von Scala
Das Typsystem von Scala 1 Eigenschaften Das Typsystem von Scala ist statisch, implizit und sicher 2 Nichts Primitives Alles ist ein Objekt, es gibt keine primitiven Datentypen scala> 42.hashCode() res0:
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
MehrBitte wenden. Name: KURSARBEIT NR. 4 (10 DIFF GA) 18.06.2002. Seite 1
Aufgabe 1: Gegeben ist das folgende Programm: PR figur :n :Länge WH 3 [ VW :Länge WENN :n>1 DANN ( RE 90 figur :n-1 :Länge/2 RW :Länge Seite 1 Zeichne das Bild, welches beim Aufruf der Prozedur mit figur
MehrTypumwandlungen bei Referenztypen
Typumwandlungen bei Referenztypen Genau wie es bei einfachen Typen Typumwandlungen gibt, gibt es auch bei Referenztypen Umwandlungen von einem Referenztypen in einen anderen Referenztypen, die wie bei
MehrFunktionale Programmierung mit Haskell
Funktionale Programmierung mit Haskell Dr. Michael Savorić Hohenstaufen-Gymnasium (HSG) Kaiserslautern Version 20120622 Überblick Wichtige Eigenschaften Einführungsbeispiele Listenerzeugung und Beispiel
MehrGrundlagen der Künstlichen Intelligenz
Grundlagen der Künstlichen Intelligenz 22. Constraint-Satisfaction-Probleme: Kantenkonsistenz Malte Helmert Universität Basel 14. April 2014 Constraint-Satisfaction-Probleme: Überblick Kapitelüberblick
MehrSysteme 1. Kapitel 6. Nebenläufigkeit und wechselseitiger Ausschluss
Systeme 1 Kapitel 6 Nebenläufigkeit und wechselseitiger Ausschluss Threads Die Adressräume verschiedener Prozesse sind getrennt und geschützt gegen den Zugriff anderer Prozesse. Threads sind leichtgewichtige
MehrModellierung und Programmierung 1
Modellierung und Programmierung 1 Prof. Dr. Sonja Prohaska Computational EvoDevo Group Institut für Informatik Universität Leipzig 19. November 2015 Gültigkeitsbereich (Scope) von Variablen { int m; {
MehrÜbung Theoretische Grundlagen Nachtrag zur Vorlesung Dirk Achenbach 21.11.2013
Übung Theoretische Grundlagen Nachtrag zur Vorlesung Dirk Achenbach 21.11.2013 INSTITUT FÜR KRYPTOGRAPHIE UND SICHERHEIT KIT University of the State of Baden-Wuerttemberg and National Laboratory of the
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
MehrGrundlagen der höheren Mathematik Einige Hinweise zum Lösen von Gleichungen
Grundlagen der höheren Mathematik Einige Hinweise zum Lösen von Gleichungen 1. Quadratische Gleichungen Quadratische Gleichungen lassen sich immer auf die sog. normierte Form x 2 + px + = 0 bringen, in
MehrObjects First With Java A Practical Introduction Using BlueJ. Mehr über Vererbung. Exploring polymorphism 1.0
Objects First With Java A Practical Introduction Using BlueJ Mehr über Vererbung Exploring polymorphism 1.0 Zentrale Konzepte dieses Kapitels Methoden-Polymorphie statischer und dynamischer Typ Überschreiben
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
MehrSimon die linke Hand des Handwerks
Simon die linke Hand des Handwerks Anleitung zur Einbindung der Filme per Embed-Code Alle Handwerksorganisationen und -betriebe können die Filme Simon die linke Hand des Handwerks in ihren Interntauftritt,
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
MehrProgrammierung 2. Übersetzer: Code-Erzeugung. Sebastian Hack. Klaas Boesche. Sommersemester 2012. hack@cs.uni-saarland.de. boesche@cs.uni-saarland.
1 Programmierung 2 Übersetzer: Code-Erzeugung Sebastian Hack hack@cs.uni-saarland.de Klaas Boesche boesche@cs.uni-saarland.de Sommersemester 2012 Bytecodes Der Java Übersetzer erzeugt keine Maschinensprache
MehrEnergetische Klassen von Gebäuden
Energetische Klassen von Gebäuden Grundsätzlich gibt es Neubauten und Bestandsgebäude. Diese Definition ist immer aktuell. Aber auch ein heutiger Neubau ist in drei (oder vielleicht erst zehn?) Jahren
MehrGrundlagen von Python
Einführung in Python Grundlagen von Python Felix Döring, Felix Wittwer November 17, 2015 Scriptcharakter Programmierparadigmen Imperatives Programmieren Das Scoping Problem Objektorientiertes Programmieren
MehrHochschule Ravensburg-Weingarten. Technik Wirtschaft Sozialwesen. Projektarbeit
Hochschule Ravensburg-Weingarten Technik Wirtschaft Sozialwesen Projektarbeit Entwicklung eines Reitmoduls mit Reitstundenverwaltung für eine existierende Homepage eines Reitvereins vorgelegt von: Tobias
MehrDatenstrukturen & Algorithmen
Datenstrukturen & Algorithmen Matthias Zwicker Universität Bern Frühling 2010 Übersicht Binäre Suchbäume Einführung und Begriffe Binäre Suchbäume 2 Binäre Suchbäume Datenstruktur für dynamische Mengen
MehrAlgorithms & Datastructures Midterm Test 1
Algorithms & Datastructures Midterm Test 1 Wolfgang Pausch Heiko Studt René Thiemann Tomas Vitvar
Mehr1. Adressen für den Serienversand (Briefe Katalogdruck Werbung/Anfrage ) auswählen. Die Auswahl kann gespeichert werden.
Der Serienversand Was kann man mit der Maske Serienversand machen? 1. Adressen für den Serienversand (Briefe Katalogdruck Werbung/Anfrage ) auswählen. Die Auswahl kann gespeichert werden. 2. Adressen auswählen,
MehrInformatik GK 12 Klassen Klassen programmieren in Delphi am Beispiel der konkreten Klasse Auto
programmieren in Delphi am Beispiel der konkreten Klasse Auto Auto -Baujahr -Typ -Besitzer -Farbe -Kilometerstand -Fahren() -Bremsen() Objekt1: Auto Typ: Golf Baujahr: 1998 Besitzer: Peter Farbe: rot Kilometerstand:
MehrBeweisbar sichere Verschlüsselung
Beweisbar sichere Verschlüsselung ITS-Wahlpflichtvorlesung Dr. Bodo Möller Ruhr-Universität Bochum Horst-Görtz-Institut für IT-Sicherheit Lehrstuhl für Kommunikationssicherheit bmoeller@crypto.rub.de 6
MehrEvident VDDS-Anbindung von MIZ
Evident VDDS-Anbindung von MIZ Die VDDS Schnittstelle erlaubt die Übernahme der Patientendaten aus Evident in MIZ. Außerdem können Sie aus Evident heraus (aus der Patientenkarteikarte) MIZ oder den MIZViewer
Mehr15 Optimales Kodieren
15 Optimales Kodieren Es soll ein optimaler Kodierer C(T ) entworfen werden, welcher eine Information (z.b. Text T ) mit möglichst geringer Bitanzahl eindeutig überträgt. Die Anforderungen an den optimalen
MehrAGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom 21.10.2013b
AGROPLUS Buchhaltung Daten-Server und Sicherheitskopie Version vom 21.10.2013b 3a) Der Daten-Server Modus und der Tresor Der Daten-Server ist eine Betriebsart welche dem Nutzer eine grosse Flexibilität
MehrMenü auf zwei Module verteilt (Joomla 3.4.0)
Menü auf zwei Module verteilt (Joomla 3.4.0) Oft wird bei Joomla das Menü in einem Modul dargestellt, wenn Sie aber z.b. ein horizontales Hauptmenü mit einem vertikalen Untermenü machen möchten, dann finden
MehrWas bisher geschah. deklarative Programmierung. funktionale Programmierung (Haskell):
Was bisher geschah deklarative Programmierung funktional: Programm: Menge von Termgleichungen, Term Auswertung: Pattern matsching, Termumformungen logisch: Programm: Menge von Regeln (Horn-Formeln), Formel
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 9 Prof. Dr. R. Hennicker, A. Klarl Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung:
MehrMathematischer Vorbereitungskurs für Ökonomen
Mathematischer Vorbereitungskurs für Ökonomen Dr. Thomas Zehrt Wirtschaftswissenschaftliches Zentrum Universität Basel Gleichungen Inhalt: 1. Grundlegendes 2. Lineare Gleichungen 3. Gleichungen mit Brüchen
MehrDie Gleichung A x = a hat für A 0 die eindeutig bestimmte Lösung. Für A=0 und a 0 existiert keine Lösung.
Lineare Gleichungen mit einer Unbekannten Die Grundform der linearen Gleichung mit einer Unbekannten x lautet A x = a Dabei sind A, a reelle Zahlen. Die Gleichung lösen heißt, alle reellen Zahlen anzugeben,
MehrSkript und Aufgabensammlung Terme und Gleichungen Mathefritz Verlag Jörg Christmann Nur zum Privaten Gebrauch! Alle Rechte vorbehalten!
Mathefritz 5 Terme und Gleichungen Meine Mathe-Seite im Internet kostenlose Matheaufgaben, Skripte, Mathebücher Lernspiele, Lerntipps, Quiz und noch viel mehr http:// www.mathefritz.de Seite 1 Copyright
MehrInformatik 11 Kapitel 2 - Rekursive Datenstrukturen
Fachschaft Informatik Informatik 11 Kapitel 2 - Rekursive Datenstrukturen Michael Steinhuber König-Karlmann-Gymnasium Altötting 15. Januar 2016 Folie 1/77 Inhaltsverzeichnis I 1 Datenstruktur Schlange
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)
Mehr