Datenstruktur zum Speichern einer endlichen Menge M von Zahlen. Genauer:
|
|
- Gerrit Weiß
- vor 8 Jahren
- Abrufe
Transkript
1 Binäre Suchbäume (binary search trees, kurz: bst) Datenstruktur zum Speichern einer endlichen Menge M von Zahlen. Genauer: Binärbaum T mit n := M Knoten Jeder Knoten v von T ist mit einer Zahl m v M markiert. Und zwar so, dass es für jedes m M einen Knoten v von T gibt mit m v = m. Für jeden Knoten v von T, alle Knoten u im linken Teilbaum unter v und alle Knoten w im rechten Teilbaum unter v gilt: m u < m v < m w. Implementation als Logik-Programm: Programm 3.14: searchtree.pl % Binaere Suchbaeume mit Integer-Eintraegen in den Knoten bst(x) :- bst(x, minus_infinity, infinity). bst(nil, _, _). % leerer Suchbaum bst(node(n,tl,tr), Nmin, Nmax) :- integer(n), leq(nmin,n), leq(n,nmax), NminusOne is N-1, NplusOne is N+1, bst(tl, Nmin, NminusOne), bst(tr, NplusOne, Nmax). % leq steht fuer "less than or equal to" leq(minus_infinity, _). leq(_, infinity). leq(n,m) :- integer(n), integer(m), N =< M. % Zahl einfuegen in einen bst bst_insert(n, nil, node(n,nil,nil)). bst_insert(n, node(n,tl,tr), node(n,tl,tr)). bst_insert(n, node(m,tl,tr), node(m,ul,tr)) :- N < M, bst_insert(n, Tl, Ul). bst_insert(n, node(m,tl,tr), node(m,tl,ur)) :- N > M, bst_insert(n, Tr, Ur). % Liste von Zahlen einfuegen in einen bst bst_list_insert([], T, T). 26. November 2014 Seite 123
2 bst_list_insert([n Ns], T, U) :- bst_insert(n, T, T1), bst_list_insert(ns, T1, U). % Testen, ob Zahl in bst enthalten ist bst_member(n, node(n,_,_)). bst_member(n, node(m,tl,_)) :- N < M, bst_member(n, Tl). bst_member(n, node(m,_,tr)) :- N > M, bst_member(n, Tr). % Maximales Element finden und loeschen bst_delmax(node(m,tl,nil), M, Tl). bst_delmax(node(m,tl,tr), N, node(m,tl,u)) :- bst_delmax(tr, N, U). % Zahl loeschen bst_delete(_, nil, nil). bst_delete(n, node(n,tl,nil), Tl). bst_delete(n, node(n,nil,tr), Tr). bst_delete(n, node(n,tl,tr), node(m,u,tr)) :- bst_delmax(tl, M, U). bst_delete(n, node(m,tl,tr), node(m,u,tr)) :- N < M, bst_delete(n, Tl, U). bst_delete(n, node(m,tl,tr), node(m,tl,u)) :- N > M, bst_delete(n, Tr, U). Folie 191 Repräsentation aussagenlogischer Formeln und Interpretationen 1. Ziel: al(term) soll besagen, dass Term eine aussagenlogische Formel repräsentiert. Ansatz: Die booleschen Konstanten 0 und 1 repräsentieren wir durch die booleschen Werte 0 und 1. Aussagensymbole (d.h. Aussagenvariablen) repräsentieren wir durch Atome (d.h. Zeichenketten, die mit einem Kleinbuchstaben beginnen oder in einfachen Anführungszeichen stehen). Die Junktoren,,, repräsentieren wir durch die Operatoren ~, /\, \/, =>. Wir wollen diese auf die übliche Art schreiben, d.h. wir wollen z.b. schreiben: Seite November 2014
3 statt (a /\ b) => ~c => ( /\ (a, b), ~(c) ) (wobei Letzteres die natürliche Term-Darstellung des Syntaxbaums der Formel ist). Dies erreichen wir in Prolog durch die folgende Definition von Operatoren: Folie 192 :- op(100, fy, ~). % Negation :- op(200, xfx, /\). % Konjunktion :- op(200, xfx, \/). % Disjunktion :- op(300, xfx, =>). % Implikation Generelles Schema von Operatordefinitionen in Prolog: :- op(x,y,z). mit X : Priorität des Operators (ganze Zahl zwischen 1 und 1200; je näher bei 1 desto höher die Priorität), Y : Spezifikation des Operators, Z : Name des Operators. Die Spezifikation fy gibt an, dass der Operator 1-stellig ist, von links an sein Argument geschrieben wird und assoziativ ist. Beispiel: ~ ~ ~ a steht für ~(~(~(a))) Die Spezifikation xfx gibt an, dass der Operator 2-stellig ist, zwischen seine beiden Argumente geschrieben wird und nicht assoziativ ist. Beispiel: ( (a /\ b) /\ c ) steht für /\ ( /\ (a,b), c ). ( a /\ b /\ c ) ist nicht erlaubt. Das 1. Ziel, eine Beschreibung al(term), die besagt, dass Term eine aussagenlogische Formel repräsentiert, wird durch die Zeilen 1 20 des unten stehenden Programms al.pl erreicht. Folie Ziel: Repräsentiere aussagenlogische Interpretationen durch eine geeignete Datenstruktur, die Zugriff auf die den einzelnen Aussagensymbolen zugeordneten Wahrheitswerte liefert. Dies wird durch die Zeilen des Programms al.pl erreicht. 26. November 2014 Seite 125
4 3. Ziel: al eval(i,f,wert) soll besagen, dass die Formel F unter Interpretation I den Wahrheitswert Wert hat. Dies wird durch die Zeilen des Programms al.pl erreicht. Programm 3.15: al.pl % aussagenlogische Junktoren :- op(100, fy, ~). % Negation :- op(200, xfx, /\). % Konjunktion :- op(200, xfx, \/). % Disjunktion :- op(300, xfx, =>). % Implikation % boolesche Konstanten 0 und 1 bool(0). bool(1). % Aussagensymbole werden durch Atome repraesentiert as(x) :- atom(x). % al(term) besagt: Term repraesentiert eine aussagenlogische Formel al(b) :- bool(b). al(x) :- as(x). al(~ F) :- al(f). al(f1 /\ F2) :- al(f1), al(f2). al(f1 \/ F2) :- al(f1), al(f2). al(f1 => F2) :- al(f1), al(f2). %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Interpretationen % % repraesentiere z.b. Interpret. I mit I(a)=0, I(b)=1, I(c)=0 % durch Liste [ maps(a,0), maps(b,1), maps(c,0) ] % die Interpretation mit leerem Definitionsbereich al_interpret_init([]). % al_interpret_get(i,x,b) bedeutet: % B ist der Wahrheitswert von X gemaess Interpretation I al_interpret_get([maps(x,b) _], X, B). al_interpret_get([maps(x1,_) J], X, B) :- X1 \== X, al_interpret_get(j, X, B). % al_interpret_put(i,x,b,j) bedeutet: J entsteht aus I, indem das Seite November 2014
5 % Aussagensymbol X auf den Wahrheitswert B agbebildet wird al_interpret_put(i, X, B, [maps(x,b) I]). % al_list2interpret(l,i) besagt, dass die Interpretation I % gemaess der Liste L definiert ist. Bsp: L von der Form % [ X1, B1, X2, B2,...] besagt, dass % das Aussagensymbol Xi den Wert Bi bekommt al_list2interpret([], I) :- al_interpret_init(i). al_list2interpret([x,b L], I) :- al_list2interpret(l, J), al_interpret_put(j, X, B, I). %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Auswertung von Formeln % % Ist I eine Interpretation, F eine aussagenlogische Formel und gilt % al_eval(i, F, Wert), so gibt Wert den Wahrheitswert von F % bzgl. der Interpretation I an al_eval(_, 0, 0). al_eval(_, 1, 1). al_eval(i, X, W) :- al_interpret_get(i, X, W). al_eval(i, ~ F, 0) :- al_eval(i, F, 1). al_eval(i, ~ F, 1) :- al_eval(i, F, 0). al_eval(i, F1 /\ _, 0) :- al_eval(i, F1, 0). al_eval(i, _ /\ F2, 0) :- al_eval(i, F2, 0). al_eval(i, F1 /\ F2, 1) :- al_eval(i, F1, 1), al_eval(i, F2, 1). al_eval(i, F1 \/ _, 1) :- al_eval(i, F1, 1). al_eval(i, _ \/ F2, 1) :- al_eval(i, F2, 1). al_eval(i, F1 \/ F2, 0) :- al_eval(i, F1, 0), al_eval(i, F2, 0). al_eval(i, F1 => _, 1) :- al_eval(i, F1, 0). al_eval(i, _ => F2, 1) :- al_eval(i, F2, 1). al_eval(i, F1 => F2, 0) :- al_eval(i, F1, 1), al_eval(i, F2, 0). Folie 194 Normalformen aussagenlogischer Formeln Ziele: al lit(x) soll testen, ob X ein aussagenlogisches Literal repräsentiert. al nnf(f) soll testen, ob F eine aussagenlogische Formel in Negationsnormalform repräsentiert. al clause(d) soll testen, ob D eine disjunktive Klausel repräsentiert. 26. November 2014 Seite 127
6 al cclause(c) soll testen, ob C eine konjunktive Klausel repräsentiert. al cnf(f) soll testen, ob F eine aussagenlogische Formel in konjunktiver Normalform repräsentiert. al dnf(f) soll testen, ob F eine aussagenlogische Formel in disjunktiver Normalform repräsentiert. al2nnf(f,g) soll eine gegebene Formel F in eine dazu äquivalente Formel G in Negationsnormalform transformieren. Programm 3.16: alnormalformen.pl :- ensure_loaded([al]). %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Teste, ob eine Formel eine bestimmte Gestalt hat % % Literal al_lit(x) :- as(x). al_lit(~ X) :- as(x). % Negationsnormalform al_nnf(f) :- al_lit(f). al_nnf(f /\ G) :- al_nnf(f), al_nnf(g). al_nnf(f \/ G) :- al_nnf(f), al_nnf(g). % disjunktive Klausel al_emptyclause(0). al_clause(l) :- al_lit(l). al_clause(l \/ D) :- al_lit(l), al_clause(d). % Konjunktive Normalform al_cnf(f) :- al_clause(f). al_cnf(c /\ F) :- al_clause(c), al_cnf(f). % konjunktive Klausel al_emptycclause(1). al_cclause(l) :- al_lit(l). al_cclause(l /\ C) :- al_lit(l), al_cclause(c). % disjunktive Normalform Seite November 2014
7 al_dnf(f) :- al_cclause(f). al_dnf(c \/ F) :- al_cclause(c), al_dnf(f). %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Transformation in NNF al2nnf(f,g) :- al2nnf(f,g,_). % al2nnf/3 gibt fuer eine Formel und ihr Negat aequivalente % Formeln in NNF. D.h.: al2nnf(f,g,h) bedeutet: % G ist NNF fuer F, und H ist NNF fuer ~F. % Konstruktion: analog zum Beweis von Satz 2.38 al2nnf(0,0,1). al2nnf(1,1,0). al2nnf(x, X, ~ X) :- as(x). al2nnf(~ X, ~ X, X) :- as(x). al2nnf(~ F, G, H) :- al2nnf(f, H, G). al2nnf(f1 /\ F2, G1 /\ G2, H1 \/ H2) :- al2nnf(f1,g1,h1), al2nnf(f2,g2,h2). al2nnf(f1 \/ F2, G1 \/ G2, H1 /\ H2) :- al2nnf(f1,g1,h1), al2nnf(f2,g2,h2). al2nnf(f1 => F2, H1 \/ G2, G1 /\ H2) :- al2nnf(f1,g1,h1), al2nnf(f2,g2,h2). 3.4 Operationelle Semantik Deklarative vs. Operationelle Semantik Folie 195 Die deklarative Semantik von Logikprogrammen beruht auf einer logischen Interpretation von Programmen (Regeln als Implikationen) und logischer Deduktion. Jetzt werden wir dieser deklarativen Semantik eine operationelle Semantik gegenüberstellen, indem wir einen Algorithmus angeben, der Programme ausführt (auf einem abstrakten, nichtdeterministischen Maschinenmodell). Dadurch legen wir ebenfalls die Antworten auf die Anfragen fest und weisen somit Programmen eine Bedeutung zu. Wir werden sehen, dass die deklarative Bedeutung von Programmen mit der operationellen übereinstimmt. 26. November 2014 Seite 129
8 Folie 196 Semantik von Programmiersprachen im Allgemeinen Generell unterscheidet man zwischen zwei Wegen, die Semantik von Programmiersprachen zu definieren: Die deklarative oder denotationelle Semantik ordnet Programmen Objekte in abstrakten mathematischen Räumen zu, in der Regel partielle Funktionen, oder im Fall von Logikprogrammen Mengen von Grundtermen. Zur Erinnerung: Die Bedeutung B(Π) eines Logik-Programms Π hatten wir definiert als die Menge aller Grundterme, die aus Π ableitbar sind. Die operationelle Semantik legt fest, wie Programme auf abstrakten Maschinenmodellen ausgeführt werden und bestimmt dadurch ihre Bedeutung. Folie 197 Notation PA := die Menge aller Atome PV := die Menge aller Variablen PK := die Menge aller Konstanten PT := die Menge aller Terme PF := die Menge aller Anfragen (d.h.: nicht-leere Listen von Termen) PR := die Menge aller Regeln PP := die Menge aller Logikprogramme Für jedes ξ aus PT PF PR PP bezeichnet Var(ξ) die Menge aller Variablen, die in ξ vorkommen. Ist S eine Substitution und α PF von der Form α 1,..., α m, so bezeichnet αs die Anfrage α 1 S,..., α m S. Entsprechend definieren wir für jede Regel ρ PR die Regel ρs. Seite November 2014
9 Beispiel. Ist ρ die Regel path(x,y) :- edge(x,z), path(z,y) dann ist Var(ρ) = {X, Y, Z}. Folie 198 Mehr über Substitutionen Zur Erinnerung: Eine Substitution ist eine partielle Abbildung S von PV nach PT. Den Definitionsbereich von S bezeichnen wir mit def(s), den Bildbereich mit bild(s). Die Verkettung zweier Substitutionen S und T ist die Substitution ST mit def(st ) = def(s) def(t ) und X(ST ) := (XS)T für alle X def(st ). Die Einschränkung einer Substitution S auf eine Menge V von Variablen ist die Substitution S V mit def(s V ) = def(s) V und XS V := XS für alle X def(s). Die leere Substitution bezeichnen wir mit I. Es gilt: θi = θ für alle θ PT, und IS = SI = S für alle Substitutionen S. Folie 199 Umbennungen Eine Umbenennung ist eine injektive partielle Abbildung von PV nach PV. Wegen PV PT, sind Umbenennungen spezielle Substitutionen. Eine Umbenennung für eine Menge V von Variablen ist eine Umbennung U mit def(u) = V. Ist U eine Umbennung, so bezeichnet U 1 ihre Umkehrung. Beispiel: U := {X Y, Y Z} ist eine Umbenennung für {X, Y}. U 1 = {Y X, Z Y} ist die Umkehrung von U. Folie November 2014 Seite 131
Binäre Suchbäume (binary search trees, kurz: bst)
Binäre Suchbäume (binary search trees, kurz: bst) Datenstruktur zum Speichern einer endlichen Menge M von Zahlen. Genauer: Binärbaum T mit n := M Knoten Jeder Knoten v von T ist mit einer Zahl m v M markiert.
MehrFormeln. Signatur. aussagenlogische Formeln: Aussagenlogische Signatur
Signatur Formeln Am Beispiel der Aussagenlogik erklären wir schrittweise wichtige Elemente eines logischen Systems. Zunächst benötigt ein logisches System ein Vokabular, d.h. eine Menge von Namen, die
MehrErfüllbarkeit und Allgemeingültigkeit
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 3.3 Aussagenlogik Erfüllbarkeit 44 Erfüllbarkeit und Allgemeingültigkeit Def.: eine Formel ϕ heißt erfüllbar, wennesein I gibt, so dass I = ϕ
MehrGrundlagen der Künstlichen Intelligenz
Grundlagen der Künstlichen Intelligenz 27. Aussagenlogik: Logisches Schliessen und Resolution Malte Helmert Universität Basel 28. April 2014 Aussagenlogik: Überblick Kapitelüberblick Aussagenlogik: 26.
MehrI. Aussagenlogik. Aussagenlogik untersucht Verknüpfungen wie "und", "oder", "nicht", "wenn... dann" zwischen atomaren und komplexen Sätzen.
I. Aussagenlogik 2.1 Syntax Aussagenlogik untersucht Verknüpfungen wie "und", "oder", "nicht", "wenn... dann" zwischen atomaren und komplexen Sätzen. Sätze selbst sind entweder wahr oder falsch. Ansonsten
Mehr1 Aussagenlogische Formeln
1 Aussagenlogische Formeln Aufgabe 1.1 Transformieren Sie die Formel in disjunktive Normalform (DNF). ((:A! :B) ^ D)! ((A _ C) $ (:B ^ D)) Lösung 1.1 Schrittweise Transformation: Schritt 1: ((:A! :B) ^
MehrMai 2006. Hauptseminar: Nichtrelationale Datenbanken Historisch-Kulturwissenschaftliche Informationsverarbeitung Universität zu Köln
Hauptseminar: Nichtrelationale Historisch-Kulturwissenschaftliche Informationsverarbeitung Universität zu Köln Mai 2006 Was ist eine Datenbank? Erweiterung relationaler um eine Deduktionskomponente Diese
MehrLogik für Informatiker
Logik für Informatiker 2. Aussagenlogik Teil 3 30.04.2012 Viorica Sofronie-Stokkermans Universität Koblenz-Landau e-mail: sofronie@uni-koblenz.de 1 Letztes Mal Aussagenlogik Syntax: welche Formeln? Semantik:
MehrFixpunktsemantik logischer Programme Pascal Hitzler Juli 1997 Kurzuberblick im Rahmen der Vorlesung Einfuhrung in Prolog von T. Cornell im Sommersemester 1997 an der Universitat Tubingen. Beweise sind
MehrZusammenfassung. Satz. 1 Seien F, G Boolesche Ausdrücke (in den Variablen x 1,..., x n ) 2 Seien f : B n B, g : B n B ihre Booleschen Funktionen
Zusammenfassung Zusammenfassung der letzten LV Einführung in die Theoretische Informatik Woche 6 Harald Zankl Institut für Informatik @ UIBK Wintersemester 2014/2015 Satz 1 Seien F, G Boolesche Ausdrücke
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
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
MehrSemantik von Formeln und Sequenzen
Semantik von Formeln und Sequenzen 33 Grundidee der Verwendung von Logik im Software Entwurf Syntax: Menge von Formeln = Axiome Ax K ist beweisbar Formel ϕ beschreiben Korrektkeit Vollständigkeit beschreibt
MehrGrundlagen der Informationverarbeitung
Grundlagen der Informationverarbeitung Information wird im Computer binär repräsentiert. Die binär dargestellten Daten sollen im Computer verarbeitet werden, d.h. es müssen Rechnerschaltungen existieren,
MehrTheoretische Grundlagen des Software Engineering
Theoretische Grundlagen des Software Engineering 7: Einführung Aussagenlogik schulz@eprover.org Logisches Schließen 2 gold +1000, 1 per step, Beispiel: Jage den Wumpus Performance measure death 1000 10
MehrWas bisher geschah. Aufgaben: Diagnose, Entscheidungsunterstützung Aufbau Komponenten und Funktion
Was bisher geschah Daten, Information, Wissen explizites und implizites Wissen Wissensrepräsentation und -verarbeitung: Wissensbasis Kontextwissen Problemdarstellung fallspezifisches Wissen repräsentiert
MehrFormale Systeme, WS 2012/2013 Lösungen zu Übungsblatt 4
Karlsruher Institut für Technologie Institut für Theoretische Informatik Prof. Dr. Peter H. Schmitt David Farago, Christoph Scheben, Mattias Ulbrich Formale Systeme, WS 2012/2013 Lösungen zu Übungsblatt
MehrEinführung in das Programmieren Prolog Sommersemester 2006. Teil 2: Arithmetik. Version 1.0
Einführung in das Programmieren Prolog Sommersemester 2006 Teil 2: Arithmetik Version 1.0 Gliederung der LV Teil 1: Ein motivierendes Beispiel Teil 2: Einführung und Grundkonzepte Syntax, Regeln, Unifikation,
MehrProlog basiert auf Prädikatenlogik
Software-Technologie Software-Systeme sind sehr komplex. Im Idealfall erfolgt die Programmierung problemorientiert, während die notwendige Übertragung in ausführbare Programme automatisch erfolgt. Prolog-Philosophie:
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
MehrFormale Systeme. Binary Decision Diagrams. Prof. Dr. Bernhard Beckert WS 2010/2011 KIT INSTITUT FÜR THEORETISCHE INFORMATIK
Formale Systeme Prof. Dr. Bernhard Beckert WS / KIT INSTITUT FÜR THEORETISCHE INFORMATIK KIT University of the State of Baden-Württemberg and National Large-scale Research Center of the Helmholtz Association
MehrGrundbegriffe der Informatik
Grundbegriffe der Informatik Einheit 3: Alphabete (und Relationen, Funktionen, Aussagenlogik) Thomas Worsch Universität Karlsruhe, Fakultät für Informatik Oktober 2008 1/18 Überblick Alphabete ASCII Unicode
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.
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
Mehr5 Logische Programmierung
5 Logische Programmierung Logik wird als Programmiersprache benutzt Der logische Ansatz zu Programmierung ist (sowie der funktionale) deklarativ; Programme können mit Hilfe zweier abstrakten, maschinen-unabhängigen
MehrEinführung in. Logische Schaltungen
Einführung in Logische Schaltungen 1/7 Inhaltsverzeichnis 1. Einführung 1. Was sind logische Schaltungen 2. Grundlegende Elemente 3. Weitere Elemente 4. Beispiel einer logischen Schaltung 2. Notation von
MehrWas bisher geschah Wissensrepräsentation und -verarbeitung in Zustandsübergangssystemen Constraint-Systemen Logiken Repräsentation von Mengen
Was bisher geschah Wissensrepräsentation und -verarbeitung in Zustandsübergangssystemen Constraint-Systemen Logiken Repräsentation von Mengen aussagenlogischer Regeln: Wissensbasis (Kontextwissen): Formelmenge,
MehrGrammatiken. Einführung
Einführung Beispiel: Die arithmetischen Ausdrücke über der Variablen a und den Operationen + und können wie folgt definiert werden: a, a + a und a a sind arithmetische Ausdrücke Wenn A und B arithmetische
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
MehrTerme stehen für Namen von Objekten des Diskursbereichs (Subjekte, Objekte des natürlichsprachlichen Satzes)
Prädikatenlogik Man kann den natürlichsprachlichen Satz Die Sonne scheint. in der Prädikatenlogik beispielsweise als logisches Atom scheint(sonne) darstellen. In der Sprache der Prädikatenlogik werden
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
MehrWas ist Logische Programmierung?
Was ist Logische Programmierung? Die Bedeutung eines Computer-Programms kann durch Logik erklärt werden. Die Idee der logischen Programmierung besteht darin, die Logik eines Programms selber als Programm
MehrSatz. Für jede Herbrand-Struktur A für F und alle t D(F ) gilt offensichtlich
Herbrand-Strukturen und Herbrand-Modelle Sei F eine Aussage in Skolemform. Dann heißt jede zu F passende Struktur A =(U A, I A )eineherbrand-struktur für F, falls folgendes gilt: 1 U A = D(F ), 2 für jedes
MehrEinführung in die Fuzzy Logic
Einführung in die Fuzzy Logic Entwickelt von L. Zadeh in den 60er Jahren Benutzt unscharfe (fuzzy) Begriffe und linguistische Variablen Im Gegensatz zur Booleschen Logik {0,} wird das ganze Intervall [0,]
MehrN Bit binäre Zahlen (signed)
N Bit binäre Zahlen (signed) n Bit Darstellung ist ein Fenster auf die ersten n Stellen der Binär Zahl 0000000000000000000000000000000000000000000000000110 = 6 1111111111111111111111111111111111111111111111111101
Mehr1 Aussagenlogik und Mengenlehre
1 Aussagenlogik und engenlehre 1.1 engenlehre Definition (Georg Cantor): nter einer enge verstehen wir jede Zusammenfassung von bestimmten wohl unterschiedenen Objekten (m) unserer Anschauung oder unseres
MehrFragen für die Klausuren
Fragen für die Klausuren Vom Quellcode zum ausführbaren Programm Was ist ein Quellcode? Ist der Quellcode von einem Programm auf unterschiedlichen Rechner gleich? Nennen Sie drei Programmiersprachen. Was
MehrEine Logikschaltung zur Addition zweier Zahlen
Eine Logikschaltung zur Addition zweier Zahlen Grundlegender Ansatz für die Umsetzung arithmetischer Operationen als elektronische Schaltung ist die Darstellung von Zahlen im Binärsystem. Eine Logikschaltung
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
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
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
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
MehrLogische Folgerung. Definition 2.11
Logische Folgerung Definition 2.11 Sei 2A eine aussagenlogische Formel und F eine endliche Menge aussagenlogischer Formeln aus A. heißt logische Folgerung von F genau dann, wenn I ( ) =1für jedes Modell
MehrGrundlagen der Informatik I Informationsdarstellung
Grundlagen der Informatik I Informationsdarstellung Einführung in die Informatik, Gumm, H.-P./Sommer, M. Themen der heutigen Veranstaltung. ASCIi Code 2. Zeichenketten 3. Logische Operationen 4. Zahlendarstellung
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
MehrFormale Methoden II. Gerhard Jäger. SS 2008 Universität Bielefeld. Teil 8, 11. Juni 2008. Formale Methoden II p.1/30
Formale Methoden II SS 2008 Universität Bielefeld Teil 8, 11. Juni 2008 Gerhard Jäger Formale Methoden II p.1/30 Beispiele Anmerkung: wenn der Wahrheitswert einer Formel in einem Modell nicht von der Belegungsfunktion
MehrLogische Programmierung
Logische Programmierung B-82 Deklaratives Programmieren in Prädikatenlogik: Problem beschreiben statt Algorithmus implementieren (idealisiert). Grundlagen: Relationen bzw. Prädikate (statt Funktionen);
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
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
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
MehrBachelor Grundlagen der Logik und Logikprogrammierung 12. Februar 2009 3
Bachelor Grundlagen der Logik und Logikprogrammierung 12. Februar 2009 3 Aufgabe 1 (20 Punkte) Dialogische Logik a) Was isteine formal wahrebehauptung? Welche Aussageschematasindallgemeingültig? b) Überprüfen
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
MehrKorrelation (II) Korrelation und Kausalität
Korrelation (II) Korrelation und Kausalität Situation: Seien X, Y zwei metrisch skalierte Merkmale mit Ausprägungen (x 1, x 2,..., x n ) bzw. (y 1, y 2,..., y n ). D.h. für jede i = 1, 2,..., n bezeichnen
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
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
MehrVorlesung Diskrete Strukturen Graphen: Wieviele Bäume?
Vorlesung Diskrete Strukturen Graphen: Wieviele Bäume? Bernhard Ganter Institut für Algebra TU Dresden D-01062 Dresden bernhard.ganter@tu-dresden.de WS 2013/14 Isomorphie Zwei Graphen (V 1, E 1 ) und (V
MehrInformatik I WS 07/08 Tutorium 24
Info I Tutorium 24 Informatik I WS 07/08 Tutorium 24 3.2.07 astian Molkenthin E-Mail: infotut@sunshine2k.de Web: http://infotut.sunshine2k.de Organisatorisches / Review is zum 2.2 müssen alle Praxisaufgaben
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.
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?
Mehr9. Übung Formale Grundlagen der Informatik
Institut für Informatik Sommersemester 2001 Universität Zürich 9. Übung Formale Grundlagen der Informatik Norbert E. Fuchs (fuchs@ifi.unizh.ch) Reinhard Riedl (riedl@ifi.unizh.ch) Nadine Korolnik (korolnik@ifi.unizh.ch)
MehrRente = laufende Zahlungen, die in regelmäßigen Zeitabschnitten (periodisch) wiederkehren Rentenperiode = Zeitabstand zwischen zwei Rentenzahlungen
1 3.2. entenrechnung Definition: ente = laufende Zahlungen, die in regelmäßigen Zeitabschnitten (periodisch) wiederkehren entenperiode = Zeitabstand zwischen zwei entenzahlungen Finanzmathematisch sind
MehrGrundlagen der Theoretischen Informatik - Sommersemester 2012. Übungsblatt 1: Lösungsvorschläge
Lehrstuhl für Softwaretechnik und Programmiersprachen Professor Dr. Michael Leuschel Grundlagen der Theoretischen Informatik - Sommersemester 2012 Übungsblatt 1: Lösungsvorschläge Disclaimer: Bei Folgendem
MehrBinärer Entscheidungsbaum. für Boole sche Funktionen. (binary decision tree: BDT) Kapitel 4: Binäre Entscheidungsdiagramme
Kapitel 4: Binäre Entscheidungsdiagramme (BDDs) BDDs (binary decision diagrams) wurden aus binären Entscheidungsbäumen für boole sche Funktionen entwickelt. Binärer Entscheidungsbaum (binary decision tree:
MehrRente = laufende Zahlungen, die in regelmäßigen Zeitabschnitten (periodisch) wiederkehren Rentenperiode = Zeitabstand zwischen zwei Rentenzahlungen
5.2. entenrechnung Definition: ente = laufende Zahlungen, die in regelmäßigen Zeitabschnitten (periodisch) wiederkehren entenperiode = Zeitabstand zwischen zwei entenzahlungen Finanzmathematisch sind zwei
Mehr9.2. DER SATZ ÜBER IMPLIZITE FUNKTIONEN 83
9.. DER SATZ ÜBER IMPLIZITE FUNKTIONEN 83 Die Grundfrage bei der Anwendung des Satzes über implizite Funktionen betrifft immer die folgende Situation: Wir haben eine Funktion f : V W und eine Stelle x
MehrKapitel 5: Dynamisches Programmieren Gliederung
Gliederung 1. Grundlagen 2. Zahlentheoretische Algorithmen 3. Sortierverfahren 4. Ausgewählte Datenstrukturen 5. Dynamisches Programmieren 6. Graphalgorithmen 7. String-Matching 8. Kombinatorische Algorithmen
MehrBrückenkurs Mathematik, THM Friedberg, 15 19.9.2014
egelsammlung mb2014 THM Friedberg von 6 16.08.2014 15:04 Brückenkurs Mathematik, THM Friedberg, 15 19.9.2014 Sammlung von Rechenregeln, extrahiert aus dem Lehrbuch: Erhard Cramer, Johanna Neslehová: Vorkurs
MehrDatentypen. Agenda für heute, 4. März, 2010. Pascal ist eine streng typisierte Programmiersprache
Agenda für heute, 4. März, 2010 Zusammengesetzte if-then-else-anweisungen Datentypen Pascal ist eine streng typisierte Programmiersprache Für jeden Speicherplatz muss ein Datentyp t (Datenformat) t) definiert
MehrFinanzwirtschaft. Teil II: Bewertung
Zeitwert des Geldes 1 Finanzwirtschaft Teil II: Bewertung Zeitwert des Geldes Zeitwert des Geldes 2 Bewertung & Zeitwert des Geldes Finanzwirtschaft behandelt die Bewertung von Real- und Finanzwerten.
MehrAussagenlogik. Übersicht: 1 Teil 1: Syntax und Semantik. 2 Teil 2: Modellierung und Beweise. Aussagenlogik H. Kleine Büning 1/25
Aussagenlogik Übersicht: 1 Teil 1: Syntax und Semantik 2 Teil 2: Modellierung und Beweise Aussagenlogik H. Kleine Büning 1/25 Einführendes Beispiel Falls Lisa Peter trifft, dann trifft Lisa auch Gregor.
MehrGrundlagen Theoretischer Informatik I SoSe 2011 in Trier. Henning Fernau Universität Trier fernau@uni-trier.de
Grundlagen Theoretischer Informatik I SoSe 2011 in Trier Henning Fernau Universität Trier fernau@uni-trier.de 1 Grundlagen Theoretischer Informatik I Gesamtübersicht Organisatorisches; Einführung Logik
Mehr7 Die Determinante einer Matrix
7 Die Determinante einer Matrix ( ) a11 a Die Determinante einer 2 2 Matrix A = 12 ist erklärt als a 21 a 22 det A := a 11 a 22 a 12 a 21 Es ist S 2 = { id, τ}, τ = (1, 2) und sign (id) = 1, sign (τ) =
MehrLINGO: Eine kleine Einführung
LINGO: Eine kleine Einführung Jun.-Prof.Dr. T. Nieberg Lineare und Ganzzahlige Optimierung, WS 2009/10 LINDO/LINGO ist ein Software-Paket, mit dessen Hilfe (ganzzahlige) lineare Programme schnell und einfach
Mehr2. Vorlesung. Slide 40
2. Vorlesung Slide 40 Knobelaufgabe Was tut dieses Programm? Informell Formal Wie stellt man dies sicher? knobel(a,b) { Wenn a = 0 dann return b sonst { solange b 0 wenn a > b dann { a := a - b sonst b
Mehr4.9 Deterministische Kellerautomaten Wir haben bereits definiert: Ein PDA heißt deterministisch (DPDA), falls
4.9 Deterministische Kellerautomaten Wir haben bereits definiert: Ein PDA heißt deterministisch (DPDA), falls δ(q, a, Z) + δ(q, ɛ, Z) 1 (q, a, Z) Q Σ. Die von einem DPDA, der mit leerem Keller akzeptiert,
MehrWortproblem für kontextfreie Grammatiken
Wortproblem für kontextfreie Grammatiken G kontextfreie Grammatik. w Σ w L(G)? Wortproblem ist primitiv rekursiv entscheidbar. (schlechte obere Schranke!) Kellerautomat der L(G) akzeptiert Ist dieser effizient?
MehrEinführung. Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (3) Vorlesungen zur Komplexitätstheorie. K-Vollständigkeit (1/5)
Einführung 3 Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (3) Univ.-Prof. Dr. Christoph Meinel Hasso-Plattner-Institut Universität Potsdam, Deutschland Hatten den Reduktionsbegriff
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
MehrÜbungskomplex Felder (1) Eindimensionale Felder Mehrdimensionale Felder
Übungskomplex Felder (1) Eindimensionale Felder Mehrdimensionale Felder Hinweise zur Übung Benötigter Vorlesungsstoff Ab diesem Übungskomplex wird die Kenntnis und praktische Beherrschung der Konzepte
MehrBasis und Dimension. Als nächstes wollen wir die wichtigen Begriffe Erzeugendensystem und Basis eines Vektorraums definieren.
Basis und Dimension Als nächstes wollen wir die wichtigen Begriffe Erzeugendensystem und Basis eines Vektorraums definieren. Definition. Sei V ein K-Vektorraum und (v i ) i I eine Familie von Vektoren
MehrDie Post hat eine Umfrage gemacht
Die Post hat eine Umfrage gemacht Bei der Umfrage ging es um das Thema: Inklusion Die Post hat Menschen mit Behinderung und Menschen ohne Behinderung gefragt: Wie zufrieden sie in dieser Gesellschaft sind.
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
MehrWS 2008/09. Diskrete Strukturen
WS 2008/09 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/ws0809
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:
Mehr2 Darstellung von Zahlen und Zeichen
2.1 Analoge und digitale Darstellung von Werten 79 2 Darstellung von Zahlen und Zeichen Computer- bzw. Prozessorsysteme führen Transformationen durch, die Eingaben X auf Ausgaben Y abbilden, d.h. Y = f
MehrEine Baumstruktur sei folgendermaßen definiert. Eine Baumstruktur mit Grundtyp Element ist entweder
Programmieren in PASCAL Bäume 1 1. Baumstrukturen Eine Baumstruktur sei folgendermaßen definiert. Eine Baumstruktur mit Grundtyp Element ist entweder 1. die leere Struktur oder 2. ein Knoten vom Typ Element
MehrKünstliche Intelligenz Maschinelles Lernen
Künstliche Intelligenz Maschinelles Lernen Stephan Schwiebert Sommersemester 2009 Sprachliche Informationsverarbeitung Institut für Linguistik Universität zu Köln Maschinelles Lernen Überwachtes Lernen
MehrPrädikate zum Testen und Manipulieren der Struktur der Terme; Mehr meta-logische Prädikate z.b. zum Testen des Zustands der Ableitung;
Mehr Prolog Prolog bietet mehr an, z.b.: Prädikate zum Testen und Manipulieren der Struktur der Terme; Mehr meta-logische Prädikate z.b. zum Testen des Zustands der Ableitung; Mehr extra-logische Prädikate,
MehrMathematik für Studierende der Biologie und des Lehramtes Chemie Wintersemester 2013/14. Auswahl vorausgesetzter Vorkenntnisse
UNIVERSITÄT DES SAARLANDES FACHRICHTUNG 6.1 MATHEMATIK Dipl.-Math. Kevin Everard Mathematik für Studierende der Biologie und des Lehramtes Chemie Wintersemester 2013/14 Auswahl vorausgesetzter Vorkenntnisse
Mehr8.2 Thermodynamische Gleichgewichte, insbesondere Gleichgewichte in Mehrkomponentensystemen Mechanisches und thermisches Gleichgewicht
8.2 Thermodynamische Gleichgewichte, insbesondere Gleichgewichte in Mehrkomponentensystemen Mechanisches und thermisches Gleichgewicht 8.2-1 Stoffliches Gleichgewicht Beispiel Stickstoff Sauerstoff: Desweiteren
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
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
MehrInhalt. SWP Logische Programme. Motivation. Formalisierung. Wissensbasis. Bsp (Bibel)Verwandtschaften. Motivation Sprache LP
Inhalt SWP Logische Programme Franz Wotawa Institut für Softwaretechnologie wotawa@ist.tugraz.at Motivation Sprache LP Resolution Unifikation Datenbanken und logische Programme Semantik 2 Motivation Bsp
Mehrder einzelnen Aussagen den Wahrheitswert der zusammengesetzten Aussage falsch falsch falsch falsch wahr falsch wahr falsch falsch wahr wahr wahr
Kapitel 2 Grundbegriffe der Logik 2.1 Aussagen und deren Verknüpfungen Eine Aussage wie 4711 ist durch 3 teilbar oder 2 ist eine Primzahl, die nur wahr oder falsch sein kann, heißt logische Aussage. Ein
MehrDas Dilemma des Einbrechers Wer die Wahl hat, hat die Qual!
Das Dilemma des Einbrechers Wer die Wahl hat, hat die Qual! 0kg 4000 Euro Luster 5,5 kg, 430.- Laptop 2,0 kg, 000.- Schatulle 3,2 kg, 800.- Uhr 3,5 kg, 70.- Schwert,5 kg, 850.- Bild 3,4 kg, 680.- Besteck
MehrKurs 1613 Einführung in die imperative Programmierung
Aufgabe 1 Gegeben sei die Prozedur BubbleSort: procedure BubbleSort(var iofeld:tfeld); { var hilf:integer; i:tindex; j:tindex; vertauscht:boolean; i:=1; repeat vertauscht := false; for j := 1 to N - i
Mehr2. Programmierung in C
2. Programmierung in C Inhalt: Überblick über Programmiersprachen, Allgemeines zur Sprache C C: Basisdatentypen, Variablen, Konstanten Operatoren, Ausdrücke und Anweisungen Kontrollstrukturen (Steuerfluss)
MehrÜbungsaufgaben zur Programmiersprache Python
Übungsaufgaben zur Programmiersprache Python Stefanie Behrens Niels Lohmann 16. November 2010 Hallo, damit auch zwischen den Vorbereitungscamps Dein neu erworbenes Python- und Programmierwissen nicht einstaubt,
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.
Mehr