<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
		<id>https://ls14-eini.cs.tu-dortmund.de/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Solveig</id>
		<title>EINI - Benutzerbeiträge [de]</title>
		<link rel="self" type="application/atom+xml" href="https://ls14-eini.cs.tu-dortmund.de/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Solveig"/>
		<link rel="alternate" type="text/html" href="https://ls14-eini.cs.tu-dortmund.de/index.php/Spezial:Beitr%C3%A4ge/Solveig"/>
		<updated>2026-05-02T06:41:54Z</updated>
		<subtitle>Benutzerbeiträge</subtitle>
		<generator>MediaWiki 1.26.2</generator>

	<entry>
		<id>https://ls14-eini.cs.tu-dortmund.de/index.php?title=Syntax_und_Semantik&amp;diff=2232</id>
		<title>Syntax und Semantik</title>
		<link rel="alternate" type="text/html" href="https://ls14-eini.cs.tu-dortmund.de/index.php?title=Syntax_und_Semantik&amp;diff=2232"/>
				<updated>2017-10-30T14:47:52Z</updated>
		
		<summary type="html">&lt;p&gt;Solveig: /* Beispiele */ ergänzt&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Die Begriffe '''Syntax''' und '''Semantik''' bezeichnen in unserer Veranstaltung den Zusammenhang zwischen dem notierten [[Quellcode]] und dem daraus resultierenden Verhalten des [[Programm]]s.&lt;br /&gt;
&lt;br /&gt;
=Syntax=&lt;br /&gt;
&lt;br /&gt;
'''Syntax''' bezeichnet die Struktur oder '''Grammatik''' des Programms. Die erste Herausforderung beim Lernen einer neuen [[Programmiersprache]] ist es, '''syntaktisch korrekte''' Programme zu formulieren. Zu einer Programmiersprache gehören viele Funktionalitäten. Für die Veranstaltung und das grundlegende Verständnis der Syntax ist jedoch nur die Basis relevant.&lt;br /&gt;
&lt;br /&gt;
Eine Darstellungsmöglichkeit von Syntax sind die hier im Wiki häufig verwendeten '''[[Syntaxdiagramm]]e'''.&lt;br /&gt;
&lt;br /&gt;
=Semantik=&lt;br /&gt;
&lt;br /&gt;
'''Semantik''' meint die '''Bedeutung''' oder Ausführung eines [[Programm]]s. Es ist einfacher, ein syntaktisch korrektes Programm zu schreiben, als eines, das exakt das macht, was man möchte. Dazu muss man verstanden haben, welche syntaktischen Elemente eines Programms welchen Effekt auf den Programmzustand haben. Dann kann man aus den verschiedenen syntaktischen Elementen die gewünschte Semantik zusammensetzen.&lt;br /&gt;
&lt;br /&gt;
Es gibt drei Techniken, um die '''Semantik''' eines Programms zu beschreiben:&lt;br /&gt;
&lt;br /&gt;
Bei der '''operationalen Semantik''' wird ein Programm in [[Elementaroperationen]] und Programmzustände unterteilt. Dann wird schrittweise beschrieben, welche Auswirkungen die Elementaroperationen auf den Zustand haben und in welcher Situation welche Elementaroperation ausgeführt wird. Es geht also um die Beziehung zwischen Operation und Zustand. Diese Technik wird zum Beispiel für das Herstellen von [[Compiler]]n verwendet.&lt;br /&gt;
&lt;br /&gt;
Bei der '''denotationalen Semantik''' werden mathematische Funktionen verwendet. Der Fokus liegt darauf, wie eine Eingabe einen Zustand verändert. Diese Semantik eignet sich besonders gut dazu, um herauszufinden, ob ein Programm wirklich genau das tut, was es machen soll.&lt;br /&gt;
&lt;br /&gt;
Bei der '''verbalen Semantik''' wird ein Programm, wie der Name schon sagt, mit Worten beschrieben. Dabei sollten die einzelnen Konzepte und Funktionalitäten einer Programmiersprache möglichst präzise erklärt werden. Diese Art der Beschreibung eignet sich vor allem dafür, den Umgang mit einer Programmiersprache zu lernen.&lt;br /&gt;
&lt;br /&gt;
= Beispiele =&lt;br /&gt;
&lt;br /&gt;
Eine syntaktisch korrekt formulierte [[Funktion]] wäre:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
public static void foo(){&lt;br /&gt;
    int bar = 10;&lt;br /&gt;
    System.out.println(&amp;quot;bar: &amp;quot;+bar);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ob eine Funktion, die ausschließlich den Text &amp;quot;bar: 10&amp;quot; ausgibt (Semantik), nützlich ist, ist jedoch eine andere Frage.&lt;br /&gt;
&lt;br /&gt;
Typische '''Syntaxfehler''' sind im folgenden Beispielcodefragment aufgelistet.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
//fehlendes Semikolon &lt;br /&gt;
int a = 4&lt;br /&gt;
				&lt;br /&gt;
		&lt;br /&gt;
//Falscher Operator, vgl. Syntaxdiagramm if_statement 		&lt;br /&gt;
if (a = 5) {&lt;br /&gt;
	...&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
// Schlüsselworte als Variablennamen\ Funktionsnamen verwenden&lt;br /&gt;
int return;&lt;br /&gt;
		&lt;br /&gt;
		&lt;br /&gt;
// Rechtschreibfehler, unterschiedliche Varaiblennamen&lt;br /&gt;
int ergebnis;&lt;br /&gt;
System.out.println(ergebis); &lt;br /&gt;
System.out.pintln (&amp;quot;fertig&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Das folgende Beispiel illustriert einen typischen '''Semantikfehler'''&lt;br /&gt;
&amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	public static void main(String[] args){&lt;br /&gt;
		//Gewünschtes Ergebnis: 1.25 &lt;br /&gt;
		//Erhaltenes Ergebnis:1&lt;br /&gt;
		&lt;br /&gt;
		System.out.println(5 / 4);&lt;br /&gt;
		&lt;br /&gt;
		//Fehler: Hier findet ganzzahlige Division statt.&lt;br /&gt;
		&lt;br /&gt;
		&lt;br /&gt;
		// Richtig: &lt;br /&gt;
		System.out.println(5 / 4.0);&lt;br /&gt;
		System.out.println(5.0 / 4);&lt;br /&gt;
		System.out.println(5.0 / 4.0);&lt;br /&gt;
	}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Solveig</name></author>	</entry>

	<entry>
		<id>https://ls14-eini.cs.tu-dortmund.de/index.php?title=Syntax_und_Semantik&amp;diff=2231</id>
		<title>Syntax und Semantik</title>
		<link rel="alternate" type="text/html" href="https://ls14-eini.cs.tu-dortmund.de/index.php?title=Syntax_und_Semantik&amp;diff=2231"/>
				<updated>2017-10-30T14:21:54Z</updated>
		
		<summary type="html">&lt;p&gt;Solveig: um neues Beispiel ergänzt&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Die Begriffe '''Syntax''' und '''Semantik''' bezeichnen in unserer Veranstaltung den Zusammenhang zwischen dem notierten [[Quellcode]] und dem daraus resultierenden Verhalten des [[Programm]]s.&lt;br /&gt;
&lt;br /&gt;
=Syntax=&lt;br /&gt;
&lt;br /&gt;
'''Syntax''' bezeichnet die Struktur oder '''Grammatik''' des Programms. Die erste Herausforderung beim Lernen einer neuen [[Programmiersprache]] ist es, '''syntaktisch korrekte''' Programme zu formulieren. Zu einer Programmiersprache gehören viele Funktionalitäten. Für die Veranstaltung und das grundlegende Verständnis der Syntax ist jedoch nur die Basis relevant.&lt;br /&gt;
&lt;br /&gt;
Eine Darstellungsmöglichkeit von Syntax sind die hier im Wiki häufig verwendeten '''[[Syntaxdiagramm]]e'''.&lt;br /&gt;
&lt;br /&gt;
=Semantik=&lt;br /&gt;
&lt;br /&gt;
'''Semantik''' meint die '''Bedeutung''' oder Ausführung eines [[Programm]]s. Es ist einfacher, ein syntaktisch korrektes Programm zu schreiben, als eines, das exakt das macht, was man möchte. Dazu muss man verstanden haben, welche syntaktischen Elemente eines Programms welchen Effekt auf den Programmzustand haben. Dann kann man aus den verschiedenen syntaktischen Elementen die gewünschte Semantik zusammensetzen.&lt;br /&gt;
&lt;br /&gt;
Es gibt drei Techniken, um die '''Semantik''' eines Programms zu beschreiben:&lt;br /&gt;
&lt;br /&gt;
Bei der '''operationalen Semantik''' wird ein Programm in [[Elementaroperationen]] und Programmzustände unterteilt. Dann wird schrittweise beschrieben, welche Auswirkungen die Elementaroperationen auf den Zustand haben und in welcher Situation welche Elementaroperation ausgeführt wird. Es geht also um die Beziehung zwischen Operation und Zustand. Diese Technik wird zum Beispiel für das Herstellen von [[Compiler]]n verwendet.&lt;br /&gt;
&lt;br /&gt;
Bei der '''denotationalen Semantik''' werden mathematische Funktionen verwendet. Der Fokus liegt darauf, wie eine Eingabe einen Zustand verändert. Diese Semantik eignet sich besonders gut dazu, um herauszufinden, ob ein Programm wirklich genau das tut, was es machen soll.&lt;br /&gt;
&lt;br /&gt;
Bei der '''verbalen Semantik''' wird ein Programm, wie der Name schon sagt, mit Worten beschrieben. Dabei sollten die einzelnen Konzepte und Funktionalitäten einer Programmiersprache möglichst präzise erklärt werden. Diese Art der Beschreibung eignet sich vor allem dafür, den Umgang mit einer Programmiersprache zu lernen.&lt;br /&gt;
&lt;br /&gt;
= Beispiele =&lt;br /&gt;
&lt;br /&gt;
Eine syntaktisch korrekt formulierte [[Funktion]] wäre:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
public static void foo(){&lt;br /&gt;
    int bar = 10;&lt;br /&gt;
    System.out.println(&amp;quot;bar: &amp;quot;+bar);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ob eine Funktion, die ausschließlich den Text &amp;quot;bar: 10&amp;quot; ausgibt (Semantik), nützlich ist, ist jedoch eine andere Frage.&lt;br /&gt;
&lt;br /&gt;
Typische '''Syntaxfehler''' sind im folgenden Beispielcodefragment aufgelistet.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
//fehlendes Semikolon &lt;br /&gt;
int a = 4&lt;br /&gt;
				&lt;br /&gt;
		&lt;br /&gt;
//Falscher Operator, vgl. Syntaxdiagramm if_statement 		&lt;br /&gt;
if (a = 5) {&lt;br /&gt;
	...&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
// Schlüsselworte als Variablennamen\ Funktionsnamen verwenden&lt;br /&gt;
int return;&lt;br /&gt;
		&lt;br /&gt;
		&lt;br /&gt;
// Rechtschreibfehler, unterschiedliche Varaiblennamen&lt;br /&gt;
int ergebnis;&lt;br /&gt;
System.out.println(ergebis); &lt;br /&gt;
System.out.pintln (&amp;quot;fertig&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Solveig</name></author>	</entry>

	<entry>
		<id>https://ls14-eini.cs.tu-dortmund.de/index.php?title=Diskussion:Static&amp;diff=1845</id>
		<title>Diskussion:Static</title>
		<link rel="alternate" type="text/html" href="https://ls14-eini.cs.tu-dortmund.de/index.php?title=Diskussion:Static&amp;diff=1845"/>
				<updated>2016-10-13T10:14:14Z</updated>
		
		<summary type="html">&lt;p&gt;Solveig: Die Seite wurde neu angelegt: „Notiz an mich: noch konkretes Beispiel“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Notiz an mich: noch konkretes Beispiel&lt;/div&gt;</summary>
		<author><name>Solveig</name></author>	</entry>

	<entry>
		<id>https://ls14-eini.cs.tu-dortmund.de/index.php?title=Static&amp;diff=1844</id>
		<title>Static</title>
		<link rel="alternate" type="text/html" href="https://ls14-eini.cs.tu-dortmund.de/index.php?title=Static&amp;diff=1844"/>
				<updated>2016-10-13T10:13:38Z</updated>
		
		<summary type="html">&lt;p&gt;Solveig: /* Beispiel */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Das [[Schlüsselwort]] '''static''' dient in Java als [[Modifikator]] für [[Variable#Attributvariable|Attribute]] und [[Methode |Methoden]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Statische Methoden''' werden nicht auf einem [[Objekt]] aufgerufen und besitzen daher keinen an ein Objekt gebundenen Kontext.&lt;br /&gt;
Eine statische Methode kann deshalb auch keine nicht-statischen Attribute der Klasse direkt ansprechen oder nicht-statische Methoden der Klasse direkt aufrufen. Hierzu wird immer eine im statischen Kontext nicht vorliegende Objektinstanz benötigt. &lt;br /&gt;
&lt;br /&gt;
Eine statische Methode kann daher nur andere statische Methoden aufrufen oder statische Attribute verändern.&lt;br /&gt;
&lt;br /&gt;
'''Statische Attribute''' gelten, anders als nicht-statische [[Variable#Attributvariable| Objektattribute]], für die [[Klasse]] selbst. Daher hat jede Änderung direkten Einfluss auf den Wert eines statischen Attributes. Dies führt sehr schnell zu sogenannten [[Nebeneffekt|Nebeneffekten]], die den Zustand des Programms nicht mehr nachvollziehbar ändern und das Lokalisieren und Beheben von Fehlern im Quellcode sehr schwierig machen. Aus diesem Grund wird häufig von statischen Attributen abgeraten.&lt;br /&gt;
&lt;br /&gt;
Statische Methoden sollten daher sehr allgemeine Programme repräsentieren, die nicht abhängig von einem globalen Zustand sind. &lt;br /&gt;
&lt;br /&gt;
=Beispiel=&lt;br /&gt;
Funktionen wie der Sinus oder Kosinus sind statische Methoden der Klasse &amp;lt;code&amp;gt;Math&amp;lt;/code&amp;gt;. Diese benötigt für die Berechnung der gesuchten Werte keine weiteren Informationen. Es wäre unnötig aufwändig, ein &amp;lt;code&amp;gt;Math&amp;lt;/code&amp;gt;-Objekt zu erstellen, um dieses die Sinus- bzw. Kosinus-Berechnung durchführen zu lassen, nur um es danach nicht mehr zu benötigen.&lt;/div&gt;</summary>
		<author><name>Solveig</name></author>	</entry>

	<entry>
		<id>https://ls14-eini.cs.tu-dortmund.de/index.php?title=Java_Virtual_Machine&amp;diff=1843</id>
		<title>Java Virtual Machine</title>
		<link rel="alternate" type="text/html" href="https://ls14-eini.cs.tu-dortmund.de/index.php?title=Java_Virtual_Machine&amp;diff=1843"/>
				<updated>2016-10-13T10:12:26Z</updated>
		
		<summary type="html">&lt;p&gt;Solveig: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Die '''Java-Virtual-Machine''' (JVM) ist ein auf dem Rechner zu installierendes Programm, welches es ermöglicht [[Java/Programm | Javaprogramme]] auszuführen. Dazu wird ein Programm in [[Java/Bytecode | Bytecode]] eingelesen und [[Programmiersprache | interpretiert]], indem die Maschine für jede Anweisung in Bytecode eine Anweisung in [[Maschinencode]] an den ausführenden Rechner sendet.&lt;br /&gt;
&lt;br /&gt;
Die Java-Virtual-Machine ist Teil der [http://www.oracle.com/technetwork/java/javase/downloads/index.html Javalaufzeitumgebung] (Java Runtime Environment - JRE).&lt;/div&gt;</summary>
		<author><name>Solveig</name></author>	</entry>

	<entry>
		<id>https://ls14-eini.cs.tu-dortmund.de/index.php?title=Diskussion:Boolesche_Algebra&amp;diff=1808</id>
		<title>Diskussion:Boolesche Algebra</title>
		<link rel="alternate" type="text/html" href="https://ls14-eini.cs.tu-dortmund.de/index.php?title=Diskussion:Boolesche_Algebra&amp;diff=1808"/>
				<updated>2016-09-16T16:27:15Z</updated>
		
		<summary type="html">&lt;p&gt;Solveig: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Bitte vervollständigen:&lt;br /&gt;
#Venn-Diagramme einfügen! - bei mir klappt das Hochladen der Bilder leider nicht&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Wenn möglich, die Distributivgesetze noch ausformulieren.&lt;/div&gt;</summary>
		<author><name>Solveig</name></author>	</entry>

	<entry>
		<id>https://ls14-eini.cs.tu-dortmund.de/index.php?title=Diskussion:Algorithmus&amp;diff=1807</id>
		<title>Diskussion:Algorithmus</title>
		<link rel="alternate" type="text/html" href="https://ls14-eini.cs.tu-dortmund.de/index.php?title=Diskussion:Algorithmus&amp;diff=1807"/>
				<updated>2016-09-16T16:25:08Z</updated>
		
		<summary type="html">&lt;p&gt;Solveig: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Änderungswünsche von Lars (siehe Besprechung):&lt;br /&gt;
&lt;br /&gt;
Auf die richtige Verwendung der Begriffe &amp;quot;Ausgabe&amp;quot; und &amp;quot;Rückgabe&amp;quot; achten (gesamten Artikel einmal durchgehen).&lt;br /&gt;
&lt;br /&gt;
#A1: Beispiele für Gleichheit und Kreuzprodukt (habe ein Bespiel erstellt, hoffentlich im Sinne des Threaderstellers - Solveig)&lt;br /&gt;
#A2: Elementaroperationen verständlicher formulieren, was heißt &amp;quot;am Ende&amp;quot;?&lt;br /&gt;
#A8 bis A13 (außer A11) sind mit Fragezeichen versehen (Erledigt: A8)&lt;br /&gt;
&lt;br /&gt;
Beispiel mit &amp;quot;Nachricht s&amp;quot; ist zu komplex.&lt;br /&gt;
&lt;br /&gt;
Bezüge auf Beispiele in der Vorlesung und allgemein mehr davon.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Verständnisfragen ==&lt;br /&gt;
&lt;br /&gt;
Warum werden zuerst 10 Punkte aufgezählt und später 13 Anforderungen detailliert behandelt? Beziehung zwischen den Aufzählungen sollte klar sein.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Antwort ==&lt;br /&gt;
&lt;br /&gt;
Es gibt Umgangssprachlich X relevante Eigenschaften, der in der VL zitierte wissenschaftliche Artikel erwähnt 13, wobei einige davon jedoch ziemlich redundant sind.&lt;/div&gt;</summary>
		<author><name>Solveig</name></author>	</entry>

	<entry>
		<id>https://ls14-eini.cs.tu-dortmund.de/index.php?title=Algorithmus&amp;diff=1806</id>
		<title>Algorithmus</title>
		<link rel="alternate" type="text/html" href="https://ls14-eini.cs.tu-dortmund.de/index.php?title=Algorithmus&amp;diff=1806"/>
				<updated>2016-09-16T16:23:11Z</updated>
		
		<summary type="html">&lt;p&gt;Solveig: /* A2: Elementaroperationen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;quot;Ein Algorithmus ist eine detaillierte und explizite Vorschrift zur schrittweisen Lösung eines Problems durch eine Abfolge bekannter Befehle/Operationen.&amp;quot;&amp;lt;ref&amp;gt; Gumm/Sommer: Einführung in die Informatik &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ein '''Algorithmus''' ist zudem ein '''Verfahren zur Lösung von [[Einzelproblem | Einzelproblemen]] einer definierten [[Problemklasse]].'''&lt;br /&gt;
&lt;br /&gt;
Man kann einen Algorithmus mit einer Gebrauchsanleitung vergleichen: Es wird versucht, ein (mathematisches) Problem durch präzise Anweisungen zu lösen. Ein Algorithmus muss eindeutig ausführbar sein.&lt;br /&gt;
&lt;br /&gt;
Algorithmen werden meistens nicht direkt in einer existenten [[Programmiersprache]]n dargestellt, sondern umgangssprachlich oder im sogenannten [[Pseudocode]]. Dieser ist ein Kompromiss aus Umgangs- und Programmiersprache.&lt;br /&gt;
&lt;br /&gt;
==Anforderungen an einen Algorithmus==&lt;br /&gt;
&lt;br /&gt;
In der Vorlesung wurden Ihnen formale Anforderungen an einen Algorithmus vorgestellt. In kurz sind diese:&lt;br /&gt;
&lt;br /&gt;
*[[#A1: Relation|A1]]: Ein Algorithmus muss für jede Eingabe eine Ausgabe besitzen.&lt;br /&gt;
*[[#A2: Elementaroperationen|A2]] bis A4: Ein Algorithmus muss durch eine endliche Folge sog. elementarer Operatoren beschrieben werden können.&lt;br /&gt;
*[[#A5: Speicherplatz|A5]]: Ein Algorithmus darf nur endlich viel Speicherplatz für Zwischenergebnisse verbrauchen.&lt;br /&gt;
*[[#A6: Terminierung|A6]]: Ein Algorithmus sollte terminieren.&lt;br /&gt;
*[[#A7: Begrenzte Schrittzahl|A7]] bis A9: Aus dem Zustand eines Algorithmus sollte sein nächster Zustand eindeutig definiert sein.&lt;br /&gt;
*[[#A10: Allgemeinheit|A10]]: Ein Algorithmus sollte eine Problemgruppe lösen und nicht nur ein Einzelproblem.&lt;br /&gt;
*[[#A11: Änderbarkeit|A11]]: Ein Algorithmus sollte leicht anpassbar sein.&lt;br /&gt;
*[[#A12: Effizienz|A12]]: Ein Algorithmus sollte effizient sein.&lt;br /&gt;
*[[#A13: Robustheit|A13]]: Ein Algorithmus sollte auf jeden möglichen Fehler vorbereitet sein.&lt;br /&gt;
&lt;br /&gt;
Diese Anforderungen basieren auf wissenschaftlichen Aussagen, die im Folgenden detaillierter beschrieben werden.&lt;br /&gt;
&lt;br /&gt;
===A1: Relation===&lt;br /&gt;
''Ein Algorithmus beschreibt eine '''Relation''' über dem '''Kreuzprodukt einer Eingabe- und einer Ausgabemenge'''. Dadurch werden für jede Eingabe die zulässigen Ausgaben festgelegt.''&lt;br /&gt;
&lt;br /&gt;
Umgangssprachlich lässt sich &amp;quot;Relation&amp;quot; als &amp;quot;Zusammenhang&amp;quot; interpretieren. In der Mathematik ist der Begriff der Relation definiert als eine Menge von Tupeln (x,y). Eine Relation ist z.B. die Menge aller (x,y) für die gilt, dass x = y ist (Gleichheit). Für unseren Zusammenhang ist ein Tupel die Werte (x, f(x)) für eine Funktion x, gesprochen: &amp;quot;f(x) ist das Ergebnis von x unter Ausführung von f&amp;quot;, z.B. (1,2) für &amp;quot;2 ist das Ergebnis von 1 unter Ausführung der Operation +1&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
Das Kreuzprodukt zweier Mengen ist die Kombination aller Elemente der einen Menge zu allen Elementen der anderen Menge zu einer Menge von Tupeln.&lt;br /&gt;
&lt;br /&gt;
====Beispiel====&lt;br /&gt;
Es seien M={2,4,6} und N={1,2,3}, dann entspricht das Kreuzprodukt der beiden der Menge MxN={(2,1),(2,2),(2,3),(4,1),(4,2),(4,3),(6,1),(6,2),(6,3)}.&lt;br /&gt;
Man kombiniert also jedes Element aus der Menge M jeweils mit einem Element der Menge N.&lt;br /&gt;
&lt;br /&gt;
Es sei nun x ein beliebiges Element aus M und y aus N. Untersucht man diese beiden Mengen wie im obigen Beispiel auf &amp;quot;Gleichheit&amp;quot; ihrer Elemente, so gibt es nur ein Tupel, für welches ein Element x aus der Menge M denselben Wert hat, wie das Element y aus N, nämlich (2,2).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Das heißt, ein Algorithmus beschreibt mathematisch eine totale Funktion aus der Menge der Eingaben in die Menge der Ausgaben.&lt;br /&gt;
&lt;br /&gt;
Noch einfacher: Ein Algorithmus berechnet zu jeder Eingabe ein Ergebnis, das er ausgibt. Wichtig hierbei ist: Nur weil ein Algorithmus eine Ausgabe hat, muss der Nutzer eines Programms diese Ausgabe nicht unbedingt sehen! Die gebräuchliche Literatur benutzt die Begriffe &amp;quot;Ergebnis der Berechnung eines Algorithmus&amp;quot; und &amp;quot;Ausgabe eines Algorithmus&amp;quot; synonym.&lt;br /&gt;
&lt;br /&gt;
===A2: Elementaroperationen===&lt;br /&gt;
''Ein Algorithmus setzt sich aus '''wohldefinierten Elementaroperationen''' zusammen, die auf einer geeigneten Maschine ausführbar sind.''&lt;br /&gt;
&lt;br /&gt;
Jeder Algorithmus muss formalisiert und niedergeschrieben werden können. Elementaroperationen sind die kleinsten Einheiten eines Algorithmus. Auf dieser Ebene sind keine weiteren Beschreibungen möglich oder notwendig.&lt;br /&gt;
&lt;br /&gt;
Wie diese Elementaroperationen aussehen, ist von [[Architektur | Maschine]] zu Maschine und von [[Programmiersprache]] zu Programmiersprache unterschiedlich. Eine beliebige Maschine sollte jedoch nach Fertigstellung der Programmierung die Befehle eines Algorithmus verstehen und ausführen können. Da direkte Befehle an eine Maschine für einen Menschen ab einer gewissen Komplexität nicht mehr nachvollziehbar sind, existieren höhere Programmiersprachen. Diese werden dann von einem anderen Programm entweder interpretiert oder compiliert, bevor sie von einer Maschine ausgeführt werden.&lt;br /&gt;
&lt;br /&gt;
===A3: Abfolge===&lt;br /&gt;
''Ein Algorithmus legt die '''Abfolge der Schritte''' fest, wobei jeder Schritt genau eine Elementaroperation umfasst.''&lt;br /&gt;
&lt;br /&gt;
Ein Algorithmus wird schrittweise ausgeführt. In jedem Schritt führt die Maschine genau eine Elementaroperation aus. Dieses Verhalten wird in vielen Programmiersprachen durch die Notation eines Algorithmus als Anweisungsfolgen repräsentiert. Dies ist allerdings nicht immer der Fall, so z.B. in funktionalen Programmiersprachen.&lt;br /&gt;
&lt;br /&gt;
===A4: Beschreibung endlicher Länge===&lt;br /&gt;
''Ein Algorithmus ist eine '''Beschreibung endlicher Länge'''.''&lt;br /&gt;
&lt;br /&gt;
Ein Algorithmus muss niedergeschrieben werden können und seine Beschreibung muss mit einer endlichen Anzahl an Anweisungen formulierbar sein. Eine unendliche Folge von Anweisungen wird nicht als Algorithmus betrachtet.&lt;br /&gt;
&lt;br /&gt;
===A5: Speicherplatz===&lt;br /&gt;
''Ein Algorithmus benutzt nur '''endlich viele Speicherplätze''' zur Ablage von Zwischenergebnissen.''&lt;br /&gt;
&lt;br /&gt;
Jeder reale Computer besitzt nur endlich viel Speicherplatz. Daher ist ein Algorithmus, der unendlich viel Speicherplatz belegt, nicht umsetzbar. Auch in der theoretischen Informatik beschäftigt man sich hauptsächlich mit Maschinenmodellen, die unter Umständen beliebig viel, aber immer endlich viel Speicherplatz für ihre Berechnungen benötigen.&lt;br /&gt;
&lt;br /&gt;
===A6: Terminierung===&lt;br /&gt;
''Für jede (!) Eingabe endet die Ausführung des Algorithmus nach endlich vielen Schritten ('''Terminierung''').''&lt;br /&gt;
&lt;br /&gt;
Jedes Programm muss nach endlich vielen Schritten terminieren, d.h. der Algorithmus muss ein Ergebnis liefern. Würde ein Programm nicht terminieren, so läge nie ein Ergebnis vor und die ausführende Maschine würde niemals anhalten. Ein Beispiel für ein nicht terminierendes Programm, das von außen abgebrochen werden muss, ist eine [[Endlosschleife]].&lt;br /&gt;
&lt;br /&gt;
===A7: Begrenzte Schrittanzahl===&lt;br /&gt;
''Für jede (!) Eingabe wird die zugehörige Ausgabe spätestens nach Ausführung einer vorgegebenen Schrittanzahl n geliefert. Wenn ein Rechensystem für jeden Schritt höchstens die Zeit s benötigt, dann wird die Ausgabe spätestens nach Verstreichen der begrenzten Antwortzeit t = s * n geliefert ('''Begrenzte Schrittanzahl''').''&lt;br /&gt;
&lt;br /&gt;
Diese zusätzliche Anforderung beschreibt die Tatsache, dass ein Algorithmus möglichst effizient ein Ergebnis liefern soll. Tut er dies nach einer gewissen Zeit nicht, so muss er abgebrochen und das Ergebnis als &amp;quot;nicht definiert&amp;quot; deklariert werden.&lt;br /&gt;
&lt;br /&gt;
===A8: Determiniertheit===&lt;br /&gt;
''Die Eingabe-Ausgabe-Relation (siehe A1) ist rechtseindeutig. Dies bedeutet, dass jeder Eingabe genau eine Ausgabe zugeordnet wird ('''Determiniertheit''').''&lt;br /&gt;
&lt;br /&gt;
Auf eine bestimmte Eingabe folgt immer dieselbe Ausgabe. Das wird '''Determiniertheit''' genannt. Der Algorithmus führt unabhängig von Maschine, Zeit, Ort und ähnlichem immer dieselbe Berechnung aus. Auf die Eingabe &amp;quot;&amp;amp;#x221a;4&amp;quot; folgt zum Beispiel immer die Ausgabe &amp;quot;2&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===A9: Determinismus===&lt;br /&gt;
''In jedem Zustand, der bei Ausführung des Algorithmus erreicht wird,  ist jeweils nur ein einziger Folgeschritt als nächster ausführbar ('''Determinismus''').''&lt;br /&gt;
&lt;br /&gt;
Jedes Programm in Ausführung lässt sich durch einen Zustand repräsentieren (Werte von Variablen, Codezeile in Ausführung, uvm.). In Abhängigkeit dieses Zustandes muss ein Algorithmus einen eindeutig definierten Folgezustand nach Ausführung einer Elementaroperation besitzen. &lt;br /&gt;
&lt;br /&gt;
===A10: Allgemeinheit===&lt;br /&gt;
''Ein Algorithmus löst nicht nur ein einziges Problem, sondern eine Klasse von Problemen ('''Allgemeinheit''').''&lt;br /&gt;
&lt;br /&gt;
Ein Algorithmus sollte ein Problem lösen und zwar in Abhängigkeit zu seiner Eingabe. Ein Algorithmus, der z.B. zu '''jeder''' Eingabe die Ausgabe &amp;quot;1&amp;quot; besitzt, kann auch direkt durch den Ausdruck &amp;quot;1&amp;quot; ersetzt werden und hat keinen Mehrwert durch seine Existenz.&lt;br /&gt;
&lt;br /&gt;
===A11: Änderbarkeit===&lt;br /&gt;
''Ein Algorithmus soll sich leicht modifizieren lassen, um ihn an eine veränderte Aufgabenstellung anzupassen ('''Änderbarkeit''').''&lt;br /&gt;
&lt;br /&gt;
===A12: Effizienz===&lt;br /&gt;
''Für eine gegebene Eingabe soll die Anzahl der benötigten Schritte möglichst gering sein ('''Effizienz''').''&lt;br /&gt;
&lt;br /&gt;
Durch die Vermeidung unnötiger Schritte wird der Algorithmus kürzer und meist übersichtlicher. Zudem ist es ein Ziel der Informatik, Probleme mit möglichst geringer Laufzeit, also schnell, und möglichst geringem Speicherplatzverbrauch zu lösen.&lt;br /&gt;
&lt;br /&gt;
===A13: Robustheit===&lt;br /&gt;
''Der Algorithmus soll sich möglichst auch dann wohldefiniert verhalten, wenn eine unzulässige Eingabe (die nicht Element der Eingabemenge ist) vorliegt oder eine sonstige unvorhergesehene Situation auftritt ('''Robustheit''').''&lt;br /&gt;
&lt;br /&gt;
Wenn die Funktion, die ein Algorithmus berechnet, nicht total ist, so sollte ein Algorithmus im Falle einer Eingabe, zu der seine intendierte Funktion kein Ergebnis liefern kann (z.B. Division durch Null), dennoch eine vorhersehbare Funktionalität liefern (z.B. die Ausgabe einer Fehlermeldung und anschließender Abbruch der gesamten Ausführung des Programms).&lt;br /&gt;
&lt;br /&gt;
== Rückgabe und Ausgabe ==&lt;br /&gt;
===Erläuterung===&lt;br /&gt;
&lt;br /&gt;
Der Unterschied zwischen den Begriffen '''Rückgabe''' und '''Ausgabe''' ist in der deutschen Sprache erfahrungsgemäß zu gering. Dies führt häufig zu Missverständnissen und Fehlern beim Lesen und Bearbeiten von Übungsaufgaben. Aus diesem Grund definieren wir hier die folgenden Grundlagen:&lt;br /&gt;
&lt;br /&gt;
Beschreibt ein Text einen Algorithmus, der etwas '''ausgibt''' (engl. ''print''), so meinen wir das Anzeigen eines Ergebnisses auf einer [[Benutzerschnittstelle]].&lt;br /&gt;
&lt;br /&gt;
Beschreibt ein Text einen Algorithmus, der etwas '''zurückgibt''' (engl. ''return''), so meinen wir das Übergeben des Ergebnisses an eine aufrufende Funktion.&lt;br /&gt;
&lt;br /&gt;
Beschreibt ein Text eine Ausgabe (engl. ''output'') eines Algorithmus im Zusammenhang mit einer Eingabe (''input''), so ist von dem Ergebnis, bzw. den Parametern der vom Programm beschriebenen Funktion die Rede.&lt;br /&gt;
&lt;br /&gt;
=== Beispiele ===&lt;br /&gt;
&lt;br /&gt;
 Spezifikation:&lt;br /&gt;
 &lt;br /&gt;
 Eingabe: Eine Zahl&lt;br /&gt;
 Ausgabe: Die Zahl, multipliziert mit sich selbst&lt;br /&gt;
&lt;br /&gt;
Hier wird ein Algorithmus beschrieben, der eine Zahl als Parameter erwartet und diese bei Aufruf mit sich selbst multipliziert und als Ergebnis zurückgibt. Eine Ausgabe auf dem Bildschirm wird hier '''nicht''' erwartet.&lt;br /&gt;
&lt;br /&gt;
 Der Algorithmus nimmt zwei Zahlen entgegen und gibt das Produkt dieser Zahlen aus.&lt;br /&gt;
&lt;br /&gt;
Hier wird ein Algorithmus beschrieben, der zwei Zahlen als Parameter erwartet und diese bei Aufruf miteinander multipliziert. Das Ergebnis dieser Multiplikation wird anschließend auf einer [[Benutzerschnittstelle]] ausgegeben. Ein aufrufender Algorithmus erwartet '''kein''' Ergebnis von diesem.&lt;br /&gt;
&lt;br /&gt;
 Der Algorithmus nimmt eine Zahl n entgegen und gibt den Wert 2 ^ n zurück.&lt;br /&gt;
&lt;br /&gt;
Hier wird ein Algorithmus beschrieben, der eine Zahl als Parameter erwartet und diesen als Teil seiner Berechnung verwendet. Das Ergebnis dieser Berechnung wird an die aufrufende Funktion zurückgegeben. Eine Ausgabe auf dem Bildschirm wird hier '''nicht''' erwartet.&lt;br /&gt;
&lt;br /&gt;
 Der Algorithmus nimmt eine Nachricht s entgegen, verschickt diese Nachricht an alle aktiven Verbindungen,&lt;br /&gt;
 gibt dabei eine Information über den Empfänger der Nachricht aus&lt;br /&gt;
 und gibt die Anzahl der versendeten Nachrichten zurück.&lt;br /&gt;
&lt;br /&gt;
Hier wird ein Algorithmus beschrieben, der eine Nachricht als Parameter erwartet und diese an verschiedene Empfänger verteilt. Die Information über den Versand der Nachricht wird für jeden Empfänger auf einer Benutzerschnittstelle ausgegeben. Die aufrufende Funktion erhält als Ergebnis der Berechnung die Anzahl der versendeten Nachrichten.&lt;br /&gt;
&lt;br /&gt;
==Vom Algorithmus zum Programm==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Programm/Programmieren===&lt;br /&gt;
Die Formulierung eines Algorithmus heißt '''Programm'''.&lt;br /&gt;
Das Entwerfen eines Programms heißt '''programmieren'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Programmparadigmen===&lt;br /&gt;
Ein Programmparadigma ist ein Konzept zum Programmieren.&lt;br /&gt;
&lt;br /&gt;
==Die bekanntesten Programmparadigmen==&lt;br /&gt;
*[[Imperative_Programmierung | Imperative (prozedurale) Programmierung]]&lt;br /&gt;
&lt;br /&gt;
*[[Funktionale_Programmierung |  Funktionale Programmierung]]&lt;br /&gt;
&lt;br /&gt;
*[[Logische_Programmierung |  Logische Programmierung]]&lt;br /&gt;
&lt;br /&gt;
*[[Objektorientierte_Programmierung | Objektorientierte Programmierung]]&lt;br /&gt;
&lt;br /&gt;
=Quellenangaben=&lt;/div&gt;</summary>
		<author><name>Solveig</name></author>	</entry>

	<entry>
		<id>https://ls14-eini.cs.tu-dortmund.de/index.php?title=Algorithmus&amp;diff=1805</id>
		<title>Algorithmus</title>
		<link rel="alternate" type="text/html" href="https://ls14-eini.cs.tu-dortmund.de/index.php?title=Algorithmus&amp;diff=1805"/>
				<updated>2016-09-16T16:19:48Z</updated>
		
		<summary type="html">&lt;p&gt;Solveig: /* Beispiel */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;quot;Ein Algorithmus ist eine detaillierte und explizite Vorschrift zur schrittweisen Lösung eines Problems durch eine Abfolge bekannter Befehle/Operationen.&amp;quot;&amp;lt;ref&amp;gt; Gumm/Sommer: Einführung in die Informatik &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ein '''Algorithmus''' ist zudem ein '''Verfahren zur Lösung von [[Einzelproblem | Einzelproblemen]] einer definierten [[Problemklasse]].'''&lt;br /&gt;
&lt;br /&gt;
Man kann einen Algorithmus mit einer Gebrauchsanleitung vergleichen: Es wird versucht, ein (mathematisches) Problem durch präzise Anweisungen zu lösen. Ein Algorithmus muss eindeutig ausführbar sein.&lt;br /&gt;
&lt;br /&gt;
Algorithmen werden meistens nicht direkt in einer existenten [[Programmiersprache]]n dargestellt, sondern umgangssprachlich oder im sogenannten [[Pseudocode]]. Dieser ist ein Kompromiss aus Umgangs- und Programmiersprache.&lt;br /&gt;
&lt;br /&gt;
==Anforderungen an einen Algorithmus==&lt;br /&gt;
&lt;br /&gt;
In der Vorlesung wurden Ihnen formale Anforderungen an einen Algorithmus vorgestellt. In kurz sind diese:&lt;br /&gt;
&lt;br /&gt;
*[[#A1: Relation|A1]]: Ein Algorithmus muss für jede Eingabe eine Ausgabe besitzen.&lt;br /&gt;
*[[#A2: Elementaroperationen|A2]] bis A4: Ein Algorithmus muss durch eine endliche Folge sog. elementarer Operatoren beschrieben werden können.&lt;br /&gt;
*[[#A5: Speicherplatz|A5]]: Ein Algorithmus darf nur endlich viel Speicherplatz für Zwischenergebnisse verbrauchen.&lt;br /&gt;
*[[#A6: Terminierung|A6]]: Ein Algorithmus sollte terminieren.&lt;br /&gt;
*[[#A7: Begrenzte Schrittzahl|A7]] bis A9: Aus dem Zustand eines Algorithmus sollte sein nächster Zustand eindeutig definiert sein.&lt;br /&gt;
*[[#A10: Allgemeinheit|A10]]: Ein Algorithmus sollte eine Problemgruppe lösen und nicht nur ein Einzelproblem.&lt;br /&gt;
*[[#A11: Änderbarkeit|A11]]: Ein Algorithmus sollte leicht anpassbar sein.&lt;br /&gt;
*[[#A12: Effizienz|A12]]: Ein Algorithmus sollte effizient sein.&lt;br /&gt;
*[[#A13: Robustheit|A13]]: Ein Algorithmus sollte auf jeden möglichen Fehler vorbereitet sein.&lt;br /&gt;
&lt;br /&gt;
Diese Anforderungen basieren auf wissenschaftlichen Aussagen, die im Folgenden detaillierter beschrieben werden.&lt;br /&gt;
&lt;br /&gt;
===A1: Relation===&lt;br /&gt;
''Ein Algorithmus beschreibt eine '''Relation''' über dem '''Kreuzprodukt einer Eingabe- und einer Ausgabemenge'''. Dadurch werden für jede Eingabe die zulässigen Ausgaben festgelegt.''&lt;br /&gt;
&lt;br /&gt;
Umgangssprachlich lässt sich &amp;quot;Relation&amp;quot; als &amp;quot;Zusammenhang&amp;quot; interpretieren. In der Mathematik ist der Begriff der Relation definiert als eine Menge von Tupeln (x,y). Eine Relation ist z.B. die Menge aller (x,y) für die gilt, dass x = y ist (Gleichheit). Für unseren Zusammenhang ist ein Tupel die Werte (x, f(x)) für eine Funktion x, gesprochen: &amp;quot;f(x) ist das Ergebnis von x unter Ausführung von f&amp;quot;, z.B. (1,2) für &amp;quot;2 ist das Ergebnis von 1 unter Ausführung der Operation +1&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
Das Kreuzprodukt zweier Mengen ist die Kombination aller Elemente der einen Menge zu allen Elementen der anderen Menge zu einer Menge von Tupeln.&lt;br /&gt;
&lt;br /&gt;
====Beispiel====&lt;br /&gt;
Es seien M={2,4,6} und N={1,2,3}, dann entspricht das Kreuzprodukt der beiden der Menge MxN={(2,1),(2,2),(2,3),(4,1),(4,2),(4,3),(6,1),(6,2),(6,3)}.&lt;br /&gt;
Man kombiniert also jedes Element aus der Menge M jeweils mit einem Element der Menge N.&lt;br /&gt;
&lt;br /&gt;
Es sei nun x ein beliebiges Element aus M und y aus N. Untersucht man diese beiden Mengen wie im obigen Beispiel auf &amp;quot;Gleichheit&amp;quot; ihrer Elemente, so gibt es nur ein Tupel, für welches ein Element x aus der Menge M denselben Wert hat, wie das Element y aus N, nämlich (2,2).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Das heißt, ein Algorithmus beschreibt mathematisch eine totale Funktion aus der Menge der Eingaben in die Menge der Ausgaben.&lt;br /&gt;
&lt;br /&gt;
Noch einfacher: Ein Algorithmus berechnet zu jeder Eingabe ein Ergebnis, das er ausgibt. Wichtig hierbei ist: Nur weil ein Algorithmus eine Ausgabe hat, muss der Nutzer eines Programms diese Ausgabe nicht unbedingt sehen! Die gebräuchliche Literatur benutzt die Begriffe &amp;quot;Ergebnis der Berechnung eines Algorithmus&amp;quot; und &amp;quot;Ausgabe eines Algorithmus&amp;quot; synonym.&lt;br /&gt;
&lt;br /&gt;
===A2: Elementaroperationen===&lt;br /&gt;
''Ein Algorithmus setzt sich aus '''wohldefinierten Elementaroperationen''' zusammen, die auf einer geeigneten Maschine ausführbar sind.''&lt;br /&gt;
&lt;br /&gt;
Jeder Algorithmus muss formalisiert und niedergeschrieben werden können. Elementaroperationen sind die kleinsten Einheiten eines Algorithmus. Auf dieser Ebene sind keine weiteren Beschreibungen möglich oder notwendig.&lt;br /&gt;
&lt;br /&gt;
Wie diese Elementaroperationen aussehen, ist von [[Architektur | Maschine]] zu Maschine und von [[Programmiersprache]] zu Programmiersprache unterschiedlich. Eine beliebige Maschine sollte jedoch am Ende die Befehle eines Algorithmus verstehen und ausführen können. Da direkte Befehle an eine Maschine für einen Menschen ab einer gewissen Komplexität nicht mehr nachvollziehbar sind, existieren höhere Programmiersprachen. Diese werden dann von einem anderen Programm entweder interpretiert oder compiliert, bevor sie von einer Maschine ausgeführt werden.&lt;br /&gt;
&lt;br /&gt;
===A3: Abfolge===&lt;br /&gt;
''Ein Algorithmus legt die '''Abfolge der Schritte''' fest, wobei jeder Schritt genau eine Elementaroperation umfasst.''&lt;br /&gt;
&lt;br /&gt;
Ein Algorithmus wird schrittweise ausgeführt. In jedem Schritt führt die Maschine genau eine Elementaroperation aus. Dieses Verhalten wird in vielen Programmiersprachen durch die Notation eines Algorithmus als Anweisungsfolgen repräsentiert. Dies ist allerdings nicht immer der Fall, so z.B. in funktionalen Programmiersprachen.&lt;br /&gt;
&lt;br /&gt;
===A4: Beschreibung endlicher Länge===&lt;br /&gt;
''Ein Algorithmus ist eine '''Beschreibung endlicher Länge'''.''&lt;br /&gt;
&lt;br /&gt;
Ein Algorithmus muss niedergeschrieben werden können und seine Beschreibung muss mit einer endlichen Anzahl an Anweisungen formulierbar sein. Eine unendliche Folge von Anweisungen wird nicht als Algorithmus betrachtet.&lt;br /&gt;
&lt;br /&gt;
===A5: Speicherplatz===&lt;br /&gt;
''Ein Algorithmus benutzt nur '''endlich viele Speicherplätze''' zur Ablage von Zwischenergebnissen.''&lt;br /&gt;
&lt;br /&gt;
Jeder reale Computer besitzt nur endlich viel Speicherplatz. Daher ist ein Algorithmus, der unendlich viel Speicherplatz belegt, nicht umsetzbar. Auch in der theoretischen Informatik beschäftigt man sich hauptsächlich mit Maschinenmodellen, die unter Umständen beliebig viel, aber immer endlich viel Speicherplatz für ihre Berechnungen benötigen.&lt;br /&gt;
&lt;br /&gt;
===A6: Terminierung===&lt;br /&gt;
''Für jede (!) Eingabe endet die Ausführung des Algorithmus nach endlich vielen Schritten ('''Terminierung''').''&lt;br /&gt;
&lt;br /&gt;
Jedes Programm muss nach endlich vielen Schritten terminieren, d.h. der Algorithmus muss ein Ergebnis liefern. Würde ein Programm nicht terminieren, so läge nie ein Ergebnis vor und die ausführende Maschine würde niemals anhalten. Ein Beispiel für ein nicht terminierendes Programm, das von außen abgebrochen werden muss, ist eine [[Endlosschleife]].&lt;br /&gt;
&lt;br /&gt;
===A7: Begrenzte Schrittanzahl===&lt;br /&gt;
''Für jede (!) Eingabe wird die zugehörige Ausgabe spätestens nach Ausführung einer vorgegebenen Schrittanzahl n geliefert. Wenn ein Rechensystem für jeden Schritt höchstens die Zeit s benötigt, dann wird die Ausgabe spätestens nach Verstreichen der begrenzten Antwortzeit t = s * n geliefert ('''Begrenzte Schrittanzahl''').''&lt;br /&gt;
&lt;br /&gt;
Diese zusätzliche Anforderung beschreibt die Tatsache, dass ein Algorithmus möglichst effizient ein Ergebnis liefern soll. Tut er dies nach einer gewissen Zeit nicht, so muss er abgebrochen und das Ergebnis als &amp;quot;nicht definiert&amp;quot; deklariert werden.&lt;br /&gt;
&lt;br /&gt;
===A8: Determiniertheit===&lt;br /&gt;
''Die Eingabe-Ausgabe-Relation (siehe A1) ist rechtseindeutig. Dies bedeutet, dass jeder Eingabe genau eine Ausgabe zugeordnet wird ('''Determiniertheit''').''&lt;br /&gt;
&lt;br /&gt;
Auf eine bestimmte Eingabe folgt immer dieselbe Ausgabe. Das wird '''Determiniertheit''' genannt. Der Algorithmus führt unabhängig von Maschine, Zeit, Ort und ähnlichem immer dieselbe Berechnung aus. Auf die Eingabe &amp;quot;&amp;amp;#x221a;4&amp;quot; folgt zum Beispiel immer die Ausgabe &amp;quot;2&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===A9: Determinismus===&lt;br /&gt;
''In jedem Zustand, der bei Ausführung des Algorithmus erreicht wird,  ist jeweils nur ein einziger Folgeschritt als nächster ausführbar ('''Determinismus''').''&lt;br /&gt;
&lt;br /&gt;
Jedes Programm in Ausführung lässt sich durch einen Zustand repräsentieren (Werte von Variablen, Codezeile in Ausführung, uvm.). In Abhängigkeit dieses Zustandes muss ein Algorithmus einen eindeutig definierten Folgezustand nach Ausführung einer Elementaroperation besitzen. &lt;br /&gt;
&lt;br /&gt;
===A10: Allgemeinheit===&lt;br /&gt;
''Ein Algorithmus löst nicht nur ein einziges Problem, sondern eine Klasse von Problemen ('''Allgemeinheit''').''&lt;br /&gt;
&lt;br /&gt;
Ein Algorithmus sollte ein Problem lösen und zwar in Abhängigkeit zu seiner Eingabe. Ein Algorithmus, der z.B. zu '''jeder''' Eingabe die Ausgabe &amp;quot;1&amp;quot; besitzt, kann auch direkt durch den Ausdruck &amp;quot;1&amp;quot; ersetzt werden und hat keinen Mehrwert durch seine Existenz.&lt;br /&gt;
&lt;br /&gt;
===A11: Änderbarkeit===&lt;br /&gt;
''Ein Algorithmus soll sich leicht modifizieren lassen, um ihn an eine veränderte Aufgabenstellung anzupassen ('''Änderbarkeit''').''&lt;br /&gt;
&lt;br /&gt;
===A12: Effizienz===&lt;br /&gt;
''Für eine gegebene Eingabe soll die Anzahl der benötigten Schritte möglichst gering sein ('''Effizienz''').''&lt;br /&gt;
&lt;br /&gt;
Durch die Vermeidung unnötiger Schritte wird der Algorithmus kürzer und meist übersichtlicher. Zudem ist es ein Ziel der Informatik, Probleme mit möglichst geringer Laufzeit, also schnell, und möglichst geringem Speicherplatzverbrauch zu lösen.&lt;br /&gt;
&lt;br /&gt;
===A13: Robustheit===&lt;br /&gt;
''Der Algorithmus soll sich möglichst auch dann wohldefiniert verhalten, wenn eine unzulässige Eingabe (die nicht Element der Eingabemenge ist) vorliegt oder eine sonstige unvorhergesehene Situation auftritt ('''Robustheit''').''&lt;br /&gt;
&lt;br /&gt;
Wenn die Funktion, die ein Algorithmus berechnet, nicht total ist, so sollte ein Algorithmus im Falle einer Eingabe, zu der seine intendierte Funktion kein Ergebnis liefern kann (z.B. Division durch Null), dennoch eine vorhersehbare Funktionalität liefern (z.B. die Ausgabe einer Fehlermeldung und anschließender Abbruch der gesamten Ausführung des Programms).&lt;br /&gt;
&lt;br /&gt;
== Rückgabe und Ausgabe ==&lt;br /&gt;
===Erläuterung===&lt;br /&gt;
&lt;br /&gt;
Der Unterschied zwischen den Begriffen '''Rückgabe''' und '''Ausgabe''' ist in der deutschen Sprache erfahrungsgemäß zu gering. Dies führt häufig zu Missverständnissen und Fehlern beim Lesen und Bearbeiten von Übungsaufgaben. Aus diesem Grund definieren wir hier die folgenden Grundlagen:&lt;br /&gt;
&lt;br /&gt;
Beschreibt ein Text einen Algorithmus, der etwas '''ausgibt''' (engl. ''print''), so meinen wir das Anzeigen eines Ergebnisses auf einer [[Benutzerschnittstelle]].&lt;br /&gt;
&lt;br /&gt;
Beschreibt ein Text einen Algorithmus, der etwas '''zurückgibt''' (engl. ''return''), so meinen wir das Übergeben des Ergebnisses an eine aufrufende Funktion.&lt;br /&gt;
&lt;br /&gt;
Beschreibt ein Text eine Ausgabe (engl. ''output'') eines Algorithmus im Zusammenhang mit einer Eingabe (''input''), so ist von dem Ergebnis, bzw. den Parametern der vom Programm beschriebenen Funktion die Rede.&lt;br /&gt;
&lt;br /&gt;
=== Beispiele ===&lt;br /&gt;
&lt;br /&gt;
 Spezifikation:&lt;br /&gt;
 &lt;br /&gt;
 Eingabe: Eine Zahl&lt;br /&gt;
 Ausgabe: Die Zahl, multipliziert mit sich selbst&lt;br /&gt;
&lt;br /&gt;
Hier wird ein Algorithmus beschrieben, der eine Zahl als Parameter erwartet und diese bei Aufruf mit sich selbst multipliziert und als Ergebnis zurückgibt. Eine Ausgabe auf dem Bildschirm wird hier '''nicht''' erwartet.&lt;br /&gt;
&lt;br /&gt;
 Der Algorithmus nimmt zwei Zahlen entgegen und gibt das Produkt dieser Zahlen aus.&lt;br /&gt;
&lt;br /&gt;
Hier wird ein Algorithmus beschrieben, der zwei Zahlen als Parameter erwartet und diese bei Aufruf miteinander multipliziert. Das Ergebnis dieser Multiplikation wird anschließend auf einer [[Benutzerschnittstelle]] ausgegeben. Ein aufrufender Algorithmus erwartet '''kein''' Ergebnis von diesem.&lt;br /&gt;
&lt;br /&gt;
 Der Algorithmus nimmt eine Zahl n entgegen und gibt den Wert 2 ^ n zurück.&lt;br /&gt;
&lt;br /&gt;
Hier wird ein Algorithmus beschrieben, der eine Zahl als Parameter erwartet und diesen als Teil seiner Berechnung verwendet. Das Ergebnis dieser Berechnung wird an die aufrufende Funktion zurückgegeben. Eine Ausgabe auf dem Bildschirm wird hier '''nicht''' erwartet.&lt;br /&gt;
&lt;br /&gt;
 Der Algorithmus nimmt eine Nachricht s entgegen, verschickt diese Nachricht an alle aktiven Verbindungen,&lt;br /&gt;
 gibt dabei eine Information über den Empfänger der Nachricht aus&lt;br /&gt;
 und gibt die Anzahl der versendeten Nachrichten zurück.&lt;br /&gt;
&lt;br /&gt;
Hier wird ein Algorithmus beschrieben, der eine Nachricht als Parameter erwartet und diese an verschiedene Empfänger verteilt. Die Information über den Versand der Nachricht wird für jeden Empfänger auf einer Benutzerschnittstelle ausgegeben. Die aufrufende Funktion erhält als Ergebnis der Berechnung die Anzahl der versendeten Nachrichten.&lt;br /&gt;
&lt;br /&gt;
==Vom Algorithmus zum Programm==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Programm/Programmieren===&lt;br /&gt;
Die Formulierung eines Algorithmus heißt '''Programm'''.&lt;br /&gt;
Das Entwerfen eines Programms heißt '''programmieren'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Programmparadigmen===&lt;br /&gt;
Ein Programmparadigma ist ein Konzept zum Programmieren.&lt;br /&gt;
&lt;br /&gt;
==Die bekanntesten Programmparadigmen==&lt;br /&gt;
*[[Imperative_Programmierung | Imperative (prozedurale) Programmierung]]&lt;br /&gt;
&lt;br /&gt;
*[[Funktionale_Programmierung |  Funktionale Programmierung]]&lt;br /&gt;
&lt;br /&gt;
*[[Logische_Programmierung |  Logische Programmierung]]&lt;br /&gt;
&lt;br /&gt;
*[[Objektorientierte_Programmierung | Objektorientierte Programmierung]]&lt;br /&gt;
&lt;br /&gt;
=Quellenangaben=&lt;/div&gt;</summary>
		<author><name>Solveig</name></author>	</entry>

	<entry>
		<id>https://ls14-eini.cs.tu-dortmund.de/index.php?title=Algorithmus&amp;diff=1804</id>
		<title>Algorithmus</title>
		<link rel="alternate" type="text/html" href="https://ls14-eini.cs.tu-dortmund.de/index.php?title=Algorithmus&amp;diff=1804"/>
				<updated>2016-09-16T16:16:58Z</updated>
		
		<summary type="html">&lt;p&gt;Solveig: /* Beispiel zum Kreuzprodukt */ Beispiel zu A1 ergänzt&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;quot;Ein Algorithmus ist eine detaillierte und explizite Vorschrift zur schrittweisen Lösung eines Problems durch eine Abfolge bekannter Befehle/Operationen.&amp;quot;&amp;lt;ref&amp;gt; Gumm/Sommer: Einführung in die Informatik &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ein '''Algorithmus''' ist zudem ein '''Verfahren zur Lösung von [[Einzelproblem | Einzelproblemen]] einer definierten [[Problemklasse]].'''&lt;br /&gt;
&lt;br /&gt;
Man kann einen Algorithmus mit einer Gebrauchsanleitung vergleichen: Es wird versucht, ein (mathematisches) Problem durch präzise Anweisungen zu lösen. Ein Algorithmus muss eindeutig ausführbar sein.&lt;br /&gt;
&lt;br /&gt;
Algorithmen werden meistens nicht direkt in einer existenten [[Programmiersprache]]n dargestellt, sondern umgangssprachlich oder im sogenannten [[Pseudocode]]. Dieser ist ein Kompromiss aus Umgangs- und Programmiersprache.&lt;br /&gt;
&lt;br /&gt;
==Anforderungen an einen Algorithmus==&lt;br /&gt;
&lt;br /&gt;
In der Vorlesung wurden Ihnen formale Anforderungen an einen Algorithmus vorgestellt. In kurz sind diese:&lt;br /&gt;
&lt;br /&gt;
*[[#A1: Relation|A1]]: Ein Algorithmus muss für jede Eingabe eine Ausgabe besitzen.&lt;br /&gt;
*[[#A2: Elementaroperationen|A2]] bis A4: Ein Algorithmus muss durch eine endliche Folge sog. elementarer Operatoren beschrieben werden können.&lt;br /&gt;
*[[#A5: Speicherplatz|A5]]: Ein Algorithmus darf nur endlich viel Speicherplatz für Zwischenergebnisse verbrauchen.&lt;br /&gt;
*[[#A6: Terminierung|A6]]: Ein Algorithmus sollte terminieren.&lt;br /&gt;
*[[#A7: Begrenzte Schrittzahl|A7]] bis A9: Aus dem Zustand eines Algorithmus sollte sein nächster Zustand eindeutig definiert sein.&lt;br /&gt;
*[[#A10: Allgemeinheit|A10]]: Ein Algorithmus sollte eine Problemgruppe lösen und nicht nur ein Einzelproblem.&lt;br /&gt;
*[[#A11: Änderbarkeit|A11]]: Ein Algorithmus sollte leicht anpassbar sein.&lt;br /&gt;
*[[#A12: Effizienz|A12]]: Ein Algorithmus sollte effizient sein.&lt;br /&gt;
*[[#A13: Robustheit|A13]]: Ein Algorithmus sollte auf jeden möglichen Fehler vorbereitet sein.&lt;br /&gt;
&lt;br /&gt;
Diese Anforderungen basieren auf wissenschaftlichen Aussagen, die im Folgenden detaillierter beschrieben werden.&lt;br /&gt;
&lt;br /&gt;
===A1: Relation===&lt;br /&gt;
''Ein Algorithmus beschreibt eine '''Relation''' über dem '''Kreuzprodukt einer Eingabe- und einer Ausgabemenge'''. Dadurch werden für jede Eingabe die zulässigen Ausgaben festgelegt.''&lt;br /&gt;
&lt;br /&gt;
Umgangssprachlich lässt sich &amp;quot;Relation&amp;quot; als &amp;quot;Zusammenhang&amp;quot; interpretieren. In der Mathematik ist der Begriff der Relation definiert als eine Menge von Tupeln (x,y). Eine Relation ist z.B. die Menge aller (x,y) für die gilt, dass x = y ist (Gleichheit). Für unseren Zusammenhang ist ein Tupel die Werte (x, f(x)) für eine Funktion x, gesprochen: &amp;quot;f(x) ist das Ergebnis von x unter Ausführung von f&amp;quot;, z.B. (1,2) für &amp;quot;2 ist das Ergebnis von 1 unter Ausführung der Operation +1&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
Das Kreuzprodukt zweier Mengen ist die Kombination aller Elemente der einen Menge zu allen Elementen der anderen Menge zu einer Menge von Tupeln.&lt;br /&gt;
&lt;br /&gt;
====Beispiel====&lt;br /&gt;
Es seien M={2,4,6} und N={1,2,3}, dann entspricht das Kreuzprodukt der beiden der Menge MxN={(2,1),(2,2),(2,3),(4,1),(4,2),(4,3),(6,1),(6,2),(6,3)}.&lt;br /&gt;
Man kombiniert also jedes Element aus der Menge M jeweils mit einem Element der Menge N.&lt;br /&gt;
&lt;br /&gt;
Wendet man die oben erwähnte Funktion auf diesen beiden Mengen an, wobei x aus M und y aus N sein sollen, so gibt es nur ein Tupel, für welches ein Element x aus der Menge M denselben Wert hat, wie das Element y aus N, nämlich (2,2).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Das heißt, ein Algorithmus beschreibt mathematisch eine totale Funktion aus der Menge der Eingaben in die Menge der Ausgaben.&lt;br /&gt;
&lt;br /&gt;
Noch einfacher: Ein Algorithmus berechnet zu jeder Eingabe ein Ergebnis, das er ausgibt. Wichtig hierbei ist: Nur weil ein Algorithmus eine Ausgabe hat, muss der Nutzer eines Programms diese Ausgabe nicht unbedingt sehen! Die gebräuchliche Literatur benutzt die Begriffe &amp;quot;Ergebnis der Berechnung eines Algorithmus&amp;quot; und &amp;quot;Ausgabe eines Algorithmus&amp;quot; synonym.&lt;br /&gt;
&lt;br /&gt;
===A2: Elementaroperationen===&lt;br /&gt;
''Ein Algorithmus setzt sich aus '''wohldefinierten Elementaroperationen''' zusammen, die auf einer geeigneten Maschine ausführbar sind.''&lt;br /&gt;
&lt;br /&gt;
Jeder Algorithmus muss formalisiert und niedergeschrieben werden können. Elementaroperationen sind die kleinsten Einheiten eines Algorithmus. Auf dieser Ebene sind keine weiteren Beschreibungen möglich oder notwendig.&lt;br /&gt;
&lt;br /&gt;
Wie diese Elementaroperationen aussehen, ist von [[Architektur | Maschine]] zu Maschine und von [[Programmiersprache]] zu Programmiersprache unterschiedlich. Eine beliebige Maschine sollte jedoch am Ende die Befehle eines Algorithmus verstehen und ausführen können. Da direkte Befehle an eine Maschine für einen Menschen ab einer gewissen Komplexität nicht mehr nachvollziehbar sind, existieren höhere Programmiersprachen. Diese werden dann von einem anderen Programm entweder interpretiert oder compiliert, bevor sie von einer Maschine ausgeführt werden.&lt;br /&gt;
&lt;br /&gt;
===A3: Abfolge===&lt;br /&gt;
''Ein Algorithmus legt die '''Abfolge der Schritte''' fest, wobei jeder Schritt genau eine Elementaroperation umfasst.''&lt;br /&gt;
&lt;br /&gt;
Ein Algorithmus wird schrittweise ausgeführt. In jedem Schritt führt die Maschine genau eine Elementaroperation aus. Dieses Verhalten wird in vielen Programmiersprachen durch die Notation eines Algorithmus als Anweisungsfolgen repräsentiert. Dies ist allerdings nicht immer der Fall, so z.B. in funktionalen Programmiersprachen.&lt;br /&gt;
&lt;br /&gt;
===A4: Beschreibung endlicher Länge===&lt;br /&gt;
''Ein Algorithmus ist eine '''Beschreibung endlicher Länge'''.''&lt;br /&gt;
&lt;br /&gt;
Ein Algorithmus muss niedergeschrieben werden können und seine Beschreibung muss mit einer endlichen Anzahl an Anweisungen formulierbar sein. Eine unendliche Folge von Anweisungen wird nicht als Algorithmus betrachtet.&lt;br /&gt;
&lt;br /&gt;
===A5: Speicherplatz===&lt;br /&gt;
''Ein Algorithmus benutzt nur '''endlich viele Speicherplätze''' zur Ablage von Zwischenergebnissen.''&lt;br /&gt;
&lt;br /&gt;
Jeder reale Computer besitzt nur endlich viel Speicherplatz. Daher ist ein Algorithmus, der unendlich viel Speicherplatz belegt, nicht umsetzbar. Auch in der theoretischen Informatik beschäftigt man sich hauptsächlich mit Maschinenmodellen, die unter Umständen beliebig viel, aber immer endlich viel Speicherplatz für ihre Berechnungen benötigen.&lt;br /&gt;
&lt;br /&gt;
===A6: Terminierung===&lt;br /&gt;
''Für jede (!) Eingabe endet die Ausführung des Algorithmus nach endlich vielen Schritten ('''Terminierung''').''&lt;br /&gt;
&lt;br /&gt;
Jedes Programm muss nach endlich vielen Schritten terminieren, d.h. der Algorithmus muss ein Ergebnis liefern. Würde ein Programm nicht terminieren, so läge nie ein Ergebnis vor und die ausführende Maschine würde niemals anhalten. Ein Beispiel für ein nicht terminierendes Programm, das von außen abgebrochen werden muss, ist eine [[Endlosschleife]].&lt;br /&gt;
&lt;br /&gt;
===A7: Begrenzte Schrittanzahl===&lt;br /&gt;
''Für jede (!) Eingabe wird die zugehörige Ausgabe spätestens nach Ausführung einer vorgegebenen Schrittanzahl n geliefert. Wenn ein Rechensystem für jeden Schritt höchstens die Zeit s benötigt, dann wird die Ausgabe spätestens nach Verstreichen der begrenzten Antwortzeit t = s * n geliefert ('''Begrenzte Schrittanzahl''').''&lt;br /&gt;
&lt;br /&gt;
Diese zusätzliche Anforderung beschreibt die Tatsache, dass ein Algorithmus möglichst effizient ein Ergebnis liefern soll. Tut er dies nach einer gewissen Zeit nicht, so muss er abgebrochen und das Ergebnis als &amp;quot;nicht definiert&amp;quot; deklariert werden.&lt;br /&gt;
&lt;br /&gt;
===A8: Determiniertheit===&lt;br /&gt;
''Die Eingabe-Ausgabe-Relation (siehe A1) ist rechtseindeutig. Dies bedeutet, dass jeder Eingabe genau eine Ausgabe zugeordnet wird ('''Determiniertheit''').''&lt;br /&gt;
&lt;br /&gt;
Auf eine bestimmte Eingabe folgt immer dieselbe Ausgabe. Das wird '''Determiniertheit''' genannt. Der Algorithmus führt unabhängig von Maschine, Zeit, Ort und ähnlichem immer dieselbe Berechnung aus. Auf die Eingabe &amp;quot;&amp;amp;#x221a;4&amp;quot; folgt zum Beispiel immer die Ausgabe &amp;quot;2&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===A9: Determinismus===&lt;br /&gt;
''In jedem Zustand, der bei Ausführung des Algorithmus erreicht wird,  ist jeweils nur ein einziger Folgeschritt als nächster ausführbar ('''Determinismus''').''&lt;br /&gt;
&lt;br /&gt;
Jedes Programm in Ausführung lässt sich durch einen Zustand repräsentieren (Werte von Variablen, Codezeile in Ausführung, uvm.). In Abhängigkeit dieses Zustandes muss ein Algorithmus einen eindeutig definierten Folgezustand nach Ausführung einer Elementaroperation besitzen. &lt;br /&gt;
&lt;br /&gt;
===A10: Allgemeinheit===&lt;br /&gt;
''Ein Algorithmus löst nicht nur ein einziges Problem, sondern eine Klasse von Problemen ('''Allgemeinheit''').''&lt;br /&gt;
&lt;br /&gt;
Ein Algorithmus sollte ein Problem lösen und zwar in Abhängigkeit zu seiner Eingabe. Ein Algorithmus, der z.B. zu '''jeder''' Eingabe die Ausgabe &amp;quot;1&amp;quot; besitzt, kann auch direkt durch den Ausdruck &amp;quot;1&amp;quot; ersetzt werden und hat keinen Mehrwert durch seine Existenz.&lt;br /&gt;
&lt;br /&gt;
===A11: Änderbarkeit===&lt;br /&gt;
''Ein Algorithmus soll sich leicht modifizieren lassen, um ihn an eine veränderte Aufgabenstellung anzupassen ('''Änderbarkeit''').''&lt;br /&gt;
&lt;br /&gt;
===A12: Effizienz===&lt;br /&gt;
''Für eine gegebene Eingabe soll die Anzahl der benötigten Schritte möglichst gering sein ('''Effizienz''').''&lt;br /&gt;
&lt;br /&gt;
Durch die Vermeidung unnötiger Schritte wird der Algorithmus kürzer und meist übersichtlicher. Zudem ist es ein Ziel der Informatik, Probleme mit möglichst geringer Laufzeit, also schnell, und möglichst geringem Speicherplatzverbrauch zu lösen.&lt;br /&gt;
&lt;br /&gt;
===A13: Robustheit===&lt;br /&gt;
''Der Algorithmus soll sich möglichst auch dann wohldefiniert verhalten, wenn eine unzulässige Eingabe (die nicht Element der Eingabemenge ist) vorliegt oder eine sonstige unvorhergesehene Situation auftritt ('''Robustheit''').''&lt;br /&gt;
&lt;br /&gt;
Wenn die Funktion, die ein Algorithmus berechnet, nicht total ist, so sollte ein Algorithmus im Falle einer Eingabe, zu der seine intendierte Funktion kein Ergebnis liefern kann (z.B. Division durch Null), dennoch eine vorhersehbare Funktionalität liefern (z.B. die Ausgabe einer Fehlermeldung und anschließender Abbruch der gesamten Ausführung des Programms).&lt;br /&gt;
&lt;br /&gt;
== Rückgabe und Ausgabe ==&lt;br /&gt;
===Erläuterung===&lt;br /&gt;
&lt;br /&gt;
Der Unterschied zwischen den Begriffen '''Rückgabe''' und '''Ausgabe''' ist in der deutschen Sprache erfahrungsgemäß zu gering. Dies führt häufig zu Missverständnissen und Fehlern beim Lesen und Bearbeiten von Übungsaufgaben. Aus diesem Grund definieren wir hier die folgenden Grundlagen:&lt;br /&gt;
&lt;br /&gt;
Beschreibt ein Text einen Algorithmus, der etwas '''ausgibt''' (engl. ''print''), so meinen wir das Anzeigen eines Ergebnisses auf einer [[Benutzerschnittstelle]].&lt;br /&gt;
&lt;br /&gt;
Beschreibt ein Text einen Algorithmus, der etwas '''zurückgibt''' (engl. ''return''), so meinen wir das Übergeben des Ergebnisses an eine aufrufende Funktion.&lt;br /&gt;
&lt;br /&gt;
Beschreibt ein Text eine Ausgabe (engl. ''output'') eines Algorithmus im Zusammenhang mit einer Eingabe (''input''), so ist von dem Ergebnis, bzw. den Parametern der vom Programm beschriebenen Funktion die Rede.&lt;br /&gt;
&lt;br /&gt;
=== Beispiele ===&lt;br /&gt;
&lt;br /&gt;
 Spezifikation:&lt;br /&gt;
 &lt;br /&gt;
 Eingabe: Eine Zahl&lt;br /&gt;
 Ausgabe: Die Zahl, multipliziert mit sich selbst&lt;br /&gt;
&lt;br /&gt;
Hier wird ein Algorithmus beschrieben, der eine Zahl als Parameter erwartet und diese bei Aufruf mit sich selbst multipliziert und als Ergebnis zurückgibt. Eine Ausgabe auf dem Bildschirm wird hier '''nicht''' erwartet.&lt;br /&gt;
&lt;br /&gt;
 Der Algorithmus nimmt zwei Zahlen entgegen und gibt das Produkt dieser Zahlen aus.&lt;br /&gt;
&lt;br /&gt;
Hier wird ein Algorithmus beschrieben, der zwei Zahlen als Parameter erwartet und diese bei Aufruf miteinander multipliziert. Das Ergebnis dieser Multiplikation wird anschließend auf einer [[Benutzerschnittstelle]] ausgegeben. Ein aufrufender Algorithmus erwartet '''kein''' Ergebnis von diesem.&lt;br /&gt;
&lt;br /&gt;
 Der Algorithmus nimmt eine Zahl n entgegen und gibt den Wert 2 ^ n zurück.&lt;br /&gt;
&lt;br /&gt;
Hier wird ein Algorithmus beschrieben, der eine Zahl als Parameter erwartet und diesen als Teil seiner Berechnung verwendet. Das Ergebnis dieser Berechnung wird an die aufrufende Funktion zurückgegeben. Eine Ausgabe auf dem Bildschirm wird hier '''nicht''' erwartet.&lt;br /&gt;
&lt;br /&gt;
 Der Algorithmus nimmt eine Nachricht s entgegen, verschickt diese Nachricht an alle aktiven Verbindungen,&lt;br /&gt;
 gibt dabei eine Information über den Empfänger der Nachricht aus&lt;br /&gt;
 und gibt die Anzahl der versendeten Nachrichten zurück.&lt;br /&gt;
&lt;br /&gt;
Hier wird ein Algorithmus beschrieben, der eine Nachricht als Parameter erwartet und diese an verschiedene Empfänger verteilt. Die Information über den Versand der Nachricht wird für jeden Empfänger auf einer Benutzerschnittstelle ausgegeben. Die aufrufende Funktion erhält als Ergebnis der Berechnung die Anzahl der versendeten Nachrichten.&lt;br /&gt;
&lt;br /&gt;
==Vom Algorithmus zum Programm==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Programm/Programmieren===&lt;br /&gt;
Die Formulierung eines Algorithmus heißt '''Programm'''.&lt;br /&gt;
Das Entwerfen eines Programms heißt '''programmieren'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Programmparadigmen===&lt;br /&gt;
Ein Programmparadigma ist ein Konzept zum Programmieren.&lt;br /&gt;
&lt;br /&gt;
==Die bekanntesten Programmparadigmen==&lt;br /&gt;
*[[Imperative_Programmierung | Imperative (prozedurale) Programmierung]]&lt;br /&gt;
&lt;br /&gt;
*[[Funktionale_Programmierung |  Funktionale Programmierung]]&lt;br /&gt;
&lt;br /&gt;
*[[Logische_Programmierung |  Logische Programmierung]]&lt;br /&gt;
&lt;br /&gt;
*[[Objektorientierte_Programmierung | Objektorientierte Programmierung]]&lt;br /&gt;
&lt;br /&gt;
=Quellenangaben=&lt;/div&gt;</summary>
		<author><name>Solveig</name></author>	</entry>

	<entry>
		<id>https://ls14-eini.cs.tu-dortmund.de/index.php?title=Algorithmus&amp;diff=1803</id>
		<title>Algorithmus</title>
		<link rel="alternate" type="text/html" href="https://ls14-eini.cs.tu-dortmund.de/index.php?title=Algorithmus&amp;diff=1803"/>
				<updated>2016-09-16T16:13:40Z</updated>
		
		<summary type="html">&lt;p&gt;Solveig: /* Beispiel zum Kreuzprodukt */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;quot;Ein Algorithmus ist eine detaillierte und explizite Vorschrift zur schrittweisen Lösung eines Problems durch eine Abfolge bekannter Befehle/Operationen.&amp;quot;&amp;lt;ref&amp;gt; Gumm/Sommer: Einführung in die Informatik &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ein '''Algorithmus''' ist zudem ein '''Verfahren zur Lösung von [[Einzelproblem | Einzelproblemen]] einer definierten [[Problemklasse]].'''&lt;br /&gt;
&lt;br /&gt;
Man kann einen Algorithmus mit einer Gebrauchsanleitung vergleichen: Es wird versucht, ein (mathematisches) Problem durch präzise Anweisungen zu lösen. Ein Algorithmus muss eindeutig ausführbar sein.&lt;br /&gt;
&lt;br /&gt;
Algorithmen werden meistens nicht direkt in einer existenten [[Programmiersprache]]n dargestellt, sondern umgangssprachlich oder im sogenannten [[Pseudocode]]. Dieser ist ein Kompromiss aus Umgangs- und Programmiersprache.&lt;br /&gt;
&lt;br /&gt;
==Anforderungen an einen Algorithmus==&lt;br /&gt;
&lt;br /&gt;
In der Vorlesung wurden Ihnen formale Anforderungen an einen Algorithmus vorgestellt. In kurz sind diese:&lt;br /&gt;
&lt;br /&gt;
*[[#A1: Relation|A1]]: Ein Algorithmus muss für jede Eingabe eine Ausgabe besitzen.&lt;br /&gt;
*[[#A2: Elementaroperationen|A2]] bis A4: Ein Algorithmus muss durch eine endliche Folge sog. elementarer Operatoren beschrieben werden können.&lt;br /&gt;
*[[#A5: Speicherplatz|A5]]: Ein Algorithmus darf nur endlich viel Speicherplatz für Zwischenergebnisse verbrauchen.&lt;br /&gt;
*[[#A6: Terminierung|A6]]: Ein Algorithmus sollte terminieren.&lt;br /&gt;
*[[#A7: Begrenzte Schrittzahl|A7]] bis A9: Aus dem Zustand eines Algorithmus sollte sein nächster Zustand eindeutig definiert sein.&lt;br /&gt;
*[[#A10: Allgemeinheit|A10]]: Ein Algorithmus sollte eine Problemgruppe lösen und nicht nur ein Einzelproblem.&lt;br /&gt;
*[[#A11: Änderbarkeit|A11]]: Ein Algorithmus sollte leicht anpassbar sein.&lt;br /&gt;
*[[#A12: Effizienz|A12]]: Ein Algorithmus sollte effizient sein.&lt;br /&gt;
*[[#A13: Robustheit|A13]]: Ein Algorithmus sollte auf jeden möglichen Fehler vorbereitet sein.&lt;br /&gt;
&lt;br /&gt;
Diese Anforderungen basieren auf wissenschaftlichen Aussagen, die im Folgenden detaillierter beschrieben werden.&lt;br /&gt;
&lt;br /&gt;
===A1: Relation===&lt;br /&gt;
''Ein Algorithmus beschreibt eine '''Relation''' über dem '''Kreuzprodukt einer Eingabe- und einer Ausgabemenge'''. Dadurch werden für jede Eingabe die zulässigen Ausgaben festgelegt.''&lt;br /&gt;
&lt;br /&gt;
Umgangssprachlich lässt sich &amp;quot;Relation&amp;quot; als &amp;quot;Zusammenhang&amp;quot; interpretieren. In der Mathematik ist der Begriff der Relation definiert als eine Menge von Tupeln (x,y). Eine Relation ist z.B. die Menge aller (x,y) für die gilt, dass x = y ist (Gleichheit). Für unseren Zusammenhang ist ein Tupel die Werte (x, f(x)) für eine Funktion x, gesprochen: &amp;quot;f(x) ist das Ergebnis von x unter Ausführung von f&amp;quot;, z.B. (1,2) für &amp;quot;2 ist das Ergebnis von 1 unter Ausführung der Operation +1&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
Das Kreuzprodukt zweier Mengen ist die Kombination aller Elemente der einen Menge zu allen Elementen der anderen Menge zu einer Menge von Tupeln.&lt;br /&gt;
&lt;br /&gt;
====Beispiel zum Kreuzprodukt====&lt;br /&gt;
Es seien M={2,4,6} und N={1,2,3}, dann entspricht das Kreuzprodukt der beiden der Menge MxN={(2,1),(2,2),(2,3),(4,1),(4,2),(4,3),(6,1),(6,2),(6,3)}.&lt;br /&gt;
Man kombiniert also jedes Element aus der Menge A jeweils mit einem Element der Menge B.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Das heißt, ein Algorithmus beschreibt mathematisch eine totale Funktion aus der Menge der Eingaben in die Menge der Ausgaben.&lt;br /&gt;
&lt;br /&gt;
Noch einfacher: Ein Algorithmus berechnet zu jeder Eingabe ein Ergebnis, das er ausgibt. Wichtig hierbei ist: Nur weil ein Algorithmus eine Ausgabe hat, muss der Nutzer eines Programms diese Ausgabe nicht unbedingt sehen! Die gebräuchliche Literatur benutzt die Begriffe &amp;quot;Ergebnis der Berechnung eines Algorithmus&amp;quot; und &amp;quot;Ausgabe eines Algorithmus&amp;quot; synonym.&lt;br /&gt;
&lt;br /&gt;
===A2: Elementaroperationen===&lt;br /&gt;
''Ein Algorithmus setzt sich aus '''wohldefinierten Elementaroperationen''' zusammen, die auf einer geeigneten Maschine ausführbar sind.''&lt;br /&gt;
&lt;br /&gt;
Jeder Algorithmus muss formalisiert und niedergeschrieben werden können. Elementaroperationen sind die kleinsten Einheiten eines Algorithmus. Auf dieser Ebene sind keine weiteren Beschreibungen möglich oder notwendig.&lt;br /&gt;
&lt;br /&gt;
Wie diese Elementaroperationen aussehen, ist von [[Architektur | Maschine]] zu Maschine und von [[Programmiersprache]] zu Programmiersprache unterschiedlich. Eine beliebige Maschine sollte jedoch am Ende die Befehle eines Algorithmus verstehen und ausführen können. Da direkte Befehle an eine Maschine für einen Menschen ab einer gewissen Komplexität nicht mehr nachvollziehbar sind, existieren höhere Programmiersprachen. Diese werden dann von einem anderen Programm entweder interpretiert oder compiliert, bevor sie von einer Maschine ausgeführt werden.&lt;br /&gt;
&lt;br /&gt;
===A3: Abfolge===&lt;br /&gt;
''Ein Algorithmus legt die '''Abfolge der Schritte''' fest, wobei jeder Schritt genau eine Elementaroperation umfasst.''&lt;br /&gt;
&lt;br /&gt;
Ein Algorithmus wird schrittweise ausgeführt. In jedem Schritt führt die Maschine genau eine Elementaroperation aus. Dieses Verhalten wird in vielen Programmiersprachen durch die Notation eines Algorithmus als Anweisungsfolgen repräsentiert. Dies ist allerdings nicht immer der Fall, so z.B. in funktionalen Programmiersprachen.&lt;br /&gt;
&lt;br /&gt;
===A4: Beschreibung endlicher Länge===&lt;br /&gt;
''Ein Algorithmus ist eine '''Beschreibung endlicher Länge'''.''&lt;br /&gt;
&lt;br /&gt;
Ein Algorithmus muss niedergeschrieben werden können und seine Beschreibung muss mit einer endlichen Anzahl an Anweisungen formulierbar sein. Eine unendliche Folge von Anweisungen wird nicht als Algorithmus betrachtet.&lt;br /&gt;
&lt;br /&gt;
===A5: Speicherplatz===&lt;br /&gt;
''Ein Algorithmus benutzt nur '''endlich viele Speicherplätze''' zur Ablage von Zwischenergebnissen.''&lt;br /&gt;
&lt;br /&gt;
Jeder reale Computer besitzt nur endlich viel Speicherplatz. Daher ist ein Algorithmus, der unendlich viel Speicherplatz belegt, nicht umsetzbar. Auch in der theoretischen Informatik beschäftigt man sich hauptsächlich mit Maschinenmodellen, die unter Umständen beliebig viel, aber immer endlich viel Speicherplatz für ihre Berechnungen benötigen.&lt;br /&gt;
&lt;br /&gt;
===A6: Terminierung===&lt;br /&gt;
''Für jede (!) Eingabe endet die Ausführung des Algorithmus nach endlich vielen Schritten ('''Terminierung''').''&lt;br /&gt;
&lt;br /&gt;
Jedes Programm muss nach endlich vielen Schritten terminieren, d.h. der Algorithmus muss ein Ergebnis liefern. Würde ein Programm nicht terminieren, so läge nie ein Ergebnis vor und die ausführende Maschine würde niemals anhalten. Ein Beispiel für ein nicht terminierendes Programm, das von außen abgebrochen werden muss, ist eine [[Endlosschleife]].&lt;br /&gt;
&lt;br /&gt;
===A7: Begrenzte Schrittanzahl===&lt;br /&gt;
''Für jede (!) Eingabe wird die zugehörige Ausgabe spätestens nach Ausführung einer vorgegebenen Schrittanzahl n geliefert. Wenn ein Rechensystem für jeden Schritt höchstens die Zeit s benötigt, dann wird die Ausgabe spätestens nach Verstreichen der begrenzten Antwortzeit t = s * n geliefert ('''Begrenzte Schrittanzahl''').''&lt;br /&gt;
&lt;br /&gt;
Diese zusätzliche Anforderung beschreibt die Tatsache, dass ein Algorithmus möglichst effizient ein Ergebnis liefern soll. Tut er dies nach einer gewissen Zeit nicht, so muss er abgebrochen und das Ergebnis als &amp;quot;nicht definiert&amp;quot; deklariert werden.&lt;br /&gt;
&lt;br /&gt;
===A8: Determiniertheit===&lt;br /&gt;
''Die Eingabe-Ausgabe-Relation (siehe A1) ist rechtseindeutig. Dies bedeutet, dass jeder Eingabe genau eine Ausgabe zugeordnet wird ('''Determiniertheit''').''&lt;br /&gt;
&lt;br /&gt;
Auf eine bestimmte Eingabe folgt immer dieselbe Ausgabe. Das wird '''Determiniertheit''' genannt. Der Algorithmus führt unabhängig von Maschine, Zeit, Ort und ähnlichem immer dieselbe Berechnung aus. Auf die Eingabe &amp;quot;&amp;amp;#x221a;4&amp;quot; folgt zum Beispiel immer die Ausgabe &amp;quot;2&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===A9: Determinismus===&lt;br /&gt;
''In jedem Zustand, der bei Ausführung des Algorithmus erreicht wird,  ist jeweils nur ein einziger Folgeschritt als nächster ausführbar ('''Determinismus''').''&lt;br /&gt;
&lt;br /&gt;
Jedes Programm in Ausführung lässt sich durch einen Zustand repräsentieren (Werte von Variablen, Codezeile in Ausführung, uvm.). In Abhängigkeit dieses Zustandes muss ein Algorithmus einen eindeutig definierten Folgezustand nach Ausführung einer Elementaroperation besitzen. &lt;br /&gt;
&lt;br /&gt;
===A10: Allgemeinheit===&lt;br /&gt;
''Ein Algorithmus löst nicht nur ein einziges Problem, sondern eine Klasse von Problemen ('''Allgemeinheit''').''&lt;br /&gt;
&lt;br /&gt;
Ein Algorithmus sollte ein Problem lösen und zwar in Abhängigkeit zu seiner Eingabe. Ein Algorithmus, der z.B. zu '''jeder''' Eingabe die Ausgabe &amp;quot;1&amp;quot; besitzt, kann auch direkt durch den Ausdruck &amp;quot;1&amp;quot; ersetzt werden und hat keinen Mehrwert durch seine Existenz.&lt;br /&gt;
&lt;br /&gt;
===A11: Änderbarkeit===&lt;br /&gt;
''Ein Algorithmus soll sich leicht modifizieren lassen, um ihn an eine veränderte Aufgabenstellung anzupassen ('''Änderbarkeit''').''&lt;br /&gt;
&lt;br /&gt;
===A12: Effizienz===&lt;br /&gt;
''Für eine gegebene Eingabe soll die Anzahl der benötigten Schritte möglichst gering sein ('''Effizienz''').''&lt;br /&gt;
&lt;br /&gt;
Durch die Vermeidung unnötiger Schritte wird der Algorithmus kürzer und meist übersichtlicher. Zudem ist es ein Ziel der Informatik, Probleme mit möglichst geringer Laufzeit, also schnell, und möglichst geringem Speicherplatzverbrauch zu lösen.&lt;br /&gt;
&lt;br /&gt;
===A13: Robustheit===&lt;br /&gt;
''Der Algorithmus soll sich möglichst auch dann wohldefiniert verhalten, wenn eine unzulässige Eingabe (die nicht Element der Eingabemenge ist) vorliegt oder eine sonstige unvorhergesehene Situation auftritt ('''Robustheit''').''&lt;br /&gt;
&lt;br /&gt;
Wenn die Funktion, die ein Algorithmus berechnet, nicht total ist, so sollte ein Algorithmus im Falle einer Eingabe, zu der seine intendierte Funktion kein Ergebnis liefern kann (z.B. Division durch Null), dennoch eine vorhersehbare Funktionalität liefern (z.B. die Ausgabe einer Fehlermeldung und anschließender Abbruch der gesamten Ausführung des Programms).&lt;br /&gt;
&lt;br /&gt;
== Rückgabe und Ausgabe ==&lt;br /&gt;
===Erläuterung===&lt;br /&gt;
&lt;br /&gt;
Der Unterschied zwischen den Begriffen '''Rückgabe''' und '''Ausgabe''' ist in der deutschen Sprache erfahrungsgemäß zu gering. Dies führt häufig zu Missverständnissen und Fehlern beim Lesen und Bearbeiten von Übungsaufgaben. Aus diesem Grund definieren wir hier die folgenden Grundlagen:&lt;br /&gt;
&lt;br /&gt;
Beschreibt ein Text einen Algorithmus, der etwas '''ausgibt''' (engl. ''print''), so meinen wir das Anzeigen eines Ergebnisses auf einer [[Benutzerschnittstelle]].&lt;br /&gt;
&lt;br /&gt;
Beschreibt ein Text einen Algorithmus, der etwas '''zurückgibt''' (engl. ''return''), so meinen wir das Übergeben des Ergebnisses an eine aufrufende Funktion.&lt;br /&gt;
&lt;br /&gt;
Beschreibt ein Text eine Ausgabe (engl. ''output'') eines Algorithmus im Zusammenhang mit einer Eingabe (''input''), so ist von dem Ergebnis, bzw. den Parametern der vom Programm beschriebenen Funktion die Rede.&lt;br /&gt;
&lt;br /&gt;
=== Beispiele ===&lt;br /&gt;
&lt;br /&gt;
 Spezifikation:&lt;br /&gt;
 &lt;br /&gt;
 Eingabe: Eine Zahl&lt;br /&gt;
 Ausgabe: Die Zahl, multipliziert mit sich selbst&lt;br /&gt;
&lt;br /&gt;
Hier wird ein Algorithmus beschrieben, der eine Zahl als Parameter erwartet und diese bei Aufruf mit sich selbst multipliziert und als Ergebnis zurückgibt. Eine Ausgabe auf dem Bildschirm wird hier '''nicht''' erwartet.&lt;br /&gt;
&lt;br /&gt;
 Der Algorithmus nimmt zwei Zahlen entgegen und gibt das Produkt dieser Zahlen aus.&lt;br /&gt;
&lt;br /&gt;
Hier wird ein Algorithmus beschrieben, der zwei Zahlen als Parameter erwartet und diese bei Aufruf miteinander multipliziert. Das Ergebnis dieser Multiplikation wird anschließend auf einer [[Benutzerschnittstelle]] ausgegeben. Ein aufrufender Algorithmus erwartet '''kein''' Ergebnis von diesem.&lt;br /&gt;
&lt;br /&gt;
 Der Algorithmus nimmt eine Zahl n entgegen und gibt den Wert 2 ^ n zurück.&lt;br /&gt;
&lt;br /&gt;
Hier wird ein Algorithmus beschrieben, der eine Zahl als Parameter erwartet und diesen als Teil seiner Berechnung verwendet. Das Ergebnis dieser Berechnung wird an die aufrufende Funktion zurückgegeben. Eine Ausgabe auf dem Bildschirm wird hier '''nicht''' erwartet.&lt;br /&gt;
&lt;br /&gt;
 Der Algorithmus nimmt eine Nachricht s entgegen, verschickt diese Nachricht an alle aktiven Verbindungen,&lt;br /&gt;
 gibt dabei eine Information über den Empfänger der Nachricht aus&lt;br /&gt;
 und gibt die Anzahl der versendeten Nachrichten zurück.&lt;br /&gt;
&lt;br /&gt;
Hier wird ein Algorithmus beschrieben, der eine Nachricht als Parameter erwartet und diese an verschiedene Empfänger verteilt. Die Information über den Versand der Nachricht wird für jeden Empfänger auf einer Benutzerschnittstelle ausgegeben. Die aufrufende Funktion erhält als Ergebnis der Berechnung die Anzahl der versendeten Nachrichten.&lt;br /&gt;
&lt;br /&gt;
==Vom Algorithmus zum Programm==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Programm/Programmieren===&lt;br /&gt;
Die Formulierung eines Algorithmus heißt '''Programm'''.&lt;br /&gt;
Das Entwerfen eines Programms heißt '''programmieren'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Programmparadigmen===&lt;br /&gt;
Ein Programmparadigma ist ein Konzept zum Programmieren.&lt;br /&gt;
&lt;br /&gt;
==Die bekanntesten Programmparadigmen==&lt;br /&gt;
*[[Imperative_Programmierung | Imperative (prozedurale) Programmierung]]&lt;br /&gt;
&lt;br /&gt;
*[[Funktionale_Programmierung |  Funktionale Programmierung]]&lt;br /&gt;
&lt;br /&gt;
*[[Logische_Programmierung |  Logische Programmierung]]&lt;br /&gt;
&lt;br /&gt;
*[[Objektorientierte_Programmierung | Objektorientierte Programmierung]]&lt;br /&gt;
&lt;br /&gt;
=Quellenangaben=&lt;/div&gt;</summary>
		<author><name>Solveig</name></author>	</entry>

	<entry>
		<id>https://ls14-eini.cs.tu-dortmund.de/index.php?title=Algorithmus&amp;diff=1802</id>
		<title>Algorithmus</title>
		<link rel="alternate" type="text/html" href="https://ls14-eini.cs.tu-dortmund.de/index.php?title=Algorithmus&amp;diff=1802"/>
				<updated>2016-09-16T16:13:05Z</updated>
		
		<summary type="html">&lt;p&gt;Solveig: /* A1: Relation */  Beispiel ergänzt&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;quot;Ein Algorithmus ist eine detaillierte und explizite Vorschrift zur schrittweisen Lösung eines Problems durch eine Abfolge bekannter Befehle/Operationen.&amp;quot;&amp;lt;ref&amp;gt; Gumm/Sommer: Einführung in die Informatik &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ein '''Algorithmus''' ist zudem ein '''Verfahren zur Lösung von [[Einzelproblem | Einzelproblemen]] einer definierten [[Problemklasse]].'''&lt;br /&gt;
&lt;br /&gt;
Man kann einen Algorithmus mit einer Gebrauchsanleitung vergleichen: Es wird versucht, ein (mathematisches) Problem durch präzise Anweisungen zu lösen. Ein Algorithmus muss eindeutig ausführbar sein.&lt;br /&gt;
&lt;br /&gt;
Algorithmen werden meistens nicht direkt in einer existenten [[Programmiersprache]]n dargestellt, sondern umgangssprachlich oder im sogenannten [[Pseudocode]]. Dieser ist ein Kompromiss aus Umgangs- und Programmiersprache.&lt;br /&gt;
&lt;br /&gt;
==Anforderungen an einen Algorithmus==&lt;br /&gt;
&lt;br /&gt;
In der Vorlesung wurden Ihnen formale Anforderungen an einen Algorithmus vorgestellt. In kurz sind diese:&lt;br /&gt;
&lt;br /&gt;
*[[#A1: Relation|A1]]: Ein Algorithmus muss für jede Eingabe eine Ausgabe besitzen.&lt;br /&gt;
*[[#A2: Elementaroperationen|A2]] bis A4: Ein Algorithmus muss durch eine endliche Folge sog. elementarer Operatoren beschrieben werden können.&lt;br /&gt;
*[[#A5: Speicherplatz|A5]]: Ein Algorithmus darf nur endlich viel Speicherplatz für Zwischenergebnisse verbrauchen.&lt;br /&gt;
*[[#A6: Terminierung|A6]]: Ein Algorithmus sollte terminieren.&lt;br /&gt;
*[[#A7: Begrenzte Schrittzahl|A7]] bis A9: Aus dem Zustand eines Algorithmus sollte sein nächster Zustand eindeutig definiert sein.&lt;br /&gt;
*[[#A10: Allgemeinheit|A10]]: Ein Algorithmus sollte eine Problemgruppe lösen und nicht nur ein Einzelproblem.&lt;br /&gt;
*[[#A11: Änderbarkeit|A11]]: Ein Algorithmus sollte leicht anpassbar sein.&lt;br /&gt;
*[[#A12: Effizienz|A12]]: Ein Algorithmus sollte effizient sein.&lt;br /&gt;
*[[#A13: Robustheit|A13]]: Ein Algorithmus sollte auf jeden möglichen Fehler vorbereitet sein.&lt;br /&gt;
&lt;br /&gt;
Diese Anforderungen basieren auf wissenschaftlichen Aussagen, die im Folgenden detaillierter beschrieben werden.&lt;br /&gt;
&lt;br /&gt;
===A1: Relation===&lt;br /&gt;
''Ein Algorithmus beschreibt eine '''Relation''' über dem '''Kreuzprodukt einer Eingabe- und einer Ausgabemenge'''. Dadurch werden für jede Eingabe die zulässigen Ausgaben festgelegt.''&lt;br /&gt;
&lt;br /&gt;
Umgangssprachlich lässt sich &amp;quot;Relation&amp;quot; als &amp;quot;Zusammenhang&amp;quot; interpretieren. In der Mathematik ist der Begriff der Relation definiert als eine Menge von Tupeln (x,y). Eine Relation ist z.B. die Menge aller (x,y) für die gilt, dass x = y ist (Gleichheit). Für unseren Zusammenhang ist ein Tupel die Werte (x, f(x)) für eine Funktion x, gesprochen: &amp;quot;f(x) ist das Ergebnis von x unter Ausführung von f&amp;quot;, z.B. (1,2) für &amp;quot;2 ist das Ergebnis von 1 unter Ausführung der Operation +1&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
Das Kreuzprodukt zweier Mengen ist die Kombination aller Elemente der einen Menge zu allen Elementen der anderen Menge zu einer Menge von Tupeln.&lt;br /&gt;
&lt;br /&gt;
====Beispiel zum Kreuzprodukt====&lt;br /&gt;
Es seien M={2,4,6} und N={1,2,3}, dann entspricht das Kreuzprodukt der beiden der Menge MxN={(2,1),(2,2),(2,3),(4,1),(4,2),(4,3),(6,1),(6,2),(6,3)}.&lt;br /&gt;
Man kombiniert also jedes Element aus der Menge A jeweils mit einem Elemnt der Menge B.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Das heißt, ein Algorithmus beschreibt mathematisch eine totale Funktion aus der Menge der Eingaben in die Menge der Ausgaben.&lt;br /&gt;
&lt;br /&gt;
Noch einfacher: Ein Algorithmus berechnet zu jeder Eingabe ein Ergebnis, das er ausgibt. Wichtig hierbei ist: Nur weil ein Algorithmus eine Ausgabe hat, muss der Nutzer eines Programms diese Ausgabe nicht unbedingt sehen! Die gebräuchliche Literatur benutzt die Begriffe &amp;quot;Ergebnis der Berechnung eines Algorithmus&amp;quot; und &amp;quot;Ausgabe eines Algorithmus&amp;quot; synonym.&lt;br /&gt;
&lt;br /&gt;
===A2: Elementaroperationen===&lt;br /&gt;
''Ein Algorithmus setzt sich aus '''wohldefinierten Elementaroperationen''' zusammen, die auf einer geeigneten Maschine ausführbar sind.''&lt;br /&gt;
&lt;br /&gt;
Jeder Algorithmus muss formalisiert und niedergeschrieben werden können. Elementaroperationen sind die kleinsten Einheiten eines Algorithmus. Auf dieser Ebene sind keine weiteren Beschreibungen möglich oder notwendig.&lt;br /&gt;
&lt;br /&gt;
Wie diese Elementaroperationen aussehen, ist von [[Architektur | Maschine]] zu Maschine und von [[Programmiersprache]] zu Programmiersprache unterschiedlich. Eine beliebige Maschine sollte jedoch am Ende die Befehle eines Algorithmus verstehen und ausführen können. Da direkte Befehle an eine Maschine für einen Menschen ab einer gewissen Komplexität nicht mehr nachvollziehbar sind, existieren höhere Programmiersprachen. Diese werden dann von einem anderen Programm entweder interpretiert oder compiliert, bevor sie von einer Maschine ausgeführt werden.&lt;br /&gt;
&lt;br /&gt;
===A3: Abfolge===&lt;br /&gt;
''Ein Algorithmus legt die '''Abfolge der Schritte''' fest, wobei jeder Schritt genau eine Elementaroperation umfasst.''&lt;br /&gt;
&lt;br /&gt;
Ein Algorithmus wird schrittweise ausgeführt. In jedem Schritt führt die Maschine genau eine Elementaroperation aus. Dieses Verhalten wird in vielen Programmiersprachen durch die Notation eines Algorithmus als Anweisungsfolgen repräsentiert. Dies ist allerdings nicht immer der Fall, so z.B. in funktionalen Programmiersprachen.&lt;br /&gt;
&lt;br /&gt;
===A4: Beschreibung endlicher Länge===&lt;br /&gt;
''Ein Algorithmus ist eine '''Beschreibung endlicher Länge'''.''&lt;br /&gt;
&lt;br /&gt;
Ein Algorithmus muss niedergeschrieben werden können und seine Beschreibung muss mit einer endlichen Anzahl an Anweisungen formulierbar sein. Eine unendliche Folge von Anweisungen wird nicht als Algorithmus betrachtet.&lt;br /&gt;
&lt;br /&gt;
===A5: Speicherplatz===&lt;br /&gt;
''Ein Algorithmus benutzt nur '''endlich viele Speicherplätze''' zur Ablage von Zwischenergebnissen.''&lt;br /&gt;
&lt;br /&gt;
Jeder reale Computer besitzt nur endlich viel Speicherplatz. Daher ist ein Algorithmus, der unendlich viel Speicherplatz belegt, nicht umsetzbar. Auch in der theoretischen Informatik beschäftigt man sich hauptsächlich mit Maschinenmodellen, die unter Umständen beliebig viel, aber immer endlich viel Speicherplatz für ihre Berechnungen benötigen.&lt;br /&gt;
&lt;br /&gt;
===A6: Terminierung===&lt;br /&gt;
''Für jede (!) Eingabe endet die Ausführung des Algorithmus nach endlich vielen Schritten ('''Terminierung''').''&lt;br /&gt;
&lt;br /&gt;
Jedes Programm muss nach endlich vielen Schritten terminieren, d.h. der Algorithmus muss ein Ergebnis liefern. Würde ein Programm nicht terminieren, so läge nie ein Ergebnis vor und die ausführende Maschine würde niemals anhalten. Ein Beispiel für ein nicht terminierendes Programm, das von außen abgebrochen werden muss, ist eine [[Endlosschleife]].&lt;br /&gt;
&lt;br /&gt;
===A7: Begrenzte Schrittanzahl===&lt;br /&gt;
''Für jede (!) Eingabe wird die zugehörige Ausgabe spätestens nach Ausführung einer vorgegebenen Schrittanzahl n geliefert. Wenn ein Rechensystem für jeden Schritt höchstens die Zeit s benötigt, dann wird die Ausgabe spätestens nach Verstreichen der begrenzten Antwortzeit t = s * n geliefert ('''Begrenzte Schrittanzahl''').''&lt;br /&gt;
&lt;br /&gt;
Diese zusätzliche Anforderung beschreibt die Tatsache, dass ein Algorithmus möglichst effizient ein Ergebnis liefern soll. Tut er dies nach einer gewissen Zeit nicht, so muss er abgebrochen und das Ergebnis als &amp;quot;nicht definiert&amp;quot; deklariert werden.&lt;br /&gt;
&lt;br /&gt;
===A8: Determiniertheit===&lt;br /&gt;
''Die Eingabe-Ausgabe-Relation (siehe A1) ist rechtseindeutig. Dies bedeutet, dass jeder Eingabe genau eine Ausgabe zugeordnet wird ('''Determiniertheit''').''&lt;br /&gt;
&lt;br /&gt;
Auf eine bestimmte Eingabe folgt immer dieselbe Ausgabe. Das wird '''Determiniertheit''' genannt. Der Algorithmus führt unabhängig von Maschine, Zeit, Ort und ähnlichem immer dieselbe Berechnung aus. Auf die Eingabe &amp;quot;&amp;amp;#x221a;4&amp;quot; folgt zum Beispiel immer die Ausgabe &amp;quot;2&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===A9: Determinismus===&lt;br /&gt;
''In jedem Zustand, der bei Ausführung des Algorithmus erreicht wird,  ist jeweils nur ein einziger Folgeschritt als nächster ausführbar ('''Determinismus''').''&lt;br /&gt;
&lt;br /&gt;
Jedes Programm in Ausführung lässt sich durch einen Zustand repräsentieren (Werte von Variablen, Codezeile in Ausführung, uvm.). In Abhängigkeit dieses Zustandes muss ein Algorithmus einen eindeutig definierten Folgezustand nach Ausführung einer Elementaroperation besitzen. &lt;br /&gt;
&lt;br /&gt;
===A10: Allgemeinheit===&lt;br /&gt;
''Ein Algorithmus löst nicht nur ein einziges Problem, sondern eine Klasse von Problemen ('''Allgemeinheit''').''&lt;br /&gt;
&lt;br /&gt;
Ein Algorithmus sollte ein Problem lösen und zwar in Abhängigkeit zu seiner Eingabe. Ein Algorithmus, der z.B. zu '''jeder''' Eingabe die Ausgabe &amp;quot;1&amp;quot; besitzt, kann auch direkt durch den Ausdruck &amp;quot;1&amp;quot; ersetzt werden und hat keinen Mehrwert durch seine Existenz.&lt;br /&gt;
&lt;br /&gt;
===A11: Änderbarkeit===&lt;br /&gt;
''Ein Algorithmus soll sich leicht modifizieren lassen, um ihn an eine veränderte Aufgabenstellung anzupassen ('''Änderbarkeit''').''&lt;br /&gt;
&lt;br /&gt;
===A12: Effizienz===&lt;br /&gt;
''Für eine gegebene Eingabe soll die Anzahl der benötigten Schritte möglichst gering sein ('''Effizienz''').''&lt;br /&gt;
&lt;br /&gt;
Durch die Vermeidung unnötiger Schritte wird der Algorithmus kürzer und meist übersichtlicher. Zudem ist es ein Ziel der Informatik, Probleme mit möglichst geringer Laufzeit, also schnell, und möglichst geringem Speicherplatzverbrauch zu lösen.&lt;br /&gt;
&lt;br /&gt;
===A13: Robustheit===&lt;br /&gt;
''Der Algorithmus soll sich möglichst auch dann wohldefiniert verhalten, wenn eine unzulässige Eingabe (die nicht Element der Eingabemenge ist) vorliegt oder eine sonstige unvorhergesehene Situation auftritt ('''Robustheit''').''&lt;br /&gt;
&lt;br /&gt;
Wenn die Funktion, die ein Algorithmus berechnet, nicht total ist, so sollte ein Algorithmus im Falle einer Eingabe, zu der seine intendierte Funktion kein Ergebnis liefern kann (z.B. Division durch Null), dennoch eine vorhersehbare Funktionalität liefern (z.B. die Ausgabe einer Fehlermeldung und anschließender Abbruch der gesamten Ausführung des Programms).&lt;br /&gt;
&lt;br /&gt;
== Rückgabe und Ausgabe ==&lt;br /&gt;
===Erläuterung===&lt;br /&gt;
&lt;br /&gt;
Der Unterschied zwischen den Begriffen '''Rückgabe''' und '''Ausgabe''' ist in der deutschen Sprache erfahrungsgemäß zu gering. Dies führt häufig zu Missverständnissen und Fehlern beim Lesen und Bearbeiten von Übungsaufgaben. Aus diesem Grund definieren wir hier die folgenden Grundlagen:&lt;br /&gt;
&lt;br /&gt;
Beschreibt ein Text einen Algorithmus, der etwas '''ausgibt''' (engl. ''print''), so meinen wir das Anzeigen eines Ergebnisses auf einer [[Benutzerschnittstelle]].&lt;br /&gt;
&lt;br /&gt;
Beschreibt ein Text einen Algorithmus, der etwas '''zurückgibt''' (engl. ''return''), so meinen wir das Übergeben des Ergebnisses an eine aufrufende Funktion.&lt;br /&gt;
&lt;br /&gt;
Beschreibt ein Text eine Ausgabe (engl. ''output'') eines Algorithmus im Zusammenhang mit einer Eingabe (''input''), so ist von dem Ergebnis, bzw. den Parametern der vom Programm beschriebenen Funktion die Rede.&lt;br /&gt;
&lt;br /&gt;
=== Beispiele ===&lt;br /&gt;
&lt;br /&gt;
 Spezifikation:&lt;br /&gt;
 &lt;br /&gt;
 Eingabe: Eine Zahl&lt;br /&gt;
 Ausgabe: Die Zahl, multipliziert mit sich selbst&lt;br /&gt;
&lt;br /&gt;
Hier wird ein Algorithmus beschrieben, der eine Zahl als Parameter erwartet und diese bei Aufruf mit sich selbst multipliziert und als Ergebnis zurückgibt. Eine Ausgabe auf dem Bildschirm wird hier '''nicht''' erwartet.&lt;br /&gt;
&lt;br /&gt;
 Der Algorithmus nimmt zwei Zahlen entgegen und gibt das Produkt dieser Zahlen aus.&lt;br /&gt;
&lt;br /&gt;
Hier wird ein Algorithmus beschrieben, der zwei Zahlen als Parameter erwartet und diese bei Aufruf miteinander multipliziert. Das Ergebnis dieser Multiplikation wird anschließend auf einer [[Benutzerschnittstelle]] ausgegeben. Ein aufrufender Algorithmus erwartet '''kein''' Ergebnis von diesem.&lt;br /&gt;
&lt;br /&gt;
 Der Algorithmus nimmt eine Zahl n entgegen und gibt den Wert 2 ^ n zurück.&lt;br /&gt;
&lt;br /&gt;
Hier wird ein Algorithmus beschrieben, der eine Zahl als Parameter erwartet und diesen als Teil seiner Berechnung verwendet. Das Ergebnis dieser Berechnung wird an die aufrufende Funktion zurückgegeben. Eine Ausgabe auf dem Bildschirm wird hier '''nicht''' erwartet.&lt;br /&gt;
&lt;br /&gt;
 Der Algorithmus nimmt eine Nachricht s entgegen, verschickt diese Nachricht an alle aktiven Verbindungen,&lt;br /&gt;
 gibt dabei eine Information über den Empfänger der Nachricht aus&lt;br /&gt;
 und gibt die Anzahl der versendeten Nachrichten zurück.&lt;br /&gt;
&lt;br /&gt;
Hier wird ein Algorithmus beschrieben, der eine Nachricht als Parameter erwartet und diese an verschiedene Empfänger verteilt. Die Information über den Versand der Nachricht wird für jeden Empfänger auf einer Benutzerschnittstelle ausgegeben. Die aufrufende Funktion erhält als Ergebnis der Berechnung die Anzahl der versendeten Nachrichten.&lt;br /&gt;
&lt;br /&gt;
==Vom Algorithmus zum Programm==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Programm/Programmieren===&lt;br /&gt;
Die Formulierung eines Algorithmus heißt '''Programm'''.&lt;br /&gt;
Das Entwerfen eines Programms heißt '''programmieren'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Programmparadigmen===&lt;br /&gt;
Ein Programmparadigma ist ein Konzept zum Programmieren.&lt;br /&gt;
&lt;br /&gt;
==Die bekanntesten Programmparadigmen==&lt;br /&gt;
*[[Imperative_Programmierung | Imperative (prozedurale) Programmierung]]&lt;br /&gt;
&lt;br /&gt;
*[[Funktionale_Programmierung |  Funktionale Programmierung]]&lt;br /&gt;
&lt;br /&gt;
*[[Logische_Programmierung |  Logische Programmierung]]&lt;br /&gt;
&lt;br /&gt;
*[[Objektorientierte_Programmierung | Objektorientierte Programmierung]]&lt;br /&gt;
&lt;br /&gt;
=Quellenangaben=&lt;/div&gt;</summary>
		<author><name>Solveig</name></author>	</entry>

	<entry>
		<id>https://ls14-eini.cs.tu-dortmund.de/index.php?title=Diskussion:Boolesche_Algebra&amp;diff=1776</id>
		<title>Diskussion:Boolesche Algebra</title>
		<link rel="alternate" type="text/html" href="https://ls14-eini.cs.tu-dortmund.de/index.php?title=Diskussion:Boolesche_Algebra&amp;diff=1776"/>
				<updated>2016-09-05T12:24:06Z</updated>
		
		<summary type="html">&lt;p&gt;Solveig: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Bitte vervollständigen:&lt;br /&gt;
#Venn-Diagramme einfügen - bei mir klappt das Hochladen der Bilder leider nicht&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Wenn möglich, die Distributivgesetze noch ausformulieren.&lt;/div&gt;</summary>
		<author><name>Solveig</name></author>	</entry>

	<entry>
		<id>https://ls14-eini.cs.tu-dortmund.de/index.php?title=Boolesche_Algebra&amp;diff=1775</id>
		<title>Boolesche Algebra</title>
		<link rel="alternate" type="text/html" href="https://ls14-eini.cs.tu-dortmund.de/index.php?title=Boolesche_Algebra&amp;diff=1775"/>
				<updated>2016-09-04T15:35:27Z</updated>
		
		<summary type="html">&lt;p&gt;Solveig: /* De Morgansche Gesetze */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Die '''boolesche Algebra''' ist eine algebraische Struktur und beschreibt die Operationen '''UND''', '''ODER''' und '''NICHT''', die auf logische Aussagen angewendet werden können. Die Kenntnis dieser Struktur ist hilfreich für den Umgang mit dem [[Datentyp]] [[boolean]].&lt;br /&gt;
&lt;br /&gt;
==Die booleschen Operatoren==&lt;br /&gt;
&lt;br /&gt;
===Konjunktion (AND)===&lt;br /&gt;
&lt;br /&gt;
Die '''Konjunktion''' ist eine der grundlegenden logischen Verknüpfungen der Aussagenlogik. Die Konjunktion zweier Aussagen ''A'' und ''B'' ist genau dann wahr, wenn ''A'' '''und''' ''B'' (sowohl als auch) wahr sind. Das mathematische Symbol ist '''&amp;amp;and;'''. In [[Java]] wird das '''AND''' durch '''&amp;amp;&amp;amp;''' repräsentiert.&lt;br /&gt;
[[Datei:venn_and.png|right]]&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! B !! A &amp;amp;and; B&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''false'' || ''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true'' || ''false''&lt;br /&gt;
|- &lt;br /&gt;
| ''true'' || ''false'' ||''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' ||''true'' || ''true''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Disjunktion (OR)===&lt;br /&gt;
&lt;br /&gt;
Die '''Disjunktion''' ist eine der grundlegenden logischen Verknüpfungen der Aussagenlogik. Die Disjunktion zweier Aussagen ''A'' und ''B'' ist genau dann wahr, wenn mindestens eine der Aussagen ''A'' '''oder''' ''B'' wahr ist. Das mathematische Symbol ist '''&amp;amp;or;'''. In [[Java]] wird das '''OR''' durch '''||''' repräsentiert.&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! B !! A &amp;amp;or; B&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''false'' || ''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true'' || ''true''&lt;br /&gt;
|- &lt;br /&gt;
| ''true'' || ''false'' ||''true''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' ||''true'' || ''true''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''Venn-Diagramm?''&lt;br /&gt;
&lt;br /&gt;
===Negation (NOT)===&lt;br /&gt;
&lt;br /&gt;
Die '''Negation''' ist eine wichtige Operation in der Aussagenlogik. Die Negation einer Aussage ''A'' führt zur ihrer Verneinung. Das heißt aus einer wahren Aussage wird eine falsche Aussage und umgekehrt. Das mathematische Symbol ist '''&amp;amp;not;'''. In [[Java]] wird das '''NOT''' durch '''!''' repräsentiert.&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! &amp;amp;not;A&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' || ''false''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Kontravalenz (XOR)===&lt;br /&gt;
&lt;br /&gt;
Die '''Kontravalenz''' ist eine erweiterte logische Verknüpfung in der Aussagenlogik. Die Kontravalenz zweier Aussagen ''A'' und ''B'' ist genau dann wahr, wenn '''entweder''' ''A'' '''oder''' ''B'', aber nicht beide wahr sind. Das mathematische Symbol ist '''⊕'''. In [[Java]] wird das '''XOR''' durch '''^''' repräsentiert.&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! B !! A ⊕ B&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''false'' || ''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true'' || ''true''&lt;br /&gt;
|- &lt;br /&gt;
| ''true'' || ''false'' ||''true''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' ||''true'' || ''false''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''Venn-Diagramm?''&lt;br /&gt;
&lt;br /&gt;
===Implikation===&lt;br /&gt;
&lt;br /&gt;
Die '''Implikation''' ist eine erweiterte logische Verknüpfung in der Aussagenlogik. Die Implikation zweier Aussagen ''A'' und ''B'' ist genau dann wahr, wenn ''A'' falsch oder ''B'' wahr ist. Das mathematische Symbol ist '''&amp;amp;rArr;'''. Die Implikation ist semantisch äquivalent zu &amp;amp;not;A &amp;amp;or; B. In [[Java]] gibt es keinen Implikationsoperator. &lt;br /&gt;
&lt;br /&gt;
Eine Implikation wird im Deutschen meistens durch &amp;quot;'''wenn''' ''A'', '''dann''' ''B''&amp;quot; ausgedrückt. Es handelt sich hierbei um eine einfache Folgerung. Aus einer falschen Ausgangsaussage '''A''' lässt sich alles folgern, daher kann die Gesamtaussage nicht falsch werden. &lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! B !! A &amp;amp;rArr; B&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''false'' || ''true''&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true'' || ''true''&lt;br /&gt;
|- &lt;br /&gt;
| ''true'' || ''false'' ||''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' ||''true'' || ''true''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''Venn-Diagramm?''&lt;br /&gt;
&lt;br /&gt;
===Äquivalenz (XNOR)===&lt;br /&gt;
&lt;br /&gt;
Die '''Äquivalenz''' ist eine erweiterte logische Verknüpfung in der Aussagenlogik. Die Äquivalenz zweier Aussagen ''A'' und ''B'' ist genau dann wahr, wenn ''A'' und ''B'' wahr oder ''A'' und ''B'' falsch sind. Das mathematische Symbol ist '''&amp;amp;hArr;'''. Die Äquivalenz ist semantisch äquivalent zu A &amp;amp;and; B &amp;amp;or; &amp;amp;not;A &amp;amp;and; &amp;amp;not;B. In [[Java]] gibt es keinen Operator hierfür. &lt;br /&gt;
&lt;br /&gt;
Die Äquivalenz wird im Deutschen meistens durch &amp;quot;'''genau dann''' ''A'', '''wenn''' ''B''&amp;quot; ausgedrückt. &amp;quot;Genau&amp;quot; heißt immer und nur unter dieser Bedingung. '''A''' gilt genau dann, wenn '''B''' gilt. '''A''' und '''B''' sind äquivalent, also austauschbar. Das heißt die vorherige Aussage gilt auch anders herum: '''B''' gilt genau dann, wenn '''A''' gilt.&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! B !! A &amp;amp;hArr; B&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''false'' || ''true''&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true'' || ''false''&lt;br /&gt;
|- &lt;br /&gt;
| ''true'' || ''false'' ||''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' ||''true'' || ''true''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''Venn-Diagramm?''&lt;br /&gt;
&lt;br /&gt;
==Peano-Axiome (erweitertes Wissen)==&lt;br /&gt;
&lt;br /&gt;
===Kommutativgesetze===&lt;br /&gt;
&lt;br /&gt;
(1) ''A'' &amp;amp;and; ''B'' &amp;amp;equiv; ''B'' &amp;amp;and; ''A''&lt;br /&gt;
&lt;br /&gt;
(1') ''A'' &amp;amp;or; ''B'' &amp;amp;equiv; ''B'' &amp;amp;or; ''A''&lt;br /&gt;
&lt;br /&gt;
Das Vertauschen der Argumente ''A'' und ''B'' ist hier möglich, ohne dass sich das Ergebnis der Operation ändert.&lt;br /&gt;
&lt;br /&gt;
===Assoziativgesetze===&lt;br /&gt;
&lt;br /&gt;
(2) (''A'' &amp;amp;and; ''B'') &amp;amp;and; ''C'' &amp;amp;equiv; ''A'' &amp;amp;and; (''B'' &amp;amp;and; ''C'')&lt;br /&gt;
&lt;br /&gt;
(2') (''A'' &amp;amp;or; ''B'') &amp;amp;or; ''C'' &amp;amp;equiv; ''A'' &amp;amp;or; (''B'' &amp;amp;or; ''C'')&lt;br /&gt;
&lt;br /&gt;
Die Klammerung der oben durchgeführten Operationen hat keinen Einfluss auf das Ergebnis.&lt;br /&gt;
&lt;br /&gt;
===Idempotenzgesetze===&lt;br /&gt;
&lt;br /&gt;
(3) ''A'' &amp;amp;and; ''A'' &amp;amp;equiv; ''A''&lt;br /&gt;
&lt;br /&gt;
(3') ''A'' &amp;amp;or; ''A'' &amp;amp;equiv; ''A''&lt;br /&gt;
&lt;br /&gt;
Die Eigenschaften des Arguments ''A'' bleiben bestehen, auch wenn dieses mit sich selbst verknüpft wird.&lt;br /&gt;
&lt;br /&gt;
===Distributivgesetze===&lt;br /&gt;
&lt;br /&gt;
(4) ''A'' &amp;amp;and; (''B'' &amp;amp;or; ''C'') &amp;amp;equiv; (''A'' &amp;amp;and; ''B'') &amp;amp;or; (''A'' &amp;amp;and; ''C'')&lt;br /&gt;
&lt;br /&gt;
(4') ''A'' &amp;amp;or; (''B'' &amp;amp;and; ''C'') &amp;amp;equiv; (''A'' &amp;amp;or; ''B'') &amp;amp;and; (''A'' &amp;amp;or; ''C'')&lt;br /&gt;
&lt;br /&gt;
Auswirkung des Auflösens von Klammern um Verknüpfungen von Operationen; ähnlich dem &amp;quot;Ausmultiplizieren&amp;quot; in der Schulmathematik.&lt;br /&gt;
&lt;br /&gt;
===Neutralitätsgesetze===&lt;br /&gt;
&lt;br /&gt;
(5) ''A'' &amp;amp;and; ''true'' &amp;amp;equiv; ''A''&lt;br /&gt;
&lt;br /&gt;
(5') ''A'' &amp;amp;or; ''false'' &amp;amp;equiv; ''A''&lt;br /&gt;
&lt;br /&gt;
Der Wert des Argumentes ''A'' wird durch die oben ausgeführten Operationen nicht verändert.&lt;br /&gt;
&lt;br /&gt;
===Extremalgesetze===&lt;br /&gt;
&lt;br /&gt;
(6) ''A'' &amp;amp;and; ''false'' &amp;amp;equiv; ''false''&lt;br /&gt;
&lt;br /&gt;
(6') ''A'' &amp;amp;or; ''true'' &amp;amp;equiv; ''true''&lt;br /&gt;
&lt;br /&gt;
Das Ergebnis der oben beschriebenen Operationen ist unabhängig vom Wert des Arguments ''A''.&lt;br /&gt;
&lt;br /&gt;
===Doppelnegationsgesetz===&lt;br /&gt;
&lt;br /&gt;
(7) &amp;amp;not;(&amp;amp;not;''A'') &amp;amp;equiv; ''A''&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Doppelte Verneinung&amp;quot;: Der Wert von ''A'' wird durch zweimaliges Ausführen des &amp;amp;not; -Operators nicht beeinflusst.&lt;br /&gt;
&lt;br /&gt;
===De Morgansche Gesetze===&lt;br /&gt;
&lt;br /&gt;
(8) &amp;amp;not;(''A'' &amp;amp;and; ''B'') &amp;amp;equiv; &amp;amp;not;''A'' &amp;amp;or; &amp;amp;not;''B''&lt;br /&gt;
&lt;br /&gt;
(8') &amp;amp;not;(''A'' &amp;amp;or; ''B'') &amp;amp;equiv; &amp;amp;not;''A'' &amp;amp;and; &amp;amp;not;''B''&lt;br /&gt;
&lt;br /&gt;
Alltagsbeispiel:&lt;br /&gt;
&lt;br /&gt;
Peter trinkt Tee nur mit Zitronensaft und Zucker. &lt;br /&gt;
Beschreibe die Boolesche Variable '''A''' den Zustand, dass Zucker im Tee ist und '''B''' den Zustand, dass sich Zitronensaft im Tee befindet. Dann lautet die Antwort auf die Frage, ob Peter Tee mit Zucker und Zitronensaft trinken wird mit Hilfe der Variablen '''A''' = '''true''', '''B''' = '''true''' (denn sowohl Zitronensaft als auch Zucker sind im Tee):&lt;br /&gt;
&lt;br /&gt;
&amp;amp;not;(''A'' &amp;amp;and; ''B'') = &amp;amp;not;(''true'' &amp;amp;and; ''true'') = &amp;amp;not;''true'' =''false'' (Peter trinkt den Tee nicht)  &lt;br /&gt;
&lt;br /&gt;
und diese ist offensichtlich die gleiche Antwort wie auf die Frage, ob Peter Tee trinken würde, wenn kein Zitronensaft oder kein Zucker im Tee wäre (also wenigstens eine der gewünschten Zutaten fehlt)  &lt;br /&gt;
&lt;br /&gt;
&amp;amp;not;''A'' &amp;amp;or; &amp;amp;not;''B'' = &amp;amp;not;''true'' &amp;amp;or; &amp;amp;not;''true'' = ''false'' &amp;amp;or; ''false'' = false.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Peters Freundin Petra mag ihren Kaffee nicht schwarz, er muss wenigstens Milch oder Zucker enthalten. Die Variable '''A''' beschreibende den Zustand, dass der Kaffee Milch enthält und '''B''', dass Zucker enthalten ist. &lt;br /&gt;
Trinkt Petra ihren Kaffee nicht, wenn Peter ihn mit Milch aber ohne Zucker zubereitet? &lt;br /&gt;
&lt;br /&gt;
&amp;amp;not;(''A'' &amp;amp;or; ''B'') =&amp;amp;not;(''true'' &amp;amp;or; ''false'') = &amp;amp;not;''true'' = ''false'' (es ist also falsch, dass Petra den Kaffee nicht trinkt) &lt;br /&gt;
&lt;br /&gt;
und das gleiche Ergebnis ergibt sich für die Variante ohne Milch aber mit Zucker&lt;br /&gt;
&lt;br /&gt;
&amp;amp;not;''A'' &amp;amp;and; &amp;amp;not;''B'' = &amp;amp;not;''true'' &amp;amp;and; &amp;amp;not;''false'' = ''false'' &amp;amp;and; ''true'' = ''false''.&lt;br /&gt;
&lt;br /&gt;
===Komplementärgesetze===&lt;br /&gt;
&lt;br /&gt;
(9) ''A'' &amp;amp;and; &amp;amp;not;''A'' &amp;amp;equiv; ''false''&lt;br /&gt;
&lt;br /&gt;
(9') ''A'' &amp;amp;or; &amp;amp;not;''A'' &amp;amp;equiv; ''true''&lt;br /&gt;
&lt;br /&gt;
Es können nicht gleichzeitig ''A'' und die Negation von ''A'' gelten: Beispielsweise kann der Himmel nicht gleichzeitig blau und nicht-blau sein (9).&lt;br /&gt;
Allerdings ist der Himmel entweder blau oder nicht-blau gefärbt (9').&lt;br /&gt;
&lt;br /&gt;
===Dualitätsgesetze===&lt;br /&gt;
&lt;br /&gt;
(10) &amp;amp;not;false &amp;amp;equiv; true&lt;br /&gt;
&lt;br /&gt;
(10') &amp;amp;not;true &amp;amp;equiv; false&lt;br /&gt;
&lt;br /&gt;
Der Wert '''true''' ist das Komplement zu '''false'''. Ist eine Aussage nicht-wahr, so ist sie falsch. Umgekehrt gilt für eine nicht-falsche Aussage, dass sie wahr sein muss.&lt;/div&gt;</summary>
		<author><name>Solveig</name></author>	</entry>

	<entry>
		<id>https://ls14-eini.cs.tu-dortmund.de/index.php?title=Diskussion:Bitfolge&amp;diff=1757</id>
		<title>Diskussion:Bitfolge</title>
		<link rel="alternate" type="text/html" href="https://ls14-eini.cs.tu-dortmund.de/index.php?title=Diskussion:Bitfolge&amp;diff=1757"/>
				<updated>2016-08-17T11:58:32Z</updated>
		
		<summary type="html">&lt;p&gt;Solveig: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;quot;Da in einem Rechner meistens eine feste Anzahl an Bits zusammen in einem Speicherregister adressiert wird, ist die Anzahl an Bits in einer Bitfolge meistens vorgegeben. So sind in heutigen Rechnern die kleinste Einheit an Informationen, die gleichzeitig adressiert werden können, 64 Bit.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
-&amp;gt; bitte einfacher formulieren&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Zweierkomplemente sind für die Vorlesung nicht relevant.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
-&amp;gt; stimmt das?&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Wie auch im Dezimalsystem sind dadurch gewisse Zahlen nicht als Bruch bzw. in diesem Fall als Summe von endlich vielen Brüchen darstellbar.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Der Abschnitt ist allgemein schwer verständlich.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Dies nennt man daher, nach dem englischen Begriff für Buchstabe, '''character'''&amp;quot;&lt;br /&gt;
&lt;br /&gt;
-&amp;gt; Ist hier von dem Datentyp die Rede?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ein Beispiel mit allen Interpretationen!!&lt;/div&gt;</summary>
		<author><name>Solveig</name></author>	</entry>

	<entry>
		<id>https://ls14-eini.cs.tu-dortmund.de/index.php?title=Bitfolge&amp;diff=1756</id>
		<title>Bitfolge</title>
		<link rel="alternate" type="text/html" href="https://ls14-eini.cs.tu-dortmund.de/index.php?title=Bitfolge&amp;diff=1756"/>
				<updated>2016-08-17T11:57:59Z</updated>
		
		<summary type="html">&lt;p&gt;Solveig: /* Interpretation als Fließkommazahl */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Eine '''Bitfolge''' ist die Zusammenfassung mehrerer [[Bit]]s hintereinander. Dabei kann man jedem Bit eine Position, oder Stelligkeit, in der Bitfolge zuordnen. Das ganz links stehende Bit wird dabei als '''höchstwertiges''' Bit bezeichnet und das ganz rechts stehende Bit als '''niedrigstwertiges''' Bit.&lt;br /&gt;
&lt;br /&gt;
= Interpretation =&lt;br /&gt;
&lt;br /&gt;
Da Bits die kleinste Art und Weise ist, Werte voneinander zu unterscheiden (1 und 0, '''AN''' und '''AUS''', etc.) können '''Bitfolgen''' als eine beliebige Form von Informationen aufgefasst werden. Wie genau eine '''Bitfolge''' interpretiert werden soll, sollte daher zu Beginn feststehen.&lt;br /&gt;
&lt;br /&gt;
== Numerische Interpretation ==&lt;br /&gt;
&lt;br /&gt;
Die üblichste Interpretation von Bitfolgen ist diejenige als '''binär notierte Zahl'''. &lt;br /&gt;
&lt;br /&gt;
Da in einem Rechner meistens eine feste Anzahl an Bits zusammen in einem Speicherregister adressiert wird, ist die Anzahl an Bits in einer Bitfolge meistens vorgegeben. So sind in heutigen Rechnern die kleinste Einheit an Informationen, die gleichzeitig adressiert werden können, 64 Bit.&lt;br /&gt;
&lt;br /&gt;
Siehe auch: Umrechnung von [[Dezimal- und Binärsystem]] &lt;br /&gt;
&lt;br /&gt;
=== Interpretation als natürliche Zahl ===&lt;br /&gt;
&lt;br /&gt;
'''Natürliche Zahlen''' sind alle ganzen Zahlen größer 0. Anders als bei der Interpretation als ganze Zahl hat das höchstwertige Bit keine besondere Bedeutung. Jedes Bit in der Bitfolge steht für eine binäre Ziffer und die Umrechnung geschieht direkt anhand der gegebenen Folge. Zahlen dieser Art werden meistens auch als &amp;quot;nicht vorzeichenbehaftet&amp;quot; (''engl''. &amp;quot;unsigned&amp;quot;) bezeichnet.&lt;br /&gt;
&lt;br /&gt;
=== Interpretation als ganze Zahl ===&lt;br /&gt;
&lt;br /&gt;
Um '''negative Zahlen''' zu repräsentieren, ist das '''höchstwertige''' Bit als ''Vorzeichen'' zu interpretieren. Eine '''0''' an erster Stelle steht hierbei für ein positives Vorzeichen. Dieses höchstwertige Bit wird nicht in die Berechnung des Wertes der Zahl miteinbezogen. Problematisch ist diese Dastellungsform, da die '''0''' sowohl als &amp;quot;+0&amp;quot; als auch als &amp;quot;-0&amp;quot; repräsentiert werden, nämlich sowohl als positive Zahl als auch als negative. Damit gibt es in der beschriebene Darstellungsform zwei mögliche Darstellungen für die '''0'''. Um das zu vermeiden, wird die '''0''' in Form eines sogenannten [[Zweierkomplement|Zweierkomplementes]] umgerechnet. &lt;br /&gt;
&lt;br /&gt;
Zweierkomplemente sind für die Vorlesung nicht relevant.&lt;br /&gt;
&lt;br /&gt;
=== Interpretation als Fließkommazahl ===&lt;br /&gt;
&lt;br /&gt;
Um eine '''Zahl mit Nachkommastellen''' zu repräsentieren, wird die Bitfolge in verschiedene Einzelteile zerlegt. Dabei repräsentiert meist das höchstwertige Bit das Vorzeichen, eine Anzahl an Bits dahinter einen Exponenten '''e''' und die restlichen Bits die Nachkommastellen der Zahl. Dabei haben, wie bei normalen Binärzahlen, die Nachkommastellen die Wertigkeit 2^-1, 2^-2, 2^-3 etc. also 0.5, 0.25, 0.125 ... . Die resultierende Zahl wird anschließend mit 2^e multipliziert, um die finale Zahl zu erhalten. Wie auch im Dezimalsystem sind dadurch gewisse Zahlen nicht als Bruch bzw. in diesem Fall als Summe von endlich vielen Brüchen darstellbar. Dadurch entstehen Ergebnisse wie z.B. '''0.1 + 0.2 = 0.29999999999999'''.&lt;br /&gt;
&lt;br /&gt;
== Interpretation als Zeichen ==&lt;br /&gt;
&lt;br /&gt;
Der numerische Wert einer Bitfolge kann anhand einer Tabelle ebenso als '''Zeichen eines Textes''' interpretiert werden. Dies nennt man daher, nach dem englischen Begriff für Buchstabe, '''character'''. Die Tabellen, in denen das repräsentierte Zeichen nachgeschlagen wird, sind meistens systemabhängig und müssen vorher bekannt sein. Die bekanntesten Tabellen sind ASCII, UTF-8 und - speziell für Deutschland - Latin-1 .&lt;/div&gt;</summary>
		<author><name>Solveig</name></author>	</entry>

	<entry>
		<id>https://ls14-eini.cs.tu-dortmund.de/index.php?title=Bitfolge&amp;diff=1755</id>
		<title>Bitfolge</title>
		<link rel="alternate" type="text/html" href="https://ls14-eini.cs.tu-dortmund.de/index.php?title=Bitfolge&amp;diff=1755"/>
				<updated>2016-08-17T11:54:47Z</updated>
		
		<summary type="html">&lt;p&gt;Solveig: /* Interpretation als ganze Zahl */ Erläuterung hoffentlich vereinfacht&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Eine '''Bitfolge''' ist die Zusammenfassung mehrerer [[Bit]]s hintereinander. Dabei kann man jedem Bit eine Position, oder Stelligkeit, in der Bitfolge zuordnen. Das ganz links stehende Bit wird dabei als '''höchstwertiges''' Bit bezeichnet und das ganz rechts stehende Bit als '''niedrigstwertiges''' Bit.&lt;br /&gt;
&lt;br /&gt;
= Interpretation =&lt;br /&gt;
&lt;br /&gt;
Da Bits die kleinste Art und Weise ist, Werte voneinander zu unterscheiden (1 und 0, '''AN''' und '''AUS''', etc.) können '''Bitfolgen''' als eine beliebige Form von Informationen aufgefasst werden. Wie genau eine '''Bitfolge''' interpretiert werden soll, sollte daher zu Beginn feststehen.&lt;br /&gt;
&lt;br /&gt;
== Numerische Interpretation ==&lt;br /&gt;
&lt;br /&gt;
Die üblichste Interpretation von Bitfolgen ist diejenige als '''binär notierte Zahl'''. &lt;br /&gt;
&lt;br /&gt;
Da in einem Rechner meistens eine feste Anzahl an Bits zusammen in einem Speicherregister adressiert wird, ist die Anzahl an Bits in einer Bitfolge meistens vorgegeben. So sind in heutigen Rechnern die kleinste Einheit an Informationen, die gleichzeitig adressiert werden können, 64 Bit.&lt;br /&gt;
&lt;br /&gt;
Siehe auch: Umrechnung von [[Dezimal- und Binärsystem]] &lt;br /&gt;
&lt;br /&gt;
=== Interpretation als natürliche Zahl ===&lt;br /&gt;
&lt;br /&gt;
'''Natürliche Zahlen''' sind alle ganzen Zahlen größer 0. Anders als bei der Interpretation als ganze Zahl hat das höchstwertige Bit keine besondere Bedeutung. Jedes Bit in der Bitfolge steht für eine binäre Ziffer und die Umrechnung geschieht direkt anhand der gegebenen Folge. Zahlen dieser Art werden meistens auch als &amp;quot;nicht vorzeichenbehaftet&amp;quot; (''engl''. &amp;quot;unsigned&amp;quot;) bezeichnet.&lt;br /&gt;
&lt;br /&gt;
=== Interpretation als ganze Zahl ===&lt;br /&gt;
&lt;br /&gt;
Um '''negative Zahlen''' zu repräsentieren, ist das '''höchstwertige''' Bit als ''Vorzeichen'' zu interpretieren. Eine '''0''' an erster Stelle steht hierbei für ein positives Vorzeichen. Dieses höchstwertige Bit wird nicht in die Berechnung des Wertes der Zahl miteinbezogen. Problematisch ist diese Dastellungsform, da die '''0''' sowohl als &amp;quot;+0&amp;quot; als auch als &amp;quot;-0&amp;quot; repräsentiert werden, nämlich sowohl als positive Zahl als auch als negative. Damit gibt es in der beschriebene Darstellungsform zwei mögliche Darstellungen für die '''0'''. Um das zu vermeiden, wird die '''0''' in Form eines sogenannten [[Zweierkomplement|Zweierkomplementes]] umgerechnet. &lt;br /&gt;
&lt;br /&gt;
Zweierkomplemente sind für die Vorlesung nicht relevant.&lt;br /&gt;
&lt;br /&gt;
=== Interpretation als Fließkommazahl ===&lt;br /&gt;
&lt;br /&gt;
Um eine '''Zahl mit Nachkommastellen''' zu repräsentieren, wird die Bitfolge in verschiedene Einzelteile zerlegt. Dabei repräsentiert meist das höchstwertige Bit das Vorzeichen, eine Anzahl an Bits dahinter einen Exponenten '''e''' und die restlichen Bits die Nachkommastellen der Zahl. Dabei haben, wie bei normalen Binärzahlen, die Nachkommastellen die Wertigkeit 2^-1, 2^-2, 2^-3 etc. also 0.5, 0.25, 0.125 ... . Die resultierende Zahl wird anschließend mit 2^e multipliziert, um die finale Zahl zu erhalten. Wie auch im Dezimalsystem sind dadurch gewisse Zahlen nicht als Bruch bzw. in diesem Fall als Summe von endlich vielen Brüchen darstellen. Dadurch entstehen Ergebnisse wie z.B. '''0.1 + 0.2 = 0.29999999999999'''.&lt;br /&gt;
&lt;br /&gt;
== Interpretation als Zeichen ==&lt;br /&gt;
&lt;br /&gt;
Der numerische Wert einer Bitfolge kann anhand einer Tabelle ebenso als '''Zeichen eines Textes''' interpretiert werden. Dies nennt man daher, nach dem englischen Begriff für Buchstabe, '''character'''. Die Tabellen, in denen das repräsentierte Zeichen nachgeschlagen wird, sind meistens systemabhängig und müssen vorher bekannt sein. Die bekanntesten Tabellen sind ASCII, UTF-8 und - speziell für Deutschland - Latin-1 .&lt;/div&gt;</summary>
		<author><name>Solveig</name></author>	</entry>

	<entry>
		<id>https://ls14-eini.cs.tu-dortmund.de/index.php?title=Diskussion:Kopfgesteuerte_Schleife&amp;diff=1754</id>
		<title>Diskussion:Kopfgesteuerte Schleife</title>
		<link rel="alternate" type="text/html" href="https://ls14-eini.cs.tu-dortmund.de/index.php?title=Diskussion:Kopfgesteuerte_Schleife&amp;diff=1754"/>
				<updated>2016-08-17T11:41:01Z</updated>
		
		<summary type="html">&lt;p&gt;Solveig: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Was ist eine Laufvariable (siehe Negativbeispiel)? eingefügt&lt;/div&gt;</summary>
		<author><name>Solveig</name></author>	</entry>

	<entry>
		<id>https://ls14-eini.cs.tu-dortmund.de/index.php?title=Diskussion:Boolesche_Algebra&amp;diff=1753</id>
		<title>Diskussion:Boolesche Algebra</title>
		<link rel="alternate" type="text/html" href="https://ls14-eini.cs.tu-dortmund.de/index.php?title=Diskussion:Boolesche_Algebra&amp;diff=1753"/>
				<updated>2016-08-17T11:40:19Z</updated>
		
		<summary type="html">&lt;p&gt;Solveig: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Bitte vervollständigen:&lt;br /&gt;
#Venn-Diagramme einfügen - bei mir klappt das Hochladen der Bilder leider nicht&lt;/div&gt;</summary>
		<author><name>Solveig</name></author>	</entry>

	<entry>
		<id>https://ls14-eini.cs.tu-dortmund.de/index.php?title=Boolesche_Algebra&amp;diff=1752</id>
		<title>Boolesche Algebra</title>
		<link rel="alternate" type="text/html" href="https://ls14-eini.cs.tu-dortmund.de/index.php?title=Boolesche_Algebra&amp;diff=1752"/>
				<updated>2016-08-17T11:39:51Z</updated>
		
		<summary type="html">&lt;p&gt;Solveig: Verlinkung boolean&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Die '''boolesche Algebra''' ist eine algebraische Struktur und beschreibt die Operationen '''UND''', '''ODER''' und '''NICHT''', die auf logische Aussagen angewendet werden können. Die Kenntniss dieser Strucktur ist hilfreich für den Umgang mit dem Datentyp [[boolean]].&lt;br /&gt;
&lt;br /&gt;
==Die booleschen Operatoren==&lt;br /&gt;
&lt;br /&gt;
===Konjunktion (AND)===&lt;br /&gt;
&lt;br /&gt;
Die '''Konjunktion''' ist eine der grundlegenden logischen Verknüpfungen der Aussagenlogik. Die Konjunktion zweier Aussagen ''A'' und ''B'' ist genau dann wahr, wenn ''A'' '''und''' ''B'' (sowohl als auch) wahr sind. Das mathematische Symbol ist '''&amp;amp;and;'''. In [[Java]] wird das '''AND''' durch '''&amp;amp;&amp;amp;''' repräsentiert.&lt;br /&gt;
[[Datei:venn_and.png|right]]&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! B !! A &amp;amp;and; B&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''false'' || ''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true'' || ''false''&lt;br /&gt;
|- &lt;br /&gt;
| ''true'' || ''false'' ||''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' ||''true'' || ''true''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Disjunktion (OR)===&lt;br /&gt;
&lt;br /&gt;
Die '''Disjunktion''' ist eine der grundlegenden logischen Verknüpfungen der Aussagenlogik. Die Disjunktion zweier Aussagen ''A'' und ''B'' ist genau dann wahr, wenn mindestens eine der Aussagen ''A'' '''oder''' ''B'' wahr ist. Das mathematische Symbol ist '''&amp;amp;or;'''. In [[Java]] wird das '''OR''' durch '''||''' repräsentiert.&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! B !! A &amp;amp;or; B&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''false'' || ''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true'' || ''true''&lt;br /&gt;
|- &lt;br /&gt;
| ''true'' || ''false'' ||''true''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' ||''true'' || ''true''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''Venn-Diagramm?''&lt;br /&gt;
&lt;br /&gt;
===Negation (NOT)===&lt;br /&gt;
&lt;br /&gt;
Die '''Negation''' ist eine wichtige Operation in der Aussagenlogik. Die Negation einer Aussage ''A'' führt zur ihrer Verneinung. Das heißt aus einer wahren Aussage wird eine falsche Aussage und umgekehrt. Das mathematische Symbol ist '''&amp;amp;not;'''. In [[Java]] wird das '''NOT''' durch '''!''' repräsentiert.&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! &amp;amp;not;A&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' || ''false''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Kontravalenz (XOR)===&lt;br /&gt;
&lt;br /&gt;
Die '''Kontravalenz''' ist eine erweiterte logische Verknüpfung in der Aussagenlogik. Die Kontravalenz zweier Aussagen ''A'' und ''B'' ist genau dann wahr, wenn '''entweder''' ''A'' '''oder''' ''B'', aber nicht beide wahr sind. Das mathematische Symbol ist '''⊕'''. In [[Java]] wird das '''XOR''' durch '''^''' repräsentiert.&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! B !! A ⊕ B&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''false'' || ''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true'' || ''true''&lt;br /&gt;
|- &lt;br /&gt;
| ''true'' || ''false'' ||''true''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' ||''true'' || ''false''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''Venn-Diagramm?''&lt;br /&gt;
&lt;br /&gt;
===Implikation===&lt;br /&gt;
&lt;br /&gt;
Die '''Implikation''' ist eine erweiterte logische Verknüpfung in der Aussagenlogik. Die Implikation zweier Aussagen ''A'' und ''B'' ist genau dann wahr, wenn ''A'' falsch oder ''B'' wahr ist. Das mathematische Symbol ist '''&amp;amp;rArr;'''. Die Implikation ist semantisch äquivalent zu &amp;amp;not;A &amp;amp;or; B. In [[Java]] gibt es keinen Implikationsoperator. &lt;br /&gt;
&lt;br /&gt;
Eine Implikation wird im Deutschen meistens durch &amp;quot;'''wenn''' ''A'', '''dann''' ''B''&amp;quot; ausgedrückt. Es handelt sich hierbei um eine einfache Folgerung. Aus einer falschen Ausgangsaussage '''A''' lässt sich alles folgern, daher kann die Gesamtaussage nicht falsch werden. &lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! B !! A &amp;amp;rArr; B&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''false'' || ''true''&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true'' || ''true''&lt;br /&gt;
|- &lt;br /&gt;
| ''true'' || ''false'' ||''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' ||''true'' || ''true''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''Venn-Diagramm?''&lt;br /&gt;
&lt;br /&gt;
===Äquivalenz (XNOR)===&lt;br /&gt;
&lt;br /&gt;
Die '''Äquivalenz''' ist eine erweiterte logische Verknüpfung in der Aussagenlogik. Die Äquivalenz zweier Aussagen ''A'' und ''B'' ist genau dann wahr, wenn ''A'' und ''B'' wahr oder ''A'' und ''B'' falsch sind. Das mathematische Symbol ist '''&amp;amp;hArr;'''. Die Äquivalenz ist semantisch äquivalent zu A &amp;amp;and; B &amp;amp;or; &amp;amp;not;A &amp;amp;and; &amp;amp;not;B. In [[Java]] gibt es keinen Operator hierfür. &lt;br /&gt;
&lt;br /&gt;
Die Äquivalenz wird im Deutschen meistens durch &amp;quot;'''genau dann''' ''A'', '''wenn''' ''B''&amp;quot; ausgedrückt. &amp;quot;Genau&amp;quot; heißt immer und nur unter dieser Bedingung. '''A''' gilt genau dann, wenn '''B''' gilt. '''A''' und '''B''' sind äquivalent, also austauschbar. Das heißt die vorherige Aussage gilt auch anders herum: '''B''' gilt genau dann, wenn '''A''' gilt.&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! B !! A &amp;amp;hArr; B&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''false'' || ''true''&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true'' || ''false''&lt;br /&gt;
|- &lt;br /&gt;
| ''true'' || ''false'' ||''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' ||''true'' || ''true''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''Venn-Diagramm?''&lt;br /&gt;
&lt;br /&gt;
==Peano-Axiome (erweitertes Wissen)==&lt;br /&gt;
&lt;br /&gt;
===Kommutativgesetze===&lt;br /&gt;
&lt;br /&gt;
(1) ''A'' &amp;amp;and; ''B'' &amp;amp;equiv; ''B'' &amp;amp;and; ''A''&lt;br /&gt;
&lt;br /&gt;
(1') ''A'' &amp;amp;or; ''B'' &amp;amp;equiv; ''B'' &amp;amp;or; ''A''&lt;br /&gt;
&lt;br /&gt;
====Erläuterung====&lt;br /&gt;
&lt;br /&gt;
Vertauschen der Argumente ''A'' und ''B'', ohne dass sich das Ergebnis der Operation ändert.&lt;br /&gt;
&lt;br /&gt;
===Assoziativgesetze===&lt;br /&gt;
&lt;br /&gt;
(2) (''A'' &amp;amp;and; ''B'') &amp;amp;and; ''C'' &amp;amp;equiv; ''A'' &amp;amp;and; (''B'' &amp;amp;and; ''C'')&lt;br /&gt;
&lt;br /&gt;
(2') (''A'' &amp;amp;or; ''B'') &amp;amp;or; ''C'' &amp;amp;equiv; ''A'' &amp;amp;or; (''B'' &amp;amp;or; ''C'')&lt;br /&gt;
&lt;br /&gt;
====Erläuterung====&lt;br /&gt;
Die Klammerung der oben durchgeführten Operationen hat keinen Einfluss auf das Ergebnis.&lt;br /&gt;
&lt;br /&gt;
===Idempotenzgesetze===&lt;br /&gt;
&lt;br /&gt;
(3) ''A'' &amp;amp;and; ''A'' &amp;amp;equiv; ''A''&lt;br /&gt;
&lt;br /&gt;
(3') ''A'' &amp;amp;or; ''A'' &amp;amp;equiv; ''A''&lt;br /&gt;
&lt;br /&gt;
====Erläuterung====&lt;br /&gt;
&lt;br /&gt;
Die Eigenschaften des Arguments ''A'' bleiben, auch wenn dieses mit sich selbst verknüft wird, bestehen.&lt;br /&gt;
&lt;br /&gt;
===Distributivgesetze===&lt;br /&gt;
(4) ''A'' &amp;amp;and; (''B'' &amp;amp;or; ''C'') &amp;amp;equiv; (''A'' &amp;amp;and; ''B'') &amp;amp;or; (''A'' &amp;amp;and; ''C'')&lt;br /&gt;
&lt;br /&gt;
(4') ''A'' &amp;amp;or; (''B'' &amp;amp;and; ''C'') &amp;amp;equiv; (''A'' &amp;amp;or; ''B'') &amp;amp;and; (''A'' &amp;amp;or; ''C'')&lt;br /&gt;
&lt;br /&gt;
====Erläuterung====&lt;br /&gt;
&lt;br /&gt;
Auswirkung des Aufösens von Klammern um Verknüfungen von Operationen: ähnlich dem &amp;quot;Ausmultiplizieren&amp;quot; in der Schulmathematik.&lt;br /&gt;
&lt;br /&gt;
===Neutralitätsgesetze===&lt;br /&gt;
&lt;br /&gt;
(5) ''A'' &amp;amp;and; ''true'' &amp;amp;equiv; ''A''&lt;br /&gt;
&lt;br /&gt;
(5') ''A'' &amp;amp;or; ''false'' &amp;amp;equiv; ''A''&lt;br /&gt;
&lt;br /&gt;
====Erläuterung====&lt;br /&gt;
&lt;br /&gt;
Der Wert des Argument ''A'' wird durch die oben ausgeführten Operationen nicht verändert.&lt;br /&gt;
&lt;br /&gt;
===Extremalgesetze===&lt;br /&gt;
&lt;br /&gt;
(6) ''A'' &amp;amp;and; ''false'' &amp;amp;equiv; ''false''&lt;br /&gt;
&lt;br /&gt;
(6') ''A'' &amp;amp;or; ''true'' &amp;amp;equiv; ''true''&lt;br /&gt;
&lt;br /&gt;
====Erläuterung====&lt;br /&gt;
&lt;br /&gt;
Das Ergebnis der oben beschriebenen Operationen ist unabhängig vom Wert des Arguments ''A''.&lt;br /&gt;
&lt;br /&gt;
===Doppelnegationsgesetz===&lt;br /&gt;
&lt;br /&gt;
(7) &amp;amp;not;(&amp;amp;not;''A'') &amp;amp;equiv; ''A''&lt;br /&gt;
&lt;br /&gt;
====Erläuterung====&lt;br /&gt;
&amp;quot;Doppelte Verneinung&amp;quot;: der Wert von ''A'' wird durch zweimaliges Ausführen des &amp;amp;not; -Operators nicht beeinflusst.&lt;br /&gt;
&lt;br /&gt;
===De Morgansche Gesetze===&lt;br /&gt;
(8) &amp;amp;not;(''A'' &amp;amp;and; ''B'') &amp;amp;equiv; &amp;amp;not;''A'' &amp;amp;or; &amp;amp;not;''B''&lt;br /&gt;
&lt;br /&gt;
(8') &amp;amp;not;(''A'' &amp;amp;or; ''B'') &amp;amp;equiv; &amp;amp;not;''A'' &amp;amp;and; &amp;amp;not;''B''&lt;br /&gt;
&lt;br /&gt;
====Ein Beispiel zur Anwendung aus dem Alltag====&lt;br /&gt;
Peter trinkt Tee nur mit Zirtonensaft und Zucker. Dann stimmen die Aussagen: &lt;br /&gt;
&amp;quot;Wenn Zitronensaft und Zucker im Tee sind, wird Peter ihn trinken &amp;quot; und &lt;br /&gt;
&amp;quot;Sind weder Zitronensaft noch Zucker im Tee, so trinkt Peter ihn nicht&amp;quot; überein.&lt;br /&gt;
&lt;br /&gt;
===Komplementärgesetze===&lt;br /&gt;
(9) ''A'' &amp;amp;and; &amp;amp;not;''A'' &amp;amp;equiv; ''false''&lt;br /&gt;
&lt;br /&gt;
(9') ''A'' &amp;amp;or; &amp;amp;not;''A'' &amp;amp;equiv; ''true''&lt;br /&gt;
&lt;br /&gt;
====Erläuterung und Beispiel====&lt;br /&gt;
&lt;br /&gt;
Es können nicht gleichzeitig ''A'' und die Negation von ''A'' gelten: Beispielsweise kann der Himmel nicht gleichzeitig blau und nicht-blau sein.&lt;br /&gt;
Allerdings ist der Himmel entweder blau oder nicht-blau gefärbt. Dieses Beispiel illustriert das Gesetz (9').&lt;br /&gt;
&lt;br /&gt;
===Dualitätsgesetze===&lt;br /&gt;
(10) &amp;amp;not;false &amp;amp;equiv; true&lt;br /&gt;
&lt;br /&gt;
(10') &amp;amp;not;true &amp;amp;equiv; false&lt;br /&gt;
&lt;br /&gt;
====Erläuterung====&lt;br /&gt;
&lt;br /&gt;
Der Wert '''true''' ist das Komplement zu '''false'''. Ist eine Aussage nicht-wahr, so ist sie falsch. Umgekehrt gilt für eine nicht-falsche Aussage, dass sie wahr sein muss.&lt;/div&gt;</summary>
		<author><name>Solveig</name></author>	</entry>

	<entry>
		<id>https://ls14-eini.cs.tu-dortmund.de/index.php?title=Boolesche_Algebra&amp;diff=1751</id>
		<title>Boolesche Algebra</title>
		<link rel="alternate" type="text/html" href="https://ls14-eini.cs.tu-dortmund.de/index.php?title=Boolesche_Algebra&amp;diff=1751"/>
				<updated>2016-08-17T11:37:05Z</updated>
		
		<summary type="html">&lt;p&gt;Solveig: /* Erläuterung */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Die '''boolesche Algebra''' ist eine algebraische Struktur und beschreibt die Operationen '''UND''', '''ODER''' und '''NICHT''', die auf logische Aussagen angewendet werden können.&lt;br /&gt;
&lt;br /&gt;
==Die booleschen Operatoren==&lt;br /&gt;
&lt;br /&gt;
===Konjunktion (AND)===&lt;br /&gt;
&lt;br /&gt;
Die '''Konjunktion''' ist eine der grundlegenden logischen Verknüpfungen der Aussagenlogik. Die Konjunktion zweier Aussagen ''A'' und ''B'' ist genau dann wahr, wenn ''A'' '''und''' ''B'' (sowohl als auch) wahr sind. Das mathematische Symbol ist '''&amp;amp;and;'''. In [[Java]] wird das '''AND''' durch '''&amp;amp;&amp;amp;''' repräsentiert.&lt;br /&gt;
[[Datei:venn_and.png|right]]&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! B !! A &amp;amp;and; B&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''false'' || ''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true'' || ''false''&lt;br /&gt;
|- &lt;br /&gt;
| ''true'' || ''false'' ||''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' ||''true'' || ''true''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Disjunktion (OR)===&lt;br /&gt;
&lt;br /&gt;
Die '''Disjunktion''' ist eine der grundlegenden logischen Verknüpfungen der Aussagenlogik. Die Disjunktion zweier Aussagen ''A'' und ''B'' ist genau dann wahr, wenn mindestens eine der Aussagen ''A'' '''oder''' ''B'' wahr ist. Das mathematische Symbol ist '''&amp;amp;or;'''. In [[Java]] wird das '''OR''' durch '''||''' repräsentiert.&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! B !! A &amp;amp;or; B&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''false'' || ''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true'' || ''true''&lt;br /&gt;
|- &lt;br /&gt;
| ''true'' || ''false'' ||''true''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' ||''true'' || ''true''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''Venn-Diagramm?''&lt;br /&gt;
&lt;br /&gt;
===Negation (NOT)===&lt;br /&gt;
&lt;br /&gt;
Die '''Negation''' ist eine wichtige Operation in der Aussagenlogik. Die Negation einer Aussage ''A'' führt zur ihrer Verneinung. Das heißt aus einer wahren Aussage wird eine falsche Aussage und umgekehrt. Das mathematische Symbol ist '''&amp;amp;not;'''. In [[Java]] wird das '''NOT''' durch '''!''' repräsentiert.&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! &amp;amp;not;A&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' || ''false''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Kontravalenz (XOR)===&lt;br /&gt;
&lt;br /&gt;
Die '''Kontravalenz''' ist eine erweiterte logische Verknüpfung in der Aussagenlogik. Die Kontravalenz zweier Aussagen ''A'' und ''B'' ist genau dann wahr, wenn '''entweder''' ''A'' '''oder''' ''B'', aber nicht beide wahr sind. Das mathematische Symbol ist '''⊕'''. In [[Java]] wird das '''XOR''' durch '''^''' repräsentiert.&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! B !! A ⊕ B&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''false'' || ''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true'' || ''true''&lt;br /&gt;
|- &lt;br /&gt;
| ''true'' || ''false'' ||''true''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' ||''true'' || ''false''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''Venn-Diagramm?''&lt;br /&gt;
&lt;br /&gt;
===Implikation===&lt;br /&gt;
&lt;br /&gt;
Die '''Implikation''' ist eine erweiterte logische Verknüpfung in der Aussagenlogik. Die Implikation zweier Aussagen ''A'' und ''B'' ist genau dann wahr, wenn ''A'' falsch oder ''B'' wahr ist. Das mathematische Symbol ist '''&amp;amp;rArr;'''. Die Implikation ist semantisch äquivalent zu &amp;amp;not;A &amp;amp;or; B. In [[Java]] gibt es keinen Implikationsoperator. &lt;br /&gt;
&lt;br /&gt;
Eine Implikation wird im Deutschen meistens durch &amp;quot;'''wenn''' ''A'', '''dann''' ''B''&amp;quot; ausgedrückt. Es handelt sich hierbei um eine einfache Folgerung. Aus einer falschen Ausgangsaussage '''A''' lässt sich alles folgern, daher kann die Gesamtaussage nicht falsch werden. &lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! B !! A &amp;amp;rArr; B&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''false'' || ''true''&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true'' || ''true''&lt;br /&gt;
|- &lt;br /&gt;
| ''true'' || ''false'' ||''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' ||''true'' || ''true''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''Venn-Diagramm?''&lt;br /&gt;
&lt;br /&gt;
===Äquivalenz (XNOR)===&lt;br /&gt;
&lt;br /&gt;
Die '''Äquivalenz''' ist eine erweiterte logische Verknüpfung in der Aussagenlogik. Die Äquivalenz zweier Aussagen ''A'' und ''B'' ist genau dann wahr, wenn ''A'' und ''B'' wahr oder ''A'' und ''B'' falsch sind. Das mathematische Symbol ist '''&amp;amp;hArr;'''. Die Äquivalenz ist semantisch äquivalent zu A &amp;amp;and; B &amp;amp;or; &amp;amp;not;A &amp;amp;and; &amp;amp;not;B. In [[Java]] gibt es keinen Operator hierfür. &lt;br /&gt;
&lt;br /&gt;
Die Äquivalenz wird im Deutschen meistens durch &amp;quot;'''genau dann''' ''A'', '''wenn''' ''B''&amp;quot; ausgedrückt. &amp;quot;Genau&amp;quot; heißt immer und nur unter dieser Bedingung. '''A''' gilt genau dann, wenn '''B''' gilt. '''A''' und '''B''' sind äquivalent, also austauschbar. Das heißt die vorherige Aussage gilt auch anders herum: '''B''' gilt genau dann, wenn '''A''' gilt.&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! B !! A &amp;amp;hArr; B&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''false'' || ''true''&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true'' || ''false''&lt;br /&gt;
|- &lt;br /&gt;
| ''true'' || ''false'' ||''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' ||''true'' || ''true''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''Venn-Diagramm?''&lt;br /&gt;
&lt;br /&gt;
==Peano-Axiome (erweitertes Wissen)==&lt;br /&gt;
&lt;br /&gt;
===Kommutativgesetze===&lt;br /&gt;
&lt;br /&gt;
(1) ''A'' &amp;amp;and; ''B'' &amp;amp;equiv; ''B'' &amp;amp;and; ''A''&lt;br /&gt;
&lt;br /&gt;
(1') ''A'' &amp;amp;or; ''B'' &amp;amp;equiv; ''B'' &amp;amp;or; ''A''&lt;br /&gt;
&lt;br /&gt;
====Erläuterung====&lt;br /&gt;
&lt;br /&gt;
Vertauschen der Argumente ''A'' und ''B'', ohne dass sich das Ergebnis der Operation ändert.&lt;br /&gt;
&lt;br /&gt;
===Assoziativgesetze===&lt;br /&gt;
&lt;br /&gt;
(2) (''A'' &amp;amp;and; ''B'') &amp;amp;and; ''C'' &amp;amp;equiv; ''A'' &amp;amp;and; (''B'' &amp;amp;and; ''C'')&lt;br /&gt;
&lt;br /&gt;
(2') (''A'' &amp;amp;or; ''B'') &amp;amp;or; ''C'' &amp;amp;equiv; ''A'' &amp;amp;or; (''B'' &amp;amp;or; ''C'')&lt;br /&gt;
&lt;br /&gt;
====Erläuterung====&lt;br /&gt;
Die Klammerung der oben durchgeführten Operationen hat keinen Einfluss auf das Ergebnis.&lt;br /&gt;
&lt;br /&gt;
===Idempotenzgesetze===&lt;br /&gt;
&lt;br /&gt;
(3) ''A'' &amp;amp;and; ''A'' &amp;amp;equiv; ''A''&lt;br /&gt;
&lt;br /&gt;
(3') ''A'' &amp;amp;or; ''A'' &amp;amp;equiv; ''A''&lt;br /&gt;
&lt;br /&gt;
====Erläuterung====&lt;br /&gt;
&lt;br /&gt;
Die Eigenschaften des Arguments ''A'' bleiben, auch wenn dieses mit sich selbst verknüft wird, bestehen.&lt;br /&gt;
&lt;br /&gt;
===Distributivgesetze===&lt;br /&gt;
(4) ''A'' &amp;amp;and; (''B'' &amp;amp;or; ''C'') &amp;amp;equiv; (''A'' &amp;amp;and; ''B'') &amp;amp;or; (''A'' &amp;amp;and; ''C'')&lt;br /&gt;
&lt;br /&gt;
(4') ''A'' &amp;amp;or; (''B'' &amp;amp;and; ''C'') &amp;amp;equiv; (''A'' &amp;amp;or; ''B'') &amp;amp;and; (''A'' &amp;amp;or; ''C'')&lt;br /&gt;
&lt;br /&gt;
====Erläuterung====&lt;br /&gt;
&lt;br /&gt;
Auswirkung des Aufösens von Klammern um Verknüfungen von Operationen: ähnlich dem &amp;quot;Ausmultiplizieren&amp;quot; in der Schulmathematik.&lt;br /&gt;
&lt;br /&gt;
===Neutralitätsgesetze===&lt;br /&gt;
&lt;br /&gt;
(5) ''A'' &amp;amp;and; ''true'' &amp;amp;equiv; ''A''&lt;br /&gt;
&lt;br /&gt;
(5') ''A'' &amp;amp;or; ''false'' &amp;amp;equiv; ''A''&lt;br /&gt;
&lt;br /&gt;
====Erläuterung====&lt;br /&gt;
&lt;br /&gt;
Der Wert des Argument ''A'' wird durch die oben ausgeführten Operationen nicht verändert.&lt;br /&gt;
&lt;br /&gt;
===Extremalgesetze===&lt;br /&gt;
&lt;br /&gt;
(6) ''A'' &amp;amp;and; ''false'' &amp;amp;equiv; ''false''&lt;br /&gt;
&lt;br /&gt;
(6') ''A'' &amp;amp;or; ''true'' &amp;amp;equiv; ''true''&lt;br /&gt;
&lt;br /&gt;
====Erläuterung====&lt;br /&gt;
&lt;br /&gt;
Das Ergebnis der oben beschriebenen Operationen ist unabhängig vom Wert des Arguments ''A''.&lt;br /&gt;
&lt;br /&gt;
===Doppelnegationsgesetz===&lt;br /&gt;
&lt;br /&gt;
(7) &amp;amp;not;(&amp;amp;not;''A'') &amp;amp;equiv; ''A''&lt;br /&gt;
&lt;br /&gt;
====Erläuterung====&lt;br /&gt;
&amp;quot;Doppelte Verneinung&amp;quot;: der Wert von ''A'' wird durch zweimaliges Ausführen des &amp;amp;not; -Operators nicht beeinflusst.&lt;br /&gt;
&lt;br /&gt;
===De Morgansche Gesetze===&lt;br /&gt;
(8) &amp;amp;not;(''A'' &amp;amp;and; ''B'') &amp;amp;equiv; &amp;amp;not;''A'' &amp;amp;or; &amp;amp;not;''B''&lt;br /&gt;
&lt;br /&gt;
(8') &amp;amp;not;(''A'' &amp;amp;or; ''B'') &amp;amp;equiv; &amp;amp;not;''A'' &amp;amp;and; &amp;amp;not;''B''&lt;br /&gt;
&lt;br /&gt;
====Ein Beispiel zur Anwendung aus dem Alltag====&lt;br /&gt;
Peter trinkt Tee nur mit Zirtonensaft und Zucker. Dann stimmen die Aussagen: &lt;br /&gt;
&amp;quot;Wenn Zitronensaft und Zucker im Tee sind, wird Peter ihn trinken &amp;quot; und &lt;br /&gt;
&amp;quot;Sind weder Zitronensaft noch Zucker im Tee, so trinkt Peter ihn nicht&amp;quot; überein.&lt;br /&gt;
&lt;br /&gt;
===Komplementärgesetze===&lt;br /&gt;
(9) ''A'' &amp;amp;and; &amp;amp;not;''A'' &amp;amp;equiv; ''false''&lt;br /&gt;
&lt;br /&gt;
(9') ''A'' &amp;amp;or; &amp;amp;not;''A'' &amp;amp;equiv; ''true''&lt;br /&gt;
&lt;br /&gt;
====Erläuterung und Beispiel====&lt;br /&gt;
&lt;br /&gt;
Es können nicht gleichzeitig ''A'' und die Negation von ''A'' gelten: Beispielsweise kann der Himmel nicht gleichzeitig blau und nicht-blau sein.&lt;br /&gt;
Allerdings ist der Himmel entweder blau oder nicht-blau gefärbt. Dieses Beispiel illustriert das Gesetz (9').&lt;br /&gt;
&lt;br /&gt;
===Dualitätsgesetze===&lt;br /&gt;
(10) &amp;amp;not;false &amp;amp;equiv; true&lt;br /&gt;
&lt;br /&gt;
(10') &amp;amp;not;true &amp;amp;equiv; false&lt;br /&gt;
&lt;br /&gt;
====Erläuterung====&lt;br /&gt;
&lt;br /&gt;
Der Wert '''true''' ist das Komplement zu '''false'''. Ist eine Aussage nicht-wahr, so ist sie falsch. Umgekehrt gilt für eine nicht-falsche Aussage, dass sie wahr sein muss.&lt;/div&gt;</summary>
		<author><name>Solveig</name></author>	</entry>

	<entry>
		<id>https://ls14-eini.cs.tu-dortmund.de/index.php?title=Boolesche_Algebra&amp;diff=1750</id>
		<title>Boolesche Algebra</title>
		<link rel="alternate" type="text/html" href="https://ls14-eini.cs.tu-dortmund.de/index.php?title=Boolesche_Algebra&amp;diff=1750"/>
				<updated>2016-08-17T11:36:44Z</updated>
		
		<summary type="html">&lt;p&gt;Solveig: /* Peano-Axiome (erweitertes Wissen) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Die '''boolesche Algebra''' ist eine algebraische Struktur und beschreibt die Operationen '''UND''', '''ODER''' und '''NICHT''', die auf logische Aussagen angewendet werden können.&lt;br /&gt;
&lt;br /&gt;
==Die booleschen Operatoren==&lt;br /&gt;
&lt;br /&gt;
===Konjunktion (AND)===&lt;br /&gt;
&lt;br /&gt;
Die '''Konjunktion''' ist eine der grundlegenden logischen Verknüpfungen der Aussagenlogik. Die Konjunktion zweier Aussagen ''A'' und ''B'' ist genau dann wahr, wenn ''A'' '''und''' ''B'' (sowohl als auch) wahr sind. Das mathematische Symbol ist '''&amp;amp;and;'''. In [[Java]] wird das '''AND''' durch '''&amp;amp;&amp;amp;''' repräsentiert.&lt;br /&gt;
[[Datei:venn_and.png|right]]&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! B !! A &amp;amp;and; B&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''false'' || ''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true'' || ''false''&lt;br /&gt;
|- &lt;br /&gt;
| ''true'' || ''false'' ||''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' ||''true'' || ''true''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Disjunktion (OR)===&lt;br /&gt;
&lt;br /&gt;
Die '''Disjunktion''' ist eine der grundlegenden logischen Verknüpfungen der Aussagenlogik. Die Disjunktion zweier Aussagen ''A'' und ''B'' ist genau dann wahr, wenn mindestens eine der Aussagen ''A'' '''oder''' ''B'' wahr ist. Das mathematische Symbol ist '''&amp;amp;or;'''. In [[Java]] wird das '''OR''' durch '''||''' repräsentiert.&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! B !! A &amp;amp;or; B&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''false'' || ''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true'' || ''true''&lt;br /&gt;
|- &lt;br /&gt;
| ''true'' || ''false'' ||''true''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' ||''true'' || ''true''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''Venn-Diagramm?''&lt;br /&gt;
&lt;br /&gt;
===Negation (NOT)===&lt;br /&gt;
&lt;br /&gt;
Die '''Negation''' ist eine wichtige Operation in der Aussagenlogik. Die Negation einer Aussage ''A'' führt zur ihrer Verneinung. Das heißt aus einer wahren Aussage wird eine falsche Aussage und umgekehrt. Das mathematische Symbol ist '''&amp;amp;not;'''. In [[Java]] wird das '''NOT''' durch '''!''' repräsentiert.&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! &amp;amp;not;A&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' || ''false''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Kontravalenz (XOR)===&lt;br /&gt;
&lt;br /&gt;
Die '''Kontravalenz''' ist eine erweiterte logische Verknüpfung in der Aussagenlogik. Die Kontravalenz zweier Aussagen ''A'' und ''B'' ist genau dann wahr, wenn '''entweder''' ''A'' '''oder''' ''B'', aber nicht beide wahr sind. Das mathematische Symbol ist '''⊕'''. In [[Java]] wird das '''XOR''' durch '''^''' repräsentiert.&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! B !! A ⊕ B&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''false'' || ''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true'' || ''true''&lt;br /&gt;
|- &lt;br /&gt;
| ''true'' || ''false'' ||''true''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' ||''true'' || ''false''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''Venn-Diagramm?''&lt;br /&gt;
&lt;br /&gt;
===Implikation===&lt;br /&gt;
&lt;br /&gt;
Die '''Implikation''' ist eine erweiterte logische Verknüpfung in der Aussagenlogik. Die Implikation zweier Aussagen ''A'' und ''B'' ist genau dann wahr, wenn ''A'' falsch oder ''B'' wahr ist. Das mathematische Symbol ist '''&amp;amp;rArr;'''. Die Implikation ist semantisch äquivalent zu &amp;amp;not;A &amp;amp;or; B. In [[Java]] gibt es keinen Implikationsoperator. &lt;br /&gt;
&lt;br /&gt;
Eine Implikation wird im Deutschen meistens durch &amp;quot;'''wenn''' ''A'', '''dann''' ''B''&amp;quot; ausgedrückt. Es handelt sich hierbei um eine einfache Folgerung. Aus einer falschen Ausgangsaussage '''A''' lässt sich alles folgern, daher kann die Gesamtaussage nicht falsch werden. &lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! B !! A &amp;amp;rArr; B&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''false'' || ''true''&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true'' || ''true''&lt;br /&gt;
|- &lt;br /&gt;
| ''true'' || ''false'' ||''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' ||''true'' || ''true''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''Venn-Diagramm?''&lt;br /&gt;
&lt;br /&gt;
===Äquivalenz (XNOR)===&lt;br /&gt;
&lt;br /&gt;
Die '''Äquivalenz''' ist eine erweiterte logische Verknüpfung in der Aussagenlogik. Die Äquivalenz zweier Aussagen ''A'' und ''B'' ist genau dann wahr, wenn ''A'' und ''B'' wahr oder ''A'' und ''B'' falsch sind. Das mathematische Symbol ist '''&amp;amp;hArr;'''. Die Äquivalenz ist semantisch äquivalent zu A &amp;amp;and; B &amp;amp;or; &amp;amp;not;A &amp;amp;and; &amp;amp;not;B. In [[Java]] gibt es keinen Operator hierfür. &lt;br /&gt;
&lt;br /&gt;
Die Äquivalenz wird im Deutschen meistens durch &amp;quot;'''genau dann''' ''A'', '''wenn''' ''B''&amp;quot; ausgedrückt. &amp;quot;Genau&amp;quot; heißt immer und nur unter dieser Bedingung. '''A''' gilt genau dann, wenn '''B''' gilt. '''A''' und '''B''' sind äquivalent, also austauschbar. Das heißt die vorherige Aussage gilt auch anders herum: '''B''' gilt genau dann, wenn '''A''' gilt.&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! B !! A &amp;amp;hArr; B&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''false'' || ''true''&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true'' || ''false''&lt;br /&gt;
|- &lt;br /&gt;
| ''true'' || ''false'' ||''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' ||''true'' || ''true''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''Venn-Diagramm?''&lt;br /&gt;
&lt;br /&gt;
==Peano-Axiome (erweitertes Wissen)==&lt;br /&gt;
&lt;br /&gt;
===Kommutativgesetze===&lt;br /&gt;
&lt;br /&gt;
(1) ''A'' &amp;amp;and; ''B'' &amp;amp;equiv; ''B'' &amp;amp;and; ''A''&lt;br /&gt;
&lt;br /&gt;
(1') ''A'' &amp;amp;or; ''B'' &amp;amp;equiv; ''B'' &amp;amp;or; ''A''&lt;br /&gt;
&lt;br /&gt;
====Erläuterung====&lt;br /&gt;
&lt;br /&gt;
Vertauschen der Argumente ''A'' und 'B''', ohne dass sich das Ergebnis der Operation ändert.&lt;br /&gt;
&lt;br /&gt;
===Assoziativgesetze===&lt;br /&gt;
&lt;br /&gt;
(2) (''A'' &amp;amp;and; ''B'') &amp;amp;and; ''C'' &amp;amp;equiv; ''A'' &amp;amp;and; (''B'' &amp;amp;and; ''C'')&lt;br /&gt;
&lt;br /&gt;
(2') (''A'' &amp;amp;or; ''B'') &amp;amp;or; ''C'' &amp;amp;equiv; ''A'' &amp;amp;or; (''B'' &amp;amp;or; ''C'')&lt;br /&gt;
&lt;br /&gt;
====Erläuterung====&lt;br /&gt;
Die Klammerung der oben durchgeführten Operationen hat keinen Einfluss auf das Ergebnis.&lt;br /&gt;
&lt;br /&gt;
===Idempotenzgesetze===&lt;br /&gt;
&lt;br /&gt;
(3) ''A'' &amp;amp;and; ''A'' &amp;amp;equiv; ''A''&lt;br /&gt;
&lt;br /&gt;
(3') ''A'' &amp;amp;or; ''A'' &amp;amp;equiv; ''A''&lt;br /&gt;
&lt;br /&gt;
====Erläuterung====&lt;br /&gt;
&lt;br /&gt;
Die Eigenschaften des Arguments ''A'' bleiben, auch wenn dieses mit sich selbst verknüft wird, bestehen.&lt;br /&gt;
&lt;br /&gt;
===Distributivgesetze===&lt;br /&gt;
(4) ''A'' &amp;amp;and; (''B'' &amp;amp;or; ''C'') &amp;amp;equiv; (''A'' &amp;amp;and; ''B'') &amp;amp;or; (''A'' &amp;amp;and; ''C'')&lt;br /&gt;
&lt;br /&gt;
(4') ''A'' &amp;amp;or; (''B'' &amp;amp;and; ''C'') &amp;amp;equiv; (''A'' &amp;amp;or; ''B'') &amp;amp;and; (''A'' &amp;amp;or; ''C'')&lt;br /&gt;
&lt;br /&gt;
====Erläuterung====&lt;br /&gt;
&lt;br /&gt;
Auswirkung des Aufösens von Klammern um Verknüfungen von Operationen: ähnlich dem &amp;quot;Ausmultiplizieren&amp;quot; in der Schulmathematik.&lt;br /&gt;
&lt;br /&gt;
===Neutralitätsgesetze===&lt;br /&gt;
&lt;br /&gt;
(5) ''A'' &amp;amp;and; ''true'' &amp;amp;equiv; ''A''&lt;br /&gt;
&lt;br /&gt;
(5') ''A'' &amp;amp;or; ''false'' &amp;amp;equiv; ''A''&lt;br /&gt;
&lt;br /&gt;
====Erläuterung====&lt;br /&gt;
&lt;br /&gt;
Der Wert des Argument ''A'' wird durch die oben ausgeführten Operationen nicht verändert.&lt;br /&gt;
&lt;br /&gt;
===Extremalgesetze===&lt;br /&gt;
&lt;br /&gt;
(6) ''A'' &amp;amp;and; ''false'' &amp;amp;equiv; ''false''&lt;br /&gt;
&lt;br /&gt;
(6') ''A'' &amp;amp;or; ''true'' &amp;amp;equiv; ''true''&lt;br /&gt;
&lt;br /&gt;
====Erläuterung====&lt;br /&gt;
&lt;br /&gt;
Das Ergebnis der oben beschriebenen Operationen ist unabhängig vom Wert des Arguments ''A''.&lt;br /&gt;
&lt;br /&gt;
===Doppelnegationsgesetz===&lt;br /&gt;
&lt;br /&gt;
(7) &amp;amp;not;(&amp;amp;not;''A'') &amp;amp;equiv; ''A''&lt;br /&gt;
&lt;br /&gt;
====Erläuterung====&lt;br /&gt;
&amp;quot;Doppelte Verneinung&amp;quot;: der Wert von ''A'' wird durch zweimaliges Ausführen des &amp;amp;not; -Operators nicht beeinflusst.&lt;br /&gt;
&lt;br /&gt;
===De Morgansche Gesetze===&lt;br /&gt;
(8) &amp;amp;not;(''A'' &amp;amp;and; ''B'') &amp;amp;equiv; &amp;amp;not;''A'' &amp;amp;or; &amp;amp;not;''B''&lt;br /&gt;
&lt;br /&gt;
(8') &amp;amp;not;(''A'' &amp;amp;or; ''B'') &amp;amp;equiv; &amp;amp;not;''A'' &amp;amp;and; &amp;amp;not;''B''&lt;br /&gt;
&lt;br /&gt;
====Ein Beispiel zur Anwendung aus dem Alltag====&lt;br /&gt;
Peter trinkt Tee nur mit Zirtonensaft und Zucker. Dann stimmen die Aussagen: &lt;br /&gt;
&amp;quot;Wenn Zitronensaft und Zucker im Tee sind, wird Peter ihn trinken &amp;quot; und &lt;br /&gt;
&amp;quot;Sind weder Zitronensaft noch Zucker im Tee, so trinkt Peter ihn nicht&amp;quot; überein.&lt;br /&gt;
&lt;br /&gt;
===Komplementärgesetze===&lt;br /&gt;
(9) ''A'' &amp;amp;and; &amp;amp;not;''A'' &amp;amp;equiv; ''false''&lt;br /&gt;
&lt;br /&gt;
(9') ''A'' &amp;amp;or; &amp;amp;not;''A'' &amp;amp;equiv; ''true''&lt;br /&gt;
&lt;br /&gt;
====Erläuterung und Beispiel====&lt;br /&gt;
&lt;br /&gt;
Es können nicht gleichzeitig ''A'' und die Negation von ''A'' gelten: Beispielsweise kann der Himmel nicht gleichzeitig blau und nicht-blau sein.&lt;br /&gt;
Allerdings ist der Himmel entweder blau oder nicht-blau gefärbt. Dieses Beispiel illustriert das Gesetz (9').&lt;br /&gt;
&lt;br /&gt;
===Dualitätsgesetze===&lt;br /&gt;
(10) &amp;amp;not;false &amp;amp;equiv; true&lt;br /&gt;
&lt;br /&gt;
(10') &amp;amp;not;true &amp;amp;equiv; false&lt;br /&gt;
&lt;br /&gt;
====Erläuterung====&lt;br /&gt;
&lt;br /&gt;
Der Wert '''true''' ist das Komplement zu '''false'''. Ist eine Aussage nicht-wahr, so ist sie falsch. Umgekehrt gilt für eine nicht-falsche Aussage, dass sie wahr sein muss.&lt;/div&gt;</summary>
		<author><name>Solveig</name></author>	</entry>

	<entry>
		<id>https://ls14-eini.cs.tu-dortmund.de/index.php?title=Codekonventionen&amp;diff=1749</id>
		<title>Codekonventionen</title>
		<link rel="alternate" type="text/html" href="https://ls14-eini.cs.tu-dortmund.de/index.php?title=Codekonventionen&amp;diff=1749"/>
				<updated>2016-08-17T11:33:25Z</updated>
		
		<summary type="html">&lt;p&gt;Solveig: /* Notationsbegriffe */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Eine '''Codekonvention''' ist eine Übereinkunft unter Programmierern, beim Schreiben ihrer [[Programm]]e einen gewissen Stil einzuhalten. Über die Jahre hinweg haben sich in fast allen [[Programmiersprachen]] eine oder mehrere solcher '''Standards''' gebildet.&lt;br /&gt;
&lt;br /&gt;
= Verständlichkeit eines Algorithmus =&lt;br /&gt;
&lt;br /&gt;
==Erläuterung==&lt;br /&gt;
&lt;br /&gt;
Ein wichtiges Merkmal eines [[Algorithmus]] ist, dass ein menschlicher Leser ihn verstehen kann, obwohl er nicht in umgangssprachlicher Form vorliegt.&lt;br /&gt;
&lt;br /&gt;
==Beispiel==&lt;br /&gt;
&lt;br /&gt;
Als Beispiel sei folgender Algorithmus gegeben, der zwei Zahlen miteinander multipliziert, ohne explizit einen [[Operator|Multiplikationsoperator]] zu verwenden.&lt;br /&gt;
&lt;br /&gt;
1. In '''[[Pseudocode]]''' sieht das ganze so aus:&lt;br /&gt;
&lt;br /&gt;
 Eingabe: Zwei ganze Zahlen a und b&lt;br /&gt;
 Ausgabe: Produkt aus a und b&lt;br /&gt;
 Vorgehensweise:&lt;br /&gt;
     Initialisiere das Ergebnis mit 0&lt;br /&gt;
     Addiere a mal b auf das Ergebnis&lt;br /&gt;
     Gebe das Ergebnis zurück&lt;br /&gt;
&lt;br /&gt;
2. Beispiel für eine '''schwer verständliche''' Formulierung des Algorithmus:&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;source&amp;gt;&lt;br /&gt;
  public static int berechnen2(int a, int b){int erg=0;for(int i=0;i&amp;lt;a;i++){erg+=b;}return erg;}&lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3. Das gleiche Beispiel, '''lesbarer''' und mit Syntaxhighlighting:&lt;br /&gt;
  &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;public static int berechnen(int a, int b)&lt;br /&gt;
  {&lt;br /&gt;
    int erg = 0;&lt;br /&gt;
    for(int i = 0; i&amp;lt;a ; i++)&lt;br /&gt;
    {&lt;br /&gt;
        erg += b;&lt;br /&gt;
    }&lt;br /&gt;
    return erg;&lt;br /&gt;
  }&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Beide Programme führen dasselbe aus. Beide berechnen das Produkt von ''a'' und ''b'', ohne eine Multiplikation durchzuführen. Sie addieren ''b'' ''a''-mal auf eine Ergebnisvariablen &amp;lt;code&amp;gt;erg&amp;lt;/code&amp;gt; auf. Diese [[Variable]] wird zum Schluss zurückgegeben.&lt;br /&gt;
&lt;br /&gt;
Genaueres zur Funktionsweise des Algorithmus: siehe [[Schleife]]&lt;br /&gt;
&lt;br /&gt;
= Bezeichner und Leerzeichen =&lt;br /&gt;
&lt;br /&gt;
Da in [[Programmiersprachen]] der Text maschinell analysiert werden muss, um später vom [[Compiler]] übersetzt werden zu können, gilt es ''immer'' folgendes zu beachten: &lt;br /&gt;
&lt;br /&gt;
Eine Zeichenkette, die als '''Bezeichner''' für ein Programmelement genutzt wird, darf '''keine Leerzeichen''' (engl. ''whitespaces'') beinhalten. &lt;br /&gt;
&lt;br /&gt;
Mit Leerzeichen versehen werden Beginn und Ende des Bezeichners uneindeutig [[Deklaration|deklariert]]. Daher ist dies in fast allen Programmiersprachen verboten. Um trotzdem einen Bezeichner aus mehr als einem Wort bestehen zu lassen, verwenden Programmierer verschiedene Formen der '''Notation''', die im Folgenden erklärt werden.&lt;br /&gt;
&lt;br /&gt;
= Notationsbegriffe =&lt;br /&gt;
&lt;br /&gt;
Im Zusammenhang mit '''Codekonventionen''' haben sich verschiedene Begriffe etabliert:&lt;br /&gt;
&lt;br /&gt;
'''Lower-Case''' (''engl.'' für &amp;quot;Kleinbuchstaben&amp;quot;): Bezeichner werden als eine zusammenhängende Zeichenkette hintereinander geschrieben, wobei alle Buchstaben klein geschrieben werden. &lt;br /&gt;
*z.B.: &amp;lt;code&amp;gt;nanosecondsinsecond&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;valueineuro&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;positionx&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;positiony&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Upper-Case''' (''engl.'' für &amp;quot;Großbuchstaben&amp;quot;): Bezeichner werden als eine zusammenhängende Zeichenkette hintereinander geschrieben, wobei alle Buchstaben groß geschrieben werden. &lt;br /&gt;
*z.B.: &amp;lt;code&amp;gt;NANOSECONDSINSECOND&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;VALUEINEURO&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;POSITIONX&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;POSITIONY&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Camel-Case''': Bezeichner werden als eine zusammenhängende Zeichenkette hintereinander geschrieben, wobei jeder Anfangsbuchstabe eines Wortes groß geschrieben wird. &lt;br /&gt;
*z.B.: &amp;lt;code&amp;gt;NanosecondsInSecond&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ValueInEuro&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;PositionX&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;PositionY&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Mixed-Camel-Case''': Bezeichner werden als eine zusammenhängende Zeichenkette hintereinander geschrieben, wobei jeder Anfangsbuchstabe eines Wortes groß geschrieben wird, bis auf der erste. &lt;br /&gt;
*z.B.: &amp;lt;code&amp;gt;nanosecondsInSecond&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;valueInEuro&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;positionX&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;positionY&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Underscored''': Wörter in Bezeichnern werden durch einen Unterstrich '''_''' voneinander getrennt. &lt;br /&gt;
*z.B.: &amp;lt;code&amp;gt;nanoseconds_in_sekunde&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;value_in_euro&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;position_X&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;position_Y&amp;lt;/code&amp;gt;. &lt;br /&gt;
Underscored kann in Kombination mit anderen Begriffen verwendet werden. Die ersten beiden Beispiele sind in der in C für Variablen verwendeten lower-case-underscored Schreibweise gehalten.&lt;br /&gt;
&lt;br /&gt;
=Konventionen in Java=&lt;br /&gt;
&lt;br /&gt;
Folgende Konventionen sind beim Programmieren von [[Java]] zwingend einzuhalten:&lt;br /&gt;
&lt;br /&gt;
== Konventionen für Bezeichner in Java ==&lt;br /&gt;
&lt;br /&gt;
1. '''Paketnamen''' werden im '''Lower-Case''' notiert und haben die Form einer &amp;quot;umgekehrten URL&amp;quot;. &lt;br /&gt;
*z.B.: &amp;lt;code&amp;gt;de.tu-do.eini.blatt01&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;org.apache&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;com.jogamp.opengl&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;myproject.directory&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. [[Klasse|'''Klassennamen''']] werden im '''Camel-Case''' notiert. &lt;br /&gt;
*z.B.: &amp;lt;code&amp;gt;String&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;MeinProgramm&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;AbstractSingletonFactoryBean&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3. [[Variable|'''Variablen- und Attributsnamen''']] werden im '''Mixed-Camel-Case''' notiert. &lt;br /&gt;
*z.B.: &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;result&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;processRunning&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
4. [[Methode|'''Methodennamen''']] werden im ''''Mixed-Camel-Case''' notiert. &lt;br /&gt;
*z.B.: &amp;lt;code&amp;gt;calculate(int x, int y)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;doSomething()&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cleanupAtShutdown(String message)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
5. Klassenweite '''Konstanten''' werden im '''Underscored-Upper-Case''' notiert. &lt;br /&gt;
*z.B.: &amp;lt;code&amp;gt;PI&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;NANOSECONDS_IN_SECOND&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ARRAY_SIZE&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Alles was einen '''Wert''' besitzt, kann so schnell durch den '''Kleinbuchstaben''' am Anfang erkannt werden kann, während von Typen mit Großbuchstaben unterschieden werden kann. Konstanten fallen schnell ins Auge.&lt;br /&gt;
&lt;br /&gt;
Bei '''Paketnamen''' kann durch die Form der Notation bei Großprojekten insbesondere erkannt werden, in welcher Sprache das Projekt dokumentiert ist (Ländercode der &amp;quot;URL&amp;quot;). Für das Anlegen von Klassen zu den Übungsblättern reicht jedoch etwas wie &amp;lt;code&amp;gt;eini.blatt01&amp;lt;/code&amp;gt; vollkommen aus.&lt;br /&gt;
&lt;br /&gt;
== Konventionen für Einrückung und geschweifte Klammern in Java ==&lt;br /&gt;
&lt;br /&gt;
In Java wird, wie auch in vielen anderen Programmiersprachen, '''blockebenenweise''' eingerückt. Eine Ebene wird dabei meist mit vier Leerzeichen oder einem Tab eingerückt. Das bedeutet, dass die Anzahl an umgebenden [[Block|Blöcken]] die Anzahl an Leerzeichen oder Tabs vor dem Beginn einer Zeile vorgibt. So stehen z.B. die Deklarationen von Attributen und Methoden immer im Block der sie beinhaltenden Klasse und werden deswegen um eine Ebene eingerückt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
public class Cube {&lt;br /&gt;
    private int x,y,z; //Umgeben vom Block der Klasse: Einrückung um eine Ebene.&lt;br /&gt;
    &lt;br /&gt;
    private int calculateVolume(){&lt;br /&gt;
        /* Berechnung umgeben vom Block der Klasse und der Methode: Einrückung um zwei Ebenen. */&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Es gibt zwei Möglichkeiten die '''öffnenden Klammern''' eines Blockes zu notieren. Zum einen können sie in der '''gleichen Zeile''' wie der öffnende Ausdruck stehen (siehe vorheriges Beispiel), zum anderen können sie in einer eigenen Zeile aber auf der '''gleichen Ebene''' wie besagter Ausdruck notiert werden (siehe Verständlichkeit, Beispiel 3).&lt;br /&gt;
&lt;br /&gt;
Welche Schreibweise Sie verwenden ist Ihnen überlassen, Hauptsache Sie ziehen sie durch.&lt;br /&gt;
&lt;br /&gt;
= Beispiele =&lt;br /&gt;
&lt;br /&gt;
==Korrekte Beispiele==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;java&amp;quot; title=&amp;quot;Korrekte Vorgabe&amp;quot;&amp;gt;&lt;br /&gt;
public class Classname {&lt;br /&gt;
    private int variable;&lt;br /&gt;
    private int another;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;java&amp;quot; title=&amp;quot;Alternative Klammerung&amp;quot;&amp;gt;&lt;br /&gt;
public class Cube&lt;br /&gt;
{&lt;br /&gt;
    private int x,y,z;&lt;br /&gt;
    &lt;br /&gt;
    private int calculateVolume()&lt;br /&gt;
    {&lt;br /&gt;
        /* Berechnung */&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Negativbeispiele==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;java&amp;quot; title=&amp;quot;Schlecht: Keine Einrückung&amp;quot;&amp;gt;&lt;br /&gt;
public class Cube {&lt;br /&gt;
private int x,y,z;&lt;br /&gt;
private int calculateVolume(){&lt;br /&gt;
/* Berechnung */&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;java&amp;quot; title=&amp;quot;Schlecht: Klammern und Text geclustered&amp;quot;&amp;gt;&lt;br /&gt;
public class Cube {&lt;br /&gt;
    private int x,y,z;&lt;br /&gt;
    private int calculateVolume(){&lt;br /&gt;
        /* Berechnung */&lt;br /&gt;
    }}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;java&amp;quot; title=&amp;quot;Schlecht: Einrückung falsch formatiert, stimmt nicht mit Ebene überein&amp;quot;&amp;gt;&lt;br /&gt;
public class Cube {&lt;br /&gt;
    private     int x,y,z;&lt;br /&gt;
    &lt;br /&gt;
        private int calculateVolume(){&lt;br /&gt;
        /* Berechnung */&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;java&amp;quot; title=&amp;quot;Schlecht: Uneinheitlich geklammert&amp;quot;&amp;gt;&lt;br /&gt;
public class Calculator {&lt;br /&gt;
    private int calculate(int x, int y){&lt;br /&gt;
        for(int i = 0; i &amp;lt; y; i++)&lt;br /&gt;
        {&lt;br /&gt;
            /* Berechung */&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Solveig</name></author>	</entry>

	<entry>
		<id>https://ls14-eini.cs.tu-dortmund.de/index.php?title=Diskussion:Boolesche_Algebra&amp;diff=1748</id>
		<title>Diskussion:Boolesche Algebra</title>
		<link rel="alternate" type="text/html" href="https://ls14-eini.cs.tu-dortmund.de/index.php?title=Diskussion:Boolesche_Algebra&amp;diff=1748"/>
				<updated>2016-08-17T11:22:53Z</updated>
		
		<summary type="html">&lt;p&gt;Solveig: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Bitte vervollständigen:&lt;br /&gt;
#Venn-Diagramme einfügen - bei mir klappt das Hochladen der Bilder leider nicht&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Besteht ein Zusammenhang zu [[boolean]]? Wenn ja, bitte einfügen.&lt;/div&gt;</summary>
		<author><name>Solveig</name></author>	</entry>

	<entry>
		<id>https://ls14-eini.cs.tu-dortmund.de/index.php?title=Boolesche_Algebra&amp;diff=1747</id>
		<title>Boolesche Algebra</title>
		<link rel="alternate" type="text/html" href="https://ls14-eini.cs.tu-dortmund.de/index.php?title=Boolesche_Algebra&amp;diff=1747"/>
				<updated>2016-08-17T11:21:44Z</updated>
		
		<summary type="html">&lt;p&gt;Solveig: /* Dualitätsgesetze */ Erläuterung ergänzt&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Die '''boolesche Algebra''' ist eine algebraische Struktur und beschreibt die Operationen '''UND''', '''ODER''' und '''NICHT''', die auf logische Aussagen angewendet werden können.&lt;br /&gt;
&lt;br /&gt;
==Die booleschen Operatoren==&lt;br /&gt;
&lt;br /&gt;
===Konjunktion (AND)===&lt;br /&gt;
&lt;br /&gt;
Die '''Konjunktion''' ist eine der grundlegenden logischen Verknüpfungen der Aussagenlogik. Die Konjunktion zweier Aussagen ''A'' und ''B'' ist genau dann wahr, wenn ''A'' '''und''' ''B'' (sowohl als auch) wahr sind. Das mathematische Symbol ist '''&amp;amp;and;'''. In [[Java]] wird das '''AND''' durch '''&amp;amp;&amp;amp;''' repräsentiert.&lt;br /&gt;
[[Datei:venn_and.png|right]]&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! B !! A &amp;amp;and; B&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''false'' || ''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true'' || ''false''&lt;br /&gt;
|- &lt;br /&gt;
| ''true'' || ''false'' ||''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' ||''true'' || ''true''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Disjunktion (OR)===&lt;br /&gt;
&lt;br /&gt;
Die '''Disjunktion''' ist eine der grundlegenden logischen Verknüpfungen der Aussagenlogik. Die Disjunktion zweier Aussagen ''A'' und ''B'' ist genau dann wahr, wenn mindestens eine der Aussagen ''A'' '''oder''' ''B'' wahr ist. Das mathematische Symbol ist '''&amp;amp;or;'''. In [[Java]] wird das '''OR''' durch '''||''' repräsentiert.&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! B !! A &amp;amp;or; B&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''false'' || ''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true'' || ''true''&lt;br /&gt;
|- &lt;br /&gt;
| ''true'' || ''false'' ||''true''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' ||''true'' || ''true''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''Venn-Diagramm?''&lt;br /&gt;
&lt;br /&gt;
===Negation (NOT)===&lt;br /&gt;
&lt;br /&gt;
Die '''Negation''' ist eine wichtige Operation in der Aussagenlogik. Die Negation einer Aussage ''A'' führt zur ihrer Verneinung. Das heißt aus einer wahren Aussage wird eine falsche Aussage und umgekehrt. Das mathematische Symbol ist '''&amp;amp;not;'''. In [[Java]] wird das '''NOT''' durch '''!''' repräsentiert.&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! &amp;amp;not;A&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' || ''false''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Kontravalenz (XOR)===&lt;br /&gt;
&lt;br /&gt;
Die '''Kontravalenz''' ist eine erweiterte logische Verknüpfung in der Aussagenlogik. Die Kontravalenz zweier Aussagen ''A'' und ''B'' ist genau dann wahr, wenn '''entweder''' ''A'' '''oder''' ''B'', aber nicht beide wahr sind. Das mathematische Symbol ist '''⊕'''. In [[Java]] wird das '''XOR''' durch '''^''' repräsentiert.&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! B !! A ⊕ B&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''false'' || ''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true'' || ''true''&lt;br /&gt;
|- &lt;br /&gt;
| ''true'' || ''false'' ||''true''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' ||''true'' || ''false''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''Venn-Diagramm?''&lt;br /&gt;
&lt;br /&gt;
===Implikation===&lt;br /&gt;
&lt;br /&gt;
Die '''Implikation''' ist eine erweiterte logische Verknüpfung in der Aussagenlogik. Die Implikation zweier Aussagen ''A'' und ''B'' ist genau dann wahr, wenn ''A'' falsch oder ''B'' wahr ist. Das mathematische Symbol ist '''&amp;amp;rArr;'''. Die Implikation ist semantisch äquivalent zu &amp;amp;not;A &amp;amp;or; B. In [[Java]] gibt es keinen Implikationsoperator. &lt;br /&gt;
&lt;br /&gt;
Eine Implikation wird im Deutschen meistens durch &amp;quot;'''wenn''' ''A'', '''dann''' ''B''&amp;quot; ausgedrückt. Es handelt sich hierbei um eine einfache Folgerung. Aus einer falschen Ausgangsaussage '''A''' lässt sich alles folgern, daher kann die Gesamtaussage nicht falsch werden. &lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! B !! A &amp;amp;rArr; B&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''false'' || ''true''&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true'' || ''true''&lt;br /&gt;
|- &lt;br /&gt;
| ''true'' || ''false'' ||''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' ||''true'' || ''true''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''Venn-Diagramm?''&lt;br /&gt;
&lt;br /&gt;
===Äquivalenz (XNOR)===&lt;br /&gt;
&lt;br /&gt;
Die '''Äquivalenz''' ist eine erweiterte logische Verknüpfung in der Aussagenlogik. Die Äquivalenz zweier Aussagen ''A'' und ''B'' ist genau dann wahr, wenn ''A'' und ''B'' wahr oder ''A'' und ''B'' falsch sind. Das mathematische Symbol ist '''&amp;amp;hArr;'''. Die Äquivalenz ist semantisch äquivalent zu A &amp;amp;and; B &amp;amp;or; &amp;amp;not;A &amp;amp;and; &amp;amp;not;B. In [[Java]] gibt es keinen Operator hierfür. &lt;br /&gt;
&lt;br /&gt;
Die Äquivalenz wird im Deutschen meistens durch &amp;quot;'''genau dann''' ''A'', '''wenn''' ''B''&amp;quot; ausgedrückt. &amp;quot;Genau&amp;quot; heißt immer und nur unter dieser Bedingung. '''A''' gilt genau dann, wenn '''B''' gilt. '''A''' und '''B''' sind äquivalent, also austauschbar. Das heißt die vorherige Aussage gilt auch anders herum: '''B''' gilt genau dann, wenn '''A''' gilt.&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! B !! A &amp;amp;hArr; B&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''false'' || ''true''&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true'' || ''false''&lt;br /&gt;
|- &lt;br /&gt;
| ''true'' || ''false'' ||''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' ||''true'' || ''true''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''Venn-Diagramm?''&lt;br /&gt;
&lt;br /&gt;
==Peano-Axiome (erweitertes Wissen)==&lt;br /&gt;
&lt;br /&gt;
===Kommutativgesetze===&lt;br /&gt;
&lt;br /&gt;
(1) ''A'' &amp;amp;and; ''B'' &amp;amp;equiv; ''B'' &amp;amp;and; ''A''&lt;br /&gt;
&lt;br /&gt;
(1') ''A'' &amp;amp;or; ''B'' &amp;amp;equiv; ''B'' &amp;amp;or; ''A''&lt;br /&gt;
&lt;br /&gt;
====Erläuterung====&lt;br /&gt;
&lt;br /&gt;
Vertauschen der Argumente '''A''' und '''B''', ohne dass sich das Ergebnis der Operation ändert.&lt;br /&gt;
&lt;br /&gt;
===Assoziativgesetze===&lt;br /&gt;
&lt;br /&gt;
(2) (''A'' &amp;amp;and; ''B'') &amp;amp;and; ''C'' &amp;amp;equiv; ''A'' &amp;amp;and; (''B'' &amp;amp;and; ''C'')&lt;br /&gt;
&lt;br /&gt;
(2') (''A'' &amp;amp;or; ''B'') &amp;amp;or; ''C'' &amp;amp;equiv; ''A'' &amp;amp;or; (''B'' &amp;amp;or; ''C'')&lt;br /&gt;
&lt;br /&gt;
====Erläuterung====&lt;br /&gt;
Die Klammerung der oben durchgeführten Operationen hat keinen Einfluss auf das Ergebnis.&lt;br /&gt;
&lt;br /&gt;
===Idempotenzgesetze===&lt;br /&gt;
&lt;br /&gt;
(3) ''A'' &amp;amp;and; ''A'' &amp;amp;equiv; ''A''&lt;br /&gt;
&lt;br /&gt;
(3') ''A'' &amp;amp;or; ''A'' &amp;amp;equiv; ''A''&lt;br /&gt;
&lt;br /&gt;
====Erläuterung====&lt;br /&gt;
&lt;br /&gt;
Die Eigenschaften des Arguments '''A''' bleiben, auch wenn dieses mit sich selbst verknüft wird, bestehen.&lt;br /&gt;
&lt;br /&gt;
===Distributivgesetze===&lt;br /&gt;
(4) ''A'' &amp;amp;and; (''B'' &amp;amp;or; ''C'') &amp;amp;equiv; (''A'' &amp;amp;and; ''B'') &amp;amp;or; (''A'' &amp;amp;and; ''C'')&lt;br /&gt;
&lt;br /&gt;
(4') ''A'' &amp;amp;or; (''B'' &amp;amp;and; ''C'') &amp;amp;equiv; (''A'' &amp;amp;or; ''B'') &amp;amp;and; (''A'' &amp;amp;or; ''C'')&lt;br /&gt;
&lt;br /&gt;
====Erläuterung====&lt;br /&gt;
&lt;br /&gt;
Auswirkung des Aufösens von Klammern um Verknüfungen von Operationen: ähnlich dem &amp;quot;Ausmultiplizieren&amp;quot; in der Schulmathematik.&lt;br /&gt;
&lt;br /&gt;
===Neutralitätsgesetze===&lt;br /&gt;
&lt;br /&gt;
(5) ''A'' &amp;amp;and; ''true'' &amp;amp;equiv; ''A''&lt;br /&gt;
&lt;br /&gt;
(5') ''A'' &amp;amp;or; ''false'' &amp;amp;equiv; ''A''&lt;br /&gt;
&lt;br /&gt;
====Erläuterung====&lt;br /&gt;
&lt;br /&gt;
Der Wert des Argument '''A''' wird durch die oben ausgeführten Operationen nicht verändert.&lt;br /&gt;
&lt;br /&gt;
===Extremalgesetze===&lt;br /&gt;
&lt;br /&gt;
(6) ''A'' &amp;amp;and; ''false'' &amp;amp;equiv; ''false''&lt;br /&gt;
&lt;br /&gt;
(6') ''A'' &amp;amp;or; ''true'' &amp;amp;equiv; ''true''&lt;br /&gt;
&lt;br /&gt;
====Erläuterung====&lt;br /&gt;
&lt;br /&gt;
Das Ergebnis der oben beschriebenen Operationen ist unabhängig vom Wert des Arguments '''A'''.&lt;br /&gt;
&lt;br /&gt;
===Doppelnegationsgesetz===&lt;br /&gt;
&lt;br /&gt;
(7) &amp;amp;not;(&amp;amp;not;''A'') &amp;amp;equiv; ''A''&lt;br /&gt;
&lt;br /&gt;
====Erläuterung====&lt;br /&gt;
&amp;quot;Doppelte Verneinung&amp;quot;: der Wert von '''A''' wird durch zweimaliges Ausführen des &amp;amp;not; -Operators nicht beeinflusst.&lt;br /&gt;
&lt;br /&gt;
===De Morgansche Gesetze===&lt;br /&gt;
(8) &amp;amp;not;(''A'' &amp;amp;and; ''B'') &amp;amp;equiv; &amp;amp;not;''A'' &amp;amp;or; &amp;amp;not;''B''&lt;br /&gt;
&lt;br /&gt;
(8') &amp;amp;not;(''A'' &amp;amp;or; ''B'') &amp;amp;equiv; &amp;amp;not;''A'' &amp;amp;and; &amp;amp;not;''B''&lt;br /&gt;
&lt;br /&gt;
====Ein Beispiel zur Anwendung aus dem Alltag====&lt;br /&gt;
Peter trinkt Tee nur mit Zirtonensaft und Zucker. Dann stimmen die Aussagen: &lt;br /&gt;
&amp;quot;Wenn Zitronensaft und Zucker im Tee sind, wird Peter ihn trinken &amp;quot; und &lt;br /&gt;
&amp;quot;Sind weder Zitronensaft noch Zucker im Tee, so trinkt Peter ihn nicht&amp;quot; überein.&lt;br /&gt;
&lt;br /&gt;
===Komplementärgesetze===&lt;br /&gt;
(9) ''A'' &amp;amp;and; &amp;amp;not;''A'' &amp;amp;equiv; ''false''&lt;br /&gt;
&lt;br /&gt;
(9') ''A'' &amp;amp;or; &amp;amp;not;''A'' &amp;amp;equiv; ''true''&lt;br /&gt;
&lt;br /&gt;
====Erläuterung und Beispiel====&lt;br /&gt;
&lt;br /&gt;
Es können nicht gleichzeitig '''A''' und die Negation von '''A''' gelten: Beispielsweise kann der Himmel nicht gleichzeitig blau und nicht-blau sein.&lt;br /&gt;
Allerdings ist der Himmel entweder blau oder nicht-blau gefärbt. Dieses Beispiel illustriert das Gesetz (9').&lt;br /&gt;
&lt;br /&gt;
===Dualitätsgesetze===&lt;br /&gt;
(10) &amp;amp;not;false &amp;amp;equiv; true&lt;br /&gt;
&lt;br /&gt;
(10') &amp;amp;not;true &amp;amp;equiv; false&lt;br /&gt;
&lt;br /&gt;
====Erläuterung====&lt;br /&gt;
&lt;br /&gt;
Der Wert '''true''' ist das Komplement zu '''false'''. Ist eine Aussage nicht-wahr, so ist sie falsch. Umgekehrt gilt für eine nicht-falsche Aussage, dass sie wahr sein muss.&lt;/div&gt;</summary>
		<author><name>Solveig</name></author>	</entry>

	<entry>
		<id>https://ls14-eini.cs.tu-dortmund.de/index.php?title=Boolesche_Algebra&amp;diff=1746</id>
		<title>Boolesche Algebra</title>
		<link rel="alternate" type="text/html" href="https://ls14-eini.cs.tu-dortmund.de/index.php?title=Boolesche_Algebra&amp;diff=1746"/>
				<updated>2016-08-17T11:17:49Z</updated>
		
		<summary type="html">&lt;p&gt;Solveig: /* Komplementärgesetze */ Erläuterung ergänzt&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Die '''boolesche Algebra''' ist eine algebraische Struktur und beschreibt die Operationen '''UND''', '''ODER''' und '''NICHT''', die auf logische Aussagen angewendet werden können.&lt;br /&gt;
&lt;br /&gt;
==Die booleschen Operatoren==&lt;br /&gt;
&lt;br /&gt;
===Konjunktion (AND)===&lt;br /&gt;
&lt;br /&gt;
Die '''Konjunktion''' ist eine der grundlegenden logischen Verknüpfungen der Aussagenlogik. Die Konjunktion zweier Aussagen ''A'' und ''B'' ist genau dann wahr, wenn ''A'' '''und''' ''B'' (sowohl als auch) wahr sind. Das mathematische Symbol ist '''&amp;amp;and;'''. In [[Java]] wird das '''AND''' durch '''&amp;amp;&amp;amp;''' repräsentiert.&lt;br /&gt;
[[Datei:venn_and.png|right]]&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! B !! A &amp;amp;and; B&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''false'' || ''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true'' || ''false''&lt;br /&gt;
|- &lt;br /&gt;
| ''true'' || ''false'' ||''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' ||''true'' || ''true''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Disjunktion (OR)===&lt;br /&gt;
&lt;br /&gt;
Die '''Disjunktion''' ist eine der grundlegenden logischen Verknüpfungen der Aussagenlogik. Die Disjunktion zweier Aussagen ''A'' und ''B'' ist genau dann wahr, wenn mindestens eine der Aussagen ''A'' '''oder''' ''B'' wahr ist. Das mathematische Symbol ist '''&amp;amp;or;'''. In [[Java]] wird das '''OR''' durch '''||''' repräsentiert.&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! B !! A &amp;amp;or; B&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''false'' || ''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true'' || ''true''&lt;br /&gt;
|- &lt;br /&gt;
| ''true'' || ''false'' ||''true''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' ||''true'' || ''true''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''Venn-Diagramm?''&lt;br /&gt;
&lt;br /&gt;
===Negation (NOT)===&lt;br /&gt;
&lt;br /&gt;
Die '''Negation''' ist eine wichtige Operation in der Aussagenlogik. Die Negation einer Aussage ''A'' führt zur ihrer Verneinung. Das heißt aus einer wahren Aussage wird eine falsche Aussage und umgekehrt. Das mathematische Symbol ist '''&amp;amp;not;'''. In [[Java]] wird das '''NOT''' durch '''!''' repräsentiert.&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! &amp;amp;not;A&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' || ''false''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Kontravalenz (XOR)===&lt;br /&gt;
&lt;br /&gt;
Die '''Kontravalenz''' ist eine erweiterte logische Verknüpfung in der Aussagenlogik. Die Kontravalenz zweier Aussagen ''A'' und ''B'' ist genau dann wahr, wenn '''entweder''' ''A'' '''oder''' ''B'', aber nicht beide wahr sind. Das mathematische Symbol ist '''⊕'''. In [[Java]] wird das '''XOR''' durch '''^''' repräsentiert.&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! B !! A ⊕ B&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''false'' || ''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true'' || ''true''&lt;br /&gt;
|- &lt;br /&gt;
| ''true'' || ''false'' ||''true''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' ||''true'' || ''false''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''Venn-Diagramm?''&lt;br /&gt;
&lt;br /&gt;
===Implikation===&lt;br /&gt;
&lt;br /&gt;
Die '''Implikation''' ist eine erweiterte logische Verknüpfung in der Aussagenlogik. Die Implikation zweier Aussagen ''A'' und ''B'' ist genau dann wahr, wenn ''A'' falsch oder ''B'' wahr ist. Das mathematische Symbol ist '''&amp;amp;rArr;'''. Die Implikation ist semantisch äquivalent zu &amp;amp;not;A &amp;amp;or; B. In [[Java]] gibt es keinen Implikationsoperator. &lt;br /&gt;
&lt;br /&gt;
Eine Implikation wird im Deutschen meistens durch &amp;quot;'''wenn''' ''A'', '''dann''' ''B''&amp;quot; ausgedrückt. Es handelt sich hierbei um eine einfache Folgerung. Aus einer falschen Ausgangsaussage '''A''' lässt sich alles folgern, daher kann die Gesamtaussage nicht falsch werden. &lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! B !! A &amp;amp;rArr; B&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''false'' || ''true''&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true'' || ''true''&lt;br /&gt;
|- &lt;br /&gt;
| ''true'' || ''false'' ||''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' ||''true'' || ''true''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''Venn-Diagramm?''&lt;br /&gt;
&lt;br /&gt;
===Äquivalenz (XNOR)===&lt;br /&gt;
&lt;br /&gt;
Die '''Äquivalenz''' ist eine erweiterte logische Verknüpfung in der Aussagenlogik. Die Äquivalenz zweier Aussagen ''A'' und ''B'' ist genau dann wahr, wenn ''A'' und ''B'' wahr oder ''A'' und ''B'' falsch sind. Das mathematische Symbol ist '''&amp;amp;hArr;'''. Die Äquivalenz ist semantisch äquivalent zu A &amp;amp;and; B &amp;amp;or; &amp;amp;not;A &amp;amp;and; &amp;amp;not;B. In [[Java]] gibt es keinen Operator hierfür. &lt;br /&gt;
&lt;br /&gt;
Die Äquivalenz wird im Deutschen meistens durch &amp;quot;'''genau dann''' ''A'', '''wenn''' ''B''&amp;quot; ausgedrückt. &amp;quot;Genau&amp;quot; heißt immer und nur unter dieser Bedingung. '''A''' gilt genau dann, wenn '''B''' gilt. '''A''' und '''B''' sind äquivalent, also austauschbar. Das heißt die vorherige Aussage gilt auch anders herum: '''B''' gilt genau dann, wenn '''A''' gilt.&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! B !! A &amp;amp;hArr; B&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''false'' || ''true''&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true'' || ''false''&lt;br /&gt;
|- &lt;br /&gt;
| ''true'' || ''false'' ||''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' ||''true'' || ''true''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''Venn-Diagramm?''&lt;br /&gt;
&lt;br /&gt;
==Peano-Axiome (erweitertes Wissen)==&lt;br /&gt;
&lt;br /&gt;
===Kommutativgesetze===&lt;br /&gt;
&lt;br /&gt;
(1) ''A'' &amp;amp;and; ''B'' &amp;amp;equiv; ''B'' &amp;amp;and; ''A''&lt;br /&gt;
&lt;br /&gt;
(1') ''A'' &amp;amp;or; ''B'' &amp;amp;equiv; ''B'' &amp;amp;or; ''A''&lt;br /&gt;
&lt;br /&gt;
====Erläuterung====&lt;br /&gt;
&lt;br /&gt;
Vertauschen der Argumente '''A''' und '''B''', ohne dass sich das Ergebnis der Operation ändert.&lt;br /&gt;
&lt;br /&gt;
===Assoziativgesetze===&lt;br /&gt;
&lt;br /&gt;
(2) (''A'' &amp;amp;and; ''B'') &amp;amp;and; ''C'' &amp;amp;equiv; ''A'' &amp;amp;and; (''B'' &amp;amp;and; ''C'')&lt;br /&gt;
&lt;br /&gt;
(2') (''A'' &amp;amp;or; ''B'') &amp;amp;or; ''C'' &amp;amp;equiv; ''A'' &amp;amp;or; (''B'' &amp;amp;or; ''C'')&lt;br /&gt;
&lt;br /&gt;
====Erläuterung====&lt;br /&gt;
Die Klammerung der oben durchgeführten Operationen hat keinen Einfluss auf das Ergebnis.&lt;br /&gt;
&lt;br /&gt;
===Idempotenzgesetze===&lt;br /&gt;
&lt;br /&gt;
(3) ''A'' &amp;amp;and; ''A'' &amp;amp;equiv; ''A''&lt;br /&gt;
&lt;br /&gt;
(3') ''A'' &amp;amp;or; ''A'' &amp;amp;equiv; ''A''&lt;br /&gt;
&lt;br /&gt;
====Erläuterung====&lt;br /&gt;
&lt;br /&gt;
Die Eigenschaften des Arguments '''A''' bleiben, auch wenn dieses mit sich selbst verknüft wird, bestehen.&lt;br /&gt;
&lt;br /&gt;
===Distributivgesetze===&lt;br /&gt;
(4) ''A'' &amp;amp;and; (''B'' &amp;amp;or; ''C'') &amp;amp;equiv; (''A'' &amp;amp;and; ''B'') &amp;amp;or; (''A'' &amp;amp;and; ''C'')&lt;br /&gt;
&lt;br /&gt;
(4') ''A'' &amp;amp;or; (''B'' &amp;amp;and; ''C'') &amp;amp;equiv; (''A'' &amp;amp;or; ''B'') &amp;amp;and; (''A'' &amp;amp;or; ''C'')&lt;br /&gt;
&lt;br /&gt;
====Erläuterung====&lt;br /&gt;
&lt;br /&gt;
Auswirkung des Aufösens von Klammern um Verknüfungen von Operationen: ähnlich dem &amp;quot;Ausmultiplizieren&amp;quot; in der Schulmathematik.&lt;br /&gt;
&lt;br /&gt;
===Neutralitätsgesetze===&lt;br /&gt;
&lt;br /&gt;
(5) ''A'' &amp;amp;and; ''true'' &amp;amp;equiv; ''A''&lt;br /&gt;
&lt;br /&gt;
(5') ''A'' &amp;amp;or; ''false'' &amp;amp;equiv; ''A''&lt;br /&gt;
&lt;br /&gt;
====Erläuterung====&lt;br /&gt;
&lt;br /&gt;
Der Wert des Argument '''A''' wird durch die oben ausgeführten Operationen nicht verändert.&lt;br /&gt;
&lt;br /&gt;
===Extremalgesetze===&lt;br /&gt;
&lt;br /&gt;
(6) ''A'' &amp;amp;and; ''false'' &amp;amp;equiv; ''false''&lt;br /&gt;
&lt;br /&gt;
(6') ''A'' &amp;amp;or; ''true'' &amp;amp;equiv; ''true''&lt;br /&gt;
&lt;br /&gt;
====Erläuterung====&lt;br /&gt;
&lt;br /&gt;
Das Ergebnis der oben beschriebenen Operationen ist unabhängig vom Wert des Arguments '''A'''.&lt;br /&gt;
&lt;br /&gt;
===Doppelnegationsgesetz===&lt;br /&gt;
&lt;br /&gt;
(7) &amp;amp;not;(&amp;amp;not;''A'') &amp;amp;equiv; ''A''&lt;br /&gt;
&lt;br /&gt;
====Erläuterung====&lt;br /&gt;
&amp;quot;Doppelte Verneinung&amp;quot;: der Wert von '''A''' wird durch zweimaliges Ausführen des &amp;amp;not; -Operators nicht beeinflusst.&lt;br /&gt;
&lt;br /&gt;
===De Morgansche Gesetze===&lt;br /&gt;
(8) &amp;amp;not;(''A'' &amp;amp;and; ''B'') &amp;amp;equiv; &amp;amp;not;''A'' &amp;amp;or; &amp;amp;not;''B''&lt;br /&gt;
&lt;br /&gt;
(8') &amp;amp;not;(''A'' &amp;amp;or; ''B'') &amp;amp;equiv; &amp;amp;not;''A'' &amp;amp;and; &amp;amp;not;''B''&lt;br /&gt;
&lt;br /&gt;
====Ein Beispiel zur Anwendung aus dem Alltag====&lt;br /&gt;
Peter trinkt Tee nur mit Zirtonensaft und Zucker. Dann stimmen die Aussagen: &lt;br /&gt;
&amp;quot;Wenn Zitronensaft und Zucker im Tee sind, wird Peter ihn trinken &amp;quot; und &lt;br /&gt;
&amp;quot;Sind weder Zitronensaft noch Zucker im Tee, so trinkt Peter ihn nicht&amp;quot; überein.&lt;br /&gt;
&lt;br /&gt;
===Komplementärgesetze===&lt;br /&gt;
(9) ''A'' &amp;amp;and; &amp;amp;not;''A'' &amp;amp;equiv; ''false''&lt;br /&gt;
&lt;br /&gt;
(9') ''A'' &amp;amp;or; &amp;amp;not;''A'' &amp;amp;equiv; ''true''&lt;br /&gt;
&lt;br /&gt;
====Erläuterung und Beispiel====&lt;br /&gt;
&lt;br /&gt;
Es können nicht gleichzeitig '''A''' und die Negation von '''A''' gelten: Beispielsweise kann der Himmel nicht gleichzeitig blau und nicht-blau sein.&lt;br /&gt;
Allerdings ist der Himmel entweder blau oder nicht-blau gefärbt. Dieses Beispiel illustriert das Gesetz (9').&lt;br /&gt;
&lt;br /&gt;
===Dualitätsgesetze===&lt;br /&gt;
(10) &amp;amp;not;0 &amp;amp;equiv; 1&lt;br /&gt;
&lt;br /&gt;
(10') &amp;amp;not;1 &amp;amp;equiv; 0&lt;/div&gt;</summary>
		<author><name>Solveig</name></author>	</entry>

	<entry>
		<id>https://ls14-eini.cs.tu-dortmund.de/index.php?title=Boolesche_Algebra&amp;diff=1745</id>
		<title>Boolesche Algebra</title>
		<link rel="alternate" type="text/html" href="https://ls14-eini.cs.tu-dortmund.de/index.php?title=Boolesche_Algebra&amp;diff=1745"/>
				<updated>2016-08-17T11:13:19Z</updated>
		
		<summary type="html">&lt;p&gt;Solveig: /* Ein Beispiel zur Anwendung aus dem Alltag */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Die '''boolesche Algebra''' ist eine algebraische Struktur und beschreibt die Operationen '''UND''', '''ODER''' und '''NICHT''', die auf logische Aussagen angewendet werden können.&lt;br /&gt;
&lt;br /&gt;
==Die booleschen Operatoren==&lt;br /&gt;
&lt;br /&gt;
===Konjunktion (AND)===&lt;br /&gt;
&lt;br /&gt;
Die '''Konjunktion''' ist eine der grundlegenden logischen Verknüpfungen der Aussagenlogik. Die Konjunktion zweier Aussagen ''A'' und ''B'' ist genau dann wahr, wenn ''A'' '''und''' ''B'' (sowohl als auch) wahr sind. Das mathematische Symbol ist '''&amp;amp;and;'''. In [[Java]] wird das '''AND''' durch '''&amp;amp;&amp;amp;''' repräsentiert.&lt;br /&gt;
[[Datei:venn_and.png|right]]&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! B !! A &amp;amp;and; B&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''false'' || ''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true'' || ''false''&lt;br /&gt;
|- &lt;br /&gt;
| ''true'' || ''false'' ||''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' ||''true'' || ''true''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Disjunktion (OR)===&lt;br /&gt;
&lt;br /&gt;
Die '''Disjunktion''' ist eine der grundlegenden logischen Verknüpfungen der Aussagenlogik. Die Disjunktion zweier Aussagen ''A'' und ''B'' ist genau dann wahr, wenn mindestens eine der Aussagen ''A'' '''oder''' ''B'' wahr ist. Das mathematische Symbol ist '''&amp;amp;or;'''. In [[Java]] wird das '''OR''' durch '''||''' repräsentiert.&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! B !! A &amp;amp;or; B&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''false'' || ''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true'' || ''true''&lt;br /&gt;
|- &lt;br /&gt;
| ''true'' || ''false'' ||''true''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' ||''true'' || ''true''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''Venn-Diagramm?''&lt;br /&gt;
&lt;br /&gt;
===Negation (NOT)===&lt;br /&gt;
&lt;br /&gt;
Die '''Negation''' ist eine wichtige Operation in der Aussagenlogik. Die Negation einer Aussage ''A'' führt zur ihrer Verneinung. Das heißt aus einer wahren Aussage wird eine falsche Aussage und umgekehrt. Das mathematische Symbol ist '''&amp;amp;not;'''. In [[Java]] wird das '''NOT''' durch '''!''' repräsentiert.&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! &amp;amp;not;A&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' || ''false''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Kontravalenz (XOR)===&lt;br /&gt;
&lt;br /&gt;
Die '''Kontravalenz''' ist eine erweiterte logische Verknüpfung in der Aussagenlogik. Die Kontravalenz zweier Aussagen ''A'' und ''B'' ist genau dann wahr, wenn '''entweder''' ''A'' '''oder''' ''B'', aber nicht beide wahr sind. Das mathematische Symbol ist '''⊕'''. In [[Java]] wird das '''XOR''' durch '''^''' repräsentiert.&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! B !! A ⊕ B&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''false'' || ''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true'' || ''true''&lt;br /&gt;
|- &lt;br /&gt;
| ''true'' || ''false'' ||''true''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' ||''true'' || ''false''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''Venn-Diagramm?''&lt;br /&gt;
&lt;br /&gt;
===Implikation===&lt;br /&gt;
&lt;br /&gt;
Die '''Implikation''' ist eine erweiterte logische Verknüpfung in der Aussagenlogik. Die Implikation zweier Aussagen ''A'' und ''B'' ist genau dann wahr, wenn ''A'' falsch oder ''B'' wahr ist. Das mathematische Symbol ist '''&amp;amp;rArr;'''. Die Implikation ist semantisch äquivalent zu &amp;amp;not;A &amp;amp;or; B. In [[Java]] gibt es keinen Implikationsoperator. &lt;br /&gt;
&lt;br /&gt;
Eine Implikation wird im Deutschen meistens durch &amp;quot;'''wenn''' ''A'', '''dann''' ''B''&amp;quot; ausgedrückt. Es handelt sich hierbei um eine einfache Folgerung. Aus einer falschen Ausgangsaussage '''A''' lässt sich alles folgern, daher kann die Gesamtaussage nicht falsch werden. &lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! B !! A &amp;amp;rArr; B&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''false'' || ''true''&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true'' || ''true''&lt;br /&gt;
|- &lt;br /&gt;
| ''true'' || ''false'' ||''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' ||''true'' || ''true''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''Venn-Diagramm?''&lt;br /&gt;
&lt;br /&gt;
===Äquivalenz (XNOR)===&lt;br /&gt;
&lt;br /&gt;
Die '''Äquivalenz''' ist eine erweiterte logische Verknüpfung in der Aussagenlogik. Die Äquivalenz zweier Aussagen ''A'' und ''B'' ist genau dann wahr, wenn ''A'' und ''B'' wahr oder ''A'' und ''B'' falsch sind. Das mathematische Symbol ist '''&amp;amp;hArr;'''. Die Äquivalenz ist semantisch äquivalent zu A &amp;amp;and; B &amp;amp;or; &amp;amp;not;A &amp;amp;and; &amp;amp;not;B. In [[Java]] gibt es keinen Operator hierfür. &lt;br /&gt;
&lt;br /&gt;
Die Äquivalenz wird im Deutschen meistens durch &amp;quot;'''genau dann''' ''A'', '''wenn''' ''B''&amp;quot; ausgedrückt. &amp;quot;Genau&amp;quot; heißt immer und nur unter dieser Bedingung. '''A''' gilt genau dann, wenn '''B''' gilt. '''A''' und '''B''' sind äquivalent, also austauschbar. Das heißt die vorherige Aussage gilt auch anders herum: '''B''' gilt genau dann, wenn '''A''' gilt.&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! B !! A &amp;amp;hArr; B&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''false'' || ''true''&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true'' || ''false''&lt;br /&gt;
|- &lt;br /&gt;
| ''true'' || ''false'' ||''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' ||''true'' || ''true''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''Venn-Diagramm?''&lt;br /&gt;
&lt;br /&gt;
==Peano-Axiome (erweitertes Wissen)==&lt;br /&gt;
&lt;br /&gt;
===Kommutativgesetze===&lt;br /&gt;
&lt;br /&gt;
(1) ''A'' &amp;amp;and; ''B'' &amp;amp;equiv; ''B'' &amp;amp;and; ''A''&lt;br /&gt;
&lt;br /&gt;
(1') ''A'' &amp;amp;or; ''B'' &amp;amp;equiv; ''B'' &amp;amp;or; ''A''&lt;br /&gt;
&lt;br /&gt;
====Erläuterung====&lt;br /&gt;
&lt;br /&gt;
Vertauschen der Argumente '''A''' und '''B''', ohne dass sich das Ergebnis der Operation ändert.&lt;br /&gt;
&lt;br /&gt;
===Assoziativgesetze===&lt;br /&gt;
&lt;br /&gt;
(2) (''A'' &amp;amp;and; ''B'') &amp;amp;and; ''C'' &amp;amp;equiv; ''A'' &amp;amp;and; (''B'' &amp;amp;and; ''C'')&lt;br /&gt;
&lt;br /&gt;
(2') (''A'' &amp;amp;or; ''B'') &amp;amp;or; ''C'' &amp;amp;equiv; ''A'' &amp;amp;or; (''B'' &amp;amp;or; ''C'')&lt;br /&gt;
&lt;br /&gt;
====Erläuterung====&lt;br /&gt;
Die Klammerung der oben durchgeführten Operationen hat keinen Einfluss auf das Ergebnis.&lt;br /&gt;
&lt;br /&gt;
===Idempotenzgesetze===&lt;br /&gt;
&lt;br /&gt;
(3) ''A'' &amp;amp;and; ''A'' &amp;amp;equiv; ''A''&lt;br /&gt;
&lt;br /&gt;
(3') ''A'' &amp;amp;or; ''A'' &amp;amp;equiv; ''A''&lt;br /&gt;
&lt;br /&gt;
====Erläuterung====&lt;br /&gt;
&lt;br /&gt;
Die Eigenschaften des Arguments '''A''' bleiben, auch wenn dieses mit sich selbst verknüft wird, bestehen.&lt;br /&gt;
&lt;br /&gt;
===Distributivgesetze===&lt;br /&gt;
(4) ''A'' &amp;amp;and; (''B'' &amp;amp;or; ''C'') &amp;amp;equiv; (''A'' &amp;amp;and; ''B'') &amp;amp;or; (''A'' &amp;amp;and; ''C'')&lt;br /&gt;
&lt;br /&gt;
(4') ''A'' &amp;amp;or; (''B'' &amp;amp;and; ''C'') &amp;amp;equiv; (''A'' &amp;amp;or; ''B'') &amp;amp;and; (''A'' &amp;amp;or; ''C'')&lt;br /&gt;
&lt;br /&gt;
====Erläuterung====&lt;br /&gt;
&lt;br /&gt;
Auswirkung des Aufösens von Klammern um Verknüfungen von Operationen: ähnlich dem &amp;quot;Ausmultiplizieren&amp;quot; in der Schulmathematik.&lt;br /&gt;
&lt;br /&gt;
===Neutralitätsgesetze===&lt;br /&gt;
&lt;br /&gt;
(5) ''A'' &amp;amp;and; ''true'' &amp;amp;equiv; ''A''&lt;br /&gt;
&lt;br /&gt;
(5') ''A'' &amp;amp;or; ''false'' &amp;amp;equiv; ''A''&lt;br /&gt;
&lt;br /&gt;
====Erläuterung====&lt;br /&gt;
&lt;br /&gt;
Der Wert des Argument '''A''' wird durch die oben ausgeführten Operationen nicht verändert.&lt;br /&gt;
&lt;br /&gt;
===Extremalgesetze===&lt;br /&gt;
&lt;br /&gt;
(6) ''A'' &amp;amp;and; ''false'' &amp;amp;equiv; ''false''&lt;br /&gt;
&lt;br /&gt;
(6') ''A'' &amp;amp;or; ''true'' &amp;amp;equiv; ''true''&lt;br /&gt;
&lt;br /&gt;
====Erläuterung====&lt;br /&gt;
&lt;br /&gt;
Das Ergebnis der oben beschriebenen Operationen ist unabhängig vom Wert des Arguments '''A'''.&lt;br /&gt;
&lt;br /&gt;
===Doppelnegationsgesetz===&lt;br /&gt;
&lt;br /&gt;
(7) &amp;amp;not;(&amp;amp;not;''A'') &amp;amp;equiv; ''A''&lt;br /&gt;
&lt;br /&gt;
====Erläuterung====&lt;br /&gt;
&amp;quot;Doppelte Verneinung&amp;quot;: der Wert von '''A''' wird durch zweimaliges Ausführen des &amp;amp;not; -Operators nicht beeinflusst.&lt;br /&gt;
&lt;br /&gt;
===De Morgansche Gesetze===&lt;br /&gt;
(8) &amp;amp;not;(''A'' &amp;amp;and; ''B'') &amp;amp;equiv; &amp;amp;not;''A'' &amp;amp;or; &amp;amp;not;''B''&lt;br /&gt;
&lt;br /&gt;
(8') &amp;amp;not;(''A'' &amp;amp;or; ''B'') &amp;amp;equiv; &amp;amp;not;''A'' &amp;amp;and; &amp;amp;not;''B''&lt;br /&gt;
&lt;br /&gt;
====Ein Beispiel zur Anwendung aus dem Alltag====&lt;br /&gt;
Peter trinkt Tee nur mit Zirtonensaft und Zucker. Dann stimmen die Aussagen: &lt;br /&gt;
&amp;quot;Wenn Zitronensaft und Zucker im Tee sind, wird Peter ihn trinken &amp;quot; und &lt;br /&gt;
&amp;quot;Sind weder Zitronensaft noch Zucker im Tee, so trinkt Peter ihn nicht&amp;quot; überein.&lt;br /&gt;
&lt;br /&gt;
===Komplementärgesetze===&lt;br /&gt;
(9) ''A'' &amp;amp;and; &amp;amp;not;''A'' &amp;amp;equiv; ''false''&lt;br /&gt;
&lt;br /&gt;
(9') ''A'' &amp;amp;or; &amp;amp;not;''A'' &amp;amp;equiv; ''true''&lt;br /&gt;
&lt;br /&gt;
===Dualitätsgesetze===&lt;br /&gt;
(10) &amp;amp;not;0 &amp;amp;equiv; 1&lt;br /&gt;
&lt;br /&gt;
(10') &amp;amp;not;1 &amp;amp;equiv; 0&lt;/div&gt;</summary>
		<author><name>Solveig</name></author>	</entry>

	<entry>
		<id>https://ls14-eini.cs.tu-dortmund.de/index.php?title=Boolesche_Algebra&amp;diff=1744</id>
		<title>Boolesche Algebra</title>
		<link rel="alternate" type="text/html" href="https://ls14-eini.cs.tu-dortmund.de/index.php?title=Boolesche_Algebra&amp;diff=1744"/>
				<updated>2016-08-17T11:13:00Z</updated>
		
		<summary type="html">&lt;p&gt;Solveig: /* Ein Beispiel aus dem Alltag zur Anwendung */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Die '''boolesche Algebra''' ist eine algebraische Struktur und beschreibt die Operationen '''UND''', '''ODER''' und '''NICHT''', die auf logische Aussagen angewendet werden können.&lt;br /&gt;
&lt;br /&gt;
==Die booleschen Operatoren==&lt;br /&gt;
&lt;br /&gt;
===Konjunktion (AND)===&lt;br /&gt;
&lt;br /&gt;
Die '''Konjunktion''' ist eine der grundlegenden logischen Verknüpfungen der Aussagenlogik. Die Konjunktion zweier Aussagen ''A'' und ''B'' ist genau dann wahr, wenn ''A'' '''und''' ''B'' (sowohl als auch) wahr sind. Das mathematische Symbol ist '''&amp;amp;and;'''. In [[Java]] wird das '''AND''' durch '''&amp;amp;&amp;amp;''' repräsentiert.&lt;br /&gt;
[[Datei:venn_and.png|right]]&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! B !! A &amp;amp;and; B&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''false'' || ''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true'' || ''false''&lt;br /&gt;
|- &lt;br /&gt;
| ''true'' || ''false'' ||''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' ||''true'' || ''true''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Disjunktion (OR)===&lt;br /&gt;
&lt;br /&gt;
Die '''Disjunktion''' ist eine der grundlegenden logischen Verknüpfungen der Aussagenlogik. Die Disjunktion zweier Aussagen ''A'' und ''B'' ist genau dann wahr, wenn mindestens eine der Aussagen ''A'' '''oder''' ''B'' wahr ist. Das mathematische Symbol ist '''&amp;amp;or;'''. In [[Java]] wird das '''OR''' durch '''||''' repräsentiert.&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! B !! A &amp;amp;or; B&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''false'' || ''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true'' || ''true''&lt;br /&gt;
|- &lt;br /&gt;
| ''true'' || ''false'' ||''true''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' ||''true'' || ''true''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''Venn-Diagramm?''&lt;br /&gt;
&lt;br /&gt;
===Negation (NOT)===&lt;br /&gt;
&lt;br /&gt;
Die '''Negation''' ist eine wichtige Operation in der Aussagenlogik. Die Negation einer Aussage ''A'' führt zur ihrer Verneinung. Das heißt aus einer wahren Aussage wird eine falsche Aussage und umgekehrt. Das mathematische Symbol ist '''&amp;amp;not;'''. In [[Java]] wird das '''NOT''' durch '''!''' repräsentiert.&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! &amp;amp;not;A&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' || ''false''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Kontravalenz (XOR)===&lt;br /&gt;
&lt;br /&gt;
Die '''Kontravalenz''' ist eine erweiterte logische Verknüpfung in der Aussagenlogik. Die Kontravalenz zweier Aussagen ''A'' und ''B'' ist genau dann wahr, wenn '''entweder''' ''A'' '''oder''' ''B'', aber nicht beide wahr sind. Das mathematische Symbol ist '''⊕'''. In [[Java]] wird das '''XOR''' durch '''^''' repräsentiert.&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! B !! A ⊕ B&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''false'' || ''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true'' || ''true''&lt;br /&gt;
|- &lt;br /&gt;
| ''true'' || ''false'' ||''true''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' ||''true'' || ''false''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''Venn-Diagramm?''&lt;br /&gt;
&lt;br /&gt;
===Implikation===&lt;br /&gt;
&lt;br /&gt;
Die '''Implikation''' ist eine erweiterte logische Verknüpfung in der Aussagenlogik. Die Implikation zweier Aussagen ''A'' und ''B'' ist genau dann wahr, wenn ''A'' falsch oder ''B'' wahr ist. Das mathematische Symbol ist '''&amp;amp;rArr;'''. Die Implikation ist semantisch äquivalent zu &amp;amp;not;A &amp;amp;or; B. In [[Java]] gibt es keinen Implikationsoperator. &lt;br /&gt;
&lt;br /&gt;
Eine Implikation wird im Deutschen meistens durch &amp;quot;'''wenn''' ''A'', '''dann''' ''B''&amp;quot; ausgedrückt. Es handelt sich hierbei um eine einfache Folgerung. Aus einer falschen Ausgangsaussage '''A''' lässt sich alles folgern, daher kann die Gesamtaussage nicht falsch werden. &lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! B !! A &amp;amp;rArr; B&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''false'' || ''true''&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true'' || ''true''&lt;br /&gt;
|- &lt;br /&gt;
| ''true'' || ''false'' ||''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' ||''true'' || ''true''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''Venn-Diagramm?''&lt;br /&gt;
&lt;br /&gt;
===Äquivalenz (XNOR)===&lt;br /&gt;
&lt;br /&gt;
Die '''Äquivalenz''' ist eine erweiterte logische Verknüpfung in der Aussagenlogik. Die Äquivalenz zweier Aussagen ''A'' und ''B'' ist genau dann wahr, wenn ''A'' und ''B'' wahr oder ''A'' und ''B'' falsch sind. Das mathematische Symbol ist '''&amp;amp;hArr;'''. Die Äquivalenz ist semantisch äquivalent zu A &amp;amp;and; B &amp;amp;or; &amp;amp;not;A &amp;amp;and; &amp;amp;not;B. In [[Java]] gibt es keinen Operator hierfür. &lt;br /&gt;
&lt;br /&gt;
Die Äquivalenz wird im Deutschen meistens durch &amp;quot;'''genau dann''' ''A'', '''wenn''' ''B''&amp;quot; ausgedrückt. &amp;quot;Genau&amp;quot; heißt immer und nur unter dieser Bedingung. '''A''' gilt genau dann, wenn '''B''' gilt. '''A''' und '''B''' sind äquivalent, also austauschbar. Das heißt die vorherige Aussage gilt auch anders herum: '''B''' gilt genau dann, wenn '''A''' gilt.&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! B !! A &amp;amp;hArr; B&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''false'' || ''true''&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true'' || ''false''&lt;br /&gt;
|- &lt;br /&gt;
| ''true'' || ''false'' ||''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' ||''true'' || ''true''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''Venn-Diagramm?''&lt;br /&gt;
&lt;br /&gt;
==Peano-Axiome (erweitertes Wissen)==&lt;br /&gt;
&lt;br /&gt;
===Kommutativgesetze===&lt;br /&gt;
&lt;br /&gt;
(1) ''A'' &amp;amp;and; ''B'' &amp;amp;equiv; ''B'' &amp;amp;and; ''A''&lt;br /&gt;
&lt;br /&gt;
(1') ''A'' &amp;amp;or; ''B'' &amp;amp;equiv; ''B'' &amp;amp;or; ''A''&lt;br /&gt;
&lt;br /&gt;
====Erläuterung====&lt;br /&gt;
&lt;br /&gt;
Vertauschen der Argumente '''A''' und '''B''', ohne dass sich das Ergebnis der Operation ändert.&lt;br /&gt;
&lt;br /&gt;
===Assoziativgesetze===&lt;br /&gt;
&lt;br /&gt;
(2) (''A'' &amp;amp;and; ''B'') &amp;amp;and; ''C'' &amp;amp;equiv; ''A'' &amp;amp;and; (''B'' &amp;amp;and; ''C'')&lt;br /&gt;
&lt;br /&gt;
(2') (''A'' &amp;amp;or; ''B'') &amp;amp;or; ''C'' &amp;amp;equiv; ''A'' &amp;amp;or; (''B'' &amp;amp;or; ''C'')&lt;br /&gt;
&lt;br /&gt;
====Erläuterung====&lt;br /&gt;
Die Klammerung der oben durchgeführten Operationen hat keinen Einfluss auf das Ergebnis.&lt;br /&gt;
&lt;br /&gt;
===Idempotenzgesetze===&lt;br /&gt;
&lt;br /&gt;
(3) ''A'' &amp;amp;and; ''A'' &amp;amp;equiv; ''A''&lt;br /&gt;
&lt;br /&gt;
(3') ''A'' &amp;amp;or; ''A'' &amp;amp;equiv; ''A''&lt;br /&gt;
&lt;br /&gt;
====Erläuterung====&lt;br /&gt;
&lt;br /&gt;
Die Eigenschaften des Arguments '''A''' bleiben, auch wenn dieses mit sich selbst verknüft wird, bestehen.&lt;br /&gt;
&lt;br /&gt;
===Distributivgesetze===&lt;br /&gt;
(4) ''A'' &amp;amp;and; (''B'' &amp;amp;or; ''C'') &amp;amp;equiv; (''A'' &amp;amp;and; ''B'') &amp;amp;or; (''A'' &amp;amp;and; ''C'')&lt;br /&gt;
&lt;br /&gt;
(4') ''A'' &amp;amp;or; (''B'' &amp;amp;and; ''C'') &amp;amp;equiv; (''A'' &amp;amp;or; ''B'') &amp;amp;and; (''A'' &amp;amp;or; ''C'')&lt;br /&gt;
&lt;br /&gt;
====Erläuterung====&lt;br /&gt;
&lt;br /&gt;
Auswirkung des Aufösens von Klammern um Verknüfungen von Operationen: ähnlich dem &amp;quot;Ausmultiplizieren&amp;quot; in der Schulmathematik.&lt;br /&gt;
&lt;br /&gt;
===Neutralitätsgesetze===&lt;br /&gt;
&lt;br /&gt;
(5) ''A'' &amp;amp;and; ''true'' &amp;amp;equiv; ''A''&lt;br /&gt;
&lt;br /&gt;
(5') ''A'' &amp;amp;or; ''false'' &amp;amp;equiv; ''A''&lt;br /&gt;
&lt;br /&gt;
====Erläuterung====&lt;br /&gt;
&lt;br /&gt;
Der Wert des Argument '''A''' wird durch die oben ausgeführten Operationen nicht verändert.&lt;br /&gt;
&lt;br /&gt;
===Extremalgesetze===&lt;br /&gt;
&lt;br /&gt;
(6) ''A'' &amp;amp;and; ''false'' &amp;amp;equiv; ''false''&lt;br /&gt;
&lt;br /&gt;
(6') ''A'' &amp;amp;or; ''true'' &amp;amp;equiv; ''true''&lt;br /&gt;
&lt;br /&gt;
====Erläuterung====&lt;br /&gt;
&lt;br /&gt;
Das Ergebnis der oben beschriebenen Operationen ist unabhängig vom Wert des Arguments '''A'''.&lt;br /&gt;
&lt;br /&gt;
===Doppelnegationsgesetz===&lt;br /&gt;
&lt;br /&gt;
(7) &amp;amp;not;(&amp;amp;not;''A'') &amp;amp;equiv; ''A''&lt;br /&gt;
&lt;br /&gt;
====Erläuterung====&lt;br /&gt;
&amp;quot;Doppelte Verneinung&amp;quot;: der Wert von '''A''' wird durch zweimaliges Ausführen des &amp;amp;not; -Operators nicht beeinflusst.&lt;br /&gt;
&lt;br /&gt;
===De Morgansche Gesetze===&lt;br /&gt;
(8) &amp;amp;not;(''A'' &amp;amp;and; ''B'') &amp;amp;equiv; &amp;amp;not;''A'' &amp;amp;or; &amp;amp;not;''B''&lt;br /&gt;
&lt;br /&gt;
(8') &amp;amp;not;(''A'' &amp;amp;or; ''B'') &amp;amp;equiv; &amp;amp;not;''A'' &amp;amp;and; &amp;amp;not;''B''&lt;br /&gt;
&lt;br /&gt;
====Ein Beispiel zur Anwendung aus dem Alltag====&lt;br /&gt;
Peter trinkt Tee nur mit Zirtonensaft und Zucker. Dann stimmen die Aussagen: &amp;quot;Wenn Zitronensaft und Zucker im Tee sind, wird Peter ihn trinken &amp;quot; und &amp;quot;Sind weder Zitronensaft noch Zucker im Tee, so trinkt Peter ihn nicht&amp;quot; überein.&lt;br /&gt;
&lt;br /&gt;
===Komplementärgesetze===&lt;br /&gt;
(9) ''A'' &amp;amp;and; &amp;amp;not;''A'' &amp;amp;equiv; ''false''&lt;br /&gt;
&lt;br /&gt;
(9') ''A'' &amp;amp;or; &amp;amp;not;''A'' &amp;amp;equiv; ''true''&lt;br /&gt;
&lt;br /&gt;
===Dualitätsgesetze===&lt;br /&gt;
(10) &amp;amp;not;0 &amp;amp;equiv; 1&lt;br /&gt;
&lt;br /&gt;
(10') &amp;amp;not;1 &amp;amp;equiv; 0&lt;/div&gt;</summary>
		<author><name>Solveig</name></author>	</entry>

	<entry>
		<id>https://ls14-eini.cs.tu-dortmund.de/index.php?title=Boolesche_Algebra&amp;diff=1743</id>
		<title>Boolesche Algebra</title>
		<link rel="alternate" type="text/html" href="https://ls14-eini.cs.tu-dortmund.de/index.php?title=Boolesche_Algebra&amp;diff=1743"/>
				<updated>2016-08-17T11:12:25Z</updated>
		
		<summary type="html">&lt;p&gt;Solveig: /* Alltagsbeispiel */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Die '''boolesche Algebra''' ist eine algebraische Struktur und beschreibt die Operationen '''UND''', '''ODER''' und '''NICHT''', die auf logische Aussagen angewendet werden können.&lt;br /&gt;
&lt;br /&gt;
==Die booleschen Operatoren==&lt;br /&gt;
&lt;br /&gt;
===Konjunktion (AND)===&lt;br /&gt;
&lt;br /&gt;
Die '''Konjunktion''' ist eine der grundlegenden logischen Verknüpfungen der Aussagenlogik. Die Konjunktion zweier Aussagen ''A'' und ''B'' ist genau dann wahr, wenn ''A'' '''und''' ''B'' (sowohl als auch) wahr sind. Das mathematische Symbol ist '''&amp;amp;and;'''. In [[Java]] wird das '''AND''' durch '''&amp;amp;&amp;amp;''' repräsentiert.&lt;br /&gt;
[[Datei:venn_and.png|right]]&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! B !! A &amp;amp;and; B&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''false'' || ''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true'' || ''false''&lt;br /&gt;
|- &lt;br /&gt;
| ''true'' || ''false'' ||''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' ||''true'' || ''true''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Disjunktion (OR)===&lt;br /&gt;
&lt;br /&gt;
Die '''Disjunktion''' ist eine der grundlegenden logischen Verknüpfungen der Aussagenlogik. Die Disjunktion zweier Aussagen ''A'' und ''B'' ist genau dann wahr, wenn mindestens eine der Aussagen ''A'' '''oder''' ''B'' wahr ist. Das mathematische Symbol ist '''&amp;amp;or;'''. In [[Java]] wird das '''OR''' durch '''||''' repräsentiert.&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! B !! A &amp;amp;or; B&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''false'' || ''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true'' || ''true''&lt;br /&gt;
|- &lt;br /&gt;
| ''true'' || ''false'' ||''true''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' ||''true'' || ''true''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''Venn-Diagramm?''&lt;br /&gt;
&lt;br /&gt;
===Negation (NOT)===&lt;br /&gt;
&lt;br /&gt;
Die '''Negation''' ist eine wichtige Operation in der Aussagenlogik. Die Negation einer Aussage ''A'' führt zur ihrer Verneinung. Das heißt aus einer wahren Aussage wird eine falsche Aussage und umgekehrt. Das mathematische Symbol ist '''&amp;amp;not;'''. In [[Java]] wird das '''NOT''' durch '''!''' repräsentiert.&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! &amp;amp;not;A&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' || ''false''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Kontravalenz (XOR)===&lt;br /&gt;
&lt;br /&gt;
Die '''Kontravalenz''' ist eine erweiterte logische Verknüpfung in der Aussagenlogik. Die Kontravalenz zweier Aussagen ''A'' und ''B'' ist genau dann wahr, wenn '''entweder''' ''A'' '''oder''' ''B'', aber nicht beide wahr sind. Das mathematische Symbol ist '''⊕'''. In [[Java]] wird das '''XOR''' durch '''^''' repräsentiert.&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! B !! A ⊕ B&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''false'' || ''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true'' || ''true''&lt;br /&gt;
|- &lt;br /&gt;
| ''true'' || ''false'' ||''true''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' ||''true'' || ''false''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''Venn-Diagramm?''&lt;br /&gt;
&lt;br /&gt;
===Implikation===&lt;br /&gt;
&lt;br /&gt;
Die '''Implikation''' ist eine erweiterte logische Verknüpfung in der Aussagenlogik. Die Implikation zweier Aussagen ''A'' und ''B'' ist genau dann wahr, wenn ''A'' falsch oder ''B'' wahr ist. Das mathematische Symbol ist '''&amp;amp;rArr;'''. Die Implikation ist semantisch äquivalent zu &amp;amp;not;A &amp;amp;or; B. In [[Java]] gibt es keinen Implikationsoperator. &lt;br /&gt;
&lt;br /&gt;
Eine Implikation wird im Deutschen meistens durch &amp;quot;'''wenn''' ''A'', '''dann''' ''B''&amp;quot; ausgedrückt. Es handelt sich hierbei um eine einfache Folgerung. Aus einer falschen Ausgangsaussage '''A''' lässt sich alles folgern, daher kann die Gesamtaussage nicht falsch werden. &lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! B !! A &amp;amp;rArr; B&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''false'' || ''true''&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true'' || ''true''&lt;br /&gt;
|- &lt;br /&gt;
| ''true'' || ''false'' ||''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' ||''true'' || ''true''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''Venn-Diagramm?''&lt;br /&gt;
&lt;br /&gt;
===Äquivalenz (XNOR)===&lt;br /&gt;
&lt;br /&gt;
Die '''Äquivalenz''' ist eine erweiterte logische Verknüpfung in der Aussagenlogik. Die Äquivalenz zweier Aussagen ''A'' und ''B'' ist genau dann wahr, wenn ''A'' und ''B'' wahr oder ''A'' und ''B'' falsch sind. Das mathematische Symbol ist '''&amp;amp;hArr;'''. Die Äquivalenz ist semantisch äquivalent zu A &amp;amp;and; B &amp;amp;or; &amp;amp;not;A &amp;amp;and; &amp;amp;not;B. In [[Java]] gibt es keinen Operator hierfür. &lt;br /&gt;
&lt;br /&gt;
Die Äquivalenz wird im Deutschen meistens durch &amp;quot;'''genau dann''' ''A'', '''wenn''' ''B''&amp;quot; ausgedrückt. &amp;quot;Genau&amp;quot; heißt immer und nur unter dieser Bedingung. '''A''' gilt genau dann, wenn '''B''' gilt. '''A''' und '''B''' sind äquivalent, also austauschbar. Das heißt die vorherige Aussage gilt auch anders herum: '''B''' gilt genau dann, wenn '''A''' gilt.&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! B !! A &amp;amp;hArr; B&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''false'' || ''true''&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true'' || ''false''&lt;br /&gt;
|- &lt;br /&gt;
| ''true'' || ''false'' ||''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' ||''true'' || ''true''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''Venn-Diagramm?''&lt;br /&gt;
&lt;br /&gt;
==Peano-Axiome (erweitertes Wissen)==&lt;br /&gt;
&lt;br /&gt;
===Kommutativgesetze===&lt;br /&gt;
&lt;br /&gt;
(1) ''A'' &amp;amp;and; ''B'' &amp;amp;equiv; ''B'' &amp;amp;and; ''A''&lt;br /&gt;
&lt;br /&gt;
(1') ''A'' &amp;amp;or; ''B'' &amp;amp;equiv; ''B'' &amp;amp;or; ''A''&lt;br /&gt;
&lt;br /&gt;
====Erläuterung====&lt;br /&gt;
&lt;br /&gt;
Vertauschen der Argumente '''A''' und '''B''', ohne dass sich das Ergebnis der Operation ändert.&lt;br /&gt;
&lt;br /&gt;
===Assoziativgesetze===&lt;br /&gt;
&lt;br /&gt;
(2) (''A'' &amp;amp;and; ''B'') &amp;amp;and; ''C'' &amp;amp;equiv; ''A'' &amp;amp;and; (''B'' &amp;amp;and; ''C'')&lt;br /&gt;
&lt;br /&gt;
(2') (''A'' &amp;amp;or; ''B'') &amp;amp;or; ''C'' &amp;amp;equiv; ''A'' &amp;amp;or; (''B'' &amp;amp;or; ''C'')&lt;br /&gt;
&lt;br /&gt;
====Erläuterung====&lt;br /&gt;
Die Klammerung der oben durchgeführten Operationen hat keinen Einfluss auf das Ergebnis.&lt;br /&gt;
&lt;br /&gt;
===Idempotenzgesetze===&lt;br /&gt;
&lt;br /&gt;
(3) ''A'' &amp;amp;and; ''A'' &amp;amp;equiv; ''A''&lt;br /&gt;
&lt;br /&gt;
(3') ''A'' &amp;amp;or; ''A'' &amp;amp;equiv; ''A''&lt;br /&gt;
&lt;br /&gt;
====Erläuterung====&lt;br /&gt;
&lt;br /&gt;
Die Eigenschaften des Arguments '''A''' bleiben, auch wenn dieses mit sich selbst verknüft wird, bestehen.&lt;br /&gt;
&lt;br /&gt;
===Distributivgesetze===&lt;br /&gt;
(4) ''A'' &amp;amp;and; (''B'' &amp;amp;or; ''C'') &amp;amp;equiv; (''A'' &amp;amp;and; ''B'') &amp;amp;or; (''A'' &amp;amp;and; ''C'')&lt;br /&gt;
&lt;br /&gt;
(4') ''A'' &amp;amp;or; (''B'' &amp;amp;and; ''C'') &amp;amp;equiv; (''A'' &amp;amp;or; ''B'') &amp;amp;and; (''A'' &amp;amp;or; ''C'')&lt;br /&gt;
&lt;br /&gt;
====Erläuterung====&lt;br /&gt;
&lt;br /&gt;
Auswirkung des Aufösens von Klammern um Verknüfungen von Operationen: ähnlich dem &amp;quot;Ausmultiplizieren&amp;quot; in der Schulmathematik.&lt;br /&gt;
&lt;br /&gt;
===Neutralitätsgesetze===&lt;br /&gt;
&lt;br /&gt;
(5) ''A'' &amp;amp;and; ''true'' &amp;amp;equiv; ''A''&lt;br /&gt;
&lt;br /&gt;
(5') ''A'' &amp;amp;or; ''false'' &amp;amp;equiv; ''A''&lt;br /&gt;
&lt;br /&gt;
====Erläuterung====&lt;br /&gt;
&lt;br /&gt;
Der Wert des Argument '''A''' wird durch die oben ausgeführten Operationen nicht verändert.&lt;br /&gt;
&lt;br /&gt;
===Extremalgesetze===&lt;br /&gt;
&lt;br /&gt;
(6) ''A'' &amp;amp;and; ''false'' &amp;amp;equiv; ''false''&lt;br /&gt;
&lt;br /&gt;
(6') ''A'' &amp;amp;or; ''true'' &amp;amp;equiv; ''true''&lt;br /&gt;
&lt;br /&gt;
====Erläuterung====&lt;br /&gt;
&lt;br /&gt;
Das Ergebnis der oben beschriebenen Operationen ist unabhängig vom Wert des Arguments '''A'''.&lt;br /&gt;
&lt;br /&gt;
===Doppelnegationsgesetz===&lt;br /&gt;
&lt;br /&gt;
(7) &amp;amp;not;(&amp;amp;not;''A'') &amp;amp;equiv; ''A''&lt;br /&gt;
&lt;br /&gt;
====Erläuterung====&lt;br /&gt;
&amp;quot;Doppelte Verneinung&amp;quot;: der Wert von '''A''' wird durch zweimaliges Ausführen des &amp;amp;not; -Operators nicht beeinflusst.&lt;br /&gt;
&lt;br /&gt;
===De Morgansche Gesetze===&lt;br /&gt;
(8) &amp;amp;not;(''A'' &amp;amp;and; ''B'') &amp;amp;equiv; &amp;amp;not;''A'' &amp;amp;or; &amp;amp;not;''B''&lt;br /&gt;
&lt;br /&gt;
(8') &amp;amp;not;(''A'' &amp;amp;or; ''B'') &amp;amp;equiv; &amp;amp;not;''A'' &amp;amp;and; &amp;amp;not;''B''&lt;br /&gt;
&lt;br /&gt;
====Ein Beispiel aus dem Alltag zur Anwendung====&lt;br /&gt;
Peter trinkt Tee nur mit Zirtonensaft und Zucker. Dann stimmen die Aussagen: &amp;quot;Wenn Zitronensaft und Zucker im Tee sind, wird Peter ihn trinken &amp;quot; und &amp;quot;Sind weder Zitronensaft noch Zucker im Tee, so trinkt Peter ihn nicht&amp;quot; überein.&lt;br /&gt;
&lt;br /&gt;
===Komplementärgesetze===&lt;br /&gt;
(9) ''A'' &amp;amp;and; &amp;amp;not;''A'' &amp;amp;equiv; ''false''&lt;br /&gt;
&lt;br /&gt;
(9') ''A'' &amp;amp;or; &amp;amp;not;''A'' &amp;amp;equiv; ''true''&lt;br /&gt;
&lt;br /&gt;
===Dualitätsgesetze===&lt;br /&gt;
(10) &amp;amp;not;0 &amp;amp;equiv; 1&lt;br /&gt;
&lt;br /&gt;
(10') &amp;amp;not;1 &amp;amp;equiv; 0&lt;/div&gt;</summary>
		<author><name>Solveig</name></author>	</entry>

	<entry>
		<id>https://ls14-eini.cs.tu-dortmund.de/index.php?title=Boolesche_Algebra&amp;diff=1742</id>
		<title>Boolesche Algebra</title>
		<link rel="alternate" type="text/html" href="https://ls14-eini.cs.tu-dortmund.de/index.php?title=Boolesche_Algebra&amp;diff=1742"/>
				<updated>2016-08-17T11:11:56Z</updated>
		
		<summary type="html">&lt;p&gt;Solveig: /* De Morgansche Gesetze */ erläuterndes Beispiel&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Die '''boolesche Algebra''' ist eine algebraische Struktur und beschreibt die Operationen '''UND''', '''ODER''' und '''NICHT''', die auf logische Aussagen angewendet werden können.&lt;br /&gt;
&lt;br /&gt;
==Die booleschen Operatoren==&lt;br /&gt;
&lt;br /&gt;
===Konjunktion (AND)===&lt;br /&gt;
&lt;br /&gt;
Die '''Konjunktion''' ist eine der grundlegenden logischen Verknüpfungen der Aussagenlogik. Die Konjunktion zweier Aussagen ''A'' und ''B'' ist genau dann wahr, wenn ''A'' '''und''' ''B'' (sowohl als auch) wahr sind. Das mathematische Symbol ist '''&amp;amp;and;'''. In [[Java]] wird das '''AND''' durch '''&amp;amp;&amp;amp;''' repräsentiert.&lt;br /&gt;
[[Datei:venn_and.png|right]]&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! B !! A &amp;amp;and; B&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''false'' || ''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true'' || ''false''&lt;br /&gt;
|- &lt;br /&gt;
| ''true'' || ''false'' ||''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' ||''true'' || ''true''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Disjunktion (OR)===&lt;br /&gt;
&lt;br /&gt;
Die '''Disjunktion''' ist eine der grundlegenden logischen Verknüpfungen der Aussagenlogik. Die Disjunktion zweier Aussagen ''A'' und ''B'' ist genau dann wahr, wenn mindestens eine der Aussagen ''A'' '''oder''' ''B'' wahr ist. Das mathematische Symbol ist '''&amp;amp;or;'''. In [[Java]] wird das '''OR''' durch '''||''' repräsentiert.&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! B !! A &amp;amp;or; B&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''false'' || ''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true'' || ''true''&lt;br /&gt;
|- &lt;br /&gt;
| ''true'' || ''false'' ||''true''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' ||''true'' || ''true''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''Venn-Diagramm?''&lt;br /&gt;
&lt;br /&gt;
===Negation (NOT)===&lt;br /&gt;
&lt;br /&gt;
Die '''Negation''' ist eine wichtige Operation in der Aussagenlogik. Die Negation einer Aussage ''A'' führt zur ihrer Verneinung. Das heißt aus einer wahren Aussage wird eine falsche Aussage und umgekehrt. Das mathematische Symbol ist '''&amp;amp;not;'''. In [[Java]] wird das '''NOT''' durch '''!''' repräsentiert.&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! &amp;amp;not;A&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' || ''false''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Kontravalenz (XOR)===&lt;br /&gt;
&lt;br /&gt;
Die '''Kontravalenz''' ist eine erweiterte logische Verknüpfung in der Aussagenlogik. Die Kontravalenz zweier Aussagen ''A'' und ''B'' ist genau dann wahr, wenn '''entweder''' ''A'' '''oder''' ''B'', aber nicht beide wahr sind. Das mathematische Symbol ist '''⊕'''. In [[Java]] wird das '''XOR''' durch '''^''' repräsentiert.&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! B !! A ⊕ B&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''false'' || ''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true'' || ''true''&lt;br /&gt;
|- &lt;br /&gt;
| ''true'' || ''false'' ||''true''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' ||''true'' || ''false''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''Venn-Diagramm?''&lt;br /&gt;
&lt;br /&gt;
===Implikation===&lt;br /&gt;
&lt;br /&gt;
Die '''Implikation''' ist eine erweiterte logische Verknüpfung in der Aussagenlogik. Die Implikation zweier Aussagen ''A'' und ''B'' ist genau dann wahr, wenn ''A'' falsch oder ''B'' wahr ist. Das mathematische Symbol ist '''&amp;amp;rArr;'''. Die Implikation ist semantisch äquivalent zu &amp;amp;not;A &amp;amp;or; B. In [[Java]] gibt es keinen Implikationsoperator. &lt;br /&gt;
&lt;br /&gt;
Eine Implikation wird im Deutschen meistens durch &amp;quot;'''wenn''' ''A'', '''dann''' ''B''&amp;quot; ausgedrückt. Es handelt sich hierbei um eine einfache Folgerung. Aus einer falschen Ausgangsaussage '''A''' lässt sich alles folgern, daher kann die Gesamtaussage nicht falsch werden. &lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! B !! A &amp;amp;rArr; B&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''false'' || ''true''&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true'' || ''true''&lt;br /&gt;
|- &lt;br /&gt;
| ''true'' || ''false'' ||''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' ||''true'' || ''true''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''Venn-Diagramm?''&lt;br /&gt;
&lt;br /&gt;
===Äquivalenz (XNOR)===&lt;br /&gt;
&lt;br /&gt;
Die '''Äquivalenz''' ist eine erweiterte logische Verknüpfung in der Aussagenlogik. Die Äquivalenz zweier Aussagen ''A'' und ''B'' ist genau dann wahr, wenn ''A'' und ''B'' wahr oder ''A'' und ''B'' falsch sind. Das mathematische Symbol ist '''&amp;amp;hArr;'''. Die Äquivalenz ist semantisch äquivalent zu A &amp;amp;and; B &amp;amp;or; &amp;amp;not;A &amp;amp;and; &amp;amp;not;B. In [[Java]] gibt es keinen Operator hierfür. &lt;br /&gt;
&lt;br /&gt;
Die Äquivalenz wird im Deutschen meistens durch &amp;quot;'''genau dann''' ''A'', '''wenn''' ''B''&amp;quot; ausgedrückt. &amp;quot;Genau&amp;quot; heißt immer und nur unter dieser Bedingung. '''A''' gilt genau dann, wenn '''B''' gilt. '''A''' und '''B''' sind äquivalent, also austauschbar. Das heißt die vorherige Aussage gilt auch anders herum: '''B''' gilt genau dann, wenn '''A''' gilt.&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! B !! A &amp;amp;hArr; B&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''false'' || ''true''&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true'' || ''false''&lt;br /&gt;
|- &lt;br /&gt;
| ''true'' || ''false'' ||''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' ||''true'' || ''true''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''Venn-Diagramm?''&lt;br /&gt;
&lt;br /&gt;
==Peano-Axiome (erweitertes Wissen)==&lt;br /&gt;
&lt;br /&gt;
===Kommutativgesetze===&lt;br /&gt;
&lt;br /&gt;
(1) ''A'' &amp;amp;and; ''B'' &amp;amp;equiv; ''B'' &amp;amp;and; ''A''&lt;br /&gt;
&lt;br /&gt;
(1') ''A'' &amp;amp;or; ''B'' &amp;amp;equiv; ''B'' &amp;amp;or; ''A''&lt;br /&gt;
&lt;br /&gt;
====Erläuterung====&lt;br /&gt;
&lt;br /&gt;
Vertauschen der Argumente '''A''' und '''B''', ohne dass sich das Ergebnis der Operation ändert.&lt;br /&gt;
&lt;br /&gt;
===Assoziativgesetze===&lt;br /&gt;
&lt;br /&gt;
(2) (''A'' &amp;amp;and; ''B'') &amp;amp;and; ''C'' &amp;amp;equiv; ''A'' &amp;amp;and; (''B'' &amp;amp;and; ''C'')&lt;br /&gt;
&lt;br /&gt;
(2') (''A'' &amp;amp;or; ''B'') &amp;amp;or; ''C'' &amp;amp;equiv; ''A'' &amp;amp;or; (''B'' &amp;amp;or; ''C'')&lt;br /&gt;
&lt;br /&gt;
====Erläuterung====&lt;br /&gt;
Die Klammerung der oben durchgeführten Operationen hat keinen Einfluss auf das Ergebnis.&lt;br /&gt;
&lt;br /&gt;
===Idempotenzgesetze===&lt;br /&gt;
&lt;br /&gt;
(3) ''A'' &amp;amp;and; ''A'' &amp;amp;equiv; ''A''&lt;br /&gt;
&lt;br /&gt;
(3') ''A'' &amp;amp;or; ''A'' &amp;amp;equiv; ''A''&lt;br /&gt;
&lt;br /&gt;
====Erläuterung====&lt;br /&gt;
&lt;br /&gt;
Die Eigenschaften des Arguments '''A''' bleiben, auch wenn dieses mit sich selbst verknüft wird, bestehen.&lt;br /&gt;
&lt;br /&gt;
===Distributivgesetze===&lt;br /&gt;
(4) ''A'' &amp;amp;and; (''B'' &amp;amp;or; ''C'') &amp;amp;equiv; (''A'' &amp;amp;and; ''B'') &amp;amp;or; (''A'' &amp;amp;and; ''C'')&lt;br /&gt;
&lt;br /&gt;
(4') ''A'' &amp;amp;or; (''B'' &amp;amp;and; ''C'') &amp;amp;equiv; (''A'' &amp;amp;or; ''B'') &amp;amp;and; (''A'' &amp;amp;or; ''C'')&lt;br /&gt;
&lt;br /&gt;
====Erläuterung====&lt;br /&gt;
&lt;br /&gt;
Auswirkung des Aufösens von Klammern um Verknüfungen von Operationen: ähnlich dem &amp;quot;Ausmultiplizieren&amp;quot; in der Schulmathematik.&lt;br /&gt;
&lt;br /&gt;
===Neutralitätsgesetze===&lt;br /&gt;
&lt;br /&gt;
(5) ''A'' &amp;amp;and; ''true'' &amp;amp;equiv; ''A''&lt;br /&gt;
&lt;br /&gt;
(5') ''A'' &amp;amp;or; ''false'' &amp;amp;equiv; ''A''&lt;br /&gt;
&lt;br /&gt;
====Erläuterung====&lt;br /&gt;
&lt;br /&gt;
Der Wert des Argument '''A''' wird durch die oben ausgeführten Operationen nicht verändert.&lt;br /&gt;
&lt;br /&gt;
===Extremalgesetze===&lt;br /&gt;
&lt;br /&gt;
(6) ''A'' &amp;amp;and; ''false'' &amp;amp;equiv; ''false''&lt;br /&gt;
&lt;br /&gt;
(6') ''A'' &amp;amp;or; ''true'' &amp;amp;equiv; ''true''&lt;br /&gt;
&lt;br /&gt;
====Erläuterung====&lt;br /&gt;
&lt;br /&gt;
Das Ergebnis der oben beschriebenen Operationen ist unabhängig vom Wert des Arguments '''A'''.&lt;br /&gt;
&lt;br /&gt;
===Doppelnegationsgesetz===&lt;br /&gt;
&lt;br /&gt;
(7) &amp;amp;not;(&amp;amp;not;''A'') &amp;amp;equiv; ''A''&lt;br /&gt;
&lt;br /&gt;
====Erläuterung====&lt;br /&gt;
&amp;quot;Doppelte Verneinung&amp;quot;: der Wert von '''A''' wird durch zweimaliges Ausführen des &amp;amp;not; -Operators nicht beeinflusst.&lt;br /&gt;
&lt;br /&gt;
===De Morgansche Gesetze===&lt;br /&gt;
(8) &amp;amp;not;(''A'' &amp;amp;and; ''B'') &amp;amp;equiv; &amp;amp;not;''A'' &amp;amp;or; &amp;amp;not;''B''&lt;br /&gt;
&lt;br /&gt;
(8') &amp;amp;not;(''A'' &amp;amp;or; ''B'') &amp;amp;equiv; &amp;amp;not;''A'' &amp;amp;and; &amp;amp;not;''B''&lt;br /&gt;
&lt;br /&gt;
====Alltagsbeispiel====&lt;br /&gt;
Peter trinkt Tee nur mit Zirtonensaft und Zucker. Dann stimmen die Aussagen: &amp;quot;Wenn Zitronensaft und Zucker im Tee sind, wird Peter ihn trinken &amp;quot; und &amp;quot;Sind weder Zitronensaft noch Zucker im Tee, so trinkt Peter ihn nicht&amp;quot; überein.&lt;br /&gt;
&lt;br /&gt;
===Komplementärgesetze===&lt;br /&gt;
(9) ''A'' &amp;amp;and; &amp;amp;not;''A'' &amp;amp;equiv; ''false''&lt;br /&gt;
&lt;br /&gt;
(9') ''A'' &amp;amp;or; &amp;amp;not;''A'' &amp;amp;equiv; ''true''&lt;br /&gt;
&lt;br /&gt;
===Dualitätsgesetze===&lt;br /&gt;
(10) &amp;amp;not;0 &amp;amp;equiv; 1&lt;br /&gt;
&lt;br /&gt;
(10') &amp;amp;not;1 &amp;amp;equiv; 0&lt;/div&gt;</summary>
		<author><name>Solveig</name></author>	</entry>

	<entry>
		<id>https://ls14-eini.cs.tu-dortmund.de/index.php?title=Boolesche_Algebra&amp;diff=1741</id>
		<title>Boolesche Algebra</title>
		<link rel="alternate" type="text/html" href="https://ls14-eini.cs.tu-dortmund.de/index.php?title=Boolesche_Algebra&amp;diff=1741"/>
				<updated>2016-08-17T11:07:27Z</updated>
		
		<summary type="html">&lt;p&gt;Solveig: /* Erläuterung */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Die '''boolesche Algebra''' ist eine algebraische Struktur und beschreibt die Operationen '''UND''', '''ODER''' und '''NICHT''', die auf logische Aussagen angewendet werden können.&lt;br /&gt;
&lt;br /&gt;
==Die booleschen Operatoren==&lt;br /&gt;
&lt;br /&gt;
===Konjunktion (AND)===&lt;br /&gt;
&lt;br /&gt;
Die '''Konjunktion''' ist eine der grundlegenden logischen Verknüpfungen der Aussagenlogik. Die Konjunktion zweier Aussagen ''A'' und ''B'' ist genau dann wahr, wenn ''A'' '''und''' ''B'' (sowohl als auch) wahr sind. Das mathematische Symbol ist '''&amp;amp;and;'''. In [[Java]] wird das '''AND''' durch '''&amp;amp;&amp;amp;''' repräsentiert.&lt;br /&gt;
[[Datei:venn_and.png|right]]&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! B !! A &amp;amp;and; B&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''false'' || ''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true'' || ''false''&lt;br /&gt;
|- &lt;br /&gt;
| ''true'' || ''false'' ||''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' ||''true'' || ''true''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Disjunktion (OR)===&lt;br /&gt;
&lt;br /&gt;
Die '''Disjunktion''' ist eine der grundlegenden logischen Verknüpfungen der Aussagenlogik. Die Disjunktion zweier Aussagen ''A'' und ''B'' ist genau dann wahr, wenn mindestens eine der Aussagen ''A'' '''oder''' ''B'' wahr ist. Das mathematische Symbol ist '''&amp;amp;or;'''. In [[Java]] wird das '''OR''' durch '''||''' repräsentiert.&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! B !! A &amp;amp;or; B&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''false'' || ''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true'' || ''true''&lt;br /&gt;
|- &lt;br /&gt;
| ''true'' || ''false'' ||''true''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' ||''true'' || ''true''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''Venn-Diagramm?''&lt;br /&gt;
&lt;br /&gt;
===Negation (NOT)===&lt;br /&gt;
&lt;br /&gt;
Die '''Negation''' ist eine wichtige Operation in der Aussagenlogik. Die Negation einer Aussage ''A'' führt zur ihrer Verneinung. Das heißt aus einer wahren Aussage wird eine falsche Aussage und umgekehrt. Das mathematische Symbol ist '''&amp;amp;not;'''. In [[Java]] wird das '''NOT''' durch '''!''' repräsentiert.&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! &amp;amp;not;A&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' || ''false''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Kontravalenz (XOR)===&lt;br /&gt;
&lt;br /&gt;
Die '''Kontravalenz''' ist eine erweiterte logische Verknüpfung in der Aussagenlogik. Die Kontravalenz zweier Aussagen ''A'' und ''B'' ist genau dann wahr, wenn '''entweder''' ''A'' '''oder''' ''B'', aber nicht beide wahr sind. Das mathematische Symbol ist '''⊕'''. In [[Java]] wird das '''XOR''' durch '''^''' repräsentiert.&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! B !! A ⊕ B&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''false'' || ''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true'' || ''true''&lt;br /&gt;
|- &lt;br /&gt;
| ''true'' || ''false'' ||''true''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' ||''true'' || ''false''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''Venn-Diagramm?''&lt;br /&gt;
&lt;br /&gt;
===Implikation===&lt;br /&gt;
&lt;br /&gt;
Die '''Implikation''' ist eine erweiterte logische Verknüpfung in der Aussagenlogik. Die Implikation zweier Aussagen ''A'' und ''B'' ist genau dann wahr, wenn ''A'' falsch oder ''B'' wahr ist. Das mathematische Symbol ist '''&amp;amp;rArr;'''. Die Implikation ist semantisch äquivalent zu &amp;amp;not;A &amp;amp;or; B. In [[Java]] gibt es keinen Implikationsoperator. &lt;br /&gt;
&lt;br /&gt;
Eine Implikation wird im Deutschen meistens durch &amp;quot;'''wenn''' ''A'', '''dann''' ''B''&amp;quot; ausgedrückt. Es handelt sich hierbei um eine einfache Folgerung. Aus einer falschen Ausgangsaussage '''A''' lässt sich alles folgern, daher kann die Gesamtaussage nicht falsch werden. &lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! B !! A &amp;amp;rArr; B&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''false'' || ''true''&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true'' || ''true''&lt;br /&gt;
|- &lt;br /&gt;
| ''true'' || ''false'' ||''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' ||''true'' || ''true''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''Venn-Diagramm?''&lt;br /&gt;
&lt;br /&gt;
===Äquivalenz (XNOR)===&lt;br /&gt;
&lt;br /&gt;
Die '''Äquivalenz''' ist eine erweiterte logische Verknüpfung in der Aussagenlogik. Die Äquivalenz zweier Aussagen ''A'' und ''B'' ist genau dann wahr, wenn ''A'' und ''B'' wahr oder ''A'' und ''B'' falsch sind. Das mathematische Symbol ist '''&amp;amp;hArr;'''. Die Äquivalenz ist semantisch äquivalent zu A &amp;amp;and; B &amp;amp;or; &amp;amp;not;A &amp;amp;and; &amp;amp;not;B. In [[Java]] gibt es keinen Operator hierfür. &lt;br /&gt;
&lt;br /&gt;
Die Äquivalenz wird im Deutschen meistens durch &amp;quot;'''genau dann''' ''A'', '''wenn''' ''B''&amp;quot; ausgedrückt. &amp;quot;Genau&amp;quot; heißt immer und nur unter dieser Bedingung. '''A''' gilt genau dann, wenn '''B''' gilt. '''A''' und '''B''' sind äquivalent, also austauschbar. Das heißt die vorherige Aussage gilt auch anders herum: '''B''' gilt genau dann, wenn '''A''' gilt.&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! B !! A &amp;amp;hArr; B&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''false'' || ''true''&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true'' || ''false''&lt;br /&gt;
|- &lt;br /&gt;
| ''true'' || ''false'' ||''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' ||''true'' || ''true''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''Venn-Diagramm?''&lt;br /&gt;
&lt;br /&gt;
==Peano-Axiome (erweitertes Wissen)==&lt;br /&gt;
&lt;br /&gt;
===Kommutativgesetze===&lt;br /&gt;
&lt;br /&gt;
(1) ''A'' &amp;amp;and; ''B'' &amp;amp;equiv; ''B'' &amp;amp;and; ''A''&lt;br /&gt;
&lt;br /&gt;
(1') ''A'' &amp;amp;or; ''B'' &amp;amp;equiv; ''B'' &amp;amp;or; ''A''&lt;br /&gt;
&lt;br /&gt;
====Erläuterung====&lt;br /&gt;
&lt;br /&gt;
Vertauschen der Argumente '''A''' und '''B''', ohne dass sich das Ergebnis der Operation ändert.&lt;br /&gt;
&lt;br /&gt;
===Assoziativgesetze===&lt;br /&gt;
&lt;br /&gt;
(2) (''A'' &amp;amp;and; ''B'') &amp;amp;and; ''C'' &amp;amp;equiv; ''A'' &amp;amp;and; (''B'' &amp;amp;and; ''C'')&lt;br /&gt;
&lt;br /&gt;
(2') (''A'' &amp;amp;or; ''B'') &amp;amp;or; ''C'' &amp;amp;equiv; ''A'' &amp;amp;or; (''B'' &amp;amp;or; ''C'')&lt;br /&gt;
&lt;br /&gt;
====Erläuterung====&lt;br /&gt;
Die Klammerung der oben durchgeführten Operationen hat keinen Einfluss auf das Ergebnis.&lt;br /&gt;
&lt;br /&gt;
===Idempotenzgesetze===&lt;br /&gt;
&lt;br /&gt;
(3) ''A'' &amp;amp;and; ''A'' &amp;amp;equiv; ''A''&lt;br /&gt;
&lt;br /&gt;
(3') ''A'' &amp;amp;or; ''A'' &amp;amp;equiv; ''A''&lt;br /&gt;
&lt;br /&gt;
====Erläuterung====&lt;br /&gt;
&lt;br /&gt;
Die Eigenschaften des Arguments '''A''' bleiben, auch wenn dieses mit sich selbst verknüft wird, bestehen.&lt;br /&gt;
&lt;br /&gt;
===Distributivgesetze===&lt;br /&gt;
(4) ''A'' &amp;amp;and; (''B'' &amp;amp;or; ''C'') &amp;amp;equiv; (''A'' &amp;amp;and; ''B'') &amp;amp;or; (''A'' &amp;amp;and; ''C'')&lt;br /&gt;
&lt;br /&gt;
(4') ''A'' &amp;amp;or; (''B'' &amp;amp;and; ''C'') &amp;amp;equiv; (''A'' &amp;amp;or; ''B'') &amp;amp;and; (''A'' &amp;amp;or; ''C'')&lt;br /&gt;
&lt;br /&gt;
====Erläuterung====&lt;br /&gt;
&lt;br /&gt;
Auswirkung des Aufösens von Klammern um Verknüfungen von Operationen: ähnlich dem &amp;quot;Ausmultiplizieren&amp;quot; in der Schulmathematik.&lt;br /&gt;
&lt;br /&gt;
===Neutralitätsgesetze===&lt;br /&gt;
&lt;br /&gt;
(5) ''A'' &amp;amp;and; ''true'' &amp;amp;equiv; ''A''&lt;br /&gt;
&lt;br /&gt;
(5') ''A'' &amp;amp;or; ''false'' &amp;amp;equiv; ''A''&lt;br /&gt;
&lt;br /&gt;
====Erläuterung====&lt;br /&gt;
&lt;br /&gt;
Der Wert des Argument '''A''' wird durch die oben ausgeführten Operationen nicht verändert.&lt;br /&gt;
&lt;br /&gt;
===Extremalgesetze===&lt;br /&gt;
&lt;br /&gt;
(6) ''A'' &amp;amp;and; ''false'' &amp;amp;equiv; ''false''&lt;br /&gt;
&lt;br /&gt;
(6') ''A'' &amp;amp;or; ''true'' &amp;amp;equiv; ''true''&lt;br /&gt;
&lt;br /&gt;
====Erläuterung====&lt;br /&gt;
&lt;br /&gt;
Das Ergebnis der oben beschriebenen Operationen ist unabhängig vom Wert des Arguments '''A'''.&lt;br /&gt;
&lt;br /&gt;
===Doppelnegationsgesetz===&lt;br /&gt;
&lt;br /&gt;
(7) &amp;amp;not;(&amp;amp;not;''A'') &amp;amp;equiv; ''A''&lt;br /&gt;
&lt;br /&gt;
====Erläuterung====&lt;br /&gt;
&amp;quot;Doppelte Verneinung&amp;quot;: der Wert von '''A''' wird durch zweimaliges Ausführen des &amp;amp;not; -Operators nicht beeinflusst.&lt;br /&gt;
&lt;br /&gt;
===De Morgansche Gesetze===&lt;br /&gt;
(8) &amp;amp;not;(''A'' &amp;amp;and; ''B'') &amp;amp;equiv; &amp;amp;not;''A'' &amp;amp;or; &amp;amp;not;''B''&lt;br /&gt;
&lt;br /&gt;
(8') &amp;amp;not;(''A'' &amp;amp;or; ''B'') &amp;amp;equiv; &amp;amp;not;''A'' &amp;amp;and; &amp;amp;not;''B''&lt;br /&gt;
&lt;br /&gt;
===Komplementärgesetze===&lt;br /&gt;
(9) ''A'' &amp;amp;and; &amp;amp;not;''A'' &amp;amp;equiv; ''false''&lt;br /&gt;
&lt;br /&gt;
(9') ''A'' &amp;amp;or; &amp;amp;not;''A'' &amp;amp;equiv; ''true''&lt;br /&gt;
&lt;br /&gt;
===Dualitätsgesetze===&lt;br /&gt;
(10) &amp;amp;not;0 &amp;amp;equiv; 1&lt;br /&gt;
&lt;br /&gt;
(10') &amp;amp;not;1 &amp;amp;equiv; 0&lt;/div&gt;</summary>
		<author><name>Solveig</name></author>	</entry>

	<entry>
		<id>https://ls14-eini.cs.tu-dortmund.de/index.php?title=Boolesche_Algebra&amp;diff=1740</id>
		<title>Boolesche Algebra</title>
		<link rel="alternate" type="text/html" href="https://ls14-eini.cs.tu-dortmund.de/index.php?title=Boolesche_Algebra&amp;diff=1740"/>
				<updated>2016-08-17T11:07:03Z</updated>
		
		<summary type="html">&lt;p&gt;Solveig: /* Erläuterung */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Die '''boolesche Algebra''' ist eine algebraische Struktur und beschreibt die Operationen '''UND''', '''ODER''' und '''NICHT''', die auf logische Aussagen angewendet werden können.&lt;br /&gt;
&lt;br /&gt;
==Die booleschen Operatoren==&lt;br /&gt;
&lt;br /&gt;
===Konjunktion (AND)===&lt;br /&gt;
&lt;br /&gt;
Die '''Konjunktion''' ist eine der grundlegenden logischen Verknüpfungen der Aussagenlogik. Die Konjunktion zweier Aussagen ''A'' und ''B'' ist genau dann wahr, wenn ''A'' '''und''' ''B'' (sowohl als auch) wahr sind. Das mathematische Symbol ist '''&amp;amp;and;'''. In [[Java]] wird das '''AND''' durch '''&amp;amp;&amp;amp;''' repräsentiert.&lt;br /&gt;
[[Datei:venn_and.png|right]]&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! B !! A &amp;amp;and; B&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''false'' || ''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true'' || ''false''&lt;br /&gt;
|- &lt;br /&gt;
| ''true'' || ''false'' ||''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' ||''true'' || ''true''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Disjunktion (OR)===&lt;br /&gt;
&lt;br /&gt;
Die '''Disjunktion''' ist eine der grundlegenden logischen Verknüpfungen der Aussagenlogik. Die Disjunktion zweier Aussagen ''A'' und ''B'' ist genau dann wahr, wenn mindestens eine der Aussagen ''A'' '''oder''' ''B'' wahr ist. Das mathematische Symbol ist '''&amp;amp;or;'''. In [[Java]] wird das '''OR''' durch '''||''' repräsentiert.&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! B !! A &amp;amp;or; B&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''false'' || ''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true'' || ''true''&lt;br /&gt;
|- &lt;br /&gt;
| ''true'' || ''false'' ||''true''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' ||''true'' || ''true''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''Venn-Diagramm?''&lt;br /&gt;
&lt;br /&gt;
===Negation (NOT)===&lt;br /&gt;
&lt;br /&gt;
Die '''Negation''' ist eine wichtige Operation in der Aussagenlogik. Die Negation einer Aussage ''A'' führt zur ihrer Verneinung. Das heißt aus einer wahren Aussage wird eine falsche Aussage und umgekehrt. Das mathematische Symbol ist '''&amp;amp;not;'''. In [[Java]] wird das '''NOT''' durch '''!''' repräsentiert.&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! &amp;amp;not;A&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' || ''false''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Kontravalenz (XOR)===&lt;br /&gt;
&lt;br /&gt;
Die '''Kontravalenz''' ist eine erweiterte logische Verknüpfung in der Aussagenlogik. Die Kontravalenz zweier Aussagen ''A'' und ''B'' ist genau dann wahr, wenn '''entweder''' ''A'' '''oder''' ''B'', aber nicht beide wahr sind. Das mathematische Symbol ist '''⊕'''. In [[Java]] wird das '''XOR''' durch '''^''' repräsentiert.&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! B !! A ⊕ B&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''false'' || ''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true'' || ''true''&lt;br /&gt;
|- &lt;br /&gt;
| ''true'' || ''false'' ||''true''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' ||''true'' || ''false''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''Venn-Diagramm?''&lt;br /&gt;
&lt;br /&gt;
===Implikation===&lt;br /&gt;
&lt;br /&gt;
Die '''Implikation''' ist eine erweiterte logische Verknüpfung in der Aussagenlogik. Die Implikation zweier Aussagen ''A'' und ''B'' ist genau dann wahr, wenn ''A'' falsch oder ''B'' wahr ist. Das mathematische Symbol ist '''&amp;amp;rArr;'''. Die Implikation ist semantisch äquivalent zu &amp;amp;not;A &amp;amp;or; B. In [[Java]] gibt es keinen Implikationsoperator. &lt;br /&gt;
&lt;br /&gt;
Eine Implikation wird im Deutschen meistens durch &amp;quot;'''wenn''' ''A'', '''dann''' ''B''&amp;quot; ausgedrückt. Es handelt sich hierbei um eine einfache Folgerung. Aus einer falschen Ausgangsaussage '''A''' lässt sich alles folgern, daher kann die Gesamtaussage nicht falsch werden. &lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! B !! A &amp;amp;rArr; B&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''false'' || ''true''&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true'' || ''true''&lt;br /&gt;
|- &lt;br /&gt;
| ''true'' || ''false'' ||''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' ||''true'' || ''true''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''Venn-Diagramm?''&lt;br /&gt;
&lt;br /&gt;
===Äquivalenz (XNOR)===&lt;br /&gt;
&lt;br /&gt;
Die '''Äquivalenz''' ist eine erweiterte logische Verknüpfung in der Aussagenlogik. Die Äquivalenz zweier Aussagen ''A'' und ''B'' ist genau dann wahr, wenn ''A'' und ''B'' wahr oder ''A'' und ''B'' falsch sind. Das mathematische Symbol ist '''&amp;amp;hArr;'''. Die Äquivalenz ist semantisch äquivalent zu A &amp;amp;and; B &amp;amp;or; &amp;amp;not;A &amp;amp;and; &amp;amp;not;B. In [[Java]] gibt es keinen Operator hierfür. &lt;br /&gt;
&lt;br /&gt;
Die Äquivalenz wird im Deutschen meistens durch &amp;quot;'''genau dann''' ''A'', '''wenn''' ''B''&amp;quot; ausgedrückt. &amp;quot;Genau&amp;quot; heißt immer und nur unter dieser Bedingung. '''A''' gilt genau dann, wenn '''B''' gilt. '''A''' und '''B''' sind äquivalent, also austauschbar. Das heißt die vorherige Aussage gilt auch anders herum: '''B''' gilt genau dann, wenn '''A''' gilt.&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! B !! A &amp;amp;hArr; B&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''false'' || ''true''&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true'' || ''false''&lt;br /&gt;
|- &lt;br /&gt;
| ''true'' || ''false'' ||''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' ||''true'' || ''true''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''Venn-Diagramm?''&lt;br /&gt;
&lt;br /&gt;
==Peano-Axiome (erweitertes Wissen)==&lt;br /&gt;
&lt;br /&gt;
===Kommutativgesetze===&lt;br /&gt;
&lt;br /&gt;
(1) ''A'' &amp;amp;and; ''B'' &amp;amp;equiv; ''B'' &amp;amp;and; ''A''&lt;br /&gt;
&lt;br /&gt;
(1') ''A'' &amp;amp;or; ''B'' &amp;amp;equiv; ''B'' &amp;amp;or; ''A''&lt;br /&gt;
&lt;br /&gt;
====Erläuterung====&lt;br /&gt;
&lt;br /&gt;
Vertauschen der Argumente '''A''' und '''B''', ohne dass sich das Ergebnis der Operation ändert.&lt;br /&gt;
&lt;br /&gt;
===Assoziativgesetze===&lt;br /&gt;
&lt;br /&gt;
(2) (''A'' &amp;amp;and; ''B'') &amp;amp;and; ''C'' &amp;amp;equiv; ''A'' &amp;amp;and; (''B'' &amp;amp;and; ''C'')&lt;br /&gt;
&lt;br /&gt;
(2') (''A'' &amp;amp;or; ''B'') &amp;amp;or; ''C'' &amp;amp;equiv; ''A'' &amp;amp;or; (''B'' &amp;amp;or; ''C'')&lt;br /&gt;
&lt;br /&gt;
====Erläuterung====&lt;br /&gt;
Die Klammerung der durchgeführten Operationen hat keinen Einfluss auf das Ergebnis.&lt;br /&gt;
&lt;br /&gt;
===Idempotenzgesetze===&lt;br /&gt;
&lt;br /&gt;
(3) ''A'' &amp;amp;and; ''A'' &amp;amp;equiv; ''A''&lt;br /&gt;
&lt;br /&gt;
(3') ''A'' &amp;amp;or; ''A'' &amp;amp;equiv; ''A''&lt;br /&gt;
&lt;br /&gt;
====Erläuterung====&lt;br /&gt;
&lt;br /&gt;
Die Eigenschaften des Arguments '''A''' bleiben, auch wenn dieses mit sich selbst verknüft wird, bestehen.&lt;br /&gt;
&lt;br /&gt;
===Distributivgesetze===&lt;br /&gt;
(4) ''A'' &amp;amp;and; (''B'' &amp;amp;or; ''C'') &amp;amp;equiv; (''A'' &amp;amp;and; ''B'') &amp;amp;or; (''A'' &amp;amp;and; ''C'')&lt;br /&gt;
&lt;br /&gt;
(4') ''A'' &amp;amp;or; (''B'' &amp;amp;and; ''C'') &amp;amp;equiv; (''A'' &amp;amp;or; ''B'') &amp;amp;and; (''A'' &amp;amp;or; ''C'')&lt;br /&gt;
&lt;br /&gt;
====Erläuterung====&lt;br /&gt;
&lt;br /&gt;
Auswirkung des Aufösens von Klammern um Verknüfungen von Operationen: ähnlich dem &amp;quot;Ausmultiplizieren&amp;quot; in der Schulmathematik.&lt;br /&gt;
&lt;br /&gt;
===Neutralitätsgesetze===&lt;br /&gt;
&lt;br /&gt;
(5) ''A'' &amp;amp;and; ''true'' &amp;amp;equiv; ''A''&lt;br /&gt;
&lt;br /&gt;
(5') ''A'' &amp;amp;or; ''false'' &amp;amp;equiv; ''A''&lt;br /&gt;
&lt;br /&gt;
====Erläuterung====&lt;br /&gt;
&lt;br /&gt;
Der Wert des Argument '''A''' wird durch die oben ausgeführten Operationen nicht verändert.&lt;br /&gt;
&lt;br /&gt;
===Extremalgesetze===&lt;br /&gt;
&lt;br /&gt;
(6) ''A'' &amp;amp;and; ''false'' &amp;amp;equiv; ''false''&lt;br /&gt;
&lt;br /&gt;
(6') ''A'' &amp;amp;or; ''true'' &amp;amp;equiv; ''true''&lt;br /&gt;
&lt;br /&gt;
====Erläuterung====&lt;br /&gt;
&lt;br /&gt;
Das Ergebnis der oben beschriebenen Operationen ist unabhängig vom Wert des Arguments '''A'''.&lt;br /&gt;
&lt;br /&gt;
===Doppelnegationsgesetz===&lt;br /&gt;
&lt;br /&gt;
(7) &amp;amp;not;(&amp;amp;not;''A'') &amp;amp;equiv; ''A''&lt;br /&gt;
&lt;br /&gt;
====Erläuterung====&lt;br /&gt;
&amp;quot;Doppelte Verneinung&amp;quot;: der Wert von '''A''' wird durch zweimaliges Ausführen des &amp;amp;not; -Operators nicht beeinflusst.&lt;br /&gt;
&lt;br /&gt;
===De Morgansche Gesetze===&lt;br /&gt;
(8) &amp;amp;not;(''A'' &amp;amp;and; ''B'') &amp;amp;equiv; &amp;amp;not;''A'' &amp;amp;or; &amp;amp;not;''B''&lt;br /&gt;
&lt;br /&gt;
(8') &amp;amp;not;(''A'' &amp;amp;or; ''B'') &amp;amp;equiv; &amp;amp;not;''A'' &amp;amp;and; &amp;amp;not;''B''&lt;br /&gt;
&lt;br /&gt;
===Komplementärgesetze===&lt;br /&gt;
(9) ''A'' &amp;amp;and; &amp;amp;not;''A'' &amp;amp;equiv; ''false''&lt;br /&gt;
&lt;br /&gt;
(9') ''A'' &amp;amp;or; &amp;amp;not;''A'' &amp;amp;equiv; ''true''&lt;br /&gt;
&lt;br /&gt;
===Dualitätsgesetze===&lt;br /&gt;
(10) &amp;amp;not;0 &amp;amp;equiv; 1&lt;br /&gt;
&lt;br /&gt;
(10') &amp;amp;not;1 &amp;amp;equiv; 0&lt;/div&gt;</summary>
		<author><name>Solveig</name></author>	</entry>

	<entry>
		<id>https://ls14-eini.cs.tu-dortmund.de/index.php?title=Boolesche_Algebra&amp;diff=1739</id>
		<title>Boolesche Algebra</title>
		<link rel="alternate" type="text/html" href="https://ls14-eini.cs.tu-dortmund.de/index.php?title=Boolesche_Algebra&amp;diff=1739"/>
				<updated>2016-08-17T11:06:33Z</updated>
		
		<summary type="html">&lt;p&gt;Solveig: /* Erläuterung */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Die '''boolesche Algebra''' ist eine algebraische Struktur und beschreibt die Operationen '''UND''', '''ODER''' und '''NICHT''', die auf logische Aussagen angewendet werden können.&lt;br /&gt;
&lt;br /&gt;
==Die booleschen Operatoren==&lt;br /&gt;
&lt;br /&gt;
===Konjunktion (AND)===&lt;br /&gt;
&lt;br /&gt;
Die '''Konjunktion''' ist eine der grundlegenden logischen Verknüpfungen der Aussagenlogik. Die Konjunktion zweier Aussagen ''A'' und ''B'' ist genau dann wahr, wenn ''A'' '''und''' ''B'' (sowohl als auch) wahr sind. Das mathematische Symbol ist '''&amp;amp;and;'''. In [[Java]] wird das '''AND''' durch '''&amp;amp;&amp;amp;''' repräsentiert.&lt;br /&gt;
[[Datei:venn_and.png|right]]&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! B !! A &amp;amp;and; B&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''false'' || ''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true'' || ''false''&lt;br /&gt;
|- &lt;br /&gt;
| ''true'' || ''false'' ||''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' ||''true'' || ''true''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Disjunktion (OR)===&lt;br /&gt;
&lt;br /&gt;
Die '''Disjunktion''' ist eine der grundlegenden logischen Verknüpfungen der Aussagenlogik. Die Disjunktion zweier Aussagen ''A'' und ''B'' ist genau dann wahr, wenn mindestens eine der Aussagen ''A'' '''oder''' ''B'' wahr ist. Das mathematische Symbol ist '''&amp;amp;or;'''. In [[Java]] wird das '''OR''' durch '''||''' repräsentiert.&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! B !! A &amp;amp;or; B&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''false'' || ''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true'' || ''true''&lt;br /&gt;
|- &lt;br /&gt;
| ''true'' || ''false'' ||''true''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' ||''true'' || ''true''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''Venn-Diagramm?''&lt;br /&gt;
&lt;br /&gt;
===Negation (NOT)===&lt;br /&gt;
&lt;br /&gt;
Die '''Negation''' ist eine wichtige Operation in der Aussagenlogik. Die Negation einer Aussage ''A'' führt zur ihrer Verneinung. Das heißt aus einer wahren Aussage wird eine falsche Aussage und umgekehrt. Das mathematische Symbol ist '''&amp;amp;not;'''. In [[Java]] wird das '''NOT''' durch '''!''' repräsentiert.&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! &amp;amp;not;A&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' || ''false''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Kontravalenz (XOR)===&lt;br /&gt;
&lt;br /&gt;
Die '''Kontravalenz''' ist eine erweiterte logische Verknüpfung in der Aussagenlogik. Die Kontravalenz zweier Aussagen ''A'' und ''B'' ist genau dann wahr, wenn '''entweder''' ''A'' '''oder''' ''B'', aber nicht beide wahr sind. Das mathematische Symbol ist '''⊕'''. In [[Java]] wird das '''XOR''' durch '''^''' repräsentiert.&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! B !! A ⊕ B&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''false'' || ''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true'' || ''true''&lt;br /&gt;
|- &lt;br /&gt;
| ''true'' || ''false'' ||''true''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' ||''true'' || ''false''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''Venn-Diagramm?''&lt;br /&gt;
&lt;br /&gt;
===Implikation===&lt;br /&gt;
&lt;br /&gt;
Die '''Implikation''' ist eine erweiterte logische Verknüpfung in der Aussagenlogik. Die Implikation zweier Aussagen ''A'' und ''B'' ist genau dann wahr, wenn ''A'' falsch oder ''B'' wahr ist. Das mathematische Symbol ist '''&amp;amp;rArr;'''. Die Implikation ist semantisch äquivalent zu &amp;amp;not;A &amp;amp;or; B. In [[Java]] gibt es keinen Implikationsoperator. &lt;br /&gt;
&lt;br /&gt;
Eine Implikation wird im Deutschen meistens durch &amp;quot;'''wenn''' ''A'', '''dann''' ''B''&amp;quot; ausgedrückt. Es handelt sich hierbei um eine einfache Folgerung. Aus einer falschen Ausgangsaussage '''A''' lässt sich alles folgern, daher kann die Gesamtaussage nicht falsch werden. &lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! B !! A &amp;amp;rArr; B&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''false'' || ''true''&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true'' || ''true''&lt;br /&gt;
|- &lt;br /&gt;
| ''true'' || ''false'' ||''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' ||''true'' || ''true''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''Venn-Diagramm?''&lt;br /&gt;
&lt;br /&gt;
===Äquivalenz (XNOR)===&lt;br /&gt;
&lt;br /&gt;
Die '''Äquivalenz''' ist eine erweiterte logische Verknüpfung in der Aussagenlogik. Die Äquivalenz zweier Aussagen ''A'' und ''B'' ist genau dann wahr, wenn ''A'' und ''B'' wahr oder ''A'' und ''B'' falsch sind. Das mathematische Symbol ist '''&amp;amp;hArr;'''. Die Äquivalenz ist semantisch äquivalent zu A &amp;amp;and; B &amp;amp;or; &amp;amp;not;A &amp;amp;and; &amp;amp;not;B. In [[Java]] gibt es keinen Operator hierfür. &lt;br /&gt;
&lt;br /&gt;
Die Äquivalenz wird im Deutschen meistens durch &amp;quot;'''genau dann''' ''A'', '''wenn''' ''B''&amp;quot; ausgedrückt. &amp;quot;Genau&amp;quot; heißt immer und nur unter dieser Bedingung. '''A''' gilt genau dann, wenn '''B''' gilt. '''A''' und '''B''' sind äquivalent, also austauschbar. Das heißt die vorherige Aussage gilt auch anders herum: '''B''' gilt genau dann, wenn '''A''' gilt.&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! B !! A &amp;amp;hArr; B&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''false'' || ''true''&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true'' || ''false''&lt;br /&gt;
|- &lt;br /&gt;
| ''true'' || ''false'' ||''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' ||''true'' || ''true''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''Venn-Diagramm?''&lt;br /&gt;
&lt;br /&gt;
==Peano-Axiome (erweitertes Wissen)==&lt;br /&gt;
&lt;br /&gt;
===Kommutativgesetze===&lt;br /&gt;
&lt;br /&gt;
(1) ''A'' &amp;amp;and; ''B'' &amp;amp;equiv; ''B'' &amp;amp;and; ''A''&lt;br /&gt;
&lt;br /&gt;
(1') ''A'' &amp;amp;or; ''B'' &amp;amp;equiv; ''B'' &amp;amp;or; ''A''&lt;br /&gt;
&lt;br /&gt;
====Erläuterung====&lt;br /&gt;
&lt;br /&gt;
Vertauschen der Argumente '''A''' und '''B''', ohne dass sich das Ergebnis der Operation ändert.&lt;br /&gt;
&lt;br /&gt;
===Assoziativgesetze===&lt;br /&gt;
&lt;br /&gt;
(2) (''A'' &amp;amp;and; ''B'') &amp;amp;and; ''C'' &amp;amp;equiv; ''A'' &amp;amp;and; (''B'' &amp;amp;and; ''C'')&lt;br /&gt;
&lt;br /&gt;
(2') (''A'' &amp;amp;or; ''B'') &amp;amp;or; ''C'' &amp;amp;equiv; ''A'' &amp;amp;or; (''B'' &amp;amp;or; ''C'')&lt;br /&gt;
&lt;br /&gt;
====Erläuterung====&lt;br /&gt;
Die Reihenfolge der durchgeführten Operationen hat keinen Einfluss auf das Ergebnis.&lt;br /&gt;
&lt;br /&gt;
===Idempotenzgesetze===&lt;br /&gt;
&lt;br /&gt;
(3) ''A'' &amp;amp;and; ''A'' &amp;amp;equiv; ''A''&lt;br /&gt;
&lt;br /&gt;
(3') ''A'' &amp;amp;or; ''A'' &amp;amp;equiv; ''A''&lt;br /&gt;
&lt;br /&gt;
====Erläuterung====&lt;br /&gt;
&lt;br /&gt;
Die Eigenschaften des Arguments '''A''' bleiben, auch wenn dieses mit sich selbst verknüft wird, bestehen.&lt;br /&gt;
&lt;br /&gt;
===Distributivgesetze===&lt;br /&gt;
(4) ''A'' &amp;amp;and; (''B'' &amp;amp;or; ''C'') &amp;amp;equiv; (''A'' &amp;amp;and; ''B'') &amp;amp;or; (''A'' &amp;amp;and; ''C'')&lt;br /&gt;
&lt;br /&gt;
(4') ''A'' &amp;amp;or; (''B'' &amp;amp;and; ''C'') &amp;amp;equiv; (''A'' &amp;amp;or; ''B'') &amp;amp;and; (''A'' &amp;amp;or; ''C'')&lt;br /&gt;
&lt;br /&gt;
====Erläuterung====&lt;br /&gt;
&lt;br /&gt;
Auswirkung des Aufösens von Klammern um Verknüfungen von Operationen: ähnlich dem &amp;quot;Ausmultiplizieren&amp;quot; in der Schulmathematik.&lt;br /&gt;
&lt;br /&gt;
===Neutralitätsgesetze===&lt;br /&gt;
&lt;br /&gt;
(5) ''A'' &amp;amp;and; ''true'' &amp;amp;equiv; ''A''&lt;br /&gt;
&lt;br /&gt;
(5') ''A'' &amp;amp;or; ''false'' &amp;amp;equiv; ''A''&lt;br /&gt;
&lt;br /&gt;
====Erläuterung====&lt;br /&gt;
&lt;br /&gt;
Der Wert des Argument '''A''' wird durch die oben ausgeführten Operationen nicht verändert.&lt;br /&gt;
&lt;br /&gt;
===Extremalgesetze===&lt;br /&gt;
&lt;br /&gt;
(6) ''A'' &amp;amp;and; ''false'' &amp;amp;equiv; ''false''&lt;br /&gt;
&lt;br /&gt;
(6') ''A'' &amp;amp;or; ''true'' &amp;amp;equiv; ''true''&lt;br /&gt;
&lt;br /&gt;
====Erläuterung====&lt;br /&gt;
&lt;br /&gt;
Das Ergebnis der oben beschriebenen Operationen ist unabhängig vom Wert des Arguments '''A'''.&lt;br /&gt;
&lt;br /&gt;
===Doppelnegationsgesetz===&lt;br /&gt;
&lt;br /&gt;
(7) &amp;amp;not;(&amp;amp;not;''A'') &amp;amp;equiv; ''A''&lt;br /&gt;
&lt;br /&gt;
====Erläuterung====&lt;br /&gt;
&amp;quot;Doppelte Verneinung&amp;quot;: der Wert von '''A''' wird durch zweimaliges Ausführen des &amp;amp;not; -Operators nicht beeinflusst.&lt;br /&gt;
&lt;br /&gt;
===De Morgansche Gesetze===&lt;br /&gt;
(8) &amp;amp;not;(''A'' &amp;amp;and; ''B'') &amp;amp;equiv; &amp;amp;not;''A'' &amp;amp;or; &amp;amp;not;''B''&lt;br /&gt;
&lt;br /&gt;
(8') &amp;amp;not;(''A'' &amp;amp;or; ''B'') &amp;amp;equiv; &amp;amp;not;''A'' &amp;amp;and; &amp;amp;not;''B''&lt;br /&gt;
&lt;br /&gt;
===Komplementärgesetze===&lt;br /&gt;
(9) ''A'' &amp;amp;and; &amp;amp;not;''A'' &amp;amp;equiv; ''false''&lt;br /&gt;
&lt;br /&gt;
(9') ''A'' &amp;amp;or; &amp;amp;not;''A'' &amp;amp;equiv; ''true''&lt;br /&gt;
&lt;br /&gt;
===Dualitätsgesetze===&lt;br /&gt;
(10) &amp;amp;not;0 &amp;amp;equiv; 1&lt;br /&gt;
&lt;br /&gt;
(10') &amp;amp;not;1 &amp;amp;equiv; 0&lt;/div&gt;</summary>
		<author><name>Solveig</name></author>	</entry>

	<entry>
		<id>https://ls14-eini.cs.tu-dortmund.de/index.php?title=Boolesche_Algebra&amp;diff=1738</id>
		<title>Boolesche Algebra</title>
		<link rel="alternate" type="text/html" href="https://ls14-eini.cs.tu-dortmund.de/index.php?title=Boolesche_Algebra&amp;diff=1738"/>
				<updated>2016-08-17T11:05:46Z</updated>
		
		<summary type="html">&lt;p&gt;Solveig: /* Doppelnegationsgesetz */  Erläuterung&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Die '''boolesche Algebra''' ist eine algebraische Struktur und beschreibt die Operationen '''UND''', '''ODER''' und '''NICHT''', die auf logische Aussagen angewendet werden können.&lt;br /&gt;
&lt;br /&gt;
==Die booleschen Operatoren==&lt;br /&gt;
&lt;br /&gt;
===Konjunktion (AND)===&lt;br /&gt;
&lt;br /&gt;
Die '''Konjunktion''' ist eine der grundlegenden logischen Verknüpfungen der Aussagenlogik. Die Konjunktion zweier Aussagen ''A'' und ''B'' ist genau dann wahr, wenn ''A'' '''und''' ''B'' (sowohl als auch) wahr sind. Das mathematische Symbol ist '''&amp;amp;and;'''. In [[Java]] wird das '''AND''' durch '''&amp;amp;&amp;amp;''' repräsentiert.&lt;br /&gt;
[[Datei:venn_and.png|right]]&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! B !! A &amp;amp;and; B&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''false'' || ''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true'' || ''false''&lt;br /&gt;
|- &lt;br /&gt;
| ''true'' || ''false'' ||''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' ||''true'' || ''true''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Disjunktion (OR)===&lt;br /&gt;
&lt;br /&gt;
Die '''Disjunktion''' ist eine der grundlegenden logischen Verknüpfungen der Aussagenlogik. Die Disjunktion zweier Aussagen ''A'' und ''B'' ist genau dann wahr, wenn mindestens eine der Aussagen ''A'' '''oder''' ''B'' wahr ist. Das mathematische Symbol ist '''&amp;amp;or;'''. In [[Java]] wird das '''OR''' durch '''||''' repräsentiert.&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! B !! A &amp;amp;or; B&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''false'' || ''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true'' || ''true''&lt;br /&gt;
|- &lt;br /&gt;
| ''true'' || ''false'' ||''true''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' ||''true'' || ''true''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''Venn-Diagramm?''&lt;br /&gt;
&lt;br /&gt;
===Negation (NOT)===&lt;br /&gt;
&lt;br /&gt;
Die '''Negation''' ist eine wichtige Operation in der Aussagenlogik. Die Negation einer Aussage ''A'' führt zur ihrer Verneinung. Das heißt aus einer wahren Aussage wird eine falsche Aussage und umgekehrt. Das mathematische Symbol ist '''&amp;amp;not;'''. In [[Java]] wird das '''NOT''' durch '''!''' repräsentiert.&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! &amp;amp;not;A&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' || ''false''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Kontravalenz (XOR)===&lt;br /&gt;
&lt;br /&gt;
Die '''Kontravalenz''' ist eine erweiterte logische Verknüpfung in der Aussagenlogik. Die Kontravalenz zweier Aussagen ''A'' und ''B'' ist genau dann wahr, wenn '''entweder''' ''A'' '''oder''' ''B'', aber nicht beide wahr sind. Das mathematische Symbol ist '''⊕'''. In [[Java]] wird das '''XOR''' durch '''^''' repräsentiert.&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! B !! A ⊕ B&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''false'' || ''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true'' || ''true''&lt;br /&gt;
|- &lt;br /&gt;
| ''true'' || ''false'' ||''true''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' ||''true'' || ''false''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''Venn-Diagramm?''&lt;br /&gt;
&lt;br /&gt;
===Implikation===&lt;br /&gt;
&lt;br /&gt;
Die '''Implikation''' ist eine erweiterte logische Verknüpfung in der Aussagenlogik. Die Implikation zweier Aussagen ''A'' und ''B'' ist genau dann wahr, wenn ''A'' falsch oder ''B'' wahr ist. Das mathematische Symbol ist '''&amp;amp;rArr;'''. Die Implikation ist semantisch äquivalent zu &amp;amp;not;A &amp;amp;or; B. In [[Java]] gibt es keinen Implikationsoperator. &lt;br /&gt;
&lt;br /&gt;
Eine Implikation wird im Deutschen meistens durch &amp;quot;'''wenn''' ''A'', '''dann''' ''B''&amp;quot; ausgedrückt. Es handelt sich hierbei um eine einfache Folgerung. Aus einer falschen Ausgangsaussage '''A''' lässt sich alles folgern, daher kann die Gesamtaussage nicht falsch werden. &lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! B !! A &amp;amp;rArr; B&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''false'' || ''true''&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true'' || ''true''&lt;br /&gt;
|- &lt;br /&gt;
| ''true'' || ''false'' ||''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' ||''true'' || ''true''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''Venn-Diagramm?''&lt;br /&gt;
&lt;br /&gt;
===Äquivalenz (XNOR)===&lt;br /&gt;
&lt;br /&gt;
Die '''Äquivalenz''' ist eine erweiterte logische Verknüpfung in der Aussagenlogik. Die Äquivalenz zweier Aussagen ''A'' und ''B'' ist genau dann wahr, wenn ''A'' und ''B'' wahr oder ''A'' und ''B'' falsch sind. Das mathematische Symbol ist '''&amp;amp;hArr;'''. Die Äquivalenz ist semantisch äquivalent zu A &amp;amp;and; B &amp;amp;or; &amp;amp;not;A &amp;amp;and; &amp;amp;not;B. In [[Java]] gibt es keinen Operator hierfür. &lt;br /&gt;
&lt;br /&gt;
Die Äquivalenz wird im Deutschen meistens durch &amp;quot;'''genau dann''' ''A'', '''wenn''' ''B''&amp;quot; ausgedrückt. &amp;quot;Genau&amp;quot; heißt immer und nur unter dieser Bedingung. '''A''' gilt genau dann, wenn '''B''' gilt. '''A''' und '''B''' sind äquivalent, also austauschbar. Das heißt die vorherige Aussage gilt auch anders herum: '''B''' gilt genau dann, wenn '''A''' gilt.&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! B !! A &amp;amp;hArr; B&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''false'' || ''true''&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true'' || ''false''&lt;br /&gt;
|- &lt;br /&gt;
| ''true'' || ''false'' ||''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' ||''true'' || ''true''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''Venn-Diagramm?''&lt;br /&gt;
&lt;br /&gt;
==Peano-Axiome (erweitertes Wissen)==&lt;br /&gt;
&lt;br /&gt;
===Kommutativgesetze===&lt;br /&gt;
&lt;br /&gt;
(1) ''A'' &amp;amp;and; ''B'' &amp;amp;equiv; ''B'' &amp;amp;and; ''A''&lt;br /&gt;
&lt;br /&gt;
(1') ''A'' &amp;amp;or; ''B'' &amp;amp;equiv; ''B'' &amp;amp;or; ''A''&lt;br /&gt;
&lt;br /&gt;
====Erläuterung====&lt;br /&gt;
&lt;br /&gt;
Vertauschen der Argumente '''A''' und '''B''', ohne dass sich das Ergebnis der Operation ändert.&lt;br /&gt;
&lt;br /&gt;
===Assoziativgesetze===&lt;br /&gt;
&lt;br /&gt;
(2) (''A'' &amp;amp;and; ''B'') &amp;amp;and; ''C'' &amp;amp;equiv; ''A'' &amp;amp;and; (''B'' &amp;amp;and; ''C'')&lt;br /&gt;
&lt;br /&gt;
(2') (''A'' &amp;amp;or; ''B'') &amp;amp;or; ''C'' &amp;amp;equiv; ''A'' &amp;amp;or; (''B'' &amp;amp;or; ''C'')&lt;br /&gt;
&lt;br /&gt;
====Erläuterung====&lt;br /&gt;
Die Reihenfolge der durchgeführten Operationen hat keinen Einfluss auf das Ergebnis.&lt;br /&gt;
&lt;br /&gt;
===Idempotenzgesetze===&lt;br /&gt;
&lt;br /&gt;
(3) ''A'' &amp;amp;and; ''A'' &amp;amp;equiv; ''A''&lt;br /&gt;
&lt;br /&gt;
(3') ''A'' &amp;amp;or; ''A'' &amp;amp;equiv; ''A''&lt;br /&gt;
&lt;br /&gt;
====Erläuterung====&lt;br /&gt;
&lt;br /&gt;
Die Eigenschaften des Arguments '''A''' bleiben, auch wenn dieses mit sich selbst verknüft wird, bestehen.&lt;br /&gt;
&lt;br /&gt;
===Distributivgesetze===&lt;br /&gt;
(4) ''A'' &amp;amp;and; (''B'' &amp;amp;or; ''C'') &amp;amp;equiv; (''A'' &amp;amp;and; ''B'') &amp;amp;or; (''A'' &amp;amp;and; ''C'')&lt;br /&gt;
&lt;br /&gt;
(4') ''A'' &amp;amp;or; (''B'' &amp;amp;and; ''C'') &amp;amp;equiv; (''A'' &amp;amp;or; ''B'') &amp;amp;and; (''A'' &amp;amp;or; ''C'')&lt;br /&gt;
&lt;br /&gt;
====Erläuterung====&lt;br /&gt;
&lt;br /&gt;
Auswirkung des Aufösens von Klammern um Verknüfungen von Operationen: ähnlich dem &amp;quot;Ausmultiplizieren&amp;quot; in der Schulmathematik.&lt;br /&gt;
&lt;br /&gt;
===Neutralitätsgesetze===&lt;br /&gt;
&lt;br /&gt;
(5) ''A'' &amp;amp;and; ''true'' &amp;amp;equiv; ''A''&lt;br /&gt;
&lt;br /&gt;
(5') ''A'' &amp;amp;or; ''false'' &amp;amp;equiv; ''A''&lt;br /&gt;
&lt;br /&gt;
====Erläuterung====&lt;br /&gt;
&lt;br /&gt;
Der Wert des Argument '''A''' wird durch die oben ausgeführten Operationen nicht verändert.&lt;br /&gt;
&lt;br /&gt;
===Extremalgesetze===&lt;br /&gt;
&lt;br /&gt;
(6) ''A'' &amp;amp;and; ''false'' &amp;amp;equiv; ''false''&lt;br /&gt;
&lt;br /&gt;
(6') ''A'' &amp;amp;or; ''true'' &amp;amp;equiv; ''true''&lt;br /&gt;
&lt;br /&gt;
====Erläuterung====&lt;br /&gt;
&lt;br /&gt;
Das Ergebnis der oben beschriebenen Operationen ist unabhängig vom Wert des Arguments '''A'''.&lt;br /&gt;
&lt;br /&gt;
===Doppelnegationsgesetz===&lt;br /&gt;
&lt;br /&gt;
(7) &amp;amp;not;(&amp;amp;not;''A'') &amp;amp;equiv; ''A''&lt;br /&gt;
&lt;br /&gt;
====Erläuterung====&lt;br /&gt;
&amp;quot;Doppelte Verneinung&amp;quot;: der Wert von '''A''' wird durch zweimaliges Ausführen des &amp;amp;not;-Operators nicht beeinflusst.&lt;br /&gt;
&lt;br /&gt;
===De Morgansche Gesetze===&lt;br /&gt;
(8) &amp;amp;not;(''A'' &amp;amp;and; ''B'') &amp;amp;equiv; &amp;amp;not;''A'' &amp;amp;or; &amp;amp;not;''B''&lt;br /&gt;
&lt;br /&gt;
(8') &amp;amp;not;(''A'' &amp;amp;or; ''B'') &amp;amp;equiv; &amp;amp;not;''A'' &amp;amp;and; &amp;amp;not;''B''&lt;br /&gt;
&lt;br /&gt;
===Komplementärgesetze===&lt;br /&gt;
(9) ''A'' &amp;amp;and; &amp;amp;not;''A'' &amp;amp;equiv; ''false''&lt;br /&gt;
&lt;br /&gt;
(9') ''A'' &amp;amp;or; &amp;amp;not;''A'' &amp;amp;equiv; ''true''&lt;br /&gt;
&lt;br /&gt;
===Dualitätsgesetze===&lt;br /&gt;
(10) &amp;amp;not;0 &amp;amp;equiv; 1&lt;br /&gt;
&lt;br /&gt;
(10') &amp;amp;not;1 &amp;amp;equiv; 0&lt;/div&gt;</summary>
		<author><name>Solveig</name></author>	</entry>

	<entry>
		<id>https://ls14-eini.cs.tu-dortmund.de/index.php?title=Boolesche_Algebra&amp;diff=1737</id>
		<title>Boolesche Algebra</title>
		<link rel="alternate" type="text/html" href="https://ls14-eini.cs.tu-dortmund.de/index.php?title=Boolesche_Algebra&amp;diff=1737"/>
				<updated>2016-08-17T11:01:46Z</updated>
		
		<summary type="html">&lt;p&gt;Solveig: /* Extremalgesetze */  Erläuterung&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Die '''boolesche Algebra''' ist eine algebraische Struktur und beschreibt die Operationen '''UND''', '''ODER''' und '''NICHT''', die auf logische Aussagen angewendet werden können.&lt;br /&gt;
&lt;br /&gt;
==Die booleschen Operatoren==&lt;br /&gt;
&lt;br /&gt;
===Konjunktion (AND)===&lt;br /&gt;
&lt;br /&gt;
Die '''Konjunktion''' ist eine der grundlegenden logischen Verknüpfungen der Aussagenlogik. Die Konjunktion zweier Aussagen ''A'' und ''B'' ist genau dann wahr, wenn ''A'' '''und''' ''B'' (sowohl als auch) wahr sind. Das mathematische Symbol ist '''&amp;amp;and;'''. In [[Java]] wird das '''AND''' durch '''&amp;amp;&amp;amp;''' repräsentiert.&lt;br /&gt;
[[Datei:venn_and.png|right]]&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! B !! A &amp;amp;and; B&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''false'' || ''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true'' || ''false''&lt;br /&gt;
|- &lt;br /&gt;
| ''true'' || ''false'' ||''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' ||''true'' || ''true''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Disjunktion (OR)===&lt;br /&gt;
&lt;br /&gt;
Die '''Disjunktion''' ist eine der grundlegenden logischen Verknüpfungen der Aussagenlogik. Die Disjunktion zweier Aussagen ''A'' und ''B'' ist genau dann wahr, wenn mindestens eine der Aussagen ''A'' '''oder''' ''B'' wahr ist. Das mathematische Symbol ist '''&amp;amp;or;'''. In [[Java]] wird das '''OR''' durch '''||''' repräsentiert.&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! B !! A &amp;amp;or; B&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''false'' || ''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true'' || ''true''&lt;br /&gt;
|- &lt;br /&gt;
| ''true'' || ''false'' ||''true''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' ||''true'' || ''true''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''Venn-Diagramm?''&lt;br /&gt;
&lt;br /&gt;
===Negation (NOT)===&lt;br /&gt;
&lt;br /&gt;
Die '''Negation''' ist eine wichtige Operation in der Aussagenlogik. Die Negation einer Aussage ''A'' führt zur ihrer Verneinung. Das heißt aus einer wahren Aussage wird eine falsche Aussage und umgekehrt. Das mathematische Symbol ist '''&amp;amp;not;'''. In [[Java]] wird das '''NOT''' durch '''!''' repräsentiert.&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! &amp;amp;not;A&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' || ''false''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Kontravalenz (XOR)===&lt;br /&gt;
&lt;br /&gt;
Die '''Kontravalenz''' ist eine erweiterte logische Verknüpfung in der Aussagenlogik. Die Kontravalenz zweier Aussagen ''A'' und ''B'' ist genau dann wahr, wenn '''entweder''' ''A'' '''oder''' ''B'', aber nicht beide wahr sind. Das mathematische Symbol ist '''⊕'''. In [[Java]] wird das '''XOR''' durch '''^''' repräsentiert.&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! B !! A ⊕ B&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''false'' || ''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true'' || ''true''&lt;br /&gt;
|- &lt;br /&gt;
| ''true'' || ''false'' ||''true''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' ||''true'' || ''false''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''Venn-Diagramm?''&lt;br /&gt;
&lt;br /&gt;
===Implikation===&lt;br /&gt;
&lt;br /&gt;
Die '''Implikation''' ist eine erweiterte logische Verknüpfung in der Aussagenlogik. Die Implikation zweier Aussagen ''A'' und ''B'' ist genau dann wahr, wenn ''A'' falsch oder ''B'' wahr ist. Das mathematische Symbol ist '''&amp;amp;rArr;'''. Die Implikation ist semantisch äquivalent zu &amp;amp;not;A &amp;amp;or; B. In [[Java]] gibt es keinen Implikationsoperator. &lt;br /&gt;
&lt;br /&gt;
Eine Implikation wird im Deutschen meistens durch &amp;quot;'''wenn''' ''A'', '''dann''' ''B''&amp;quot; ausgedrückt. Es handelt sich hierbei um eine einfache Folgerung. Aus einer falschen Ausgangsaussage '''A''' lässt sich alles folgern, daher kann die Gesamtaussage nicht falsch werden. &lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! B !! A &amp;amp;rArr; B&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''false'' || ''true''&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true'' || ''true''&lt;br /&gt;
|- &lt;br /&gt;
| ''true'' || ''false'' ||''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' ||''true'' || ''true''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''Venn-Diagramm?''&lt;br /&gt;
&lt;br /&gt;
===Äquivalenz (XNOR)===&lt;br /&gt;
&lt;br /&gt;
Die '''Äquivalenz''' ist eine erweiterte logische Verknüpfung in der Aussagenlogik. Die Äquivalenz zweier Aussagen ''A'' und ''B'' ist genau dann wahr, wenn ''A'' und ''B'' wahr oder ''A'' und ''B'' falsch sind. Das mathematische Symbol ist '''&amp;amp;hArr;'''. Die Äquivalenz ist semantisch äquivalent zu A &amp;amp;and; B &amp;amp;or; &amp;amp;not;A &amp;amp;and; &amp;amp;not;B. In [[Java]] gibt es keinen Operator hierfür. &lt;br /&gt;
&lt;br /&gt;
Die Äquivalenz wird im Deutschen meistens durch &amp;quot;'''genau dann''' ''A'', '''wenn''' ''B''&amp;quot; ausgedrückt. &amp;quot;Genau&amp;quot; heißt immer und nur unter dieser Bedingung. '''A''' gilt genau dann, wenn '''B''' gilt. '''A''' und '''B''' sind äquivalent, also austauschbar. Das heißt die vorherige Aussage gilt auch anders herum: '''B''' gilt genau dann, wenn '''A''' gilt.&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! B !! A &amp;amp;hArr; B&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''false'' || ''true''&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true'' || ''false''&lt;br /&gt;
|- &lt;br /&gt;
| ''true'' || ''false'' ||''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' ||''true'' || ''true''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''Venn-Diagramm?''&lt;br /&gt;
&lt;br /&gt;
==Peano-Axiome (erweitertes Wissen)==&lt;br /&gt;
&lt;br /&gt;
===Kommutativgesetze===&lt;br /&gt;
&lt;br /&gt;
(1) ''A'' &amp;amp;and; ''B'' &amp;amp;equiv; ''B'' &amp;amp;and; ''A''&lt;br /&gt;
&lt;br /&gt;
(1') ''A'' &amp;amp;or; ''B'' &amp;amp;equiv; ''B'' &amp;amp;or; ''A''&lt;br /&gt;
&lt;br /&gt;
====Erläuterung====&lt;br /&gt;
&lt;br /&gt;
Vertauschen der Argumente '''A''' und '''B''', ohne dass sich das Ergebnis der Operation ändert.&lt;br /&gt;
&lt;br /&gt;
===Assoziativgesetze===&lt;br /&gt;
&lt;br /&gt;
(2) (''A'' &amp;amp;and; ''B'') &amp;amp;and; ''C'' &amp;amp;equiv; ''A'' &amp;amp;and; (''B'' &amp;amp;and; ''C'')&lt;br /&gt;
&lt;br /&gt;
(2') (''A'' &amp;amp;or; ''B'') &amp;amp;or; ''C'' &amp;amp;equiv; ''A'' &amp;amp;or; (''B'' &amp;amp;or; ''C'')&lt;br /&gt;
&lt;br /&gt;
====Erläuterung====&lt;br /&gt;
Die Reihenfolge der durchgeführten Operationen hat keinen Einfluss auf das Ergebnis.&lt;br /&gt;
&lt;br /&gt;
===Idempotenzgesetze===&lt;br /&gt;
&lt;br /&gt;
(3) ''A'' &amp;amp;and; ''A'' &amp;amp;equiv; ''A''&lt;br /&gt;
&lt;br /&gt;
(3') ''A'' &amp;amp;or; ''A'' &amp;amp;equiv; ''A''&lt;br /&gt;
&lt;br /&gt;
====Erläuterung====&lt;br /&gt;
&lt;br /&gt;
Die Eigenschaften des Arguments '''A''' bleiben, auch wenn dieses mit sich selbst verknüft wird, bestehen.&lt;br /&gt;
&lt;br /&gt;
===Distributivgesetze===&lt;br /&gt;
(4) ''A'' &amp;amp;and; (''B'' &amp;amp;or; ''C'') &amp;amp;equiv; (''A'' &amp;amp;and; ''B'') &amp;amp;or; (''A'' &amp;amp;and; ''C'')&lt;br /&gt;
&lt;br /&gt;
(4') ''A'' &amp;amp;or; (''B'' &amp;amp;and; ''C'') &amp;amp;equiv; (''A'' &amp;amp;or; ''B'') &amp;amp;and; (''A'' &amp;amp;or; ''C'')&lt;br /&gt;
&lt;br /&gt;
====Erläuterung====&lt;br /&gt;
&lt;br /&gt;
Auswirkung des Aufösens von Klammern um Verknüfungen von Operationen: ähnlich dem &amp;quot;Ausmultiplizieren&amp;quot; in der Schulmathematik.&lt;br /&gt;
&lt;br /&gt;
===Neutralitätsgesetze===&lt;br /&gt;
&lt;br /&gt;
(5) ''A'' &amp;amp;and; ''true'' &amp;amp;equiv; ''A''&lt;br /&gt;
&lt;br /&gt;
(5') ''A'' &amp;amp;or; ''false'' &amp;amp;equiv; ''A''&lt;br /&gt;
&lt;br /&gt;
====Erläuterung====&lt;br /&gt;
&lt;br /&gt;
Der Wert des Argument '''A''' wird durch die oben ausgeführten Operationen nicht verändert.&lt;br /&gt;
&lt;br /&gt;
===Extremalgesetze===&lt;br /&gt;
&lt;br /&gt;
(6) ''A'' &amp;amp;and; ''false'' &amp;amp;equiv; ''false''&lt;br /&gt;
&lt;br /&gt;
(6') ''A'' &amp;amp;or; ''true'' &amp;amp;equiv; ''true''&lt;br /&gt;
&lt;br /&gt;
====Erläuterung====&lt;br /&gt;
&lt;br /&gt;
Das Ergebnis der oben beschriebenen Operationen ist unabhängig vom Wert des Arguments '''A'''.&lt;br /&gt;
&lt;br /&gt;
===Doppelnegationsgesetz===&lt;br /&gt;
&lt;br /&gt;
(7) &amp;amp;not;&amp;amp;not;''A'' &amp;amp;equiv; ''A''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===De Morgansche Gesetze===&lt;br /&gt;
(8) &amp;amp;not;(''A'' &amp;amp;and; ''B'') &amp;amp;equiv; &amp;amp;not;''A'' &amp;amp;or; &amp;amp;not;''B''&lt;br /&gt;
&lt;br /&gt;
(8') &amp;amp;not;(''A'' &amp;amp;or; ''B'') &amp;amp;equiv; &amp;amp;not;''A'' &amp;amp;and; &amp;amp;not;''B''&lt;br /&gt;
&lt;br /&gt;
===Komplementärgesetze===&lt;br /&gt;
(9) ''A'' &amp;amp;and; &amp;amp;not;''A'' &amp;amp;equiv; ''false''&lt;br /&gt;
&lt;br /&gt;
(9') ''A'' &amp;amp;or; &amp;amp;not;''A'' &amp;amp;equiv; ''true''&lt;br /&gt;
&lt;br /&gt;
===Dualitätsgesetze===&lt;br /&gt;
(10) &amp;amp;not;0 &amp;amp;equiv; 1&lt;br /&gt;
&lt;br /&gt;
(10') &amp;amp;not;1 &amp;amp;equiv; 0&lt;/div&gt;</summary>
		<author><name>Solveig</name></author>	</entry>

	<entry>
		<id>https://ls14-eini.cs.tu-dortmund.de/index.php?title=Boolesche_Algebra&amp;diff=1736</id>
		<title>Boolesche Algebra</title>
		<link rel="alternate" type="text/html" href="https://ls14-eini.cs.tu-dortmund.de/index.php?title=Boolesche_Algebra&amp;diff=1736"/>
				<updated>2016-08-17T10:59:26Z</updated>
		
		<summary type="html">&lt;p&gt;Solveig: /* Neutralitätsgesetze */ Erläuterung ergänzt&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Die '''boolesche Algebra''' ist eine algebraische Struktur und beschreibt die Operationen '''UND''', '''ODER''' und '''NICHT''', die auf logische Aussagen angewendet werden können.&lt;br /&gt;
&lt;br /&gt;
==Die booleschen Operatoren==&lt;br /&gt;
&lt;br /&gt;
===Konjunktion (AND)===&lt;br /&gt;
&lt;br /&gt;
Die '''Konjunktion''' ist eine der grundlegenden logischen Verknüpfungen der Aussagenlogik. Die Konjunktion zweier Aussagen ''A'' und ''B'' ist genau dann wahr, wenn ''A'' '''und''' ''B'' (sowohl als auch) wahr sind. Das mathematische Symbol ist '''&amp;amp;and;'''. In [[Java]] wird das '''AND''' durch '''&amp;amp;&amp;amp;''' repräsentiert.&lt;br /&gt;
[[Datei:venn_and.png|right]]&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! B !! A &amp;amp;and; B&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''false'' || ''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true'' || ''false''&lt;br /&gt;
|- &lt;br /&gt;
| ''true'' || ''false'' ||''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' ||''true'' || ''true''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Disjunktion (OR)===&lt;br /&gt;
&lt;br /&gt;
Die '''Disjunktion''' ist eine der grundlegenden logischen Verknüpfungen der Aussagenlogik. Die Disjunktion zweier Aussagen ''A'' und ''B'' ist genau dann wahr, wenn mindestens eine der Aussagen ''A'' '''oder''' ''B'' wahr ist. Das mathematische Symbol ist '''&amp;amp;or;'''. In [[Java]] wird das '''OR''' durch '''||''' repräsentiert.&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! B !! A &amp;amp;or; B&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''false'' || ''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true'' || ''true''&lt;br /&gt;
|- &lt;br /&gt;
| ''true'' || ''false'' ||''true''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' ||''true'' || ''true''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''Venn-Diagramm?''&lt;br /&gt;
&lt;br /&gt;
===Negation (NOT)===&lt;br /&gt;
&lt;br /&gt;
Die '''Negation''' ist eine wichtige Operation in der Aussagenlogik. Die Negation einer Aussage ''A'' führt zur ihrer Verneinung. Das heißt aus einer wahren Aussage wird eine falsche Aussage und umgekehrt. Das mathematische Symbol ist '''&amp;amp;not;'''. In [[Java]] wird das '''NOT''' durch '''!''' repräsentiert.&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! &amp;amp;not;A&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' || ''false''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Kontravalenz (XOR)===&lt;br /&gt;
&lt;br /&gt;
Die '''Kontravalenz''' ist eine erweiterte logische Verknüpfung in der Aussagenlogik. Die Kontravalenz zweier Aussagen ''A'' und ''B'' ist genau dann wahr, wenn '''entweder''' ''A'' '''oder''' ''B'', aber nicht beide wahr sind. Das mathematische Symbol ist '''⊕'''. In [[Java]] wird das '''XOR''' durch '''^''' repräsentiert.&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! B !! A ⊕ B&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''false'' || ''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true'' || ''true''&lt;br /&gt;
|- &lt;br /&gt;
| ''true'' || ''false'' ||''true''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' ||''true'' || ''false''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''Venn-Diagramm?''&lt;br /&gt;
&lt;br /&gt;
===Implikation===&lt;br /&gt;
&lt;br /&gt;
Die '''Implikation''' ist eine erweiterte logische Verknüpfung in der Aussagenlogik. Die Implikation zweier Aussagen ''A'' und ''B'' ist genau dann wahr, wenn ''A'' falsch oder ''B'' wahr ist. Das mathematische Symbol ist '''&amp;amp;rArr;'''. Die Implikation ist semantisch äquivalent zu &amp;amp;not;A &amp;amp;or; B. In [[Java]] gibt es keinen Implikationsoperator. &lt;br /&gt;
&lt;br /&gt;
Eine Implikation wird im Deutschen meistens durch &amp;quot;'''wenn''' ''A'', '''dann''' ''B''&amp;quot; ausgedrückt. Es handelt sich hierbei um eine einfache Folgerung. Aus einer falschen Ausgangsaussage '''A''' lässt sich alles folgern, daher kann die Gesamtaussage nicht falsch werden. &lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! B !! A &amp;amp;rArr; B&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''false'' || ''true''&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true'' || ''true''&lt;br /&gt;
|- &lt;br /&gt;
| ''true'' || ''false'' ||''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' ||''true'' || ''true''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''Venn-Diagramm?''&lt;br /&gt;
&lt;br /&gt;
===Äquivalenz (XNOR)===&lt;br /&gt;
&lt;br /&gt;
Die '''Äquivalenz''' ist eine erweiterte logische Verknüpfung in der Aussagenlogik. Die Äquivalenz zweier Aussagen ''A'' und ''B'' ist genau dann wahr, wenn ''A'' und ''B'' wahr oder ''A'' und ''B'' falsch sind. Das mathematische Symbol ist '''&amp;amp;hArr;'''. Die Äquivalenz ist semantisch äquivalent zu A &amp;amp;and; B &amp;amp;or; &amp;amp;not;A &amp;amp;and; &amp;amp;not;B. In [[Java]] gibt es keinen Operator hierfür. &lt;br /&gt;
&lt;br /&gt;
Die Äquivalenz wird im Deutschen meistens durch &amp;quot;'''genau dann''' ''A'', '''wenn''' ''B''&amp;quot; ausgedrückt. &amp;quot;Genau&amp;quot; heißt immer und nur unter dieser Bedingung. '''A''' gilt genau dann, wenn '''B''' gilt. '''A''' und '''B''' sind äquivalent, also austauschbar. Das heißt die vorherige Aussage gilt auch anders herum: '''B''' gilt genau dann, wenn '''A''' gilt.&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! B !! A &amp;amp;hArr; B&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''false'' || ''true''&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true'' || ''false''&lt;br /&gt;
|- &lt;br /&gt;
| ''true'' || ''false'' ||''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' ||''true'' || ''true''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''Venn-Diagramm?''&lt;br /&gt;
&lt;br /&gt;
==Peano-Axiome (erweitertes Wissen)==&lt;br /&gt;
&lt;br /&gt;
===Kommutativgesetze===&lt;br /&gt;
&lt;br /&gt;
(1) ''A'' &amp;amp;and; ''B'' &amp;amp;equiv; ''B'' &amp;amp;and; ''A''&lt;br /&gt;
&lt;br /&gt;
(1') ''A'' &amp;amp;or; ''B'' &amp;amp;equiv; ''B'' &amp;amp;or; ''A''&lt;br /&gt;
&lt;br /&gt;
====Erläuterung====&lt;br /&gt;
&lt;br /&gt;
Vertauschen der Argumente '''A''' und '''B''', ohne dass sich das Ergebnis der Operation ändert.&lt;br /&gt;
&lt;br /&gt;
===Assoziativgesetze===&lt;br /&gt;
&lt;br /&gt;
(2) (''A'' &amp;amp;and; ''B'') &amp;amp;and; ''C'' &amp;amp;equiv; ''A'' &amp;amp;and; (''B'' &amp;amp;and; ''C'')&lt;br /&gt;
&lt;br /&gt;
(2') (''A'' &amp;amp;or; ''B'') &amp;amp;or; ''C'' &amp;amp;equiv; ''A'' &amp;amp;or; (''B'' &amp;amp;or; ''C'')&lt;br /&gt;
&lt;br /&gt;
====Erläuterung====&lt;br /&gt;
Die Reihenfolge der durchgeführten Operationen hat keinen Einfluss auf das Ergebnis.&lt;br /&gt;
&lt;br /&gt;
===Idempotenzgesetze===&lt;br /&gt;
&lt;br /&gt;
(3) ''A'' &amp;amp;and; ''A'' &amp;amp;equiv; ''A''&lt;br /&gt;
&lt;br /&gt;
(3') ''A'' &amp;amp;or; ''A'' &amp;amp;equiv; ''A''&lt;br /&gt;
&lt;br /&gt;
====Erläuterung====&lt;br /&gt;
&lt;br /&gt;
Die Eigenschaften des Arguments '''A''' bleiben, auch wenn dieses mit sich selbst verknüft wird, bestehen.&lt;br /&gt;
&lt;br /&gt;
===Distributivgesetze===&lt;br /&gt;
(4) ''A'' &amp;amp;and; (''B'' &amp;amp;or; ''C'') &amp;amp;equiv; (''A'' &amp;amp;and; ''B'') &amp;amp;or; (''A'' &amp;amp;and; ''C'')&lt;br /&gt;
&lt;br /&gt;
(4') ''A'' &amp;amp;or; (''B'' &amp;amp;and; ''C'') &amp;amp;equiv; (''A'' &amp;amp;or; ''B'') &amp;amp;and; (''A'' &amp;amp;or; ''C'')&lt;br /&gt;
&lt;br /&gt;
====Erläuterung====&lt;br /&gt;
&lt;br /&gt;
Auswirkung des Aufösens von Klammern um Verknüfungen von Operationen: ähnlich dem &amp;quot;Ausmultiplizieren&amp;quot; in der Schulmathematik.&lt;br /&gt;
&lt;br /&gt;
===Neutralitätsgesetze===&lt;br /&gt;
&lt;br /&gt;
(5) ''A'' &amp;amp;and; ''true'' &amp;amp;equiv; ''A''&lt;br /&gt;
&lt;br /&gt;
(5') ''A'' &amp;amp;or; ''false'' &amp;amp;equiv; ''A''&lt;br /&gt;
&lt;br /&gt;
====Erläuterung====&lt;br /&gt;
&lt;br /&gt;
Der Wert des Argument '''A''' wird durch die oben ausgeführten Operationen nicht verändert.&lt;br /&gt;
&lt;br /&gt;
===Extremalgesetze===&lt;br /&gt;
&lt;br /&gt;
(6) ''A'' &amp;amp;and; ''false'' &amp;amp;equiv; ''false''&lt;br /&gt;
&lt;br /&gt;
(6') ''A'' &amp;amp;or; ''true'' &amp;amp;equiv; ''true''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Doppelnegationsgesetz===&lt;br /&gt;
&lt;br /&gt;
(7) &amp;amp;not;&amp;amp;not;''A'' &amp;amp;equiv; ''A''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===De Morgansche Gesetze===&lt;br /&gt;
(8) &amp;amp;not;(''A'' &amp;amp;and; ''B'') &amp;amp;equiv; &amp;amp;not;''A'' &amp;amp;or; &amp;amp;not;''B''&lt;br /&gt;
&lt;br /&gt;
(8') &amp;amp;not;(''A'' &amp;amp;or; ''B'') &amp;amp;equiv; &amp;amp;not;''A'' &amp;amp;and; &amp;amp;not;''B''&lt;br /&gt;
&lt;br /&gt;
===Komplementärgesetze===&lt;br /&gt;
(9) ''A'' &amp;amp;and; &amp;amp;not;''A'' &amp;amp;equiv; ''false''&lt;br /&gt;
&lt;br /&gt;
(9') ''A'' &amp;amp;or; &amp;amp;not;''A'' &amp;amp;equiv; ''true''&lt;br /&gt;
&lt;br /&gt;
===Dualitätsgesetze===&lt;br /&gt;
(10) &amp;amp;not;0 &amp;amp;equiv; 1&lt;br /&gt;
&lt;br /&gt;
(10') &amp;amp;not;1 &amp;amp;equiv; 0&lt;/div&gt;</summary>
		<author><name>Solveig</name></author>	</entry>

	<entry>
		<id>https://ls14-eini.cs.tu-dortmund.de/index.php?title=Boolesche_Algebra&amp;diff=1735</id>
		<title>Boolesche Algebra</title>
		<link rel="alternate" type="text/html" href="https://ls14-eini.cs.tu-dortmund.de/index.php?title=Boolesche_Algebra&amp;diff=1735"/>
				<updated>2016-08-17T10:58:00Z</updated>
		
		<summary type="html">&lt;p&gt;Solveig: /* Distributivgesetze */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Die '''boolesche Algebra''' ist eine algebraische Struktur und beschreibt die Operationen '''UND''', '''ODER''' und '''NICHT''', die auf logische Aussagen angewendet werden können.&lt;br /&gt;
&lt;br /&gt;
==Die booleschen Operatoren==&lt;br /&gt;
&lt;br /&gt;
===Konjunktion (AND)===&lt;br /&gt;
&lt;br /&gt;
Die '''Konjunktion''' ist eine der grundlegenden logischen Verknüpfungen der Aussagenlogik. Die Konjunktion zweier Aussagen ''A'' und ''B'' ist genau dann wahr, wenn ''A'' '''und''' ''B'' (sowohl als auch) wahr sind. Das mathematische Symbol ist '''&amp;amp;and;'''. In [[Java]] wird das '''AND''' durch '''&amp;amp;&amp;amp;''' repräsentiert.&lt;br /&gt;
[[Datei:venn_and.png|right]]&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! B !! A &amp;amp;and; B&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''false'' || ''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true'' || ''false''&lt;br /&gt;
|- &lt;br /&gt;
| ''true'' || ''false'' ||''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' ||''true'' || ''true''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Disjunktion (OR)===&lt;br /&gt;
&lt;br /&gt;
Die '''Disjunktion''' ist eine der grundlegenden logischen Verknüpfungen der Aussagenlogik. Die Disjunktion zweier Aussagen ''A'' und ''B'' ist genau dann wahr, wenn mindestens eine der Aussagen ''A'' '''oder''' ''B'' wahr ist. Das mathematische Symbol ist '''&amp;amp;or;'''. In [[Java]] wird das '''OR''' durch '''||''' repräsentiert.&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! B !! A &amp;amp;or; B&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''false'' || ''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true'' || ''true''&lt;br /&gt;
|- &lt;br /&gt;
| ''true'' || ''false'' ||''true''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' ||''true'' || ''true''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''Venn-Diagramm?''&lt;br /&gt;
&lt;br /&gt;
===Negation (NOT)===&lt;br /&gt;
&lt;br /&gt;
Die '''Negation''' ist eine wichtige Operation in der Aussagenlogik. Die Negation einer Aussage ''A'' führt zur ihrer Verneinung. Das heißt aus einer wahren Aussage wird eine falsche Aussage und umgekehrt. Das mathematische Symbol ist '''&amp;amp;not;'''. In [[Java]] wird das '''NOT''' durch '''!''' repräsentiert.&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! &amp;amp;not;A&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' || ''false''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Kontravalenz (XOR)===&lt;br /&gt;
&lt;br /&gt;
Die '''Kontravalenz''' ist eine erweiterte logische Verknüpfung in der Aussagenlogik. Die Kontravalenz zweier Aussagen ''A'' und ''B'' ist genau dann wahr, wenn '''entweder''' ''A'' '''oder''' ''B'', aber nicht beide wahr sind. Das mathematische Symbol ist '''⊕'''. In [[Java]] wird das '''XOR''' durch '''^''' repräsentiert.&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! B !! A ⊕ B&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''false'' || ''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true'' || ''true''&lt;br /&gt;
|- &lt;br /&gt;
| ''true'' || ''false'' ||''true''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' ||''true'' || ''false''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''Venn-Diagramm?''&lt;br /&gt;
&lt;br /&gt;
===Implikation===&lt;br /&gt;
&lt;br /&gt;
Die '''Implikation''' ist eine erweiterte logische Verknüpfung in der Aussagenlogik. Die Implikation zweier Aussagen ''A'' und ''B'' ist genau dann wahr, wenn ''A'' falsch oder ''B'' wahr ist. Das mathematische Symbol ist '''&amp;amp;rArr;'''. Die Implikation ist semantisch äquivalent zu &amp;amp;not;A &amp;amp;or; B. In [[Java]] gibt es keinen Implikationsoperator. &lt;br /&gt;
&lt;br /&gt;
Eine Implikation wird im Deutschen meistens durch &amp;quot;'''wenn''' ''A'', '''dann''' ''B''&amp;quot; ausgedrückt. Es handelt sich hierbei um eine einfache Folgerung. Aus einer falschen Ausgangsaussage '''A''' lässt sich alles folgern, daher kann die Gesamtaussage nicht falsch werden. &lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! B !! A &amp;amp;rArr; B&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''false'' || ''true''&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true'' || ''true''&lt;br /&gt;
|- &lt;br /&gt;
| ''true'' || ''false'' ||''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' ||''true'' || ''true''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''Venn-Diagramm?''&lt;br /&gt;
&lt;br /&gt;
===Äquivalenz (XNOR)===&lt;br /&gt;
&lt;br /&gt;
Die '''Äquivalenz''' ist eine erweiterte logische Verknüpfung in der Aussagenlogik. Die Äquivalenz zweier Aussagen ''A'' und ''B'' ist genau dann wahr, wenn ''A'' und ''B'' wahr oder ''A'' und ''B'' falsch sind. Das mathematische Symbol ist '''&amp;amp;hArr;'''. Die Äquivalenz ist semantisch äquivalent zu A &amp;amp;and; B &amp;amp;or; &amp;amp;not;A &amp;amp;and; &amp;amp;not;B. In [[Java]] gibt es keinen Operator hierfür. &lt;br /&gt;
&lt;br /&gt;
Die Äquivalenz wird im Deutschen meistens durch &amp;quot;'''genau dann''' ''A'', '''wenn''' ''B''&amp;quot; ausgedrückt. &amp;quot;Genau&amp;quot; heißt immer und nur unter dieser Bedingung. '''A''' gilt genau dann, wenn '''B''' gilt. '''A''' und '''B''' sind äquivalent, also austauschbar. Das heißt die vorherige Aussage gilt auch anders herum: '''B''' gilt genau dann, wenn '''A''' gilt.&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! B !! A &amp;amp;hArr; B&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''false'' || ''true''&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true'' || ''false''&lt;br /&gt;
|- &lt;br /&gt;
| ''true'' || ''false'' ||''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' ||''true'' || ''true''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''Venn-Diagramm?''&lt;br /&gt;
&lt;br /&gt;
==Peano-Axiome (erweitertes Wissen)==&lt;br /&gt;
&lt;br /&gt;
===Kommutativgesetze===&lt;br /&gt;
&lt;br /&gt;
(1) ''A'' &amp;amp;and; ''B'' &amp;amp;equiv; ''B'' &amp;amp;and; ''A''&lt;br /&gt;
&lt;br /&gt;
(1') ''A'' &amp;amp;or; ''B'' &amp;amp;equiv; ''B'' &amp;amp;or; ''A''&lt;br /&gt;
&lt;br /&gt;
====Erläuterung====&lt;br /&gt;
&lt;br /&gt;
Vertauschen der Argumente '''A''' und '''B''', ohne dass sich das Ergebnis der Operation ändert.&lt;br /&gt;
&lt;br /&gt;
===Assoziativgesetze===&lt;br /&gt;
&lt;br /&gt;
(2) (''A'' &amp;amp;and; ''B'') &amp;amp;and; ''C'' &amp;amp;equiv; ''A'' &amp;amp;and; (''B'' &amp;amp;and; ''C'')&lt;br /&gt;
&lt;br /&gt;
(2') (''A'' &amp;amp;or; ''B'') &amp;amp;or; ''C'' &amp;amp;equiv; ''A'' &amp;amp;or; (''B'' &amp;amp;or; ''C'')&lt;br /&gt;
&lt;br /&gt;
====Erläuterung====&lt;br /&gt;
Die Reihenfolge der durchgeführten Operationen hat keinen Einfluss auf das Ergebnis.&lt;br /&gt;
&lt;br /&gt;
===Idempotenzgesetze===&lt;br /&gt;
&lt;br /&gt;
(3) ''A'' &amp;amp;and; ''A'' &amp;amp;equiv; ''A''&lt;br /&gt;
&lt;br /&gt;
(3') ''A'' &amp;amp;or; ''A'' &amp;amp;equiv; ''A''&lt;br /&gt;
&lt;br /&gt;
====Erläuterung====&lt;br /&gt;
&lt;br /&gt;
Die Eigenschaften des Arguments '''A''' bleiben, auch wenn dieses mit sich selbst verknüft wird, bestehen.&lt;br /&gt;
&lt;br /&gt;
===Distributivgesetze===&lt;br /&gt;
(4) ''A'' &amp;amp;and; (''B'' &amp;amp;or; ''C'') &amp;amp;equiv; (''A'' &amp;amp;and; ''B'') &amp;amp;or; (''A'' &amp;amp;and; ''C'')&lt;br /&gt;
&lt;br /&gt;
(4') ''A'' &amp;amp;or; (''B'' &amp;amp;and; ''C'') &amp;amp;equiv; (''A'' &amp;amp;or; ''B'') &amp;amp;and; (''A'' &amp;amp;or; ''C'')&lt;br /&gt;
&lt;br /&gt;
====Erläuterung====&lt;br /&gt;
&lt;br /&gt;
Auswirkung des Aufösens von Klammern um Verknüfungen von Operationen: ähnlich dem &amp;quot;Ausmultiplizieren&amp;quot; in der Schulmathematik.&lt;br /&gt;
&lt;br /&gt;
===Neutralitätsgesetze===&lt;br /&gt;
&lt;br /&gt;
(5) ''A'' &amp;amp;and; ''true'' &amp;amp;equiv; ''A''&lt;br /&gt;
&lt;br /&gt;
(5') ''A'' &amp;amp;or; ''false'' &amp;amp;equiv; ''A''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Extremalgesetze===&lt;br /&gt;
&lt;br /&gt;
(6) ''A'' &amp;amp;and; ''false'' &amp;amp;equiv; ''false''&lt;br /&gt;
&lt;br /&gt;
(6') ''A'' &amp;amp;or; ''true'' &amp;amp;equiv; ''true''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Doppelnegationsgesetz===&lt;br /&gt;
&lt;br /&gt;
(7) &amp;amp;not;&amp;amp;not;''A'' &amp;amp;equiv; ''A''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===De Morgansche Gesetze===&lt;br /&gt;
(8) &amp;amp;not;(''A'' &amp;amp;and; ''B'') &amp;amp;equiv; &amp;amp;not;''A'' &amp;amp;or; &amp;amp;not;''B''&lt;br /&gt;
&lt;br /&gt;
(8') &amp;amp;not;(''A'' &amp;amp;or; ''B'') &amp;amp;equiv; &amp;amp;not;''A'' &amp;amp;and; &amp;amp;not;''B''&lt;br /&gt;
&lt;br /&gt;
===Komplementärgesetze===&lt;br /&gt;
(9) ''A'' &amp;amp;and; &amp;amp;not;''A'' &amp;amp;equiv; ''false''&lt;br /&gt;
&lt;br /&gt;
(9') ''A'' &amp;amp;or; &amp;amp;not;''A'' &amp;amp;equiv; ''true''&lt;br /&gt;
&lt;br /&gt;
===Dualitätsgesetze===&lt;br /&gt;
(10) &amp;amp;not;0 &amp;amp;equiv; 1&lt;br /&gt;
&lt;br /&gt;
(10') &amp;amp;not;1 &amp;amp;equiv; 0&lt;/div&gt;</summary>
		<author><name>Solveig</name></author>	</entry>

	<entry>
		<id>https://ls14-eini.cs.tu-dortmund.de/index.php?title=Boolesche_Algebra&amp;diff=1734</id>
		<title>Boolesche Algebra</title>
		<link rel="alternate" type="text/html" href="https://ls14-eini.cs.tu-dortmund.de/index.php?title=Boolesche_Algebra&amp;diff=1734"/>
				<updated>2016-08-17T10:57:49Z</updated>
		
		<summary type="html">&lt;p&gt;Solveig: /* Idempotenzgesetze */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Die '''boolesche Algebra''' ist eine algebraische Struktur und beschreibt die Operationen '''UND''', '''ODER''' und '''NICHT''', die auf logische Aussagen angewendet werden können.&lt;br /&gt;
&lt;br /&gt;
==Die booleschen Operatoren==&lt;br /&gt;
&lt;br /&gt;
===Konjunktion (AND)===&lt;br /&gt;
&lt;br /&gt;
Die '''Konjunktion''' ist eine der grundlegenden logischen Verknüpfungen der Aussagenlogik. Die Konjunktion zweier Aussagen ''A'' und ''B'' ist genau dann wahr, wenn ''A'' '''und''' ''B'' (sowohl als auch) wahr sind. Das mathematische Symbol ist '''&amp;amp;and;'''. In [[Java]] wird das '''AND''' durch '''&amp;amp;&amp;amp;''' repräsentiert.&lt;br /&gt;
[[Datei:venn_and.png|right]]&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! B !! A &amp;amp;and; B&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''false'' || ''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true'' || ''false''&lt;br /&gt;
|- &lt;br /&gt;
| ''true'' || ''false'' ||''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' ||''true'' || ''true''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Disjunktion (OR)===&lt;br /&gt;
&lt;br /&gt;
Die '''Disjunktion''' ist eine der grundlegenden logischen Verknüpfungen der Aussagenlogik. Die Disjunktion zweier Aussagen ''A'' und ''B'' ist genau dann wahr, wenn mindestens eine der Aussagen ''A'' '''oder''' ''B'' wahr ist. Das mathematische Symbol ist '''&amp;amp;or;'''. In [[Java]] wird das '''OR''' durch '''||''' repräsentiert.&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! B !! A &amp;amp;or; B&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''false'' || ''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true'' || ''true''&lt;br /&gt;
|- &lt;br /&gt;
| ''true'' || ''false'' ||''true''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' ||''true'' || ''true''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''Venn-Diagramm?''&lt;br /&gt;
&lt;br /&gt;
===Negation (NOT)===&lt;br /&gt;
&lt;br /&gt;
Die '''Negation''' ist eine wichtige Operation in der Aussagenlogik. Die Negation einer Aussage ''A'' führt zur ihrer Verneinung. Das heißt aus einer wahren Aussage wird eine falsche Aussage und umgekehrt. Das mathematische Symbol ist '''&amp;amp;not;'''. In [[Java]] wird das '''NOT''' durch '''!''' repräsentiert.&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! &amp;amp;not;A&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' || ''false''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Kontravalenz (XOR)===&lt;br /&gt;
&lt;br /&gt;
Die '''Kontravalenz''' ist eine erweiterte logische Verknüpfung in der Aussagenlogik. Die Kontravalenz zweier Aussagen ''A'' und ''B'' ist genau dann wahr, wenn '''entweder''' ''A'' '''oder''' ''B'', aber nicht beide wahr sind. Das mathematische Symbol ist '''⊕'''. In [[Java]] wird das '''XOR''' durch '''^''' repräsentiert.&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! B !! A ⊕ B&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''false'' || ''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true'' || ''true''&lt;br /&gt;
|- &lt;br /&gt;
| ''true'' || ''false'' ||''true''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' ||''true'' || ''false''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''Venn-Diagramm?''&lt;br /&gt;
&lt;br /&gt;
===Implikation===&lt;br /&gt;
&lt;br /&gt;
Die '''Implikation''' ist eine erweiterte logische Verknüpfung in der Aussagenlogik. Die Implikation zweier Aussagen ''A'' und ''B'' ist genau dann wahr, wenn ''A'' falsch oder ''B'' wahr ist. Das mathematische Symbol ist '''&amp;amp;rArr;'''. Die Implikation ist semantisch äquivalent zu &amp;amp;not;A &amp;amp;or; B. In [[Java]] gibt es keinen Implikationsoperator. &lt;br /&gt;
&lt;br /&gt;
Eine Implikation wird im Deutschen meistens durch &amp;quot;'''wenn''' ''A'', '''dann''' ''B''&amp;quot; ausgedrückt. Es handelt sich hierbei um eine einfache Folgerung. Aus einer falschen Ausgangsaussage '''A''' lässt sich alles folgern, daher kann die Gesamtaussage nicht falsch werden. &lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! B !! A &amp;amp;rArr; B&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''false'' || ''true''&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true'' || ''true''&lt;br /&gt;
|- &lt;br /&gt;
| ''true'' || ''false'' ||''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' ||''true'' || ''true''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''Venn-Diagramm?''&lt;br /&gt;
&lt;br /&gt;
===Äquivalenz (XNOR)===&lt;br /&gt;
&lt;br /&gt;
Die '''Äquivalenz''' ist eine erweiterte logische Verknüpfung in der Aussagenlogik. Die Äquivalenz zweier Aussagen ''A'' und ''B'' ist genau dann wahr, wenn ''A'' und ''B'' wahr oder ''A'' und ''B'' falsch sind. Das mathematische Symbol ist '''&amp;amp;hArr;'''. Die Äquivalenz ist semantisch äquivalent zu A &amp;amp;and; B &amp;amp;or; &amp;amp;not;A &amp;amp;and; &amp;amp;not;B. In [[Java]] gibt es keinen Operator hierfür. &lt;br /&gt;
&lt;br /&gt;
Die Äquivalenz wird im Deutschen meistens durch &amp;quot;'''genau dann''' ''A'', '''wenn''' ''B''&amp;quot; ausgedrückt. &amp;quot;Genau&amp;quot; heißt immer und nur unter dieser Bedingung. '''A''' gilt genau dann, wenn '''B''' gilt. '''A''' und '''B''' sind äquivalent, also austauschbar. Das heißt die vorherige Aussage gilt auch anders herum: '''B''' gilt genau dann, wenn '''A''' gilt.&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! B !! A &amp;amp;hArr; B&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''false'' || ''true''&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true'' || ''false''&lt;br /&gt;
|- &lt;br /&gt;
| ''true'' || ''false'' ||''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' ||''true'' || ''true''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''Venn-Diagramm?''&lt;br /&gt;
&lt;br /&gt;
==Peano-Axiome (erweitertes Wissen)==&lt;br /&gt;
&lt;br /&gt;
===Kommutativgesetze===&lt;br /&gt;
&lt;br /&gt;
(1) ''A'' &amp;amp;and; ''B'' &amp;amp;equiv; ''B'' &amp;amp;and; ''A''&lt;br /&gt;
&lt;br /&gt;
(1') ''A'' &amp;amp;or; ''B'' &amp;amp;equiv; ''B'' &amp;amp;or; ''A''&lt;br /&gt;
&lt;br /&gt;
====Erläuterung====&lt;br /&gt;
&lt;br /&gt;
Vertauschen der Argumente '''A''' und '''B''', ohne dass sich das Ergebnis der Operation ändert.&lt;br /&gt;
&lt;br /&gt;
===Assoziativgesetze===&lt;br /&gt;
&lt;br /&gt;
(2) (''A'' &amp;amp;and; ''B'') &amp;amp;and; ''C'' &amp;amp;equiv; ''A'' &amp;amp;and; (''B'' &amp;amp;and; ''C'')&lt;br /&gt;
&lt;br /&gt;
(2') (''A'' &amp;amp;or; ''B'') &amp;amp;or; ''C'' &amp;amp;equiv; ''A'' &amp;amp;or; (''B'' &amp;amp;or; ''C'')&lt;br /&gt;
&lt;br /&gt;
====Erläuterung====&lt;br /&gt;
Die Reihenfolge der durchgeführten Operationen hat keinen Einfluss auf das Ergebnis.&lt;br /&gt;
&lt;br /&gt;
===Idempotenzgesetze===&lt;br /&gt;
&lt;br /&gt;
(3) ''A'' &amp;amp;and; ''A'' &amp;amp;equiv; ''A''&lt;br /&gt;
&lt;br /&gt;
(3') ''A'' &amp;amp;or; ''A'' &amp;amp;equiv; ''A''&lt;br /&gt;
&lt;br /&gt;
====Erläuterung====&lt;br /&gt;
&lt;br /&gt;
Die Eigenschaften des Arguments '''A''' bleiben, auch wenn dieses mit sich selbst verknüft wird, bestehen.&lt;br /&gt;
&lt;br /&gt;
===Distributivgesetze===&lt;br /&gt;
(4) ''A'' &amp;amp;and; (''B'' &amp;amp;or; ''C'') &amp;amp;equiv; (''A'' &amp;amp;and; ''B'') &amp;amp;or; (''A'' &amp;amp;and; ''C'')&lt;br /&gt;
&lt;br /&gt;
(4') ''A'' &amp;amp;or; (''B'' &amp;amp;and; ''C'') &amp;amp;equiv; (''A'' &amp;amp;or; ''B'') &amp;amp;and; (''A'' &amp;amp;or; ''C'')&lt;br /&gt;
&lt;br /&gt;
Auswirkung des Aufösens von Klammern um Verknüfungen von Operationen: ähnlich dem &amp;quot;Ausmultiplizieren&amp;quot; in der Schulmathematik.&lt;br /&gt;
&lt;br /&gt;
===Neutralitätsgesetze===&lt;br /&gt;
&lt;br /&gt;
(5) ''A'' &amp;amp;and; ''true'' &amp;amp;equiv; ''A''&lt;br /&gt;
&lt;br /&gt;
(5') ''A'' &amp;amp;or; ''false'' &amp;amp;equiv; ''A''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Extremalgesetze===&lt;br /&gt;
&lt;br /&gt;
(6) ''A'' &amp;amp;and; ''false'' &amp;amp;equiv; ''false''&lt;br /&gt;
&lt;br /&gt;
(6') ''A'' &amp;amp;or; ''true'' &amp;amp;equiv; ''true''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Doppelnegationsgesetz===&lt;br /&gt;
&lt;br /&gt;
(7) &amp;amp;not;&amp;amp;not;''A'' &amp;amp;equiv; ''A''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===De Morgansche Gesetze===&lt;br /&gt;
(8) &amp;amp;not;(''A'' &amp;amp;and; ''B'') &amp;amp;equiv; &amp;amp;not;''A'' &amp;amp;or; &amp;amp;not;''B''&lt;br /&gt;
&lt;br /&gt;
(8') &amp;amp;not;(''A'' &amp;amp;or; ''B'') &amp;amp;equiv; &amp;amp;not;''A'' &amp;amp;and; &amp;amp;not;''B''&lt;br /&gt;
&lt;br /&gt;
===Komplementärgesetze===&lt;br /&gt;
(9) ''A'' &amp;amp;and; &amp;amp;not;''A'' &amp;amp;equiv; ''false''&lt;br /&gt;
&lt;br /&gt;
(9') ''A'' &amp;amp;or; &amp;amp;not;''A'' &amp;amp;equiv; ''true''&lt;br /&gt;
&lt;br /&gt;
===Dualitätsgesetze===&lt;br /&gt;
(10) &amp;amp;not;0 &amp;amp;equiv; 1&lt;br /&gt;
&lt;br /&gt;
(10') &amp;amp;not;1 &amp;amp;equiv; 0&lt;/div&gt;</summary>
		<author><name>Solveig</name></author>	</entry>

	<entry>
		<id>https://ls14-eini.cs.tu-dortmund.de/index.php?title=Boolesche_Algebra&amp;diff=1733</id>
		<title>Boolesche Algebra</title>
		<link rel="alternate" type="text/html" href="https://ls14-eini.cs.tu-dortmund.de/index.php?title=Boolesche_Algebra&amp;diff=1733"/>
				<updated>2016-08-17T10:57:35Z</updated>
		
		<summary type="html">&lt;p&gt;Solveig: /* Assoziativgesetze */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Die '''boolesche Algebra''' ist eine algebraische Struktur und beschreibt die Operationen '''UND''', '''ODER''' und '''NICHT''', die auf logische Aussagen angewendet werden können.&lt;br /&gt;
&lt;br /&gt;
==Die booleschen Operatoren==&lt;br /&gt;
&lt;br /&gt;
===Konjunktion (AND)===&lt;br /&gt;
&lt;br /&gt;
Die '''Konjunktion''' ist eine der grundlegenden logischen Verknüpfungen der Aussagenlogik. Die Konjunktion zweier Aussagen ''A'' und ''B'' ist genau dann wahr, wenn ''A'' '''und''' ''B'' (sowohl als auch) wahr sind. Das mathematische Symbol ist '''&amp;amp;and;'''. In [[Java]] wird das '''AND''' durch '''&amp;amp;&amp;amp;''' repräsentiert.&lt;br /&gt;
[[Datei:venn_and.png|right]]&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! B !! A &amp;amp;and; B&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''false'' || ''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true'' || ''false''&lt;br /&gt;
|- &lt;br /&gt;
| ''true'' || ''false'' ||''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' ||''true'' || ''true''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Disjunktion (OR)===&lt;br /&gt;
&lt;br /&gt;
Die '''Disjunktion''' ist eine der grundlegenden logischen Verknüpfungen der Aussagenlogik. Die Disjunktion zweier Aussagen ''A'' und ''B'' ist genau dann wahr, wenn mindestens eine der Aussagen ''A'' '''oder''' ''B'' wahr ist. Das mathematische Symbol ist '''&amp;amp;or;'''. In [[Java]] wird das '''OR''' durch '''||''' repräsentiert.&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! B !! A &amp;amp;or; B&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''false'' || ''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true'' || ''true''&lt;br /&gt;
|- &lt;br /&gt;
| ''true'' || ''false'' ||''true''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' ||''true'' || ''true''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''Venn-Diagramm?''&lt;br /&gt;
&lt;br /&gt;
===Negation (NOT)===&lt;br /&gt;
&lt;br /&gt;
Die '''Negation''' ist eine wichtige Operation in der Aussagenlogik. Die Negation einer Aussage ''A'' führt zur ihrer Verneinung. Das heißt aus einer wahren Aussage wird eine falsche Aussage und umgekehrt. Das mathematische Symbol ist '''&amp;amp;not;'''. In [[Java]] wird das '''NOT''' durch '''!''' repräsentiert.&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! &amp;amp;not;A&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' || ''false''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Kontravalenz (XOR)===&lt;br /&gt;
&lt;br /&gt;
Die '''Kontravalenz''' ist eine erweiterte logische Verknüpfung in der Aussagenlogik. Die Kontravalenz zweier Aussagen ''A'' und ''B'' ist genau dann wahr, wenn '''entweder''' ''A'' '''oder''' ''B'', aber nicht beide wahr sind. Das mathematische Symbol ist '''⊕'''. In [[Java]] wird das '''XOR''' durch '''^''' repräsentiert.&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! B !! A ⊕ B&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''false'' || ''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true'' || ''true''&lt;br /&gt;
|- &lt;br /&gt;
| ''true'' || ''false'' ||''true''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' ||''true'' || ''false''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''Venn-Diagramm?''&lt;br /&gt;
&lt;br /&gt;
===Implikation===&lt;br /&gt;
&lt;br /&gt;
Die '''Implikation''' ist eine erweiterte logische Verknüpfung in der Aussagenlogik. Die Implikation zweier Aussagen ''A'' und ''B'' ist genau dann wahr, wenn ''A'' falsch oder ''B'' wahr ist. Das mathematische Symbol ist '''&amp;amp;rArr;'''. Die Implikation ist semantisch äquivalent zu &amp;amp;not;A &amp;amp;or; B. In [[Java]] gibt es keinen Implikationsoperator. &lt;br /&gt;
&lt;br /&gt;
Eine Implikation wird im Deutschen meistens durch &amp;quot;'''wenn''' ''A'', '''dann''' ''B''&amp;quot; ausgedrückt. Es handelt sich hierbei um eine einfache Folgerung. Aus einer falschen Ausgangsaussage '''A''' lässt sich alles folgern, daher kann die Gesamtaussage nicht falsch werden. &lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! B !! A &amp;amp;rArr; B&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''false'' || ''true''&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true'' || ''true''&lt;br /&gt;
|- &lt;br /&gt;
| ''true'' || ''false'' ||''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' ||''true'' || ''true''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''Venn-Diagramm?''&lt;br /&gt;
&lt;br /&gt;
===Äquivalenz (XNOR)===&lt;br /&gt;
&lt;br /&gt;
Die '''Äquivalenz''' ist eine erweiterte logische Verknüpfung in der Aussagenlogik. Die Äquivalenz zweier Aussagen ''A'' und ''B'' ist genau dann wahr, wenn ''A'' und ''B'' wahr oder ''A'' und ''B'' falsch sind. Das mathematische Symbol ist '''&amp;amp;hArr;'''. Die Äquivalenz ist semantisch äquivalent zu A &amp;amp;and; B &amp;amp;or; &amp;amp;not;A &amp;amp;and; &amp;amp;not;B. In [[Java]] gibt es keinen Operator hierfür. &lt;br /&gt;
&lt;br /&gt;
Die Äquivalenz wird im Deutschen meistens durch &amp;quot;'''genau dann''' ''A'', '''wenn''' ''B''&amp;quot; ausgedrückt. &amp;quot;Genau&amp;quot; heißt immer und nur unter dieser Bedingung. '''A''' gilt genau dann, wenn '''B''' gilt. '''A''' und '''B''' sind äquivalent, also austauschbar. Das heißt die vorherige Aussage gilt auch anders herum: '''B''' gilt genau dann, wenn '''A''' gilt.&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! B !! A &amp;amp;hArr; B&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''false'' || ''true''&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true'' || ''false''&lt;br /&gt;
|- &lt;br /&gt;
| ''true'' || ''false'' ||''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' ||''true'' || ''true''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''Venn-Diagramm?''&lt;br /&gt;
&lt;br /&gt;
==Peano-Axiome (erweitertes Wissen)==&lt;br /&gt;
&lt;br /&gt;
===Kommutativgesetze===&lt;br /&gt;
&lt;br /&gt;
(1) ''A'' &amp;amp;and; ''B'' &amp;amp;equiv; ''B'' &amp;amp;and; ''A''&lt;br /&gt;
&lt;br /&gt;
(1') ''A'' &amp;amp;or; ''B'' &amp;amp;equiv; ''B'' &amp;amp;or; ''A''&lt;br /&gt;
&lt;br /&gt;
====Erläuterung====&lt;br /&gt;
&lt;br /&gt;
Vertauschen der Argumente '''A''' und '''B''', ohne dass sich das Ergebnis der Operation ändert.&lt;br /&gt;
&lt;br /&gt;
===Assoziativgesetze===&lt;br /&gt;
&lt;br /&gt;
(2) (''A'' &amp;amp;and; ''B'') &amp;amp;and; ''C'' &amp;amp;equiv; ''A'' &amp;amp;and; (''B'' &amp;amp;and; ''C'')&lt;br /&gt;
&lt;br /&gt;
(2') (''A'' &amp;amp;or; ''B'') &amp;amp;or; ''C'' &amp;amp;equiv; ''A'' &amp;amp;or; (''B'' &amp;amp;or; ''C'')&lt;br /&gt;
&lt;br /&gt;
====Erläuterung====&lt;br /&gt;
Die Reihenfolge der durchgeführten Operationen hat keinen Einfluss auf das Ergebnis.&lt;br /&gt;
&lt;br /&gt;
===Idempotenzgesetze===&lt;br /&gt;
&lt;br /&gt;
(3) ''A'' &amp;amp;and; ''A'' &amp;amp;equiv; ''A''&lt;br /&gt;
&lt;br /&gt;
(3') ''A'' &amp;amp;or; ''A'' &amp;amp;equiv; ''A''&lt;br /&gt;
&lt;br /&gt;
Die Eigenschaften des Arguments '''A''' bleiben, auch wenn dieses mit sich selbst verknüft wird, bestehen.&lt;br /&gt;
&lt;br /&gt;
===Distributivgesetze===&lt;br /&gt;
(4) ''A'' &amp;amp;and; (''B'' &amp;amp;or; ''C'') &amp;amp;equiv; (''A'' &amp;amp;and; ''B'') &amp;amp;or; (''A'' &amp;amp;and; ''C'')&lt;br /&gt;
&lt;br /&gt;
(4') ''A'' &amp;amp;or; (''B'' &amp;amp;and; ''C'') &amp;amp;equiv; (''A'' &amp;amp;or; ''B'') &amp;amp;and; (''A'' &amp;amp;or; ''C'')&lt;br /&gt;
&lt;br /&gt;
Auswirkung des Aufösens von Klammern um Verknüfungen von Operationen: ähnlich dem &amp;quot;Ausmultiplizieren&amp;quot; in der Schulmathematik.&lt;br /&gt;
&lt;br /&gt;
===Neutralitätsgesetze===&lt;br /&gt;
&lt;br /&gt;
(5) ''A'' &amp;amp;and; ''true'' &amp;amp;equiv; ''A''&lt;br /&gt;
&lt;br /&gt;
(5') ''A'' &amp;amp;or; ''false'' &amp;amp;equiv; ''A''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Extremalgesetze===&lt;br /&gt;
&lt;br /&gt;
(6) ''A'' &amp;amp;and; ''false'' &amp;amp;equiv; ''false''&lt;br /&gt;
&lt;br /&gt;
(6') ''A'' &amp;amp;or; ''true'' &amp;amp;equiv; ''true''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Doppelnegationsgesetz===&lt;br /&gt;
&lt;br /&gt;
(7) &amp;amp;not;&amp;amp;not;''A'' &amp;amp;equiv; ''A''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===De Morgansche Gesetze===&lt;br /&gt;
(8) &amp;amp;not;(''A'' &amp;amp;and; ''B'') &amp;amp;equiv; &amp;amp;not;''A'' &amp;amp;or; &amp;amp;not;''B''&lt;br /&gt;
&lt;br /&gt;
(8') &amp;amp;not;(''A'' &amp;amp;or; ''B'') &amp;amp;equiv; &amp;amp;not;''A'' &amp;amp;and; &amp;amp;not;''B''&lt;br /&gt;
&lt;br /&gt;
===Komplementärgesetze===&lt;br /&gt;
(9) ''A'' &amp;amp;and; &amp;amp;not;''A'' &amp;amp;equiv; ''false''&lt;br /&gt;
&lt;br /&gt;
(9') ''A'' &amp;amp;or; &amp;amp;not;''A'' &amp;amp;equiv; ''true''&lt;br /&gt;
&lt;br /&gt;
===Dualitätsgesetze===&lt;br /&gt;
(10) &amp;amp;not;0 &amp;amp;equiv; 1&lt;br /&gt;
&lt;br /&gt;
(10') &amp;amp;not;1 &amp;amp;equiv; 0&lt;/div&gt;</summary>
		<author><name>Solveig</name></author>	</entry>

	<entry>
		<id>https://ls14-eini.cs.tu-dortmund.de/index.php?title=Boolesche_Algebra&amp;diff=1732</id>
		<title>Boolesche Algebra</title>
		<link rel="alternate" type="text/html" href="https://ls14-eini.cs.tu-dortmund.de/index.php?title=Boolesche_Algebra&amp;diff=1732"/>
				<updated>2016-08-17T10:57:14Z</updated>
		
		<summary type="html">&lt;p&gt;Solveig: /* Erläuterung */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Die '''boolesche Algebra''' ist eine algebraische Struktur und beschreibt die Operationen '''UND''', '''ODER''' und '''NICHT''', die auf logische Aussagen angewendet werden können.&lt;br /&gt;
&lt;br /&gt;
==Die booleschen Operatoren==&lt;br /&gt;
&lt;br /&gt;
===Konjunktion (AND)===&lt;br /&gt;
&lt;br /&gt;
Die '''Konjunktion''' ist eine der grundlegenden logischen Verknüpfungen der Aussagenlogik. Die Konjunktion zweier Aussagen ''A'' und ''B'' ist genau dann wahr, wenn ''A'' '''und''' ''B'' (sowohl als auch) wahr sind. Das mathematische Symbol ist '''&amp;amp;and;'''. In [[Java]] wird das '''AND''' durch '''&amp;amp;&amp;amp;''' repräsentiert.&lt;br /&gt;
[[Datei:venn_and.png|right]]&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! B !! A &amp;amp;and; B&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''false'' || ''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true'' || ''false''&lt;br /&gt;
|- &lt;br /&gt;
| ''true'' || ''false'' ||''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' ||''true'' || ''true''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Disjunktion (OR)===&lt;br /&gt;
&lt;br /&gt;
Die '''Disjunktion''' ist eine der grundlegenden logischen Verknüpfungen der Aussagenlogik. Die Disjunktion zweier Aussagen ''A'' und ''B'' ist genau dann wahr, wenn mindestens eine der Aussagen ''A'' '''oder''' ''B'' wahr ist. Das mathematische Symbol ist '''&amp;amp;or;'''. In [[Java]] wird das '''OR''' durch '''||''' repräsentiert.&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! B !! A &amp;amp;or; B&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''false'' || ''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true'' || ''true''&lt;br /&gt;
|- &lt;br /&gt;
| ''true'' || ''false'' ||''true''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' ||''true'' || ''true''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''Venn-Diagramm?''&lt;br /&gt;
&lt;br /&gt;
===Negation (NOT)===&lt;br /&gt;
&lt;br /&gt;
Die '''Negation''' ist eine wichtige Operation in der Aussagenlogik. Die Negation einer Aussage ''A'' führt zur ihrer Verneinung. Das heißt aus einer wahren Aussage wird eine falsche Aussage und umgekehrt. Das mathematische Symbol ist '''&amp;amp;not;'''. In [[Java]] wird das '''NOT''' durch '''!''' repräsentiert.&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! &amp;amp;not;A&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' || ''false''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Kontravalenz (XOR)===&lt;br /&gt;
&lt;br /&gt;
Die '''Kontravalenz''' ist eine erweiterte logische Verknüpfung in der Aussagenlogik. Die Kontravalenz zweier Aussagen ''A'' und ''B'' ist genau dann wahr, wenn '''entweder''' ''A'' '''oder''' ''B'', aber nicht beide wahr sind. Das mathematische Symbol ist '''⊕'''. In [[Java]] wird das '''XOR''' durch '''^''' repräsentiert.&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! B !! A ⊕ B&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''false'' || ''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true'' || ''true''&lt;br /&gt;
|- &lt;br /&gt;
| ''true'' || ''false'' ||''true''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' ||''true'' || ''false''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''Venn-Diagramm?''&lt;br /&gt;
&lt;br /&gt;
===Implikation===&lt;br /&gt;
&lt;br /&gt;
Die '''Implikation''' ist eine erweiterte logische Verknüpfung in der Aussagenlogik. Die Implikation zweier Aussagen ''A'' und ''B'' ist genau dann wahr, wenn ''A'' falsch oder ''B'' wahr ist. Das mathematische Symbol ist '''&amp;amp;rArr;'''. Die Implikation ist semantisch äquivalent zu &amp;amp;not;A &amp;amp;or; B. In [[Java]] gibt es keinen Implikationsoperator. &lt;br /&gt;
&lt;br /&gt;
Eine Implikation wird im Deutschen meistens durch &amp;quot;'''wenn''' ''A'', '''dann''' ''B''&amp;quot; ausgedrückt. Es handelt sich hierbei um eine einfache Folgerung. Aus einer falschen Ausgangsaussage '''A''' lässt sich alles folgern, daher kann die Gesamtaussage nicht falsch werden. &lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! B !! A &amp;amp;rArr; B&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''false'' || ''true''&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true'' || ''true''&lt;br /&gt;
|- &lt;br /&gt;
| ''true'' || ''false'' ||''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' ||''true'' || ''true''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''Venn-Diagramm?''&lt;br /&gt;
&lt;br /&gt;
===Äquivalenz (XNOR)===&lt;br /&gt;
&lt;br /&gt;
Die '''Äquivalenz''' ist eine erweiterte logische Verknüpfung in der Aussagenlogik. Die Äquivalenz zweier Aussagen ''A'' und ''B'' ist genau dann wahr, wenn ''A'' und ''B'' wahr oder ''A'' und ''B'' falsch sind. Das mathematische Symbol ist '''&amp;amp;hArr;'''. Die Äquivalenz ist semantisch äquivalent zu A &amp;amp;and; B &amp;amp;or; &amp;amp;not;A &amp;amp;and; &amp;amp;not;B. In [[Java]] gibt es keinen Operator hierfür. &lt;br /&gt;
&lt;br /&gt;
Die Äquivalenz wird im Deutschen meistens durch &amp;quot;'''genau dann''' ''A'', '''wenn''' ''B''&amp;quot; ausgedrückt. &amp;quot;Genau&amp;quot; heißt immer und nur unter dieser Bedingung. '''A''' gilt genau dann, wenn '''B''' gilt. '''A''' und '''B''' sind äquivalent, also austauschbar. Das heißt die vorherige Aussage gilt auch anders herum: '''B''' gilt genau dann, wenn '''A''' gilt.&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! B !! A &amp;amp;hArr; B&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''false'' || ''true''&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true'' || ''false''&lt;br /&gt;
|- &lt;br /&gt;
| ''true'' || ''false'' ||''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' ||''true'' || ''true''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''Venn-Diagramm?''&lt;br /&gt;
&lt;br /&gt;
==Peano-Axiome (erweitertes Wissen)==&lt;br /&gt;
&lt;br /&gt;
===Kommutativgesetze===&lt;br /&gt;
&lt;br /&gt;
(1) ''A'' &amp;amp;and; ''B'' &amp;amp;equiv; ''B'' &amp;amp;and; ''A''&lt;br /&gt;
&lt;br /&gt;
(1') ''A'' &amp;amp;or; ''B'' &amp;amp;equiv; ''B'' &amp;amp;or; ''A''&lt;br /&gt;
&lt;br /&gt;
====Erläuterung====&lt;br /&gt;
&lt;br /&gt;
Vertauschen der Argumente '''A''' und '''B''', ohne dass sich das Ergebnis der Operation ändert.&lt;br /&gt;
&lt;br /&gt;
===Assoziativgesetze===&lt;br /&gt;
&lt;br /&gt;
(2) (''A'' &amp;amp;and; ''B'') &amp;amp;and; ''C'' &amp;amp;equiv; ''A'' &amp;amp;and; (''B'' &amp;amp;and; ''C'')&lt;br /&gt;
&lt;br /&gt;
(2') (''A'' &amp;amp;or; ''B'') &amp;amp;or; ''C'' &amp;amp;equiv; ''A'' &amp;amp;or; (''B'' &amp;amp;or; ''C'')&lt;br /&gt;
&lt;br /&gt;
Die Reihenfolge der durchgeführten Operationen hat keinen Einfluss auf das Ergebnis.&lt;br /&gt;
&lt;br /&gt;
===Idempotenzgesetze===&lt;br /&gt;
&lt;br /&gt;
(3) ''A'' &amp;amp;and; ''A'' &amp;amp;equiv; ''A''&lt;br /&gt;
&lt;br /&gt;
(3') ''A'' &amp;amp;or; ''A'' &amp;amp;equiv; ''A''&lt;br /&gt;
&lt;br /&gt;
Die Eigenschaften des Arguments '''A''' bleiben, auch wenn dieses mit sich selbst verknüft wird, bestehen.&lt;br /&gt;
&lt;br /&gt;
===Distributivgesetze===&lt;br /&gt;
(4) ''A'' &amp;amp;and; (''B'' &amp;amp;or; ''C'') &amp;amp;equiv; (''A'' &amp;amp;and; ''B'') &amp;amp;or; (''A'' &amp;amp;and; ''C'')&lt;br /&gt;
&lt;br /&gt;
(4') ''A'' &amp;amp;or; (''B'' &amp;amp;and; ''C'') &amp;amp;equiv; (''A'' &amp;amp;or; ''B'') &amp;amp;and; (''A'' &amp;amp;or; ''C'')&lt;br /&gt;
&lt;br /&gt;
Auswirkung des Aufösens von Klammern um Verknüfungen von Operationen: ähnlich dem &amp;quot;Ausmultiplizieren&amp;quot; in der Schulmathematik.&lt;br /&gt;
&lt;br /&gt;
===Neutralitätsgesetze===&lt;br /&gt;
&lt;br /&gt;
(5) ''A'' &amp;amp;and; ''true'' &amp;amp;equiv; ''A''&lt;br /&gt;
&lt;br /&gt;
(5') ''A'' &amp;amp;or; ''false'' &amp;amp;equiv; ''A''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Extremalgesetze===&lt;br /&gt;
&lt;br /&gt;
(6) ''A'' &amp;amp;and; ''false'' &amp;amp;equiv; ''false''&lt;br /&gt;
&lt;br /&gt;
(6') ''A'' &amp;amp;or; ''true'' &amp;amp;equiv; ''true''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Doppelnegationsgesetz===&lt;br /&gt;
&lt;br /&gt;
(7) &amp;amp;not;&amp;amp;not;''A'' &amp;amp;equiv; ''A''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===De Morgansche Gesetze===&lt;br /&gt;
(8) &amp;amp;not;(''A'' &amp;amp;and; ''B'') &amp;amp;equiv; &amp;amp;not;''A'' &amp;amp;or; &amp;amp;not;''B''&lt;br /&gt;
&lt;br /&gt;
(8') &amp;amp;not;(''A'' &amp;amp;or; ''B'') &amp;amp;equiv; &amp;amp;not;''A'' &amp;amp;and; &amp;amp;not;''B''&lt;br /&gt;
&lt;br /&gt;
===Komplementärgesetze===&lt;br /&gt;
(9) ''A'' &amp;amp;and; &amp;amp;not;''A'' &amp;amp;equiv; ''false''&lt;br /&gt;
&lt;br /&gt;
(9') ''A'' &amp;amp;or; &amp;amp;not;''A'' &amp;amp;equiv; ''true''&lt;br /&gt;
&lt;br /&gt;
===Dualitätsgesetze===&lt;br /&gt;
(10) &amp;amp;not;0 &amp;amp;equiv; 1&lt;br /&gt;
&lt;br /&gt;
(10') &amp;amp;not;1 &amp;amp;equiv; 0&lt;/div&gt;</summary>
		<author><name>Solveig</name></author>	</entry>

	<entry>
		<id>https://ls14-eini.cs.tu-dortmund.de/index.php?title=Boolesche_Algebra&amp;diff=1731</id>
		<title>Boolesche Algebra</title>
		<link rel="alternate" type="text/html" href="https://ls14-eini.cs.tu-dortmund.de/index.php?title=Boolesche_Algebra&amp;diff=1731"/>
				<updated>2016-08-17T10:56:59Z</updated>
		
		<summary type="html">&lt;p&gt;Solveig: /* Erläuterung */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Die '''boolesche Algebra''' ist eine algebraische Struktur und beschreibt die Operationen '''UND''', '''ODER''' und '''NICHT''', die auf logische Aussagen angewendet werden können.&lt;br /&gt;
&lt;br /&gt;
==Die booleschen Operatoren==&lt;br /&gt;
&lt;br /&gt;
===Konjunktion (AND)===&lt;br /&gt;
&lt;br /&gt;
Die '''Konjunktion''' ist eine der grundlegenden logischen Verknüpfungen der Aussagenlogik. Die Konjunktion zweier Aussagen ''A'' und ''B'' ist genau dann wahr, wenn ''A'' '''und''' ''B'' (sowohl als auch) wahr sind. Das mathematische Symbol ist '''&amp;amp;and;'''. In [[Java]] wird das '''AND''' durch '''&amp;amp;&amp;amp;''' repräsentiert.&lt;br /&gt;
[[Datei:venn_and.png|right]]&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! B !! A &amp;amp;and; B&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''false'' || ''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true'' || ''false''&lt;br /&gt;
|- &lt;br /&gt;
| ''true'' || ''false'' ||''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' ||''true'' || ''true''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Disjunktion (OR)===&lt;br /&gt;
&lt;br /&gt;
Die '''Disjunktion''' ist eine der grundlegenden logischen Verknüpfungen der Aussagenlogik. Die Disjunktion zweier Aussagen ''A'' und ''B'' ist genau dann wahr, wenn mindestens eine der Aussagen ''A'' '''oder''' ''B'' wahr ist. Das mathematische Symbol ist '''&amp;amp;or;'''. In [[Java]] wird das '''OR''' durch '''||''' repräsentiert.&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! B !! A &amp;amp;or; B&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''false'' || ''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true'' || ''true''&lt;br /&gt;
|- &lt;br /&gt;
| ''true'' || ''false'' ||''true''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' ||''true'' || ''true''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''Venn-Diagramm?''&lt;br /&gt;
&lt;br /&gt;
===Negation (NOT)===&lt;br /&gt;
&lt;br /&gt;
Die '''Negation''' ist eine wichtige Operation in der Aussagenlogik. Die Negation einer Aussage ''A'' führt zur ihrer Verneinung. Das heißt aus einer wahren Aussage wird eine falsche Aussage und umgekehrt. Das mathematische Symbol ist '''&amp;amp;not;'''. In [[Java]] wird das '''NOT''' durch '''!''' repräsentiert.&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! &amp;amp;not;A&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' || ''false''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Kontravalenz (XOR)===&lt;br /&gt;
&lt;br /&gt;
Die '''Kontravalenz''' ist eine erweiterte logische Verknüpfung in der Aussagenlogik. Die Kontravalenz zweier Aussagen ''A'' und ''B'' ist genau dann wahr, wenn '''entweder''' ''A'' '''oder''' ''B'', aber nicht beide wahr sind. Das mathematische Symbol ist '''⊕'''. In [[Java]] wird das '''XOR''' durch '''^''' repräsentiert.&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! B !! A ⊕ B&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''false'' || ''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true'' || ''true''&lt;br /&gt;
|- &lt;br /&gt;
| ''true'' || ''false'' ||''true''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' ||''true'' || ''false''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''Venn-Diagramm?''&lt;br /&gt;
&lt;br /&gt;
===Implikation===&lt;br /&gt;
&lt;br /&gt;
Die '''Implikation''' ist eine erweiterte logische Verknüpfung in der Aussagenlogik. Die Implikation zweier Aussagen ''A'' und ''B'' ist genau dann wahr, wenn ''A'' falsch oder ''B'' wahr ist. Das mathematische Symbol ist '''&amp;amp;rArr;'''. Die Implikation ist semantisch äquivalent zu &amp;amp;not;A &amp;amp;or; B. In [[Java]] gibt es keinen Implikationsoperator. &lt;br /&gt;
&lt;br /&gt;
Eine Implikation wird im Deutschen meistens durch &amp;quot;'''wenn''' ''A'', '''dann''' ''B''&amp;quot; ausgedrückt. Es handelt sich hierbei um eine einfache Folgerung. Aus einer falschen Ausgangsaussage '''A''' lässt sich alles folgern, daher kann die Gesamtaussage nicht falsch werden. &lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! B !! A &amp;amp;rArr; B&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''false'' || ''true''&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true'' || ''true''&lt;br /&gt;
|- &lt;br /&gt;
| ''true'' || ''false'' ||''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' ||''true'' || ''true''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''Venn-Diagramm?''&lt;br /&gt;
&lt;br /&gt;
===Äquivalenz (XNOR)===&lt;br /&gt;
&lt;br /&gt;
Die '''Äquivalenz''' ist eine erweiterte logische Verknüpfung in der Aussagenlogik. Die Äquivalenz zweier Aussagen ''A'' und ''B'' ist genau dann wahr, wenn ''A'' und ''B'' wahr oder ''A'' und ''B'' falsch sind. Das mathematische Symbol ist '''&amp;amp;hArr;'''. Die Äquivalenz ist semantisch äquivalent zu A &amp;amp;and; B &amp;amp;or; &amp;amp;not;A &amp;amp;and; &amp;amp;not;B. In [[Java]] gibt es keinen Operator hierfür. &lt;br /&gt;
&lt;br /&gt;
Die Äquivalenz wird im Deutschen meistens durch &amp;quot;'''genau dann''' ''A'', '''wenn''' ''B''&amp;quot; ausgedrückt. &amp;quot;Genau&amp;quot; heißt immer und nur unter dieser Bedingung. '''A''' gilt genau dann, wenn '''B''' gilt. '''A''' und '''B''' sind äquivalent, also austauschbar. Das heißt die vorherige Aussage gilt auch anders herum: '''B''' gilt genau dann, wenn '''A''' gilt.&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! B !! A &amp;amp;hArr; B&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''false'' || ''true''&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true'' || ''false''&lt;br /&gt;
|- &lt;br /&gt;
| ''true'' || ''false'' ||''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' ||''true'' || ''true''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''Venn-Diagramm?''&lt;br /&gt;
&lt;br /&gt;
==Peano-Axiome (erweitertes Wissen)==&lt;br /&gt;
&lt;br /&gt;
===Kommutativgesetze===&lt;br /&gt;
&lt;br /&gt;
(1) ''A'' &amp;amp;and; ''B'' &amp;amp;equiv; ''B'' &amp;amp;and; ''A''&lt;br /&gt;
&lt;br /&gt;
(1') ''A'' &amp;amp;or; ''B'' &amp;amp;equiv; ''B'' &amp;amp;or; ''A''&lt;br /&gt;
&lt;br /&gt;
===Erläuterung===&lt;br /&gt;
&lt;br /&gt;
Vertauschen der Argumente '''A''' und '''B''', ohne dass sich das Ergebnis der Operation ändert.&lt;br /&gt;
&lt;br /&gt;
===Assoziativgesetze===&lt;br /&gt;
&lt;br /&gt;
(2) (''A'' &amp;amp;and; ''B'') &amp;amp;and; ''C'' &amp;amp;equiv; ''A'' &amp;amp;and; (''B'' &amp;amp;and; ''C'')&lt;br /&gt;
&lt;br /&gt;
(2') (''A'' &amp;amp;or; ''B'') &amp;amp;or; ''C'' &amp;amp;equiv; ''A'' &amp;amp;or; (''B'' &amp;amp;or; ''C'')&lt;br /&gt;
&lt;br /&gt;
Die Reihenfolge der durchgeführten Operationen hat keinen Einfluss auf das Ergebnis.&lt;br /&gt;
&lt;br /&gt;
===Idempotenzgesetze===&lt;br /&gt;
&lt;br /&gt;
(3) ''A'' &amp;amp;and; ''A'' &amp;amp;equiv; ''A''&lt;br /&gt;
&lt;br /&gt;
(3') ''A'' &amp;amp;or; ''A'' &amp;amp;equiv; ''A''&lt;br /&gt;
&lt;br /&gt;
Die Eigenschaften des Arguments '''A''' bleiben, auch wenn dieses mit sich selbst verknüft wird, bestehen.&lt;br /&gt;
&lt;br /&gt;
===Distributivgesetze===&lt;br /&gt;
(4) ''A'' &amp;amp;and; (''B'' &amp;amp;or; ''C'') &amp;amp;equiv; (''A'' &amp;amp;and; ''B'') &amp;amp;or; (''A'' &amp;amp;and; ''C'')&lt;br /&gt;
&lt;br /&gt;
(4') ''A'' &amp;amp;or; (''B'' &amp;amp;and; ''C'') &amp;amp;equiv; (''A'' &amp;amp;or; ''B'') &amp;amp;and; (''A'' &amp;amp;or; ''C'')&lt;br /&gt;
&lt;br /&gt;
Auswirkung des Aufösens von Klammern um Verknüfungen von Operationen: ähnlich dem &amp;quot;Ausmultiplizieren&amp;quot; in der Schulmathematik.&lt;br /&gt;
&lt;br /&gt;
===Neutralitätsgesetze===&lt;br /&gt;
&lt;br /&gt;
(5) ''A'' &amp;amp;and; ''true'' &amp;amp;equiv; ''A''&lt;br /&gt;
&lt;br /&gt;
(5') ''A'' &amp;amp;or; ''false'' &amp;amp;equiv; ''A''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Extremalgesetze===&lt;br /&gt;
&lt;br /&gt;
(6) ''A'' &amp;amp;and; ''false'' &amp;amp;equiv; ''false''&lt;br /&gt;
&lt;br /&gt;
(6') ''A'' &amp;amp;or; ''true'' &amp;amp;equiv; ''true''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Doppelnegationsgesetz===&lt;br /&gt;
&lt;br /&gt;
(7) &amp;amp;not;&amp;amp;not;''A'' &amp;amp;equiv; ''A''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===De Morgansche Gesetze===&lt;br /&gt;
(8) &amp;amp;not;(''A'' &amp;amp;and; ''B'') &amp;amp;equiv; &amp;amp;not;''A'' &amp;amp;or; &amp;amp;not;''B''&lt;br /&gt;
&lt;br /&gt;
(8') &amp;amp;not;(''A'' &amp;amp;or; ''B'') &amp;amp;equiv; &amp;amp;not;''A'' &amp;amp;and; &amp;amp;not;''B''&lt;br /&gt;
&lt;br /&gt;
===Komplementärgesetze===&lt;br /&gt;
(9) ''A'' &amp;amp;and; &amp;amp;not;''A'' &amp;amp;equiv; ''false''&lt;br /&gt;
&lt;br /&gt;
(9') ''A'' &amp;amp;or; &amp;amp;not;''A'' &amp;amp;equiv; ''true''&lt;br /&gt;
&lt;br /&gt;
===Dualitätsgesetze===&lt;br /&gt;
(10) &amp;amp;not;0 &amp;amp;equiv; 1&lt;br /&gt;
&lt;br /&gt;
(10') &amp;amp;not;1 &amp;amp;equiv; 0&lt;/div&gt;</summary>
		<author><name>Solveig</name></author>	</entry>

	<entry>
		<id>https://ls14-eini.cs.tu-dortmund.de/index.php?title=Boolesche_Algebra&amp;diff=1730</id>
		<title>Boolesche Algebra</title>
		<link rel="alternate" type="text/html" href="https://ls14-eini.cs.tu-dortmund.de/index.php?title=Boolesche_Algebra&amp;diff=1730"/>
				<updated>2016-08-17T10:56:35Z</updated>
		
		<summary type="html">&lt;p&gt;Solveig: /* Kommutativgesetze */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Die '''boolesche Algebra''' ist eine algebraische Struktur und beschreibt die Operationen '''UND''', '''ODER''' und '''NICHT''', die auf logische Aussagen angewendet werden können.&lt;br /&gt;
&lt;br /&gt;
==Die booleschen Operatoren==&lt;br /&gt;
&lt;br /&gt;
===Konjunktion (AND)===&lt;br /&gt;
&lt;br /&gt;
Die '''Konjunktion''' ist eine der grundlegenden logischen Verknüpfungen der Aussagenlogik. Die Konjunktion zweier Aussagen ''A'' und ''B'' ist genau dann wahr, wenn ''A'' '''und''' ''B'' (sowohl als auch) wahr sind. Das mathematische Symbol ist '''&amp;amp;and;'''. In [[Java]] wird das '''AND''' durch '''&amp;amp;&amp;amp;''' repräsentiert.&lt;br /&gt;
[[Datei:venn_and.png|right]]&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! B !! A &amp;amp;and; B&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''false'' || ''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true'' || ''false''&lt;br /&gt;
|- &lt;br /&gt;
| ''true'' || ''false'' ||''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' ||''true'' || ''true''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Disjunktion (OR)===&lt;br /&gt;
&lt;br /&gt;
Die '''Disjunktion''' ist eine der grundlegenden logischen Verknüpfungen der Aussagenlogik. Die Disjunktion zweier Aussagen ''A'' und ''B'' ist genau dann wahr, wenn mindestens eine der Aussagen ''A'' '''oder''' ''B'' wahr ist. Das mathematische Symbol ist '''&amp;amp;or;'''. In [[Java]] wird das '''OR''' durch '''||''' repräsentiert.&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! B !! A &amp;amp;or; B&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''false'' || ''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true'' || ''true''&lt;br /&gt;
|- &lt;br /&gt;
| ''true'' || ''false'' ||''true''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' ||''true'' || ''true''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''Venn-Diagramm?''&lt;br /&gt;
&lt;br /&gt;
===Negation (NOT)===&lt;br /&gt;
&lt;br /&gt;
Die '''Negation''' ist eine wichtige Operation in der Aussagenlogik. Die Negation einer Aussage ''A'' führt zur ihrer Verneinung. Das heißt aus einer wahren Aussage wird eine falsche Aussage und umgekehrt. Das mathematische Symbol ist '''&amp;amp;not;'''. In [[Java]] wird das '''NOT''' durch '''!''' repräsentiert.&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! &amp;amp;not;A&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' || ''false''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Kontravalenz (XOR)===&lt;br /&gt;
&lt;br /&gt;
Die '''Kontravalenz''' ist eine erweiterte logische Verknüpfung in der Aussagenlogik. Die Kontravalenz zweier Aussagen ''A'' und ''B'' ist genau dann wahr, wenn '''entweder''' ''A'' '''oder''' ''B'', aber nicht beide wahr sind. Das mathematische Symbol ist '''⊕'''. In [[Java]] wird das '''XOR''' durch '''^''' repräsentiert.&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! B !! A ⊕ B&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''false'' || ''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true'' || ''true''&lt;br /&gt;
|- &lt;br /&gt;
| ''true'' || ''false'' ||''true''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' ||''true'' || ''false''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''Venn-Diagramm?''&lt;br /&gt;
&lt;br /&gt;
===Implikation===&lt;br /&gt;
&lt;br /&gt;
Die '''Implikation''' ist eine erweiterte logische Verknüpfung in der Aussagenlogik. Die Implikation zweier Aussagen ''A'' und ''B'' ist genau dann wahr, wenn ''A'' falsch oder ''B'' wahr ist. Das mathematische Symbol ist '''&amp;amp;rArr;'''. Die Implikation ist semantisch äquivalent zu &amp;amp;not;A &amp;amp;or; B. In [[Java]] gibt es keinen Implikationsoperator. &lt;br /&gt;
&lt;br /&gt;
Eine Implikation wird im Deutschen meistens durch &amp;quot;'''wenn''' ''A'', '''dann''' ''B''&amp;quot; ausgedrückt. Es handelt sich hierbei um eine einfache Folgerung. Aus einer falschen Ausgangsaussage '''A''' lässt sich alles folgern, daher kann die Gesamtaussage nicht falsch werden. &lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! B !! A &amp;amp;rArr; B&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''false'' || ''true''&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true'' || ''true''&lt;br /&gt;
|- &lt;br /&gt;
| ''true'' || ''false'' ||''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' ||''true'' || ''true''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''Venn-Diagramm?''&lt;br /&gt;
&lt;br /&gt;
===Äquivalenz (XNOR)===&lt;br /&gt;
&lt;br /&gt;
Die '''Äquivalenz''' ist eine erweiterte logische Verknüpfung in der Aussagenlogik. Die Äquivalenz zweier Aussagen ''A'' und ''B'' ist genau dann wahr, wenn ''A'' und ''B'' wahr oder ''A'' und ''B'' falsch sind. Das mathematische Symbol ist '''&amp;amp;hArr;'''. Die Äquivalenz ist semantisch äquivalent zu A &amp;amp;and; B &amp;amp;or; &amp;amp;not;A &amp;amp;and; &amp;amp;not;B. In [[Java]] gibt es keinen Operator hierfür. &lt;br /&gt;
&lt;br /&gt;
Die Äquivalenz wird im Deutschen meistens durch &amp;quot;'''genau dann''' ''A'', '''wenn''' ''B''&amp;quot; ausgedrückt. &amp;quot;Genau&amp;quot; heißt immer und nur unter dieser Bedingung. '''A''' gilt genau dann, wenn '''B''' gilt. '''A''' und '''B''' sind äquivalent, also austauschbar. Das heißt die vorherige Aussage gilt auch anders herum: '''B''' gilt genau dann, wenn '''A''' gilt.&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! B !! A &amp;amp;hArr; B&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''false'' || ''true''&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true'' || ''false''&lt;br /&gt;
|- &lt;br /&gt;
| ''true'' || ''false'' ||''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' ||''true'' || ''true''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''Venn-Diagramm?''&lt;br /&gt;
&lt;br /&gt;
==Peano-Axiome (erweitertes Wissen)==&lt;br /&gt;
&lt;br /&gt;
===Kommutativgesetze===&lt;br /&gt;
&lt;br /&gt;
(1) ''A'' &amp;amp;and; ''B'' &amp;amp;equiv; ''B'' &amp;amp;and; ''A''&lt;br /&gt;
&lt;br /&gt;
(1') ''A'' &amp;amp;or; ''B'' &amp;amp;equiv; ''B'' &amp;amp;or; ''A''&lt;br /&gt;
&lt;br /&gt;
==Erläuterung==&lt;br /&gt;
&lt;br /&gt;
Vertauschen der Argumente '''A''' und '''B''', ohne dass sich das Ergebnis der Operation ändert.&lt;br /&gt;
&lt;br /&gt;
===Assoziativgesetze===&lt;br /&gt;
&lt;br /&gt;
(2) (''A'' &amp;amp;and; ''B'') &amp;amp;and; ''C'' &amp;amp;equiv; ''A'' &amp;amp;and; (''B'' &amp;amp;and; ''C'')&lt;br /&gt;
&lt;br /&gt;
(2') (''A'' &amp;amp;or; ''B'') &amp;amp;or; ''C'' &amp;amp;equiv; ''A'' &amp;amp;or; (''B'' &amp;amp;or; ''C'')&lt;br /&gt;
&lt;br /&gt;
Die Reihenfolge der durchgeführten Operationen hat keinen Einfluss auf das Ergebnis.&lt;br /&gt;
&lt;br /&gt;
===Idempotenzgesetze===&lt;br /&gt;
&lt;br /&gt;
(3) ''A'' &amp;amp;and; ''A'' &amp;amp;equiv; ''A''&lt;br /&gt;
&lt;br /&gt;
(3') ''A'' &amp;amp;or; ''A'' &amp;amp;equiv; ''A''&lt;br /&gt;
&lt;br /&gt;
Die Eigenschaften des Arguments '''A''' bleiben, auch wenn dieses mit sich selbst verknüft wird, bestehen.&lt;br /&gt;
&lt;br /&gt;
===Distributivgesetze===&lt;br /&gt;
(4) ''A'' &amp;amp;and; (''B'' &amp;amp;or; ''C'') &amp;amp;equiv; (''A'' &amp;amp;and; ''B'') &amp;amp;or; (''A'' &amp;amp;and; ''C'')&lt;br /&gt;
&lt;br /&gt;
(4') ''A'' &amp;amp;or; (''B'' &amp;amp;and; ''C'') &amp;amp;equiv; (''A'' &amp;amp;or; ''B'') &amp;amp;and; (''A'' &amp;amp;or; ''C'')&lt;br /&gt;
&lt;br /&gt;
Auswirkung des Aufösens von Klammern um Verknüfungen von Operationen: ähnlich dem &amp;quot;Ausmultiplizieren&amp;quot; in der Schulmathematik.&lt;br /&gt;
&lt;br /&gt;
===Neutralitätsgesetze===&lt;br /&gt;
&lt;br /&gt;
(5) ''A'' &amp;amp;and; ''true'' &amp;amp;equiv; ''A''&lt;br /&gt;
&lt;br /&gt;
(5') ''A'' &amp;amp;or; ''false'' &amp;amp;equiv; ''A''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Extremalgesetze===&lt;br /&gt;
&lt;br /&gt;
(6) ''A'' &amp;amp;and; ''false'' &amp;amp;equiv; ''false''&lt;br /&gt;
&lt;br /&gt;
(6') ''A'' &amp;amp;or; ''true'' &amp;amp;equiv; ''true''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Doppelnegationsgesetz===&lt;br /&gt;
&lt;br /&gt;
(7) &amp;amp;not;&amp;amp;not;''A'' &amp;amp;equiv; ''A''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===De Morgansche Gesetze===&lt;br /&gt;
(8) &amp;amp;not;(''A'' &amp;amp;and; ''B'') &amp;amp;equiv; &amp;amp;not;''A'' &amp;amp;or; &amp;amp;not;''B''&lt;br /&gt;
&lt;br /&gt;
(8') &amp;amp;not;(''A'' &amp;amp;or; ''B'') &amp;amp;equiv; &amp;amp;not;''A'' &amp;amp;and; &amp;amp;not;''B''&lt;br /&gt;
&lt;br /&gt;
===Komplementärgesetze===&lt;br /&gt;
(9) ''A'' &amp;amp;and; &amp;amp;not;''A'' &amp;amp;equiv; ''false''&lt;br /&gt;
&lt;br /&gt;
(9') ''A'' &amp;amp;or; &amp;amp;not;''A'' &amp;amp;equiv; ''true''&lt;br /&gt;
&lt;br /&gt;
===Dualitätsgesetze===&lt;br /&gt;
(10) &amp;amp;not;0 &amp;amp;equiv; 1&lt;br /&gt;
&lt;br /&gt;
(10') &amp;amp;not;1 &amp;amp;equiv; 0&lt;/div&gt;</summary>
		<author><name>Solveig</name></author>	</entry>

	<entry>
		<id>https://ls14-eini.cs.tu-dortmund.de/index.php?title=Boolesche_Algebra&amp;diff=1729</id>
		<title>Boolesche Algebra</title>
		<link rel="alternate" type="text/html" href="https://ls14-eini.cs.tu-dortmund.de/index.php?title=Boolesche_Algebra&amp;diff=1729"/>
				<updated>2016-08-17T10:56:01Z</updated>
		
		<summary type="html">&lt;p&gt;Solveig: /* Distributivgesetze */ Erkäuterung&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Die '''boolesche Algebra''' ist eine algebraische Struktur und beschreibt die Operationen '''UND''', '''ODER''' und '''NICHT''', die auf logische Aussagen angewendet werden können.&lt;br /&gt;
&lt;br /&gt;
==Die booleschen Operatoren==&lt;br /&gt;
&lt;br /&gt;
===Konjunktion (AND)===&lt;br /&gt;
&lt;br /&gt;
Die '''Konjunktion''' ist eine der grundlegenden logischen Verknüpfungen der Aussagenlogik. Die Konjunktion zweier Aussagen ''A'' und ''B'' ist genau dann wahr, wenn ''A'' '''und''' ''B'' (sowohl als auch) wahr sind. Das mathematische Symbol ist '''&amp;amp;and;'''. In [[Java]] wird das '''AND''' durch '''&amp;amp;&amp;amp;''' repräsentiert.&lt;br /&gt;
[[Datei:venn_and.png|right]]&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! B !! A &amp;amp;and; B&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''false'' || ''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true'' || ''false''&lt;br /&gt;
|- &lt;br /&gt;
| ''true'' || ''false'' ||''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' ||''true'' || ''true''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Disjunktion (OR)===&lt;br /&gt;
&lt;br /&gt;
Die '''Disjunktion''' ist eine der grundlegenden logischen Verknüpfungen der Aussagenlogik. Die Disjunktion zweier Aussagen ''A'' und ''B'' ist genau dann wahr, wenn mindestens eine der Aussagen ''A'' '''oder''' ''B'' wahr ist. Das mathematische Symbol ist '''&amp;amp;or;'''. In [[Java]] wird das '''OR''' durch '''||''' repräsentiert.&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! B !! A &amp;amp;or; B&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''false'' || ''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true'' || ''true''&lt;br /&gt;
|- &lt;br /&gt;
| ''true'' || ''false'' ||''true''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' ||''true'' || ''true''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''Venn-Diagramm?''&lt;br /&gt;
&lt;br /&gt;
===Negation (NOT)===&lt;br /&gt;
&lt;br /&gt;
Die '''Negation''' ist eine wichtige Operation in der Aussagenlogik. Die Negation einer Aussage ''A'' führt zur ihrer Verneinung. Das heißt aus einer wahren Aussage wird eine falsche Aussage und umgekehrt. Das mathematische Symbol ist '''&amp;amp;not;'''. In [[Java]] wird das '''NOT''' durch '''!''' repräsentiert.&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! &amp;amp;not;A&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' || ''false''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Kontravalenz (XOR)===&lt;br /&gt;
&lt;br /&gt;
Die '''Kontravalenz''' ist eine erweiterte logische Verknüpfung in der Aussagenlogik. Die Kontravalenz zweier Aussagen ''A'' und ''B'' ist genau dann wahr, wenn '''entweder''' ''A'' '''oder''' ''B'', aber nicht beide wahr sind. Das mathematische Symbol ist '''⊕'''. In [[Java]] wird das '''XOR''' durch '''^''' repräsentiert.&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! B !! A ⊕ B&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''false'' || ''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true'' || ''true''&lt;br /&gt;
|- &lt;br /&gt;
| ''true'' || ''false'' ||''true''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' ||''true'' || ''false''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''Venn-Diagramm?''&lt;br /&gt;
&lt;br /&gt;
===Implikation===&lt;br /&gt;
&lt;br /&gt;
Die '''Implikation''' ist eine erweiterte logische Verknüpfung in der Aussagenlogik. Die Implikation zweier Aussagen ''A'' und ''B'' ist genau dann wahr, wenn ''A'' falsch oder ''B'' wahr ist. Das mathematische Symbol ist '''&amp;amp;rArr;'''. Die Implikation ist semantisch äquivalent zu &amp;amp;not;A &amp;amp;or; B. In [[Java]] gibt es keinen Implikationsoperator. &lt;br /&gt;
&lt;br /&gt;
Eine Implikation wird im Deutschen meistens durch &amp;quot;'''wenn''' ''A'', '''dann''' ''B''&amp;quot; ausgedrückt. Es handelt sich hierbei um eine einfache Folgerung. Aus einer falschen Ausgangsaussage '''A''' lässt sich alles folgern, daher kann die Gesamtaussage nicht falsch werden. &lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! B !! A &amp;amp;rArr; B&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''false'' || ''true''&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true'' || ''true''&lt;br /&gt;
|- &lt;br /&gt;
| ''true'' || ''false'' ||''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' ||''true'' || ''true''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''Venn-Diagramm?''&lt;br /&gt;
&lt;br /&gt;
===Äquivalenz (XNOR)===&lt;br /&gt;
&lt;br /&gt;
Die '''Äquivalenz''' ist eine erweiterte logische Verknüpfung in der Aussagenlogik. Die Äquivalenz zweier Aussagen ''A'' und ''B'' ist genau dann wahr, wenn ''A'' und ''B'' wahr oder ''A'' und ''B'' falsch sind. Das mathematische Symbol ist '''&amp;amp;hArr;'''. Die Äquivalenz ist semantisch äquivalent zu A &amp;amp;and; B &amp;amp;or; &amp;amp;not;A &amp;amp;and; &amp;amp;not;B. In [[Java]] gibt es keinen Operator hierfür. &lt;br /&gt;
&lt;br /&gt;
Die Äquivalenz wird im Deutschen meistens durch &amp;quot;'''genau dann''' ''A'', '''wenn''' ''B''&amp;quot; ausgedrückt. &amp;quot;Genau&amp;quot; heißt immer und nur unter dieser Bedingung. '''A''' gilt genau dann, wenn '''B''' gilt. '''A''' und '''B''' sind äquivalent, also austauschbar. Das heißt die vorherige Aussage gilt auch anders herum: '''B''' gilt genau dann, wenn '''A''' gilt.&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! B !! A &amp;amp;hArr; B&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''false'' || ''true''&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true'' || ''false''&lt;br /&gt;
|- &lt;br /&gt;
| ''true'' || ''false'' ||''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' ||''true'' || ''true''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''Venn-Diagramm?''&lt;br /&gt;
&lt;br /&gt;
==Peano-Axiome (erweitertes Wissen)==&lt;br /&gt;
&lt;br /&gt;
===Kommutativgesetze===&lt;br /&gt;
&lt;br /&gt;
(1) ''A'' &amp;amp;and; ''B'' &amp;amp;equiv; ''B'' &amp;amp;and; ''A''&lt;br /&gt;
&lt;br /&gt;
(1') ''A'' &amp;amp;or; ''B'' &amp;amp;equiv; ''B'' &amp;amp;or; ''A''&lt;br /&gt;
&lt;br /&gt;
Vertauschen der Argumente '''A''' und '''B''', ohne dass sich das Ergebnis der Operation ändert.&lt;br /&gt;
&lt;br /&gt;
===Assoziativgesetze===&lt;br /&gt;
&lt;br /&gt;
(2) (''A'' &amp;amp;and; ''B'') &amp;amp;and; ''C'' &amp;amp;equiv; ''A'' &amp;amp;and; (''B'' &amp;amp;and; ''C'')&lt;br /&gt;
&lt;br /&gt;
(2') (''A'' &amp;amp;or; ''B'') &amp;amp;or; ''C'' &amp;amp;equiv; ''A'' &amp;amp;or; (''B'' &amp;amp;or; ''C'')&lt;br /&gt;
&lt;br /&gt;
Die Reihenfolge der durchgeführten Operationen hat keinen Einfluss auf das Ergebnis.&lt;br /&gt;
&lt;br /&gt;
===Idempotenzgesetze===&lt;br /&gt;
&lt;br /&gt;
(3) ''A'' &amp;amp;and; ''A'' &amp;amp;equiv; ''A''&lt;br /&gt;
&lt;br /&gt;
(3') ''A'' &amp;amp;or; ''A'' &amp;amp;equiv; ''A''&lt;br /&gt;
&lt;br /&gt;
Die Eigenschaften des Arguments '''A''' bleiben, auch wenn dieses mit sich selbst verknüft wird, bestehen.&lt;br /&gt;
&lt;br /&gt;
===Distributivgesetze===&lt;br /&gt;
(4) ''A'' &amp;amp;and; (''B'' &amp;amp;or; ''C'') &amp;amp;equiv; (''A'' &amp;amp;and; ''B'') &amp;amp;or; (''A'' &amp;amp;and; ''C'')&lt;br /&gt;
&lt;br /&gt;
(4') ''A'' &amp;amp;or; (''B'' &amp;amp;and; ''C'') &amp;amp;equiv; (''A'' &amp;amp;or; ''B'') &amp;amp;and; (''A'' &amp;amp;or; ''C'')&lt;br /&gt;
&lt;br /&gt;
Auswirkung des Aufösens von Klammern um Verknüfungen von Operationen: ähnlich dem &amp;quot;Ausmultiplizieren&amp;quot; in der Schulmathematik.&lt;br /&gt;
&lt;br /&gt;
===Neutralitätsgesetze===&lt;br /&gt;
&lt;br /&gt;
(5) ''A'' &amp;amp;and; ''true'' &amp;amp;equiv; ''A''&lt;br /&gt;
&lt;br /&gt;
(5') ''A'' &amp;amp;or; ''false'' &amp;amp;equiv; ''A''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Extremalgesetze===&lt;br /&gt;
&lt;br /&gt;
(6) ''A'' &amp;amp;and; ''false'' &amp;amp;equiv; ''false''&lt;br /&gt;
&lt;br /&gt;
(6') ''A'' &amp;amp;or; ''true'' &amp;amp;equiv; ''true''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Doppelnegationsgesetz===&lt;br /&gt;
&lt;br /&gt;
(7) &amp;amp;not;&amp;amp;not;''A'' &amp;amp;equiv; ''A''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===De Morgansche Gesetze===&lt;br /&gt;
(8) &amp;amp;not;(''A'' &amp;amp;and; ''B'') &amp;amp;equiv; &amp;amp;not;''A'' &amp;amp;or; &amp;amp;not;''B''&lt;br /&gt;
&lt;br /&gt;
(8') &amp;amp;not;(''A'' &amp;amp;or; ''B'') &amp;amp;equiv; &amp;amp;not;''A'' &amp;amp;and; &amp;amp;not;''B''&lt;br /&gt;
&lt;br /&gt;
===Komplementärgesetze===&lt;br /&gt;
(9) ''A'' &amp;amp;and; &amp;amp;not;''A'' &amp;amp;equiv; ''false''&lt;br /&gt;
&lt;br /&gt;
(9') ''A'' &amp;amp;or; &amp;amp;not;''A'' &amp;amp;equiv; ''true''&lt;br /&gt;
&lt;br /&gt;
===Dualitätsgesetze===&lt;br /&gt;
(10) &amp;amp;not;0 &amp;amp;equiv; 1&lt;br /&gt;
&lt;br /&gt;
(10') &amp;amp;not;1 &amp;amp;equiv; 0&lt;/div&gt;</summary>
		<author><name>Solveig</name></author>	</entry>

	<entry>
		<id>https://ls14-eini.cs.tu-dortmund.de/index.php?title=Boolesche_Algebra&amp;diff=1728</id>
		<title>Boolesche Algebra</title>
		<link rel="alternate" type="text/html" href="https://ls14-eini.cs.tu-dortmund.de/index.php?title=Boolesche_Algebra&amp;diff=1728"/>
				<updated>2016-08-17T10:53:25Z</updated>
		
		<summary type="html">&lt;p&gt;Solveig: /* Idempotenzgesetze */ Erläuterung&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Die '''boolesche Algebra''' ist eine algebraische Struktur und beschreibt die Operationen '''UND''', '''ODER''' und '''NICHT''', die auf logische Aussagen angewendet werden können.&lt;br /&gt;
&lt;br /&gt;
==Die booleschen Operatoren==&lt;br /&gt;
&lt;br /&gt;
===Konjunktion (AND)===&lt;br /&gt;
&lt;br /&gt;
Die '''Konjunktion''' ist eine der grundlegenden logischen Verknüpfungen der Aussagenlogik. Die Konjunktion zweier Aussagen ''A'' und ''B'' ist genau dann wahr, wenn ''A'' '''und''' ''B'' (sowohl als auch) wahr sind. Das mathematische Symbol ist '''&amp;amp;and;'''. In [[Java]] wird das '''AND''' durch '''&amp;amp;&amp;amp;''' repräsentiert.&lt;br /&gt;
[[Datei:venn_and.png|right]]&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! B !! A &amp;amp;and; B&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''false'' || ''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true'' || ''false''&lt;br /&gt;
|- &lt;br /&gt;
| ''true'' || ''false'' ||''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' ||''true'' || ''true''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Disjunktion (OR)===&lt;br /&gt;
&lt;br /&gt;
Die '''Disjunktion''' ist eine der grundlegenden logischen Verknüpfungen der Aussagenlogik. Die Disjunktion zweier Aussagen ''A'' und ''B'' ist genau dann wahr, wenn mindestens eine der Aussagen ''A'' '''oder''' ''B'' wahr ist. Das mathematische Symbol ist '''&amp;amp;or;'''. In [[Java]] wird das '''OR''' durch '''||''' repräsentiert.&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! B !! A &amp;amp;or; B&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''false'' || ''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true'' || ''true''&lt;br /&gt;
|- &lt;br /&gt;
| ''true'' || ''false'' ||''true''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' ||''true'' || ''true''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''Venn-Diagramm?''&lt;br /&gt;
&lt;br /&gt;
===Negation (NOT)===&lt;br /&gt;
&lt;br /&gt;
Die '''Negation''' ist eine wichtige Operation in der Aussagenlogik. Die Negation einer Aussage ''A'' führt zur ihrer Verneinung. Das heißt aus einer wahren Aussage wird eine falsche Aussage und umgekehrt. Das mathematische Symbol ist '''&amp;amp;not;'''. In [[Java]] wird das '''NOT''' durch '''!''' repräsentiert.&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! &amp;amp;not;A&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' || ''false''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Kontravalenz (XOR)===&lt;br /&gt;
&lt;br /&gt;
Die '''Kontravalenz''' ist eine erweiterte logische Verknüpfung in der Aussagenlogik. Die Kontravalenz zweier Aussagen ''A'' und ''B'' ist genau dann wahr, wenn '''entweder''' ''A'' '''oder''' ''B'', aber nicht beide wahr sind. Das mathematische Symbol ist '''⊕'''. In [[Java]] wird das '''XOR''' durch '''^''' repräsentiert.&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! B !! A ⊕ B&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''false'' || ''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true'' || ''true''&lt;br /&gt;
|- &lt;br /&gt;
| ''true'' || ''false'' ||''true''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' ||''true'' || ''false''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''Venn-Diagramm?''&lt;br /&gt;
&lt;br /&gt;
===Implikation===&lt;br /&gt;
&lt;br /&gt;
Die '''Implikation''' ist eine erweiterte logische Verknüpfung in der Aussagenlogik. Die Implikation zweier Aussagen ''A'' und ''B'' ist genau dann wahr, wenn ''A'' falsch oder ''B'' wahr ist. Das mathematische Symbol ist '''&amp;amp;rArr;'''. Die Implikation ist semantisch äquivalent zu &amp;amp;not;A &amp;amp;or; B. In [[Java]] gibt es keinen Implikationsoperator. &lt;br /&gt;
&lt;br /&gt;
Eine Implikation wird im Deutschen meistens durch &amp;quot;'''wenn''' ''A'', '''dann''' ''B''&amp;quot; ausgedrückt. Es handelt sich hierbei um eine einfache Folgerung. Aus einer falschen Ausgangsaussage '''A''' lässt sich alles folgern, daher kann die Gesamtaussage nicht falsch werden. &lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! B !! A &amp;amp;rArr; B&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''false'' || ''true''&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true'' || ''true''&lt;br /&gt;
|- &lt;br /&gt;
| ''true'' || ''false'' ||''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' ||''true'' || ''true''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''Venn-Diagramm?''&lt;br /&gt;
&lt;br /&gt;
===Äquivalenz (XNOR)===&lt;br /&gt;
&lt;br /&gt;
Die '''Äquivalenz''' ist eine erweiterte logische Verknüpfung in der Aussagenlogik. Die Äquivalenz zweier Aussagen ''A'' und ''B'' ist genau dann wahr, wenn ''A'' und ''B'' wahr oder ''A'' und ''B'' falsch sind. Das mathematische Symbol ist '''&amp;amp;hArr;'''. Die Äquivalenz ist semantisch äquivalent zu A &amp;amp;and; B &amp;amp;or; &amp;amp;not;A &amp;amp;and; &amp;amp;not;B. In [[Java]] gibt es keinen Operator hierfür. &lt;br /&gt;
&lt;br /&gt;
Die Äquivalenz wird im Deutschen meistens durch &amp;quot;'''genau dann''' ''A'', '''wenn''' ''B''&amp;quot; ausgedrückt. &amp;quot;Genau&amp;quot; heißt immer und nur unter dieser Bedingung. '''A''' gilt genau dann, wenn '''B''' gilt. '''A''' und '''B''' sind äquivalent, also austauschbar. Das heißt die vorherige Aussage gilt auch anders herum: '''B''' gilt genau dann, wenn '''A''' gilt.&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! B !! A &amp;amp;hArr; B&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''false'' || ''true''&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true'' || ''false''&lt;br /&gt;
|- &lt;br /&gt;
| ''true'' || ''false'' ||''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' ||''true'' || ''true''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''Venn-Diagramm?''&lt;br /&gt;
&lt;br /&gt;
==Peano-Axiome (erweitertes Wissen)==&lt;br /&gt;
&lt;br /&gt;
===Kommutativgesetze===&lt;br /&gt;
&lt;br /&gt;
(1) ''A'' &amp;amp;and; ''B'' &amp;amp;equiv; ''B'' &amp;amp;and; ''A''&lt;br /&gt;
&lt;br /&gt;
(1') ''A'' &amp;amp;or; ''B'' &amp;amp;equiv; ''B'' &amp;amp;or; ''A''&lt;br /&gt;
&lt;br /&gt;
Vertauschen der Argumente '''A''' und '''B''', ohne dass sich das Ergebnis der Operation ändert.&lt;br /&gt;
&lt;br /&gt;
===Assoziativgesetze===&lt;br /&gt;
&lt;br /&gt;
(2) (''A'' &amp;amp;and; ''B'') &amp;amp;and; ''C'' &amp;amp;equiv; ''A'' &amp;amp;and; (''B'' &amp;amp;and; ''C'')&lt;br /&gt;
&lt;br /&gt;
(2') (''A'' &amp;amp;or; ''B'') &amp;amp;or; ''C'' &amp;amp;equiv; ''A'' &amp;amp;or; (''B'' &amp;amp;or; ''C'')&lt;br /&gt;
&lt;br /&gt;
Die Reihenfolge der durchgeführten Operationen hat keinen Einfluss auf das Ergebnis.&lt;br /&gt;
&lt;br /&gt;
===Idempotenzgesetze===&lt;br /&gt;
&lt;br /&gt;
(3) ''A'' &amp;amp;and; ''A'' &amp;amp;equiv; ''A''&lt;br /&gt;
&lt;br /&gt;
(3') ''A'' &amp;amp;or; ''A'' &amp;amp;equiv; ''A''&lt;br /&gt;
&lt;br /&gt;
Die Eigenschaften des Arguments '''A''' bleiben, auch wenn dieses mit sich selbst verknüft wird, bestehen.&lt;br /&gt;
&lt;br /&gt;
===Distributivgesetze===&lt;br /&gt;
(4) ''A'' &amp;amp;and; (''B'' &amp;amp;or; ''C'') &amp;amp;equiv; (''A'' &amp;amp;and; ''B'') &amp;amp;or; (''A'' &amp;amp;and; ''C'')&lt;br /&gt;
&lt;br /&gt;
(4') ''A'' &amp;amp;or; (''B'' &amp;amp;and; ''C'') &amp;amp;equiv; (''A'' &amp;amp;or; ''B'') &amp;amp;and; (''A'' &amp;amp;or; ''C'')&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Neutralitätsgesetze===&lt;br /&gt;
&lt;br /&gt;
(5) ''A'' &amp;amp;and; ''true'' &amp;amp;equiv; ''A''&lt;br /&gt;
&lt;br /&gt;
(5') ''A'' &amp;amp;or; ''false'' &amp;amp;equiv; ''A''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Extremalgesetze===&lt;br /&gt;
&lt;br /&gt;
(6) ''A'' &amp;amp;and; ''false'' &amp;amp;equiv; ''false''&lt;br /&gt;
&lt;br /&gt;
(6') ''A'' &amp;amp;or; ''true'' &amp;amp;equiv; ''true''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Doppelnegationsgesetz===&lt;br /&gt;
&lt;br /&gt;
(7) &amp;amp;not;&amp;amp;not;''A'' &amp;amp;equiv; ''A''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===De Morgansche Gesetze===&lt;br /&gt;
(8) &amp;amp;not;(''A'' &amp;amp;and; ''B'') &amp;amp;equiv; &amp;amp;not;''A'' &amp;amp;or; &amp;amp;not;''B''&lt;br /&gt;
&lt;br /&gt;
(8') &amp;amp;not;(''A'' &amp;amp;or; ''B'') &amp;amp;equiv; &amp;amp;not;''A'' &amp;amp;and; &amp;amp;not;''B''&lt;br /&gt;
&lt;br /&gt;
===Komplementärgesetze===&lt;br /&gt;
(9) ''A'' &amp;amp;and; &amp;amp;not;''A'' &amp;amp;equiv; ''false''&lt;br /&gt;
&lt;br /&gt;
(9') ''A'' &amp;amp;or; &amp;amp;not;''A'' &amp;amp;equiv; ''true''&lt;br /&gt;
&lt;br /&gt;
===Dualitätsgesetze===&lt;br /&gt;
(10) &amp;amp;not;0 &amp;amp;equiv; 1&lt;br /&gt;
&lt;br /&gt;
(10') &amp;amp;not;1 &amp;amp;equiv; 0&lt;/div&gt;</summary>
		<author><name>Solveig</name></author>	</entry>

	<entry>
		<id>https://ls14-eini.cs.tu-dortmund.de/index.php?title=Boolesche_Algebra&amp;diff=1727</id>
		<title>Boolesche Algebra</title>
		<link rel="alternate" type="text/html" href="https://ls14-eini.cs.tu-dortmund.de/index.php?title=Boolesche_Algebra&amp;diff=1727"/>
				<updated>2016-08-17T10:49:50Z</updated>
		
		<summary type="html">&lt;p&gt;Solveig: /* Assoziativgesetze */  Erläuterung&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Die '''boolesche Algebra''' ist eine algebraische Struktur und beschreibt die Operationen '''UND''', '''ODER''' und '''NICHT''', die auf logische Aussagen angewendet werden können.&lt;br /&gt;
&lt;br /&gt;
==Die booleschen Operatoren==&lt;br /&gt;
&lt;br /&gt;
===Konjunktion (AND)===&lt;br /&gt;
&lt;br /&gt;
Die '''Konjunktion''' ist eine der grundlegenden logischen Verknüpfungen der Aussagenlogik. Die Konjunktion zweier Aussagen ''A'' und ''B'' ist genau dann wahr, wenn ''A'' '''und''' ''B'' (sowohl als auch) wahr sind. Das mathematische Symbol ist '''&amp;amp;and;'''. In [[Java]] wird das '''AND''' durch '''&amp;amp;&amp;amp;''' repräsentiert.&lt;br /&gt;
[[Datei:venn_and.png|right]]&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! B !! A &amp;amp;and; B&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''false'' || ''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true'' || ''false''&lt;br /&gt;
|- &lt;br /&gt;
| ''true'' || ''false'' ||''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' ||''true'' || ''true''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Disjunktion (OR)===&lt;br /&gt;
&lt;br /&gt;
Die '''Disjunktion''' ist eine der grundlegenden logischen Verknüpfungen der Aussagenlogik. Die Disjunktion zweier Aussagen ''A'' und ''B'' ist genau dann wahr, wenn mindestens eine der Aussagen ''A'' '''oder''' ''B'' wahr ist. Das mathematische Symbol ist '''&amp;amp;or;'''. In [[Java]] wird das '''OR''' durch '''||''' repräsentiert.&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! B !! A &amp;amp;or; B&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''false'' || ''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true'' || ''true''&lt;br /&gt;
|- &lt;br /&gt;
| ''true'' || ''false'' ||''true''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' ||''true'' || ''true''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''Venn-Diagramm?''&lt;br /&gt;
&lt;br /&gt;
===Negation (NOT)===&lt;br /&gt;
&lt;br /&gt;
Die '''Negation''' ist eine wichtige Operation in der Aussagenlogik. Die Negation einer Aussage ''A'' führt zur ihrer Verneinung. Das heißt aus einer wahren Aussage wird eine falsche Aussage und umgekehrt. Das mathematische Symbol ist '''&amp;amp;not;'''. In [[Java]] wird das '''NOT''' durch '''!''' repräsentiert.&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! &amp;amp;not;A&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' || ''false''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Kontravalenz (XOR)===&lt;br /&gt;
&lt;br /&gt;
Die '''Kontravalenz''' ist eine erweiterte logische Verknüpfung in der Aussagenlogik. Die Kontravalenz zweier Aussagen ''A'' und ''B'' ist genau dann wahr, wenn '''entweder''' ''A'' '''oder''' ''B'', aber nicht beide wahr sind. Das mathematische Symbol ist '''⊕'''. In [[Java]] wird das '''XOR''' durch '''^''' repräsentiert.&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! B !! A ⊕ B&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''false'' || ''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true'' || ''true''&lt;br /&gt;
|- &lt;br /&gt;
| ''true'' || ''false'' ||''true''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' ||''true'' || ''false''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''Venn-Diagramm?''&lt;br /&gt;
&lt;br /&gt;
===Implikation===&lt;br /&gt;
&lt;br /&gt;
Die '''Implikation''' ist eine erweiterte logische Verknüpfung in der Aussagenlogik. Die Implikation zweier Aussagen ''A'' und ''B'' ist genau dann wahr, wenn ''A'' falsch oder ''B'' wahr ist. Das mathematische Symbol ist '''&amp;amp;rArr;'''. Die Implikation ist semantisch äquivalent zu &amp;amp;not;A &amp;amp;or; B. In [[Java]] gibt es keinen Implikationsoperator. &lt;br /&gt;
&lt;br /&gt;
Eine Implikation wird im Deutschen meistens durch &amp;quot;'''wenn''' ''A'', '''dann''' ''B''&amp;quot; ausgedrückt. Es handelt sich hierbei um eine einfache Folgerung. Aus einer falschen Ausgangsaussage '''A''' lässt sich alles folgern, daher kann die Gesamtaussage nicht falsch werden. &lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! B !! A &amp;amp;rArr; B&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''false'' || ''true''&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true'' || ''true''&lt;br /&gt;
|- &lt;br /&gt;
| ''true'' || ''false'' ||''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' ||''true'' || ''true''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''Venn-Diagramm?''&lt;br /&gt;
&lt;br /&gt;
===Äquivalenz (XNOR)===&lt;br /&gt;
&lt;br /&gt;
Die '''Äquivalenz''' ist eine erweiterte logische Verknüpfung in der Aussagenlogik. Die Äquivalenz zweier Aussagen ''A'' und ''B'' ist genau dann wahr, wenn ''A'' und ''B'' wahr oder ''A'' und ''B'' falsch sind. Das mathematische Symbol ist '''&amp;amp;hArr;'''. Die Äquivalenz ist semantisch äquivalent zu A &amp;amp;and; B &amp;amp;or; &amp;amp;not;A &amp;amp;and; &amp;amp;not;B. In [[Java]] gibt es keinen Operator hierfür. &lt;br /&gt;
&lt;br /&gt;
Die Äquivalenz wird im Deutschen meistens durch &amp;quot;'''genau dann''' ''A'', '''wenn''' ''B''&amp;quot; ausgedrückt. &amp;quot;Genau&amp;quot; heißt immer und nur unter dieser Bedingung. '''A''' gilt genau dann, wenn '''B''' gilt. '''A''' und '''B''' sind äquivalent, also austauschbar. Das heißt die vorherige Aussage gilt auch anders herum: '''B''' gilt genau dann, wenn '''A''' gilt.&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! B !! A &amp;amp;hArr; B&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''false'' || ''true''&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true'' || ''false''&lt;br /&gt;
|- &lt;br /&gt;
| ''true'' || ''false'' ||''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' ||''true'' || ''true''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''Venn-Diagramm?''&lt;br /&gt;
&lt;br /&gt;
==Peano-Axiome (erweitertes Wissen)==&lt;br /&gt;
&lt;br /&gt;
===Kommutativgesetze===&lt;br /&gt;
&lt;br /&gt;
(1) ''A'' &amp;amp;and; ''B'' &amp;amp;equiv; ''B'' &amp;amp;and; ''A''&lt;br /&gt;
&lt;br /&gt;
(1') ''A'' &amp;amp;or; ''B'' &amp;amp;equiv; ''B'' &amp;amp;or; ''A''&lt;br /&gt;
&lt;br /&gt;
Vertauschen der Argumente '''A''' und '''B''', ohne dass sich das Ergebnis der Operation ändert.&lt;br /&gt;
&lt;br /&gt;
===Assoziativgesetze===&lt;br /&gt;
&lt;br /&gt;
(2) (''A'' &amp;amp;and; ''B'') &amp;amp;and; ''C'' &amp;amp;equiv; ''A'' &amp;amp;and; (''B'' &amp;amp;and; ''C'')&lt;br /&gt;
&lt;br /&gt;
(2') (''A'' &amp;amp;or; ''B'') &amp;amp;or; ''C'' &amp;amp;equiv; ''A'' &amp;amp;or; (''B'' &amp;amp;or; ''C'')&lt;br /&gt;
&lt;br /&gt;
Die Reihenfolge der durchgeführten Operationen hat keinen Einfluss auf das Ergebnis.&lt;br /&gt;
&lt;br /&gt;
===Idempotenzgesetze===&lt;br /&gt;
&lt;br /&gt;
(3) ''A'' &amp;amp;and; ''A'' &amp;amp;equiv; ''A''&lt;br /&gt;
&lt;br /&gt;
(3') ''A'' &amp;amp;or; ''A'' &amp;amp;equiv; ''A''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Distributivgesetze===&lt;br /&gt;
(4) ''A'' &amp;amp;and; (''B'' &amp;amp;or; ''C'') &amp;amp;equiv; (''A'' &amp;amp;and; ''B'') &amp;amp;or; (''A'' &amp;amp;and; ''C'')&lt;br /&gt;
&lt;br /&gt;
(4') ''A'' &amp;amp;or; (''B'' &amp;amp;and; ''C'') &amp;amp;equiv; (''A'' &amp;amp;or; ''B'') &amp;amp;and; (''A'' &amp;amp;or; ''C'')&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Neutralitätsgesetze===&lt;br /&gt;
&lt;br /&gt;
(5) ''A'' &amp;amp;and; ''true'' &amp;amp;equiv; ''A''&lt;br /&gt;
&lt;br /&gt;
(5') ''A'' &amp;amp;or; ''false'' &amp;amp;equiv; ''A''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Extremalgesetze===&lt;br /&gt;
&lt;br /&gt;
(6) ''A'' &amp;amp;and; ''false'' &amp;amp;equiv; ''false''&lt;br /&gt;
&lt;br /&gt;
(6') ''A'' &amp;amp;or; ''true'' &amp;amp;equiv; ''true''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Doppelnegationsgesetz===&lt;br /&gt;
&lt;br /&gt;
(7) &amp;amp;not;&amp;amp;not;''A'' &amp;amp;equiv; ''A''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===De Morgansche Gesetze===&lt;br /&gt;
(8) &amp;amp;not;(''A'' &amp;amp;and; ''B'') &amp;amp;equiv; &amp;amp;not;''A'' &amp;amp;or; &amp;amp;not;''B''&lt;br /&gt;
&lt;br /&gt;
(8') &amp;amp;not;(''A'' &amp;amp;or; ''B'') &amp;amp;equiv; &amp;amp;not;''A'' &amp;amp;and; &amp;amp;not;''B''&lt;br /&gt;
&lt;br /&gt;
===Komplementärgesetze===&lt;br /&gt;
(9) ''A'' &amp;amp;and; &amp;amp;not;''A'' &amp;amp;equiv; ''false''&lt;br /&gt;
&lt;br /&gt;
(9') ''A'' &amp;amp;or; &amp;amp;not;''A'' &amp;amp;equiv; ''true''&lt;br /&gt;
&lt;br /&gt;
===Dualitätsgesetze===&lt;br /&gt;
(10) &amp;amp;not;0 &amp;amp;equiv; 1&lt;br /&gt;
&lt;br /&gt;
(10') &amp;amp;not;1 &amp;amp;equiv; 0&lt;/div&gt;</summary>
		<author><name>Solveig</name></author>	</entry>

	<entry>
		<id>https://ls14-eini.cs.tu-dortmund.de/index.php?title=Boolesche_Algebra&amp;diff=1726</id>
		<title>Boolesche Algebra</title>
		<link rel="alternate" type="text/html" href="https://ls14-eini.cs.tu-dortmund.de/index.php?title=Boolesche_Algebra&amp;diff=1726"/>
				<updated>2016-08-17T10:48:40Z</updated>
		
		<summary type="html">&lt;p&gt;Solveig: /* Kommutativgesetze */  Erlüterung ergänzt&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Die '''boolesche Algebra''' ist eine algebraische Struktur und beschreibt die Operationen '''UND''', '''ODER''' und '''NICHT''', die auf logische Aussagen angewendet werden können.&lt;br /&gt;
&lt;br /&gt;
==Die booleschen Operatoren==&lt;br /&gt;
&lt;br /&gt;
===Konjunktion (AND)===&lt;br /&gt;
&lt;br /&gt;
Die '''Konjunktion''' ist eine der grundlegenden logischen Verknüpfungen der Aussagenlogik. Die Konjunktion zweier Aussagen ''A'' und ''B'' ist genau dann wahr, wenn ''A'' '''und''' ''B'' (sowohl als auch) wahr sind. Das mathematische Symbol ist '''&amp;amp;and;'''. In [[Java]] wird das '''AND''' durch '''&amp;amp;&amp;amp;''' repräsentiert.&lt;br /&gt;
[[Datei:venn_and.png|right]]&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! B !! A &amp;amp;and; B&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''false'' || ''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true'' || ''false''&lt;br /&gt;
|- &lt;br /&gt;
| ''true'' || ''false'' ||''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' ||''true'' || ''true''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Disjunktion (OR)===&lt;br /&gt;
&lt;br /&gt;
Die '''Disjunktion''' ist eine der grundlegenden logischen Verknüpfungen der Aussagenlogik. Die Disjunktion zweier Aussagen ''A'' und ''B'' ist genau dann wahr, wenn mindestens eine der Aussagen ''A'' '''oder''' ''B'' wahr ist. Das mathematische Symbol ist '''&amp;amp;or;'''. In [[Java]] wird das '''OR''' durch '''||''' repräsentiert.&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! B !! A &amp;amp;or; B&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''false'' || ''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true'' || ''true''&lt;br /&gt;
|- &lt;br /&gt;
| ''true'' || ''false'' ||''true''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' ||''true'' || ''true''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''Venn-Diagramm?''&lt;br /&gt;
&lt;br /&gt;
===Negation (NOT)===&lt;br /&gt;
&lt;br /&gt;
Die '''Negation''' ist eine wichtige Operation in der Aussagenlogik. Die Negation einer Aussage ''A'' führt zur ihrer Verneinung. Das heißt aus einer wahren Aussage wird eine falsche Aussage und umgekehrt. Das mathematische Symbol ist '''&amp;amp;not;'''. In [[Java]] wird das '''NOT''' durch '''!''' repräsentiert.&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! &amp;amp;not;A&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' || ''false''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Kontravalenz (XOR)===&lt;br /&gt;
&lt;br /&gt;
Die '''Kontravalenz''' ist eine erweiterte logische Verknüpfung in der Aussagenlogik. Die Kontravalenz zweier Aussagen ''A'' und ''B'' ist genau dann wahr, wenn '''entweder''' ''A'' '''oder''' ''B'', aber nicht beide wahr sind. Das mathematische Symbol ist '''⊕'''. In [[Java]] wird das '''XOR''' durch '''^''' repräsentiert.&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! B !! A ⊕ B&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''false'' || ''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true'' || ''true''&lt;br /&gt;
|- &lt;br /&gt;
| ''true'' || ''false'' ||''true''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' ||''true'' || ''false''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''Venn-Diagramm?''&lt;br /&gt;
&lt;br /&gt;
===Implikation===&lt;br /&gt;
&lt;br /&gt;
Die '''Implikation''' ist eine erweiterte logische Verknüpfung in der Aussagenlogik. Die Implikation zweier Aussagen ''A'' und ''B'' ist genau dann wahr, wenn ''A'' falsch oder ''B'' wahr ist. Das mathematische Symbol ist '''&amp;amp;rArr;'''. Die Implikation ist semantisch äquivalent zu &amp;amp;not;A &amp;amp;or; B. In [[Java]] gibt es keinen Implikationsoperator. &lt;br /&gt;
&lt;br /&gt;
Eine Implikation wird im Deutschen meistens durch &amp;quot;'''wenn''' ''A'', '''dann''' ''B''&amp;quot; ausgedrückt. Es handelt sich hierbei um eine einfache Folgerung. Aus einer falschen Ausgangsaussage '''A''' lässt sich alles folgern, daher kann die Gesamtaussage nicht falsch werden. &lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! B !! A &amp;amp;rArr; B&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''false'' || ''true''&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true'' || ''true''&lt;br /&gt;
|- &lt;br /&gt;
| ''true'' || ''false'' ||''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' ||''true'' || ''true''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''Venn-Diagramm?''&lt;br /&gt;
&lt;br /&gt;
===Äquivalenz (XNOR)===&lt;br /&gt;
&lt;br /&gt;
Die '''Äquivalenz''' ist eine erweiterte logische Verknüpfung in der Aussagenlogik. Die Äquivalenz zweier Aussagen ''A'' und ''B'' ist genau dann wahr, wenn ''A'' und ''B'' wahr oder ''A'' und ''B'' falsch sind. Das mathematische Symbol ist '''&amp;amp;hArr;'''. Die Äquivalenz ist semantisch äquivalent zu A &amp;amp;and; B &amp;amp;or; &amp;amp;not;A &amp;amp;and; &amp;amp;not;B. In [[Java]] gibt es keinen Operator hierfür. &lt;br /&gt;
&lt;br /&gt;
Die Äquivalenz wird im Deutschen meistens durch &amp;quot;'''genau dann''' ''A'', '''wenn''' ''B''&amp;quot; ausgedrückt. &amp;quot;Genau&amp;quot; heißt immer und nur unter dieser Bedingung. '''A''' gilt genau dann, wenn '''B''' gilt. '''A''' und '''B''' sind äquivalent, also austauschbar. Das heißt die vorherige Aussage gilt auch anders herum: '''B''' gilt genau dann, wenn '''A''' gilt.&lt;br /&gt;
&lt;br /&gt;
{| class = &amp;quot;wikitable&amp;quot; width=50% align=&amp;quot;center&amp;quot;&lt;br /&gt;
! A !! B !! A &amp;amp;hArr; B&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''false'' || ''true''&lt;br /&gt;
|-&lt;br /&gt;
| ''false'' || ''true'' || ''false''&lt;br /&gt;
|- &lt;br /&gt;
| ''true'' || ''false'' ||''false''&lt;br /&gt;
|-&lt;br /&gt;
| ''true'' ||''true'' || ''true''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''Venn-Diagramm?''&lt;br /&gt;
&lt;br /&gt;
==Peano-Axiome (erweitertes Wissen)==&lt;br /&gt;
&lt;br /&gt;
===Kommutativgesetze===&lt;br /&gt;
&lt;br /&gt;
(1) ''A'' &amp;amp;and; ''B'' &amp;amp;equiv; ''B'' &amp;amp;and; ''A''&lt;br /&gt;
&lt;br /&gt;
(1') ''A'' &amp;amp;or; ''B'' &amp;amp;equiv; ''B'' &amp;amp;or; ''A''&lt;br /&gt;
&lt;br /&gt;
Vertauschen der Argumente '''A''' und '''B''', ohne dass sich das Ergebnis der Operation ändert.&lt;br /&gt;
&lt;br /&gt;
===Assoziativgesetze===&lt;br /&gt;
&lt;br /&gt;
(2) (''A'' &amp;amp;and; ''B'') &amp;amp;and; ''C'' &amp;amp;equiv; ''A'' &amp;amp;and; (''B'' &amp;amp;and; ''C'')&lt;br /&gt;
&lt;br /&gt;
(2') (''A'' &amp;amp;or; ''B'') &amp;amp;or; ''C'' &amp;amp;equiv; ''A'' &amp;amp;or; (''B'' &amp;amp;or; ''C'')&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Idempotenzgesetze===&lt;br /&gt;
&lt;br /&gt;
(3) ''A'' &amp;amp;and; ''A'' &amp;amp;equiv; ''A''&lt;br /&gt;
&lt;br /&gt;
(3') ''A'' &amp;amp;or; ''A'' &amp;amp;equiv; ''A''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Distributivgesetze===&lt;br /&gt;
(4) ''A'' &amp;amp;and; (''B'' &amp;amp;or; ''C'') &amp;amp;equiv; (''A'' &amp;amp;and; ''B'') &amp;amp;or; (''A'' &amp;amp;and; ''C'')&lt;br /&gt;
&lt;br /&gt;
(4') ''A'' &amp;amp;or; (''B'' &amp;amp;and; ''C'') &amp;amp;equiv; (''A'' &amp;amp;or; ''B'') &amp;amp;and; (''A'' &amp;amp;or; ''C'')&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Neutralitätsgesetze===&lt;br /&gt;
&lt;br /&gt;
(5) ''A'' &amp;amp;and; ''true'' &amp;amp;equiv; ''A''&lt;br /&gt;
&lt;br /&gt;
(5') ''A'' &amp;amp;or; ''false'' &amp;amp;equiv; ''A''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Extremalgesetze===&lt;br /&gt;
&lt;br /&gt;
(6) ''A'' &amp;amp;and; ''false'' &amp;amp;equiv; ''false''&lt;br /&gt;
&lt;br /&gt;
(6') ''A'' &amp;amp;or; ''true'' &amp;amp;equiv; ''true''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Doppelnegationsgesetz===&lt;br /&gt;
&lt;br /&gt;
(7) &amp;amp;not;&amp;amp;not;''A'' &amp;amp;equiv; ''A''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===De Morgansche Gesetze===&lt;br /&gt;
(8) &amp;amp;not;(''A'' &amp;amp;and; ''B'') &amp;amp;equiv; &amp;amp;not;''A'' &amp;amp;or; &amp;amp;not;''B''&lt;br /&gt;
&lt;br /&gt;
(8') &amp;amp;not;(''A'' &amp;amp;or; ''B'') &amp;amp;equiv; &amp;amp;not;''A'' &amp;amp;and; &amp;amp;not;''B''&lt;br /&gt;
&lt;br /&gt;
===Komplementärgesetze===&lt;br /&gt;
(9) ''A'' &amp;amp;and; &amp;amp;not;''A'' &amp;amp;equiv; ''false''&lt;br /&gt;
&lt;br /&gt;
(9') ''A'' &amp;amp;or; &amp;amp;not;''A'' &amp;amp;equiv; ''true''&lt;br /&gt;
&lt;br /&gt;
===Dualitätsgesetze===&lt;br /&gt;
(10) &amp;amp;not;0 &amp;amp;equiv; 1&lt;br /&gt;
&lt;br /&gt;
(10') &amp;amp;not;1 &amp;amp;equiv; 0&lt;/div&gt;</summary>
		<author><name>Solveig</name></author>	</entry>

	<entry>
		<id>https://ls14-eini.cs.tu-dortmund.de/index.php?title=Laufvariable&amp;diff=1725</id>
		<title>Laufvariable</title>
		<link rel="alternate" type="text/html" href="https://ls14-eini.cs.tu-dortmund.de/index.php?title=Laufvariable&amp;diff=1725"/>
				<updated>2016-08-16T18:59:31Z</updated>
		
		<summary type="html">&lt;p&gt;Solveig: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Laufvariablen oder '''Zählvariablen''' können als veränderbare Größen in den Bedingungen von [[Schleifen]] verwendet werden. Der Wert einer solchen Variablen wird bei jedem Schleifendurchlauf ('''Iteration''') verändert. So kann beispielsweise das mehrfache  Durchlaufen einer Schleife auf eine festgelegte Anzahl an Wiederholungen beschränkt werden.&lt;br /&gt;
&lt;br /&gt;
=Beispiel=&lt;br /&gt;
&amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
int x =6;&lt;br /&gt;
for( int i = 1 ; i &amp;lt; 7 ; ++i)&lt;br /&gt;
{&lt;br /&gt;
  if(i%2==0)&lt;br /&gt;
  {&lt;br /&gt;
    x++;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Wenn die '''Laufvarible''' i eine gerade Zahl ist, wird der Wert der Variablen &amp;quot;x&amp;quot; um eins erhöt. Nach sechs Durchläufen ist die Bedingung an die '''Laufvariable''' i  im '''Kopf ''' der [[for | for]]-Schleife nicht mehr erfüllt und die Schleife wird nicht erneut durchlaufen.&lt;/div&gt;</summary>
		<author><name>Solveig</name></author>	</entry>

	<entry>
		<id>https://ls14-eini.cs.tu-dortmund.de/index.php?title=Laufvariable&amp;diff=1724</id>
		<title>Laufvariable</title>
		<link rel="alternate" type="text/html" href="https://ls14-eini.cs.tu-dortmund.de/index.php?title=Laufvariable&amp;diff=1724"/>
				<updated>2016-08-16T18:58:54Z</updated>
		
		<summary type="html">&lt;p&gt;Solveig: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Laufvariablen oder '''Zählvariablen''' können in den Bedingungen von [[Schleifen]] verwendet werden. Der Wert einer solchen Variablen wird bei jedem Schleifendurchlauf ('''Iteration''') verändert. So kann beispielsweise das mehrfache  Durchlaufen einer Schleife auf eine festgelegte Anzahl an Wiederholungen beschränkt werden.&lt;br /&gt;
&lt;br /&gt;
=Beispiel=&lt;br /&gt;
&amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
int x =6;&lt;br /&gt;
for( int i = 1 ; i &amp;lt; 7 ; ++i)&lt;br /&gt;
{&lt;br /&gt;
  if(i%2==0)&lt;br /&gt;
  {&lt;br /&gt;
    x++;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Wenn die '''Laufvarible''' i eine gerade Zahl ist, wird der Wert der Variablen &amp;quot;x&amp;quot; um eins erhöt. Nach sechs Durchläufen ist die Bedingung an die '''Laufvariable''' i  im '''Kopf ''' der [[for | for]]-Schleife nicht mehr erfüllt und die Schleife wird nicht erneut durchlaufen.&lt;/div&gt;</summary>
		<author><name>Solveig</name></author>	</entry>

	<entry>
		<id>https://ls14-eini.cs.tu-dortmund.de/index.php?title=Laufvariable&amp;diff=1723</id>
		<title>Laufvariable</title>
		<link rel="alternate" type="text/html" href="https://ls14-eini.cs.tu-dortmund.de/index.php?title=Laufvariable&amp;diff=1723"/>
				<updated>2016-08-16T18:57:45Z</updated>
		
		<summary type="html">&lt;p&gt;Solveig: /* Beispiel */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Laufvariablen oder '''Zählvariablen''' können in den Bedingungen von [[Schleifen]] verwendet werden. Der Wert einer solchen Variablen wird bei jedem Schleifendurchlauf ('''Iteration''') verändert. So kann beispielsweise das mehrfache  Durchlaufen einer Schleife auf eine festgelegte Anzahl an Wiederholungen beschränkt werden.&lt;br /&gt;
&lt;br /&gt;
=Beispiel=&lt;br /&gt;
&amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
int x =6;&lt;br /&gt;
for( int i = 0 ; i &amp;lt; 7 ; ++i)&lt;br /&gt;
{&lt;br /&gt;
  if(i%2==0)&lt;br /&gt;
  {&lt;br /&gt;
    x++;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Wenn die '''Laufvarible''' i eine gerade Zahl ist, wird der Wert der Variablen &amp;quot;x&amp;quot; um eins erhöt. Nach sechs Durchläufen ist die Bedingung an die '''Laufvariable''' i  im '''Kopf ''' der [[for | for]]-Schleife nicht mehr erfüllt und die Schleife wird nicht erneut durchlaufen.&lt;/div&gt;</summary>
		<author><name>Solveig</name></author>	</entry>

	<entry>
		<id>https://ls14-eini.cs.tu-dortmund.de/index.php?title=Laufvariable&amp;diff=1722</id>
		<title>Laufvariable</title>
		<link rel="alternate" type="text/html" href="https://ls14-eini.cs.tu-dortmund.de/index.php?title=Laufvariable&amp;diff=1722"/>
				<updated>2016-08-16T18:57:27Z</updated>
		
		<summary type="html">&lt;p&gt;Solveig: Laufvariable - Beispiel ergänzt, noch in Bearbeitung&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Laufvariablen oder '''Zählvariablen''' können in den Bedingungen von [[Schleifen]] verwendet werden. Der Wert einer solchen Variablen wird bei jedem Schleifendurchlauf ('''Iteration''') verändert. So kann beispielsweise das mehrfache  Durchlaufen einer Schleife auf eine festgelegte Anzahl an Wiederholungen beschränkt werden.&lt;br /&gt;
&lt;br /&gt;
=Beispiel=&lt;br /&gt;
&amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
int x =6;&lt;br /&gt;
for( int i = 0 ; i &amp;lt; 7 ; ++i)&lt;br /&gt;
{&lt;br /&gt;
  if(i%2==0)&lt;br /&gt;
  {&lt;br /&gt;
    x++;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Wenn die '''Laufvarible''' i eine gerade Zahl ist, wird der Wert der Variablen &amp;quot;x&amp;quot; um eins erhöt. Nach sechs Durchläufen ist die Bedingung an die '''Laufvariable''' i  im '''Kopf ''' der #[[for | for]]-Schleife nicht mehr erfüllt und die Schleife wird nicht erneut durchlaufen.&lt;/div&gt;</summary>
		<author><name>Solveig</name></author>	</entry>

	</feed>