<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki.flbk-hamm.de/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Flbkwikiadmin</id>
	<title>FLBK-Wiki - Benutzerbeiträge [de]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.flbk-hamm.de/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Flbkwikiadmin"/>
	<link rel="alternate" type="text/html" href="https://wiki.flbk-hamm.de/Spezial:Beitr%C3%A4ge/Flbkwikiadmin"/>
	<updated>2026-09-21T00:41:30Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.46.0</generator>
	<entry>
		<id>https://wiki.flbk-hamm.de/index.php?title=Varianz_(Statistik)&amp;diff=2993</id>
		<title>Varianz (Statistik)</title>
		<link rel="alternate" type="text/html" href="https://wiki.flbk-hamm.de/index.php?title=Varianz_(Statistik)&amp;diff=2993"/>
		<updated>2026-09-18T08:35:11Z</updated>

		<summary type="html">&lt;p&gt;Flbkwikiadmin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Wurden [[Häufigkeit#Statistische Begriffe|Merkmalsausprägungen]] zu einem [[Häufigkeit#Statistische Begriffe|quantitativen Merkmal]] erhoben, ist die Varianz das arithmetische Mittel der quadrierten Abweichungen der Merkmalsausprägungen vom Mittelwert. Die Varianz quantifiziert also, wie stark die einzelnen Datenpunkte im Datensatz um den Mittelwert streuen. &lt;br /&gt;
&lt;br /&gt;
==Definition==&lt;br /&gt;
Es sei eine Zahlenfolge &amp;lt;math&amp;gt;x_1, x_2, \dots, x_n \in \mathbb{R}&amp;lt;/math&amp;gt; mit &amp;lt;math&amp;gt;n \in \mathbb{N}&amp;lt;/math&amp;gt; und dem [[Arithmetisches Mittel|arithmetischen Mittel]] &amp;lt;math&amp;gt;\bar{x}&amp;lt;/math&amp;gt; gegeben, dann heißt &amp;lt;math&amp;gt;s^2 = \frac{(x_1 - \bar{x})^2 + (x_2 - \bar{x})^2 + \dots + (x_n - \bar{x})^2}{n}&amp;lt;/math&amp;gt; &#039;&#039;&#039;Varianz&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&amp;lt;iframe width=&amp;quot;280&amp;quot; height=&amp;quot;157.5&amp;quot; src=&amp;quot;https://www.youtube.com/embed/maEsC-e7hkA?si=Cguc4VtTTmFPrWiH&amp;quot; title=&amp;quot;YouTube video player&amp;quot; frameborder=&amp;quot;0&amp;quot; allow=&amp;quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share&amp;quot; allowfullscreen&amp;gt;&amp;lt;/iframe&amp;gt;&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Varianz und Häufigkeiten==&lt;br /&gt;
Es seien &amp;lt;math&amp;gt;x_1, x_2, \dots, x_k&amp;lt;/math&amp;gt; die verschiedenen [[Häufigkeit#Statistische Begriffe|Merkmalsausprägungen]] eines [[Häufigkeit#Statistische Begriffe|quantitativen Merkmals]] mit den jeweiligen [[Häufigkeit#Definition|absoluten Häufigkeiten]] &amp;lt;math&amp;gt;a_1, a_2, \dots, a_k \in \mathbb{N}&amp;lt;/math&amp;gt;. Der [[Häufigkeit#Statistische Begriffe|Erhebungsumfang]] sei &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt;, wobei &amp;lt;math&amp;gt;\sum_{i=1}^{k} a_i = n&amp;lt;/math&amp;gt; gilt. Mit dem [[Arithmetisches Mittel|arithmetischen Mittel]] &amp;lt;math&amp;gt;\bar{x}&amp;lt;/math&amp;gt; heißt der Wert &lt;br /&gt;
&amp;lt;math&amp;gt;s^2 = \frac{a_1 \cdot (x_1 - \bar{x})^2 + a_2 \cdot (x_2 - \bar{x})^2 + \dots + a_k \cdot (x_k - \bar{x})^2}{n}&amp;lt;/math&amp;gt; &lt;br /&gt;
&#039;&#039;&#039;Varianz&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==Standardabweichung==&lt;br /&gt;
Es sei eine Zahlenfolge &amp;lt;math&amp;gt;x_1, x_2, \dots, x_n \in \mathbb{R}&amp;lt;/math&amp;gt; mit &amp;lt;math&amp;gt;n \in \mathbb{N}&amp;lt;/math&amp;gt; und der Varianz &amp;lt;math&amp;gt;s^2&amp;lt;/math&amp;gt; gegeben, dann heißt &amp;lt;math&amp;gt;s = \sqrt{s^2}&amp;lt;/math&amp;gt; &#039;&#039;&#039;Standardabweichung&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==Beispiele==&lt;br /&gt;
===Varianz und Standardabweichung berechnen===&lt;br /&gt;
Die folgende Tabelle zeigt ein Beispiel für eine [[Häufigkeit#Statistische Begriffe|Urliste]]. Die [[Häufigkeit#Statistische Begriffe|Stichprobe]] besteht aus den betrachteten Schülern. Für das [[Häufigkeit#Statistische Begriffe|quantitative Merkmal]] Körpergröße in cm wird die Varianz berechnet.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Schüler Nr. &lt;br /&gt;
| 1 || 2 || 3 || 4 || 5 || 6 || 7 || 8 || 9&lt;br /&gt;
|-&lt;br /&gt;
! Körpergröße in cm&lt;br /&gt;
| 183 || 172 || 163 || 154 || 158 || 166 || 177 || 188 || 190&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
# Die Merkmalsausprägungen des Merkmals Körpergröße in cm sind die Werte 183, 172, 163, 154, 158, 166, 177, 188 und 190.&lt;br /&gt;
# Der Erhebungsumfang beträgt 9, da die Körpergröße von 9 Schülern erhoben wurde.&lt;br /&gt;
# Das arithmetische Mittel ist &amp;lt;math&amp;gt;\bar{x} = \frac{183 + 172 + 163 + 154 + 158 + 166 + 177 + 188 + 190}{9} \approx 172{,}33&amp;lt;/math&amp;gt;.&lt;br /&gt;
# Die Varianz ist &amp;lt;math&amp;gt;s^2 = \frac{(183 - 172{,}33)^2 + (172 - 172{,}33)^2 + (163 - 172{,}33)^2 + (154 - 172{,}33)^2 + (158 - 172{,}33)^2 + (166 - 172{,}33)^2 + (177 - 172{,}33)^2 + (188 - 172{,}33)^2 + (190 - 172{,}33)^2}{9} \approx 151{,}23&amp;lt;/math&amp;gt;.&lt;br /&gt;
# Die Standardabweichung ist &amp;lt;math&amp;gt;s = \sqrt{151{,}23} \approx 12{,}29&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Varianz und Standardabweichung mit Häufigkeiten berechnen===&lt;br /&gt;
Fügen wir noch einen 10. Schüler mit der Körpergröße 154 cm hinzu, so erhalten wir die folgende Urliste:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Schüler Nr. &lt;br /&gt;
| 1 || 2 || 3 || 4 || 5 || 6 || 7 || 8 || 9 || 10&lt;br /&gt;
|-&lt;br /&gt;
! Körpergröße in cm&lt;br /&gt;
| 183 || 172 || 163 || 154 || 158 || 166 || 177 || 188 || 190 || 154&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
# Die Merkmalsausprägungen des Merkmals Körpergröße in cm sind die Werte 183, 172, 163, 154, 158, 166, 177, 188 und 190.&lt;br /&gt;
# Der Erhebungsumfang beträgt 10, da die Körpergröße von 10 Schülern erhoben wurde.&lt;br /&gt;
# Die absolute Häufigkeit der Merkmalsausprägung 154 ist 2, da zwei Schüler 154 cm groß sind. &lt;br /&gt;
# Die absoluten Häufigkeiten der restlichen Merkmalsausprägungen sind 1, da jede andere Körpergröße nur genau einmal vorkommt.&lt;br /&gt;
# Das arithmetische Mittel ist &amp;lt;math&amp;gt;\bar{x} = \frac{183 + 172 + 163 + 154 + 158 + 166 + 177 + 188 + 190 + 2 \cdot 154}{10} = 170{,}5&amp;lt;/math&amp;gt;.&lt;br /&gt;
# Die Varianz ist &amp;lt;math&amp;gt;s^2 = \frac{2 \cdot (154 - 170{,}5)^2 + (183 - 170{,}5)^2 + (172 - 170{,}5)^2 + (163 - 170{,}5)^2 + (158 - 170{,}5)^2 + (166 - 170{,}5)^2 + (177 - 170{,}5)^2 + (188 - 170{,}5)^2 + (190 - 170{,}5)^2}{10} = 166{,}45&amp;lt;/math&amp;gt;.&lt;br /&gt;
# Die Standardabweichung ist &amp;lt;math&amp;gt;s = \sqrt{166{,}45} \approx 12{,}90&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Die Abweichung vom Mittelwert ist in diesem Beispiel größer als zuvor. Die Körpergrößen der Schüler weisen also eine höhere Streuung auf.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Statistik]]&lt;br /&gt;
[[Kategorie:FHR_WuV_Mathe]]&lt;br /&gt;
[[Kategorie:AHR_WuV_Mathe_GK]]&lt;/div&gt;</summary>
		<author><name>Flbkwikiadmin</name></author>
	</entry>
	<entry>
		<id>https://wiki.flbk-hamm.de/index.php?title=S%C3%A4ulendiagramm&amp;diff=2992</id>
		<title>Säulendiagramm</title>
		<link rel="alternate" type="text/html" href="https://wiki.flbk-hamm.de/index.php?title=S%C3%A4ulendiagramm&amp;diff=2992"/>
		<updated>2026-09-18T08:33:49Z</updated>

		<summary type="html">&lt;p&gt;Flbkwikiadmin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Häufigkeit|Häufigkeiten]] von Merkmalsausprägungen aus statistischen [[Häufigkeit#Datenerhebung|Datenerhebungen]] können wir mithilfe von Diagrammen darstellen. Wir betrachten im Folgenden das Säulendiagramm.&lt;br /&gt;
&lt;br /&gt;
==Definition==&lt;br /&gt;
Zu einem [[Häufigkeit#Statistische Begriffe|Merkmal]] aus einer [[Häufigkeit#Datenerhebung|Datenerhebung]] seien die [[Häufigkeit|Häufigkeiten]] der [[Häufigkeit#Statistische Begriffe|Merkmalsausprägungen]] gegeben. In einem &#039;&#039;&#039;Säulendiagramm&#039;&#039;&#039; werden auf der waagerechten Achse (x-Achse) die Merkmalsausprägungen und auf der senkrechten Achse (y-Achse) die absoluten oder relativen Häufigkeiten der jeweiligen Merkmalsausprägung eingetragen.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&amp;lt;iframe width=&amp;quot;280&amp;quot; height=&amp;quot;157.5&amp;quot; src=&amp;quot;https://www.youtube.com/embed/UDd0EebVV9A?si=X-rpVq5oEb5UIWJW&amp;quot; title=&amp;quot;YouTube video player&amp;quot; frameborder=&amp;quot;0&amp;quot; allow=&amp;quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share&amp;quot; allowfullscreen&amp;gt;&amp;lt;/iframe&amp;gt;&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Beispiele==&lt;br /&gt;
===Ein Säulendiagramm zeichnen===&lt;br /&gt;
Ein Würfel wurde 20-mal geworfen. In der folgenden Tabelle sind für das [[Häufigkeit#Statistische Begriffe|Merkmal]] Würfelaugen die [[Häufigkeit|Häufigkeiten]] zu den [[Häufigkeit#Statistische Begriffe|Merkmalsausprägungen]] 1, 2, 3, 4, 5 und 6 festgehalten.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
! Würfelaugen&lt;br /&gt;
| 1 || 2 || 3 || 4 || 5 || 6 &lt;br /&gt;
|-&lt;br /&gt;
! Absolute Häufigkeit&lt;br /&gt;
| 3 || 2 || 2 || 4 || 5 || 4 &lt;br /&gt;
|-&lt;br /&gt;
! Relative Häufigkeit&lt;br /&gt;
| 0,15 || 0,1 || 0,1 || 0,2 || 0,25 || 0,2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Die relativen und absoluten Häufigkeiten werden als Säulendiagramm wie folgt dargestellt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery heights=400px widths=500px&amp;gt;Datei:StatistikSäulendiagramm.png|Säulendiagramm für die Würfelergebnisse&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Häufigkeiten aus einem Säulendiagramm ablesen===&lt;br /&gt;
Die Höhe einer Säule gibt die [[Häufigkeit]] an. Bei der Darstellung ist es wichtig, dass auf der y-Achse einheitliche Schritte gewählt wurden. Die [[Häufigkeit#Statistische Begriffe|Merkmalsausprägung]] steht auf der x-Achse. Beispielsweise lässt sich aus dem obigen Säulendiagramm ablesen, dass die Augenzahl 3 insgesamt zweimal gewürfelt wurde. Die relative Häufigkeit beträgt 0,1, d. h. 10 % der Würfe hatten die Augenzahl 3.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Statistik]]&lt;br /&gt;
[[Kategorie:FHR_WuV_Mathe]]&lt;br /&gt;
[[Kategorie:AHR_WuV_Mathe_GK]]&lt;/div&gt;</summary>
		<author><name>Flbkwikiadmin</name></author>
	</entry>
	<entry>
		<id>https://wiki.flbk-hamm.de/index.php?title=Spannweite&amp;diff=2991</id>
		<title>Spannweite</title>
		<link rel="alternate" type="text/html" href="https://wiki.flbk-hamm.de/index.php?title=Spannweite&amp;diff=2991"/>
		<updated>2026-09-18T08:32:49Z</updated>

		<summary type="html">&lt;p&gt;Flbkwikiadmin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Wurden [[Häufigkeit#Statistische Begriffe|Merkmalsausprägungen]] zu einem [[Häufigkeit#Statistische Begriffe|quantitativen Merkmal]] erhoben, dann gibt die Spannweite die Entfernung zwischen der größten und der kleinsten Merkmalsausprägung an.&lt;br /&gt;
&lt;br /&gt;
==Definition==&lt;br /&gt;
Es sei eine Zahlenfolge &amp;lt;math&amp;gt;x_1, x_2, \dots, x_n \in \mathbb{R}&amp;lt;/math&amp;gt; mit &amp;lt;math&amp;gt;n \in \mathbb{N}&amp;lt;/math&amp;gt; gegeben, dann heißt &amp;lt;math&amp;gt;R = \max\{x_1, x_2, \dots, x_n\} - \min\{x_1, x_2, \dots, x_n\}&amp;lt;/math&amp;gt; &#039;&#039;&#039;Spannweite&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&amp;lt;iframe width=&amp;quot;280&amp;quot; height=&amp;quot;157.5&amp;quot; src=&amp;quot;https://www.youtube.com/embed/1glDhGv8ORE?si=lGDGmd-ABKkdgbDd&amp;quot; title=&amp;quot;YouTube video player&amp;quot; frameborder=&amp;quot;0&amp;quot; allow=&amp;quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share&amp;quot; allowfullscreen&amp;gt;&amp;lt;/iframe&amp;gt;&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Beispiel==&lt;br /&gt;
Die folgende Tabelle zeigt ein Beispiel für eine Urliste. Die Stichprobe besteht aus den betrachteten Schülern. Für das quantitative Merkmal Körpergröße in cm wird die Spannweite berechnet.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Schüler Nr. &lt;br /&gt;
| 1 || 2 || 3 || 4 || 5 || 6 || 7 || 8 || 9&lt;br /&gt;
|-&lt;br /&gt;
! Körpergröße in cm&lt;br /&gt;
| 183 || 172 || 163 || 154 || 158 || 166 || 177 || 188 || 190&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
# Die größte Merkmalsausprägung ist 190.&lt;br /&gt;
# Die kleinste Merkmalsausprägung ist 154.&lt;br /&gt;
# Die Spannweite ist &amp;lt;math&amp;gt;R = 190 - 154 = 36&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Statistik]]&lt;br /&gt;
[[Kategorie:FHR_WuV_Mathe]]&lt;br /&gt;
[[Kategorie:AHR_WuV_Mathe_GK]]&lt;/div&gt;</summary>
		<author><name>Flbkwikiadmin</name></author>
	</entry>
	<entry>
		<id>https://wiki.flbk-hamm.de/index.php?title=Median&amp;diff=2990</id>
		<title>Median</title>
		<link rel="alternate" type="text/html" href="https://wiki.flbk-hamm.de/index.php?title=Median&amp;diff=2990"/>
		<updated>2026-09-18T08:32:09Z</updated>

		<summary type="html">&lt;p&gt;Flbkwikiadmin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Der Median ist ein wichtiges Maß für die zentrale Tendenz eines Datensatzes. Im Gegensatz zum [[Arithmetisches Mittel|arithmetischen Mittel]], das den Durchschnitt aller Werte berechnet, repräsentiert der Median den mittleren Wert, nachdem die [[Daten]] in aufsteigender oder absteigender Reihenfolge sortiert wurden.&lt;br /&gt;
&lt;br /&gt;
Wurden [[Häufigkeit#Statistische Begriffe|Merkmalsausprägungen]] zu einem [[Häufigkeit#Statistische Begriffe|quantitativen Merkmal]] erhoben und nach ihrer Größe sortiert, dann ist der Median bei einer ungeraden Anzahl an Merkmalsausprägungen die Merkmalsausprägung in der Mitte. Bei einer geraden Anzahl an Merkmalsausprägungen wird der [[Arithmetisches Mittel|Durchschnitt]] der beiden mittleren Merkmalsausprägungen als Median bezeichnet.&lt;br /&gt;
&lt;br /&gt;
==Definition==&lt;br /&gt;
Es sei eine Zahlenfolge &amp;lt;math&amp;gt;x_1, x_2, \dots, x_n \in \mathbb{R}&amp;lt;/math&amp;gt; mit &amp;lt;math&amp;gt;n \in \mathbb{N}&amp;lt;/math&amp;gt; gegeben und nach ihrer Größe in nicht absteigender Reihenfolge geordnet, d. h., es gilt &amp;lt;math&amp;gt;x_1 \leq x_2 \leq \dots \leq x_n&amp;lt;/math&amp;gt;. Ist die Anzahl &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; der Zahlenwerte ungerade, heißt der Zahlenwert &amp;lt;math&amp;gt;x_{\frac{n+1}{2}}&amp;lt;/math&amp;gt; &#039;&#039;&#039;Median&#039;&#039;&#039;. Ist die Anzahl &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; der Zahlenwerte eine gerade Zahl, heißt der Wert &amp;lt;math&amp;gt;\frac{x_{\frac{n}{2}} + x_{\frac{n}{2} + 1}}{2}&amp;lt;/math&amp;gt; &#039;&#039;&#039;Median&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&amp;lt;iframe width=&amp;quot;280&amp;quot; height=&amp;quot;157.5&amp;quot; src=&amp;quot;https://www.youtube.com/embed/maEsC-e7hkA?si=Cguc4VtTTmFPrWiH&amp;quot; title=&amp;quot;YouTube video player&amp;quot; frameborder=&amp;quot;0&amp;quot; allow=&amp;quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share&amp;quot; allowfullscreen&amp;gt;&amp;lt;/iframe&amp;gt;&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Beispiele==&lt;br /&gt;
===Median für eine ungerade Anzahl an Zahlenwerten ermitteln===&lt;br /&gt;
Die folgende Tabelle zeigt ein Beispiel für eine Urliste. Die Stichprobe besteht aus den betrachteten Schülern. Es wird für das quantitative Merkmal Körpergröße in cm der Median berechnet.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Schüler Nr. &lt;br /&gt;
| 1 || 2 || 3 || 4 || 5 || 6 || 7 || 8 || 9&lt;br /&gt;
|-&lt;br /&gt;
! Körpergröße in cm&lt;br /&gt;
| 183 || 172 || 163 || 154 || 158 || 166 || 177 || 188 || 190&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
# Ordnen der Merkmalsausprägungen des Merkmals Körpergröße in cm ergibt: 154; 158; 163; 166; 172; 177; 183; 188; 190.&lt;br /&gt;
# Die Anzahl der Merkmalsausprägungen ist ungerade, da der Erhebungsumfang 9 beträgt.&lt;br /&gt;
# Der Median ist 172 und befindet sich an der Stelle &amp;lt;math&amp;gt;\frac{9+1}{2} = 5&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Median für eine gerade Anzahl an Zahlenwerten ermitteln===&lt;br /&gt;
Fügen wir noch einen 10. Schüler mit der Körpergröße 154 cm hinzu, so erhalten wir die folgende Urliste:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Schüler Nr. &lt;br /&gt;
| 1 || 2 || 3 || 4 || 5 || 6 || 7 || 8 || 9 || 10&lt;br /&gt;
|-&lt;br /&gt;
! Körpergröße in cm&lt;br /&gt;
| 183 || 172 || 163 || 154 || 158 || 166 || 177 || 188 || 190 || 154&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
# Ordnen der Merkmalsausprägungen des Merkmals Körpergröße in cm ergibt: 154; 154; 158; 163; 166; 172; 177; 183; 188; 190.&lt;br /&gt;
# Die Anzahl der Merkmalsausprägungen ist gerade, da der Erhebungsumfang 10 beträgt.&lt;br /&gt;
# Die Zahlenwerte in der Mitte befinden sich an den Stellen &amp;lt;math&amp;gt;\frac{10}{2} = 5&amp;lt;/math&amp;gt; und &amp;lt;math&amp;gt;\frac{10}{2} + 1 = 6&amp;lt;/math&amp;gt;. Dort stehen die Werte 166 und 172, von denen wir den [[Arithmetisches Mittel|Durchschnitt]] berechnen. Der Median ist dann &amp;lt;math&amp;gt;\frac{166 + 172}{2} = 169&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Statistik]]&lt;br /&gt;
[[Kategorie:FHR_WuV_Mathe]]&lt;br /&gt;
[[Kategorie:AHR_WuV_Mathe_GK]]&lt;/div&gt;</summary>
		<author><name>Flbkwikiadmin</name></author>
	</entry>
	<entry>
		<id>https://wiki.flbk-hamm.de/index.php?title=Kreisdiagramm&amp;diff=2989</id>
		<title>Kreisdiagramm</title>
		<link rel="alternate" type="text/html" href="https://wiki.flbk-hamm.de/index.php?title=Kreisdiagramm&amp;diff=2989"/>
		<updated>2026-09-18T08:30:43Z</updated>

		<summary type="html">&lt;p&gt;Flbkwikiadmin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Häufigkeit|Häufigkeiten]] von Merkmalsausprägungen aus statistischen [[Häufigkeit#Datenerhebung|Datenerhebungen]] können wir mithilfe von Diagrammen darstellen. Wir betrachten im Folgenden das Kreisdiagramm.&lt;br /&gt;
&lt;br /&gt;
==Definition==&lt;br /&gt;
Zu einem [[Häufigkeit#Statistische Begriffe|Merkmal]] aus einer [[Häufigkeit#Datenerhebung|Datenerhebung]] seien die [[Häufigkeit|Häufigkeiten]] der [[Häufigkeit#Statistische Begriffe|Merkmalsausprägungen]] gegeben. In einem &#039;&#039;&#039;Kreisdiagramm&#039;&#039;&#039; werden die 360° des Kreises gemäß den relativen Häufigkeiten der Merkmalsausprägungen aufgeteilt. Alternativ kann der Kreis in so viele gleich große Teile geteilt werden, wie der Erhebungsumfang beträgt. Die absolute Häufigkeit einer Merkmalsausprägung für ein Objekt gibt dann an, wie viele Teile des Kreises belegt werden.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&amp;lt;iframe width=&amp;quot;280&amp;quot; height=&amp;quot;157.5&amp;quot; src=&amp;quot;https://www.youtube.com/embed/UDd0EebVV9A?si=X-rpVq5oEb5UIWJW&amp;quot; title=&amp;quot;YouTube video player&amp;quot; frameborder=&amp;quot;0&amp;quot; allow=&amp;quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share&amp;quot; allowfullscreen&amp;gt;&amp;lt;/iframe&amp;gt;&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Beispiele==&lt;br /&gt;
===Ein Kreisdiagramm zeichnen===&lt;br /&gt;
Ein Würfel wurde 20-mal geworfen. In der folgenden Tabelle sind für das [[Häufigkeit#Statistische Begriffe|Merkmal]] Würfelaugen die [[Häufigkeit|Häufigkeiten]] zu den [[Häufigkeit#Statistische Begriffe|Merkmalsausprägungen]] 1, 2, 3, 4, 5 und 6 festgehalten.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
! Würfelaugen&lt;br /&gt;
| 1 || 2 || 3 || 4 || 5 || 6 &lt;br /&gt;
|-&lt;br /&gt;
! Absolute Häufigkeit&lt;br /&gt;
| 3 || 2 || 2 || 4 || 5 || 4 &lt;br /&gt;
|-&lt;br /&gt;
! Relative Häufigkeit&lt;br /&gt;
| 0,15 || 0,1 || 0,1 || 0,2 || 0,25 || 0,2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Die relative Häufigkeit der Augenzahl 1 beträgt 0,15, demnach müssen &amp;lt;math&amp;gt;0,15\cdot360\text{°}=54\text{°}&amp;lt;/math&amp;gt; des Kreises markiert werden. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Alternativ&#039;&#039;&#039;: Im obigen Würfelspiel wurde insgesamt 20-mal geworfen. Teilen wir den Kreis in 20 gleich große Teile auf, dann muss ein Teil einen Winkel von &amp;lt;math&amp;gt;\frac{1}{20}\cdot360\text{°}=18\text{°}&amp;lt;/math&amp;gt; haben. Die absolute Häufigkeit der Augenzahl 1 beträgt 3, also werden dafür drei Teile des Kreises markiert. Insgesamt müssen also &amp;lt;math&amp;gt;18\text{°}\cdot 3=54\text{°}&amp;lt;/math&amp;gt; des Kreises markiert werden.&lt;br /&gt;
&lt;br /&gt;
Die Kreisdiagramme zum Würfelspiel sehen wie folgt aus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery heights=500px widths=400px&amp;gt;Datei:StatistikKreis.png|Kreisdiagramm für die Würfelergebnisse&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Häufigkeiten aus einem Kreisdiagramm ablesen===&lt;br /&gt;
Die Größe eines Kreisausschnitts gibt die [[Häufigkeit]] an. Die [[Häufigkeit#Statistische Begriffe|Merkmalsausprägung]] steht außerhalb des jeweiligen Kreisausschnitts. Die dazugehörige Häufigkeit steht im Kreisausschnitt. Beispielsweise lässt sich aus dem obigen Kreisdiagramm ablesen, dass die Augenzahl 3 insgesamt zweimal gewürfelt wurde. Die relative Häufigkeit beträgt 0,1, d. h. 10 % der Würfe hatten die Augenzahl 3.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Statistik]]&lt;br /&gt;
[[Kategorie:FHR_WuV_Mathe]]&lt;br /&gt;
[[Kategorie:AHR_WuV_Mathe_GK]]&lt;/div&gt;</summary>
		<author><name>Flbkwikiadmin</name></author>
	</entry>
	<entry>
		<id>https://wiki.flbk-hamm.de/index.php?title=H%C3%A4ufigkeit&amp;diff=2988</id>
		<title>Häufigkeit</title>
		<link rel="alternate" type="text/html" href="https://wiki.flbk-hamm.de/index.php?title=H%C3%A4ufigkeit&amp;diff=2988"/>
		<updated>2026-09-18T08:29:50Z</updated>

		<summary type="html">&lt;p&gt;Flbkwikiadmin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;In der Statistik werden Daten über reale Phänomene gesammelt, ausgewertet und mit Hilfe von Häufigkeiten analysiert. Das Ziel besteht darin, verlässliche und relevante Daten zu sammeln, die zur Beantwortung von Forschungsfragen, zur Unterstützung von Hypothesen oder zur Entscheidungsfindung genutzt werden können.&lt;br /&gt;
&lt;br /&gt;
==Statistische Begriffe==&lt;br /&gt;
Wird der Teil einer &#039;&#039;&#039;Gesamtheit&#039;&#039;&#039; (ein Gegenstand, ein Phänomen oder ein System) betrachtet und analysiert, dann spricht man von einer &#039;&#039;&#039;Stichprobe&#039;&#039;&#039;. Das Ergebnis der Stichprobe wird in einer &#039;&#039;&#039;Urliste&#039;&#039;&#039; festgehalten. Alle in der Urliste enthaltenen Daten bezeichnet man als &#039;&#039;&#039;Rohdaten&#039;&#039;&#039;. Der &#039;&#039;&#039;Erhebungsumfang&#039;&#039;&#039; bezeichnet die Anzahl aller betrachteten Objekte. Die Eigenschaften der Objekte bezeichnen wir als &#039;&#039;&#039;Merkmale&#039;&#039;&#039;. Die Ausprägung eines Merkmals wird als &#039;&#039;&#039;Merkmalsausprägung&#039;&#039;&#039; &amp;lt;math&amp;gt;x_i&amp;lt;/math&amp;gt; bezeichnet. Man unterscheidet zwischen &#039;&#039;&#039;quantitativen Merkmalen&#039;&#039;&#039; (Zahlen, z. B. 160 cm) und &#039;&#039;&#039;qualitativen Merkmalen&#039;&#039;&#039; (Wörter, z. B. männlich oder weiblich). Eine &#039;&#039;&#039;Klasse&#039;&#039;&#039; fasst mehrere Merkmalsausprägungen zu einer Gruppe zusammen.&lt;br /&gt;
&lt;br /&gt;
==Datenerhebung==&lt;br /&gt;
Das Sammeln von Daten durch eine Stichprobe mit der Absicht, bestimmte Aussagen über die Gesamtheit zu treffen, nennt man &#039;&#039;&#039;Datenerhebung&#039;&#039;&#039;. Durch eine Datenerhebung soll festgestellt werden, wie die verschiedenen Ausprägungen eines Merkmals in einer Stichprobe verteilt sind. Vor der Datenerhebung sind die Merkmale, Merkmalsausprägungen und der Erhebungsumfang festzulegen. Anschließend werden die Daten gesammelt und in einer Urliste als Rohdaten festgehalten.&lt;br /&gt;
&lt;br /&gt;
==Definition==&lt;br /&gt;
Es sei eine Urliste mit Rohdaten als Ergebnis einer Datenerhebung gegeben. Die &#039;&#039;&#039;absolute Häufigkeit&#039;&#039;&#039; gibt an, wie oft eine Merkmalsausprägung auftritt. Die &#039;&#039;&#039;relative Häufigkeit&#039;&#039;&#039; entspricht &amp;lt;math&amp;gt; \frac{\text{absolute Häufigkeit}}{\text{Erhebungsumfang}}&amp;lt;/math&amp;gt;. Die &#039;&#039;&#039;prozentuale Häufigkeit&#039;&#039;&#039; ist durch &amp;lt;math&amp;gt;\text{relative Häufigkeit} \cdot 100 &amp;lt;/math&amp;gt; gegeben.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&amp;lt;iframe width=&amp;quot;280&amp;quot; height=&amp;quot;157.5&amp;quot; src=&amp;quot;https://www.youtube.com/embed/6YhHUlZlJlI?si=izCyVbejsCgN8qyL&amp;quot; title=&amp;quot;YouTube video player&amp;quot; frameborder=&amp;quot;0&amp;quot; allow=&amp;quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share&amp;quot; allowfullscreen&amp;gt;&amp;lt;/iframe&amp;gt;&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Beispiele==&lt;br /&gt;
Die folgenden Beispiele zeigen, wie die oberen Begriffe verwendet werden können.&lt;br /&gt;
&lt;br /&gt;
====Verwendung der Begriffe====&lt;br /&gt;
Die folgende Tabelle zeigt ein Beispiel für eine Urliste. Die Daten in der Urliste sind die Rohdaten. Die Stichprobe sind die befragten Schüler. Der Erhebungsumfang ist 20, da 20 Schüler befragt wurden. Die Gesamtheit sind alle Schüler der Schule.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Schüler Nr. !! Geschlecht !! Körpergröße in cm !! Sportart&lt;br /&gt;
|-&lt;br /&gt;
| 01 || w || 160 || Handball&lt;br /&gt;
|-&lt;br /&gt;
| 02 || m || 176 || Triathlon&lt;br /&gt;
|-&lt;br /&gt;
| ... || ... || ... || ...&lt;br /&gt;
|-&lt;br /&gt;
| 20 || w || 176 || Tanzen&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
In der obigen Tabelle sind Geschlecht und Sportart qualitative Merkmale. Körpergröße in cm ist ein quantitatives Merkmal. Die Merkmalsausprägung zum Merkmal Geschlecht für Schüler 01 ist &amp;lt;math&amp;gt;x_{\text{Geschlecht}}=\text{w}&amp;lt;/math&amp;gt;. Die Merkmalsausprägung zum Merkmal Körpergröße in cm für Schüler 02 ist &amp;lt;math&amp;gt;x_{\text{Körpergröße in cm}}=176&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
====Klasse====&lt;br /&gt;
Das Ergebnis einer Datenerhebung sei eine Urliste, in der die Noten von Schülern enthalten sind. Das Merkmal Noten hat beispielsweise die Merkmalsausprägungen 1-; 1; 1+. Diese Merkmalsausprägungen können in der Klasse 1 zusammengefasst werden.&lt;br /&gt;
&lt;br /&gt;
====Berechnung der Häufigkeiten====&lt;br /&gt;
Ein Würfel wurde 20-mal geworfen und die Augenzahl wurde anschließend in der folgenden Urliste festgehalten:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
! Wurfnummer&lt;br /&gt;
| 01 || 02 || 03 || 04 || 05 || 06 || 07 || 08 || 09 || 10 || 11 || 12 || 13 || 14 || 15 || 16 || 17 || 18 || 19 || 20&lt;br /&gt;
|-&lt;br /&gt;
! Würfelaugen&lt;br /&gt;
| 1 || 1 || 1 || &amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;3&amp;lt;/span&amp;gt; || &amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;3&amp;lt;/span&amp;gt; || 2 || 2 || 4 || 4 || 4 || 4 || 5 || 5 || 5 || 5 || 5 || 6 || 6 || 6 ||  6&lt;br /&gt;
|}&lt;br /&gt;
Beispielsweise wurde bei Wurf 11 die 5 gewürfelt. Bei Wurf 4 und 5 wurde jeweils die &amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;3&amp;lt;/span&amp;gt; gewürfelt.&lt;br /&gt;
&lt;br /&gt;
In der folgenden Tabelle wurden die Häufigkeiten der Merkmalsausprägungen zum Merkmal Würfelaugen aus der Urliste berechnet:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
! Würfelaugen&lt;br /&gt;
| 1 || 2 || 3 || 4 || 5 || 6 &lt;br /&gt;
|-&lt;br /&gt;
! Absolute Häufigkeit&lt;br /&gt;
| 3 || 2 || &amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;2&amp;lt;/span&amp;gt; || 4 || 5 || 4 &lt;br /&gt;
|-&lt;br /&gt;
! Relative Häufigkeit&lt;br /&gt;
| &amp;lt;math&amp;gt;\frac{3}{20}=0,15&amp;lt;/math&amp;gt; || 0,1 || &amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;0,1&amp;lt;/span&amp;gt; || 0,2 || 0,25 || 0,2&lt;br /&gt;
|}&lt;br /&gt;
So wurde beispielsweise die Augenzahl 1 insgesamt dreimal und die Augenzahl 6 insgesamt viermal gewürfelt. Der Anteil der Würfe mit Augenzahl 4 an allen Würfen beträgt hierbei &amp;lt;math&amp;gt;\frac{4}{20}= 0,2&amp;lt;/math&amp;gt;. Die Augenzahl &amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;3&amp;lt;/span&amp;gt; wurde zweimal gewürfelt, daher ist die absolute Häufigkeit &amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;2&amp;lt;/span&amp;gt; und die relative Häufigkeit &amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;&amp;lt;math&amp;gt;\frac{2}{20}=0,1&amp;lt;/math&amp;gt;&amp;lt;/span&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Statistik]]&lt;br /&gt;
[[Kategorie:FHR_WuV_Mathe]]&lt;br /&gt;
[[Kategorie:AHR_WuV_Mathe_GK]]&lt;/div&gt;</summary>
		<author><name>Flbkwikiadmin</name></author>
	</entry>
	<entry>
		<id>https://wiki.flbk-hamm.de/index.php?title=Arithmetisches_Mittel&amp;diff=2987</id>
		<title>Arithmetisches Mittel</title>
		<link rel="alternate" type="text/html" href="https://wiki.flbk-hamm.de/index.php?title=Arithmetisches_Mittel&amp;diff=2987"/>
		<updated>2026-09-18T08:27:41Z</updated>

		<summary type="html">&lt;p&gt;Flbkwikiadmin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Das arithmetische Mittel gibt einen typischen oder durchschnittlichen Wert in einem Datensatz an. Es ist ein Maß für das Zentrum der Datenverteilung. Dies ermöglicht es, einen schnellen Überblick über das durchschnittliche Ausprägungsniveau der untersuchten Variablen zu erhalten.&lt;br /&gt;
&lt;br /&gt;
Wurden [[Häufigkeit#Statistische Begriffe|Merkmalsausprägungen]] zu einem [[Häufigkeit#Statistische Begriffe|quantitativen Merkmal]] erhoben, dann ist die Summe aller Merkmalsausprägungen geteilt durch den Erhebungsumfang das arithmetische Mittel, umgangssprachlich auch als Durchschnitt bezeichnet.&lt;br /&gt;
&lt;br /&gt;
==Definition==&lt;br /&gt;
Gegeben sei eine Zahlenfolge &amp;lt;math&amp;gt;x_1, x_2, \dots, x_n \in \mathbb{R}&amp;lt;/math&amp;gt; mit dem Erhebungsumfang &amp;lt;math&amp;gt;n \in \mathbb{N}&amp;lt;/math&amp;gt;. Dann wird &amp;lt;math&amp;gt;\bar{x} = \frac{x_1 + x_2 + \dots + x_n}{n}&amp;lt;/math&amp;gt; als &#039;&#039;&#039;arithmetisches Mittel&#039;&#039;&#039; bezeichnet.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&amp;lt;iframe width=&amp;quot;280&amp;quot; height=&amp;quot;157.5&amp;quot; src=&amp;quot;https://www.youtube.com/embed/maEsC-e7hkA?si=Cguc4VtTTmFPrWiH&amp;quot; title=&amp;quot;YouTube video player&amp;quot; frameborder=&amp;quot;0&amp;quot; allow=&amp;quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share&amp;quot; allowfullscreen&amp;gt;&amp;lt;/iframe&amp;gt;&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Arithmetisches Mittel und Häufigkeiten==&lt;br /&gt;
Es seien &amp;lt;math&amp;gt;x_1, x_2, \dots, x_k&amp;lt;/math&amp;gt; die verschiedenen [[Häufigkeit#Statistische Begriffe|Merkmalsausprägungen]] eines [[Häufigkeit#Statistische Begriffe|quantitativen Merkmals]] mit den jeweiligen [[Häufigkeit#Definition|absoluten Häufigkeiten]] &amp;lt;math&amp;gt;a_1, a_2, \dots, a_k \in \mathbb{N}&amp;lt;/math&amp;gt;. Der [[Häufigkeit#Statistische Begriffe|Erhebungsumfang]] sei &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt;, wobei &amp;lt;math&amp;gt;\sum_{i=1}^{k} a_i = n&amp;lt;/math&amp;gt; gilt. Der Wert &lt;br /&gt;
&amp;lt;math&amp;gt;\bar{x} = \frac{a_1 \cdot x_1 + a_2 \cdot x_2 + \dots + a_k \cdot x_k}{n} = \frac{a_1}{n} \cdot x_1 + \frac{a_2}{n} \cdot x_2 + \dots + \frac{a_k}{n} \cdot x_k&amp;lt;/math&amp;gt; &lt;br /&gt;
heißt &#039;&#039;&#039;arithmetisches Mittel&#039;&#039;&#039;. Dabei ist &amp;lt;math&amp;gt;\frac{a_i}{n}&amp;lt;/math&amp;gt; die relative Häufigkeit der Merkmalsausprägung &amp;lt;math&amp;gt;x_i&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Beispiele==&lt;br /&gt;
===Arithmetisches Mittel berechnen===&lt;br /&gt;
Die folgende Tabelle zeigt ein Beispiel für eine Urliste. Die Stichprobe besteht aus den betrachteten Schülern. Es wird für das quantitative Merkmal Körpergröße in cm das arithmetische Mittel berechnet.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Schüler Nr. &lt;br /&gt;
| 1 || 2 || 3 || 4 || 5 || 6 || 7 || 8 || 9&lt;br /&gt;
|-&lt;br /&gt;
! Körpergröße in cm&lt;br /&gt;
| 183 || 172 || 163 || 154 || 158 || 166 || 177 || 188 || 190&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
# Die Merkmalsausprägungen des Merkmals Körpergröße in cm sind die Werte 183, 172, 163, 154, 158, 166, 177, 188 und 190.&lt;br /&gt;
# Der Erhebungsumfang beträgt 9, da die Körpergröße von 9 Schülern erhoben wurde.&lt;br /&gt;
# Das arithmetische Mittel ist &amp;lt;math&amp;gt;\bar{x} = \frac{183 + 172 + 163 + 154 + 158 + 166 + 177 + 188 + 190}{9} \approx 172{,}33&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Die Schüler in der Klasse sind durchschnittlich 172,33 cm groß.&lt;br /&gt;
&lt;br /&gt;
===Arithmetisches Mittel mit Häufigkeiten berechnen===&lt;br /&gt;
Fügen wir noch einen 10. Schüler mit der Körpergröße 154 cm hinzu, so erhalten wir die folgende Urliste:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Schüler Nr. &lt;br /&gt;
| 1 || 2 || 3 || 4 || 5 || 6 || 7 || 8 || 9 || 10&lt;br /&gt;
|-&lt;br /&gt;
! Körpergröße in cm&lt;br /&gt;
| 183 || 172 || 163 || 154 || 158 || 166 || 177 || 188 || 190 || 154&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
# Die Merkmalsausprägungen des Merkmals Körpergröße in cm sind die Werte 183, 172, 163, 154, 158, 166, 177, 188 und 190.&lt;br /&gt;
# Der Erhebungsumfang beträgt 10, da die Körpergröße von 10 Schülern erhoben wurde.&lt;br /&gt;
# Die absolute Häufigkeit der Merkmalsausprägung 154 ist 2, da zwei Schüler 154 cm groß sind. &lt;br /&gt;
# Die absoluten Häufigkeiten der restlichen Merkmalsausprägungen sind 1, da jede andere Körpergröße nur genau einmal vorkommt.&lt;br /&gt;
# Das arithmetische Mittel ist &amp;lt;math&amp;gt;\bar{x} = \frac{183 + 172 + 163 + 2 \cdot 154 + 158 + 166 + 177 + 188 + 190}{10} = 170{,}5&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Da ein kleiner Schüler hinzugekommen ist, sind die Schüler in der Klasse durchschnittlich nur noch 170,5 cm groß.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Statistik]]&lt;br /&gt;
[[Kategorie:FHR_WuV_Mathe]]&lt;br /&gt;
[[Kategorie:AHR_WuV_Mathe_GK]]&lt;/div&gt;</summary>
		<author><name>Flbkwikiadmin</name></author>
	</entry>
	<entry>
		<id>https://wiki.flbk-hamm.de/index.php?title=Zufallsexperiment&amp;diff=2986</id>
		<title>Zufallsexperiment</title>
		<link rel="alternate" type="text/html" href="https://wiki.flbk-hamm.de/index.php?title=Zufallsexperiment&amp;diff=2986"/>
		<updated>2026-09-18T08:25:06Z</updated>

		<summary type="html">&lt;p&gt;Flbkwikiadmin: /* Definition */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;In der Wahrscheinlichkeitsrechnung werden Zufallsexperimente analysiert und auf Basis von Berechnungen werden Wahrscheinlichkeiten für die unterschiedlichen Ausgänge des Zufallsexperiments angegeben. Zufallsexperimente werden mit Hilfe von [[Baumdiagramm|Baumdiagrammen]] visualisiert.&lt;br /&gt;
&lt;br /&gt;
==Definition==&lt;br /&gt;
In der Wahrscheinlichkeitsrechnung bezeichnet ein &#039;&#039;&#039;Zufallsexperiment&#039;&#039;&#039; einen Versuch, der unter genau festgelegten Versuchsbedingungen durchgeführt wird und einen zufälligen Ausgang hat. Die möglichen Ausgänge eines Zufallsexperimentes nennt man &#039;&#039;&#039;Ergebnisse&#039;&#039;&#039;. Wenn man alle möglichen Ergebnisse eines Zufallsexperimentes in einer [[Menge]] zusammenfasst, erhält man die &#039;&#039;&#039;Ergebnismenge&#039;&#039;&#039;. Die Ergebnismenge wird mit &amp;lt;math&amp;gt;S&amp;lt;/math&amp;gt; oder &amp;lt;math&amp;gt;\Omega&amp;lt;/math&amp;gt; bezeichnet.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&amp;lt;iframe width=&amp;quot;280&amp;quot; height=&amp;quot;157.5&amp;quot; src=&amp;quot;https://www.youtube.com/embed/amHe2kAOfzA?si=78jb-3Gu5W26yF30&amp;quot; title=&amp;quot;YouTube video player&amp;quot; frameborder=&amp;quot;0&amp;quot; allow=&amp;quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share&amp;quot; allowfullscreen&amp;gt;&amp;lt;/iframe&amp;gt;&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Zufallsvariable==&lt;br /&gt;
Kann man den Ergebnissen eines Zufallsexperiments Zahlen zuordnen, so nennt man eine Variable für diese Zahlen &#039;&#039;&#039;Zufallsvariable&#039;&#039;&#039;. Zufallsvariablen werden häufig mit Großbuchstaben abgekürzt (z. B. X).&lt;br /&gt;
&lt;br /&gt;
==Ereignis==&lt;br /&gt;
Ein Zufallsexperiment habe die Ergebnismenge &amp;lt;math&amp;gt;S&amp;lt;/math&amp;gt;. Jede [[Menge#Teilmenge|Teilmenge]] &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt; von &amp;lt;math&amp;gt;S&amp;lt;/math&amp;gt; ist ein &#039;&#039;&#039;Ereignis&#039;&#039;&#039;. Endet die Durchführung des Zufallsexperiments mit einem Ergebnis aus &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt;, so ist das Ereignis &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt; eingetreten.&lt;br /&gt;
===Sicheres Ereignis===&lt;br /&gt;
Sei &amp;lt;math&amp;gt;S&amp;lt;/math&amp;gt; die Ergebnismenge eines Zufallsexperiments und &amp;lt;math&amp;gt;E&amp;lt;/math&amp;gt; ein Ereignis mit &amp;lt;math&amp;gt;S&amp;lt;/math&amp;gt; = &amp;lt;math&amp;gt;E&amp;lt;/math&amp;gt;, dann heißt &amp;lt;math&amp;gt;E&amp;lt;/math&amp;gt; &#039;&#039;&#039;sicheres Ereignis&#039;&#039;&#039;. &lt;br /&gt;
===Unmögliches Ereignis===&lt;br /&gt;
Das Ereignis &amp;lt;math&amp;gt;F = \emptyset&amp;lt;/math&amp;gt;  heißt &#039;&#039;&#039;unmögliches Ereignis&#039;&#039;&#039;. &amp;lt;math&amp;gt;F&amp;lt;/math&amp;gt; enthält also kein Ergebnis und ist damit die [[Menge#Leere_Menge|leere Menge]].&lt;br /&gt;
===Elementarereignis===&lt;br /&gt;
Gilt &amp;lt;math&amp;gt;G=\{{g}_1\}&amp;lt;/math&amp;gt; bzw. &amp;lt;math&amp;gt;|G| = 1&amp;lt;/math&amp;gt; für ein Ereignis &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt;, so spricht man von einem &#039;&#039;&#039;Elementarereignis&#039;&#039;&#039;. &lt;br /&gt;
===Gegenereignis===&lt;br /&gt;
&amp;lt;math&amp;gt;\bar{H}&amp;lt;/math&amp;gt; ist das &#039;&#039;&#039;Gegenereignis&#039;&#039;&#039; von &amp;lt;math&amp;gt;H&amp;lt;/math&amp;gt;, d. h. es gilt &amp;lt;math&amp;gt;\bar{H}=S\ \setminus\ H&amp;lt;/math&amp;gt; und &amp;lt;math&amp;gt;H\cup\bar{H}=S&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Beispiele==&lt;br /&gt;
===Zufallsexperiment Wurf eines Würfels===&lt;br /&gt;
Ein Würfel mit der Augenzahl von 1 bis 6 wird einmal geworfen und man beobachtet, welche Zahl oben liegt. Es handelt sich hierbei um ein Zufallsexperiment, da der Ausgang zufällig ist und der Versuch unter genau festgelegten Bedingungen stattfindet.&lt;br /&gt;
*Die Zufallsvariable &amp;lt;math&amp;gt;X&amp;lt;/math&amp;gt; gibt die gewürfelte Augenzahl an. Beispielsweise bedeutet &amp;lt;math&amp;gt;X=3&amp;lt;/math&amp;gt;, dass die Augenzahl 3 gewürfelt wurde.&lt;br /&gt;
*Ein mögliches Ergebnis: &amp;lt;math&amp;gt;3&amp;lt;/math&amp;gt;&lt;br /&gt;
*Ergebnismenge: &amp;lt;math&amp;gt;S = \{1;2;3;4;5;6\}&amp;lt;/math&amp;gt;&lt;br /&gt;
*Ereignis, dass keine 2 oder 3 gewürfelt wurde: &amp;lt;math&amp;gt;E = \{1;4;5;6\}&amp;lt;/math&amp;gt;&lt;br /&gt;
*Sicheres Ereignis: &amp;lt;math&amp;gt;S&amp;lt;/math&amp;gt;&lt;br /&gt;
*Unmögliches Ereignis: Es wurde eine 7 gewürfelt.&lt;br /&gt;
*Elementarereignis: &amp;lt;math&amp;gt;G=\{1\}&amp;lt;/math&amp;gt;&lt;br /&gt;
*Gegenereignis zu &amp;lt;math&amp;gt;A = \{1;2\}&amp;lt;/math&amp;gt;: &amp;lt;math&amp;gt;\bar{A} = \{3;4;5;6\}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Zufallsexperiment dreifacher Münzwurf===&lt;br /&gt;
Eine Münze wird dreimal geworfen und man beobachtet, in welcher Reihenfolge Zahl (Z) und Kopf (K) oben liegen. Es handelt sich hierbei um ein Zufallsexperiment, da der Ausgang zufällig ist und der Versuch unter genau festgelegten Bedingungen stattfindet.&lt;br /&gt;
*Ein Ergebnis ist &amp;lt;math&amp;gt;ZKZ&amp;lt;/math&amp;gt;. Es wurde also im ersten Wurf Zahl, im zweiten Wurf Kopf und im dritten Wurf Zahl geworfen. &lt;br /&gt;
*Alle möglichen Ergebnisse werden durch die Ergebnismenge &amp;lt;math&amp;gt;S = \{ZZZ; ZZK; ZKZ; ZKK; KZZ; KZK; KKZ; KKK\}&amp;lt;/math&amp;gt; beschrieben. &lt;br /&gt;
*Das Ereignis, dass kein Kopf erscheint, ist &amp;lt;math&amp;gt;A = \{ZZZ\}&amp;lt;/math&amp;gt;. &lt;br /&gt;
*Das Ereignis, dass zwei- oder dreimal hintereinander Zahl erscheint, ist &amp;lt;math&amp;gt;B = \{ZZK; KZZ\}\cup \{ZZZ\} =\{ZZZ; ZZK; KZZ\}&amp;lt;/math&amp;gt;. &lt;br /&gt;
*&amp;lt;math&amp;gt;S&amp;lt;/math&amp;gt; ist dann auch das sichere Ereignis. &lt;br /&gt;
*Ein unmögliches Ereignis ist, dass bei jedem Wurf eine Blume kommt. &lt;br /&gt;
*&amp;lt;math&amp;gt;G=\{ZKZ\}&amp;lt;/math&amp;gt; ist ein Elementarereignis.&lt;br /&gt;
*Das Gegenereignis &amp;lt;math&amp;gt;\bar{A}&amp;lt;/math&amp;gt; von &amp;lt;math&amp;gt;A = \{ZZZ\}&amp;lt;/math&amp;gt; ist &amp;lt;math&amp;gt;\bar{A} =S \backslash A=\{ZZZ; ZZK; ZKZ; ZKK; KZZ; KZK; KKZ; KKK\} \backslash \{ZZZ\}= \{ZZK; ZKZ; ZKK; KZZ; KZK; KKZ; KKK\}&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Wahrscheinlichkeitsrechnung]]&lt;br /&gt;
[[Kategorie:FHR_WuV_Mathe]]&lt;br /&gt;
[[Kategorie:AHR_WuV_Mathe_GK]]&lt;/div&gt;</summary>
		<author><name>Flbkwikiadmin</name></author>
	</entry>
	<entry>
		<id>https://wiki.flbk-hamm.de/index.php?title=Kreisdiagramm&amp;diff=2985</id>
		<title>Kreisdiagramm</title>
		<link rel="alternate" type="text/html" href="https://wiki.flbk-hamm.de/index.php?title=Kreisdiagramm&amp;diff=2985"/>
		<updated>2026-09-17T06:37:37Z</updated>

		<summary type="html">&lt;p&gt;Flbkwikiadmin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Häufigkeit|Häufigkeiten]] von Merkmalsausprägungen aus statistischen [[H%C3%A4ufigkeit#Datenerhebung|Datenerhebungen]] können wir mit Hilfe von Diagrammen darstellen. Wir betrachten im Folgenden das Kreisdiagramm.&lt;br /&gt;
&lt;br /&gt;
==Definition==&lt;br /&gt;
Zu einem [[H%C3%A4ufigkeit#Statistische_Begriffe|Merkmal]] aus einer [[H%C3%A4ufigkeit#Datenerhebung|Datenerhebung]] seien die [[Häufigkeit|Häufigkeiten]] der [[H%C3%A4ufigkeit#Statistische_Begriffe|Merkmalsausprägungen]] gegeben. In einem &#039;&#039;&#039;Kreisdiagramm&#039;&#039;&#039; werden die 360° des Kreises gemäß den relativen Häufigkeiten der Merkmalsausprägungen aufgeteilt. Alternativ kann der Kreis in so viele gleich große Teile geteilt werden, wie der Erhebungsumfang beträgt. Die absolute Häufigkeit einer Merkmalsausprägung für ein Objekt gibt dann an, wie viele Teile des Kreises belegt werden.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&amp;lt;iframe width=&amp;quot;280&amp;quot; height=&amp;quot;157.5&amp;quot; src=&amp;quot;https://www.youtube.com/embed/UDd0EebVV9A?si=X-rpVq5oEb5UIWJW&amp;quot; title=&amp;quot;YouTube video player&amp;quot; frameborder=&amp;quot;0&amp;quot; allow=&amp;quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share&amp;quot; allowfullscreen&amp;gt;&amp;lt;/iframe&amp;gt;&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Beispiele==&lt;br /&gt;
===Ein Kreisdiagramm zeichnen===&lt;br /&gt;
Ein Würfel wurde 20 mal geworfen. In der folgenden Tabelle sind für das [[H%C3%A4ufigkeit#Statistische_Begriffe|Merkmal]] Würfelaugen die [[Häufigkeit|Häufigkeiten]] zu den [[H%C3%A4ufigkeit#Statistische_Begriffe|Merkmalsausprägungen]] 1, 2 ,3 ,4 ,5 ,6 festgehalten.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
! Würfelaugen&lt;br /&gt;
| 1 || 2 || 3 || 4 || 5 || 6 &lt;br /&gt;
|-&lt;br /&gt;
! Absolute Häufigkeit&lt;br /&gt;
| 3 || 2 || 2 || 4 || 5 || 4 &lt;br /&gt;
|-&lt;br /&gt;
! Relative Häufigkeit&lt;br /&gt;
| 0,15 || 0,1 || 0,1 || 0,2 || 0,25 || 0,2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Die relative Häufigkeit der Augenzahl 1 beträgt 0,15, demnach müssen &amp;lt;math&amp;gt;0,15\cdot360\text{°}=54\text{°}&amp;lt;/math&amp;gt; des Kreises markiert werden. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Alternativ&#039;&#039;&#039;: Im obigen Würfelspiel wurde insgesamt 20 mal geworfen. Teilen wir den Kreis in 20 gleichgroße Teile auf, dann muss ein Teil einen Winkel von &amp;lt;math&amp;gt;\frac{1}{20}\cdot360\text{°}=18\text{°}&amp;lt;/math&amp;gt; haben. Die absolute Häufigkeit der Augenzahl 1 beträgt 3, also werden dafür drei Teile des Kreises markiert. Insgesamt müssen also &amp;lt;math&amp;gt;18\text{°}\cdot 3=54\text{°}&amp;lt;/math&amp;gt; des Kreises markiert werden.&lt;br /&gt;
&lt;br /&gt;
Die Kreisdiagramme zum Würfelspiel sehen wie folgt aus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery heights=500px widths=400px&amp;gt;Datei:StatistikKreis.png|Kreisdiagramm für die Würfelergebnisse&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Häufigkeiten aus einem Kreisdiagramm ablesen===&lt;br /&gt;
Die Größe eines Kreisausschnitts gibt die [[Häufigkeit]] an. Die [[H%C3%A4ufigkeit#Statistische_Begriffe|Merkmalsausprägung]] steht außerhalb des jeweiligen Kreisausschnitts. Die dazugehörige Häufigkeit steht im Kreisausschnitt. Beispielsweise lässt sich aus dem obigen Kreisdiagramm ablesen, dass die Augenzahl 3 insgesamt 2 mal gewürfelt wurde. Die relative Häufigkeit beträgt 0,1, d. h. 10 % der Würfe hatten die Augenzahl 3.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Statistik]]&lt;br /&gt;
[[Kategorie:FHR_WuV_Mathe]]&lt;br /&gt;
[[Kategorie:AHR_WuV_Mathe_GK]]&lt;/div&gt;</summary>
		<author><name>Flbkwikiadmin</name></author>
	</entry>
	<entry>
		<id>https://wiki.flbk-hamm.de/index.php?title=Flbkwiki:Impressum&amp;diff=2984</id>
		<title>Flbkwiki:Impressum</title>
		<link rel="alternate" type="text/html" href="https://wiki.flbk-hamm.de/index.php?title=Flbkwiki:Impressum&amp;diff=2984"/>
		<updated>2026-09-12T12:30:44Z</updated>

		<summary type="html">&lt;p&gt;Flbkwikiadmin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Impressum ==&lt;br /&gt;
&lt;br /&gt;
Angaben gemäß § 5 Digitale-Dienste-Gesetz (DDG)&lt;br /&gt;
&lt;br /&gt;
=== Anbieter ===&lt;br /&gt;
&lt;br /&gt;
Friedrich-List-Berufskolleg Hamm&amp;lt;br /&amp;gt;&lt;br /&gt;
Vorheider Weg 14&amp;lt;br /&amp;gt;&lt;br /&gt;
59067 Hamm&lt;br /&gt;
&lt;br /&gt;
Telefon: 02381 91492-0&amp;lt;br /&amp;gt;&lt;br /&gt;
E-Mail: info@bkfl.schulen-hamm.de&amp;lt;br /&amp;gt;&lt;br /&gt;
Website: [https://www.flbk-hamm.de www.flbk-hamm.de]&lt;br /&gt;
&lt;br /&gt;
=== Vertretungsberechtigung ===&lt;br /&gt;
&lt;br /&gt;
Das Friedrich-List-Berufskolleg Hamm ist eine öffentliche Schule in der&lt;br /&gt;
Trägerschaft der Stadt Hamm und als solche eine nicht rechtsfähige&lt;br /&gt;
öffentliche Anstalt.&lt;br /&gt;
&lt;br /&gt;
Vertreten durch: OStDin Dr. Heike Stiepelmann, Schulleiterin&lt;br /&gt;
&lt;br /&gt;
=== Schulträger ===&lt;br /&gt;
&lt;br /&gt;
Stadt Hamm&lt;br /&gt;
&lt;br /&gt;
=== Zuständige Schulaufsichtsbehörde ===&lt;br /&gt;
&lt;br /&gt;
Bezirksregierung Arnsberg&lt;br /&gt;
&lt;br /&gt;
== Haftungsausschluss ==&lt;br /&gt;
&lt;br /&gt;
=== Haftung für Inhalte ===&lt;br /&gt;
&lt;br /&gt;
Die Inhalte dieses Wikis wurden mit größtmöglicher Sorgfalt für den&lt;br /&gt;
Unterrichtsgebrauch erstellt. Für die Richtigkeit, Vollständigkeit und&lt;br /&gt;
Aktualität der Inhalte kann jedoch keine Gewähr übernommen werden.&lt;br /&gt;
&lt;br /&gt;
Die hier bereitgestellten Materialien dienen der Unterstützung des&lt;br /&gt;
Unterrichts. Sie ersetzen weder den Unterricht selbst noch die&lt;br /&gt;
verbindlichen Vorgaben der jeweiligen Lehrpläne, Bildungspläne oder&lt;br /&gt;
Prüfungsordnungen. Verbindlich sind ausschließlich die im Unterricht&lt;br /&gt;
bekannt gegebenen Inhalte und Regelungen.&lt;br /&gt;
&lt;br /&gt;
=== Haftung für Links ===&lt;br /&gt;
&lt;br /&gt;
Dieses Wiki enthält Links zu externen Websites Dritter, auf deren Inhalte&lt;br /&gt;
kein Einfluss besteht. Für diese fremden Inhalte kann keine Gewähr&lt;br /&gt;
übernommen werden; verantwortlich ist stets der jeweilige Anbieter oder&lt;br /&gt;
Betreiber der verlinkten Seiten. Die verlinkten Seiten wurden zum&lt;br /&gt;
Zeitpunkt der Verlinkung auf mögliche Rechtsverstöße überprüft;&lt;br /&gt;
rechtswidrige Inhalte waren nicht erkennbar. Eine dauerhafte inhaltliche&lt;br /&gt;
Kontrolle verlinkter Seiten ist ohne konkrete Anhaltspunkte einer&lt;br /&gt;
Rechtsverletzung nicht zumutbar. Bei Bekanntwerden von Rechtsverletzungen&lt;br /&gt;
werden entsprechende Links umgehend entfernt.&lt;br /&gt;
&lt;br /&gt;
=== Urheberrecht ===&lt;br /&gt;
&lt;br /&gt;
Die durch die Betreiber erstellten Inhalte und Werke auf diesen Seiten&lt;br /&gt;
unterliegen dem deutschen Urheberrecht.&lt;br /&gt;
&lt;br /&gt;
Sollten Sie der Auffassung sein, dass Inhalte dieses Wikis Rechte Dritter&lt;br /&gt;
verletzen, wird um einen entsprechenden Hinweis gebeten. Bei Kenntnis von&lt;br /&gt;
Rechtsverletzungen werden die betroffenen Inhalte umgehend entfernt.&lt;/div&gt;</summary>
		<author><name>Flbkwikiadmin</name></author>
	</entry>
	<entry>
		<id>https://wiki.flbk-hamm.de/index.php?title=Flbkwiki:Datenschutz&amp;diff=2983</id>
		<title>Flbkwiki:Datenschutz</title>
		<link rel="alternate" type="text/html" href="https://wiki.flbk-hamm.de/index.php?title=Flbkwiki:Datenschutz&amp;diff=2983"/>
		<updated>2026-09-12T12:30:13Z</updated>

		<summary type="html">&lt;p&gt;Flbkwikiadmin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Datenschutzerklärung ==&lt;br /&gt;
&lt;br /&gt;
=== 1. Verantwortlicher ===&lt;br /&gt;
&lt;br /&gt;
Verantwortlich für die Datenverarbeitung auf dieser Website im Sinne der&lt;br /&gt;
Datenschutz-Grundverordnung (DSGVO) ist:&lt;br /&gt;
&lt;br /&gt;
Friedrich-List-Berufskolleg Hamm&amp;lt;br /&amp;gt;&lt;br /&gt;
Vorheider Weg 14&amp;lt;br /&amp;gt;&lt;br /&gt;
59067 Hamm&lt;br /&gt;
&lt;br /&gt;
Telefon: 02381 91492-0&amp;lt;br /&amp;gt;&lt;br /&gt;
E-Mail: info@bkfl.schulen-hamm.de&amp;lt;br /&amp;gt;&lt;br /&gt;
Website: [https://www.flbk-hamm.de www.flbk-hamm.de]&lt;br /&gt;
&lt;br /&gt;
Vertreten durch: OStDin Dr. Heike Stiepelmann, Schulleiterin&lt;br /&gt;
&lt;br /&gt;
=== 2. Datenschutzbeauftragte/r ===&lt;br /&gt;
&lt;br /&gt;
Sie können sich auch an den durch das Schulamt für die Stadt Hamm bestellten, behördlichen Datenschutzbeauftragten für die Hammer Schulen wenden: &amp;lt;br&amp;gt;&lt;br /&gt;
Telefon: +49(0)2381914246 &amp;lt;br&amp;gt;&lt;br /&gt;
Fax: +49(0)2381956486 &amp;lt;br&amp;gt;&lt;br /&gt;
E-Mail: datenschutzbeauftragter@schulen-hamm.de&lt;br /&gt;
&lt;br /&gt;
=== 3. Zweck und Rechtsgrundlage der Verarbeitung ===&lt;br /&gt;
&lt;br /&gt;
Dieses Wiki dient ausschließlich der Bereitstellung von Unterrichts- und&lt;br /&gt;
Lernmaterial für Schülerinnen, Schüler und Lehrkräfte des&lt;br /&gt;
Friedrich-List-Berufskollegs Hamm.&lt;br /&gt;
&lt;br /&gt;
Rechtsgrundlage der Verarbeitung ist Art. 6 Abs. 1 lit. e DSGVO&lt;br /&gt;
(Wahrnehmung einer Aufgabe im öffentlichen Interesse) in Verbindung mit&lt;br /&gt;
den einschlägigen Vorschriften des Schulgesetzes NRW und des&lt;br /&gt;
Datenschutzgesetzes NRW.&lt;br /&gt;
&lt;br /&gt;
=== 4. Server-Logdateien ===&lt;br /&gt;
&lt;br /&gt;
Beim Aufruf dieser Website werden durch den Webserver automatisch&lt;br /&gt;
Informationen erfasst und in sogenannten Logdateien gespeichert:&lt;br /&gt;
&lt;br /&gt;
* IP-Adresse des zugreifenden Geräts&lt;br /&gt;
* Datum und Uhrzeit des Zugriffs&lt;br /&gt;
* Name und URL der abgerufenen Datei&lt;br /&gt;
* verwendeter Browser und ggf. das Betriebssystem&lt;br /&gt;
* übertragene Datenmenge und Meldung über den Erfolg des Abrufs&lt;br /&gt;
&lt;br /&gt;
Diese Daten sind technisch erforderlich, um die Website auszuliefern,&lt;br /&gt;
ihre Stabilität und Sicherheit zu gewährleisten und Angriffsversuche zu&lt;br /&gt;
erkennen. Eine Zusammenführung dieser Daten mit anderen Datenquellen&lt;br /&gt;
oder eine Auswertung zu Zwecken der Analyse des Nutzerverhaltens findet&lt;br /&gt;
nicht statt.&lt;br /&gt;
&lt;br /&gt;
Die Logdateien werden nach spätestens 14 Tagen automatisch&lt;br /&gt;
gelöscht.&lt;br /&gt;
&lt;br /&gt;
=== 5. Keine Registrierung, keine Konten für Schülerinnen und Schüler ===&lt;br /&gt;
&lt;br /&gt;
Für das Lesen der Inhalte ist keine Anmeldung erforderlich. Eine&lt;br /&gt;
Registrierung durch Besucherinnen und Besucher ist technisch nicht&lt;br /&gt;
möglich. Benutzerkonten bestehen ausschließlich für redaktionell&lt;br /&gt;
tätige Lehrkräfte und werden durch die Administration angelegt.&lt;br /&gt;
&lt;br /&gt;
Bei angemeldeten Benutzerinnen und Benutzern werden Benutzername,&lt;br /&gt;
E-Mail-Adresse (sofern angegeben) sowie die vorgenommenen Bearbeitungen&lt;br /&gt;
gespeichert. Bearbeitungen sind in der Versionsgeschichte der jeweiligen&lt;br /&gt;
Seite dauerhaft nachvollziehbar.&lt;br /&gt;
&lt;br /&gt;
=== 6. Cookies ===&lt;br /&gt;
&lt;br /&gt;
Diese Website setzt keine Cookies zu Analyse-, Werbe- oder&lt;br /&gt;
Tracking-Zwecken ein.&lt;br /&gt;
&lt;br /&gt;
Beim Anmeldevorgang angemeldeter Benutzerinnen und Benutzer werden&lt;br /&gt;
technisch notwendige Sitzungs-Cookies gesetzt, die für die&lt;br /&gt;
Aufrechterhaltung der Anmeldung erforderlich sind. Diese werden nach&lt;br /&gt;
Ende der Sitzung bzw. nach Abmeldung gelöscht.&lt;br /&gt;
&lt;br /&gt;
=== 7. Keine externen Dienste, keine Drittanbieter-Inhalte ===&lt;br /&gt;
&lt;br /&gt;
Sämtliche für die Darstellung erforderlichen Komponenten – einschließlich&lt;br /&gt;
der Bibliotheken zur Darstellung mathematischer Formeln und interaktiver&lt;br /&gt;
Grafiken – werden ausschließlich vom eigenen Server ausgeliefert. Es&lt;br /&gt;
werden keine Inhalte von externen Content-Delivery-Netzwerken nachgeladen.&lt;br /&gt;
Beim Aufruf dieser Website werden daher keine Verbindungen zu&lt;br /&gt;
Drittanbietern hergestellt.&lt;br /&gt;
&lt;br /&gt;
Es kommen keine Analyse-, Tracking- oder Reichweitenmessungsdienste und&lt;br /&gt;
keine Social-Media-Plugins zum Einsatz.&lt;br /&gt;
&lt;br /&gt;
=== 8. Verschlüsselung ===&lt;br /&gt;
&lt;br /&gt;
Diese Website wird ausschließlich verschlüsselt über HTTPS ausgeliefert,&lt;br /&gt;
um die Übertragung der Daten gegen Mitlesen durch Dritte zu schützen.&lt;br /&gt;
&lt;br /&gt;
=== 9. Externe Links ===&lt;br /&gt;
&lt;br /&gt;
Dieses Wiki enthält Links zu externen Websites. Beim Anklicken eines&lt;br /&gt;
solchen Links verlassen Sie diese Website; für die Datenverarbeitung auf&lt;br /&gt;
den Zielseiten ist ausschließlich der jeweilige Anbieter verantwortlich.&lt;br /&gt;
Es wird empfohlen, die dortigen Datenschutzhinweise zu beachten.&lt;br /&gt;
&lt;br /&gt;
=== 10. Auftragsverarbeitung ===&lt;br /&gt;
&lt;br /&gt;
Der technische Betrieb dieser Website erfolgt bei IONOS SE. Mit dem Anbieter besteht ein Vertrag zur&lt;br /&gt;
Auftragsverarbeitung gemäß Art. 28 DSGVO.&lt;br /&gt;
&lt;br /&gt;
Datensicherungen werden innerhalb der schulischen Infrastruktur&lt;br /&gt;
gespeichert.&lt;br /&gt;
&lt;br /&gt;
=== 11. Ihre Rechte ===&lt;br /&gt;
&lt;br /&gt;
Sie haben gegenüber dem Verantwortlichen die folgenden Rechte&lt;br /&gt;
hinsichtlich der Sie betreffenden personenbezogenen Daten:&lt;br /&gt;
&lt;br /&gt;
* Recht auf Auskunft (Art. 15 DSGVO)&lt;br /&gt;
* Recht auf Berichtigung (Art. 16 DSGVO)&lt;br /&gt;
* Recht auf Löschung (Art. 17 DSGVO)&lt;br /&gt;
* Recht auf Einschränkung der Verarbeitung (Art. 18 DSGVO)&lt;br /&gt;
* Recht auf Widerspruch gegen die Verarbeitung (Art. 21 DSGVO)&lt;br /&gt;
* Recht auf Datenübertragbarkeit (Art. 20 DSGVO)&lt;br /&gt;
&lt;br /&gt;
Zur Ausübung dieser Rechte wenden Sie sich bitte an die oben genannten&lt;br /&gt;
Kontaktdaten.&lt;br /&gt;
&lt;br /&gt;
=== 12. Beschwerderecht bei der Aufsichtsbehörde ===&lt;br /&gt;
&lt;br /&gt;
Unabhängig davon steht Ihnen ein Beschwerderecht bei einer&lt;br /&gt;
Datenschutz-Aufsichtsbehörde zu. Zuständig ist:&lt;br /&gt;
&lt;br /&gt;
Landesbeauftragte für Datenschutz und Informationsfreiheit&lt;br /&gt;
Nordrhein-Westfalen&amp;lt;br /&amp;gt;&lt;br /&gt;
Kavalleriestraße 2-4, 40213 Düsseldorf&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://www.ldi.nrw.de/ https://www.ldi.nrw.de/]&lt;br /&gt;
&lt;br /&gt;
=== 13. Änderungen dieser Datenschutzerklärung ===&lt;br /&gt;
&lt;br /&gt;
Diese Datenschutzerklärung wird angepasst, sobald Änderungen an der&lt;br /&gt;
Website oder an den rechtlichen Rahmenbedingungen dies erforderlich&lt;br /&gt;
machen.&lt;/div&gt;</summary>
		<author><name>Flbkwikiadmin</name></author>
	</entry>
	<entry>
		<id>https://wiki.flbk-hamm.de/index.php?title=MediaWiki:Copyright&amp;diff=2982</id>
		<title>MediaWiki:Copyright</title>
		<link rel="alternate" type="text/html" href="https://wiki.flbk-hamm.de/index.php?title=MediaWiki:Copyright&amp;diff=2982"/>
		<updated>2026-09-12T12:27:47Z</updated>

		<summary type="html">&lt;p&gt;Flbkwikiadmin: Die Seite wurde neu angelegt: „Der Inhalt ist verfügbar unter $1, sofern nicht anders angegeben.“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Der Inhalt ist verfügbar unter $1, sofern nicht anders angegeben.&lt;/div&gt;</summary>
		<author><name>Flbkwikiadmin</name></author>
	</entry>
	<entry>
		<id>https://wiki.flbk-hamm.de/index.php?title=Flbkwiki:Datenschutz&amp;diff=2981</id>
		<title>Flbkwiki:Datenschutz</title>
		<link rel="alternate" type="text/html" href="https://wiki.flbk-hamm.de/index.php?title=Flbkwiki:Datenschutz&amp;diff=2981"/>
		<updated>2026-09-12T12:21:34Z</updated>

		<summary type="html">&lt;p&gt;Flbkwikiadmin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Datenschutzerklärung ==&lt;br /&gt;
&lt;br /&gt;
=== 1. Verantwortlicher ===&lt;br /&gt;
&lt;br /&gt;
Verantwortlich für die Datenverarbeitung auf dieser Website im Sinne der&lt;br /&gt;
Datenschutz-Grundverordnung (DSGVO) ist:&lt;br /&gt;
&lt;br /&gt;
Friedrich-List-Berufskolleg Hamm&amp;lt;br /&amp;gt;&lt;br /&gt;
Vorheider Weg 14&amp;lt;br /&amp;gt;&lt;br /&gt;
59067 Hamm&lt;br /&gt;
&lt;br /&gt;
Telefon: 02381 91492-0&amp;lt;br /&amp;gt;&lt;br /&gt;
E-Mail: info@bkfl.schulen-hamm.de&amp;lt;br /&amp;gt;&lt;br /&gt;
Website: [https://www.flbk-hamm.de www.flbk-hamm.de] Vertreten durch: OStDin Dr. Heike Stiepelmann, Schulleiter/in.&lt;br /&gt;
&lt;br /&gt;
=== 2. Datenschutzbeauftragte/r ===&lt;br /&gt;
&lt;br /&gt;
Sie können sich auch an den durch das Schulamt für die Stadt Hamm bestellten, behördlichen Datenschutzbeauftragten für die Hammer Schulen wenden: &amp;lt;br&amp;gt;&lt;br /&gt;
Telefon: +49(0)2381914246 &amp;lt;br&amp;gt;&lt;br /&gt;
Fax: +49(0)2381956486 &amp;lt;br&amp;gt;&lt;br /&gt;
E-Mail: datenschutzbeauftragter@schulen-hamm.de&lt;br /&gt;
&lt;br /&gt;
=== 3. Zweck und Rechtsgrundlage der Verarbeitung ===&lt;br /&gt;
&lt;br /&gt;
Dieses Wiki dient ausschließlich der Bereitstellung von Unterrichts- und&lt;br /&gt;
Lernmaterial für Schülerinnen, Schüler und Lehrkräfte des&lt;br /&gt;
Friedrich-List-Berufskollegs Hamm.&lt;br /&gt;
&lt;br /&gt;
Rechtsgrundlage der Verarbeitung ist Art. 6 Abs. 1 lit. e DSGVO&lt;br /&gt;
(Wahrnehmung einer Aufgabe im öffentlichen Interesse) in Verbindung mit&lt;br /&gt;
den einschlägigen Vorschriften des Schulgesetzes NRW und des&lt;br /&gt;
Datenschutzgesetzes NRW.&lt;br /&gt;
&lt;br /&gt;
=== 4. Server-Logdateien ===&lt;br /&gt;
&lt;br /&gt;
Beim Aufruf dieser Website werden durch den Webserver automatisch&lt;br /&gt;
Informationen erfasst und in sogenannten Logdateien gespeichert:&lt;br /&gt;
&lt;br /&gt;
* IP-Adresse des zugreifenden Geräts&lt;br /&gt;
* Datum und Uhrzeit des Zugriffs&lt;br /&gt;
* Name und URL der abgerufenen Datei&lt;br /&gt;
* verwendeter Browser und ggf. das Betriebssystem&lt;br /&gt;
* übertragene Datenmenge und Meldung über den Erfolg des Abrufs&lt;br /&gt;
&lt;br /&gt;
Diese Daten sind technisch erforderlich, um die Website auszuliefern,&lt;br /&gt;
ihre Stabilität und Sicherheit zu gewährleisten und Angriffsversuche zu&lt;br /&gt;
erkennen. Eine Zusammenführung dieser Daten mit anderen Datenquellen&lt;br /&gt;
oder eine Auswertung zu Zwecken der Analyse des Nutzerverhaltens findet&lt;br /&gt;
nicht statt.&lt;br /&gt;
&lt;br /&gt;
Die Logdateien werden nach spätestens 14 Tagen automatisch&lt;br /&gt;
gelöscht.&lt;br /&gt;
&lt;br /&gt;
=== 5. Keine Registrierung, keine Konten für Schülerinnen und Schüler ===&lt;br /&gt;
&lt;br /&gt;
Für das Lesen der Inhalte ist keine Anmeldung erforderlich. Eine&lt;br /&gt;
Registrierung durch Besucherinnen und Besucher ist technisch nicht&lt;br /&gt;
möglich. Benutzerkonten bestehen ausschließlich für redaktionell&lt;br /&gt;
tätige Lehrkräfte und werden durch die Administration angelegt.&lt;br /&gt;
&lt;br /&gt;
Bei angemeldeten Benutzerinnen und Benutzern werden Benutzername,&lt;br /&gt;
E-Mail-Adresse (sofern angegeben) sowie die vorgenommenen Bearbeitungen&lt;br /&gt;
gespeichert. Bearbeitungen sind in der Versionsgeschichte der jeweiligen&lt;br /&gt;
Seite dauerhaft nachvollziehbar.&lt;br /&gt;
&lt;br /&gt;
=== 6. Cookies ===&lt;br /&gt;
&lt;br /&gt;
Diese Website setzt keine Cookies zu Analyse-, Werbe- oder&lt;br /&gt;
Tracking-Zwecken ein.&lt;br /&gt;
&lt;br /&gt;
Beim Anmeldevorgang angemeldeter Benutzerinnen und Benutzer werden&lt;br /&gt;
technisch notwendige Sitzungs-Cookies gesetzt, die für die&lt;br /&gt;
Aufrechterhaltung der Anmeldung erforderlich sind. Diese werden nach&lt;br /&gt;
Ende der Sitzung bzw. nach Abmeldung gelöscht.&lt;br /&gt;
&lt;br /&gt;
=== 7. Keine externen Dienste, keine Drittanbieter-Inhalte ===&lt;br /&gt;
&lt;br /&gt;
Sämtliche für die Darstellung erforderlichen Komponenten – einschließlich&lt;br /&gt;
der Bibliotheken zur Darstellung mathematischer Formeln und interaktiver&lt;br /&gt;
Grafiken – werden ausschließlich vom eigenen Server ausgeliefert. Es&lt;br /&gt;
werden keine Inhalte von externen Content-Delivery-Netzwerken nachgeladen.&lt;br /&gt;
Beim Aufruf dieser Website werden daher keine Verbindungen zu&lt;br /&gt;
Drittanbietern hergestellt.&lt;br /&gt;
&lt;br /&gt;
Es kommen keine Analyse-, Tracking- oder Reichweitenmessungsdienste und&lt;br /&gt;
keine Social-Media-Plugins zum Einsatz.&lt;br /&gt;
&lt;br /&gt;
=== 8. Verschlüsselung ===&lt;br /&gt;
&lt;br /&gt;
Diese Website wird ausschließlich verschlüsselt über HTTPS ausgeliefert,&lt;br /&gt;
um die Übertragung der Daten gegen Mitlesen durch Dritte zu schützen.&lt;br /&gt;
&lt;br /&gt;
=== 9. Externe Links ===&lt;br /&gt;
&lt;br /&gt;
Dieses Wiki enthält Links zu externen Websites. Beim Anklicken eines&lt;br /&gt;
solchen Links verlassen Sie diese Website; für die Datenverarbeitung auf&lt;br /&gt;
den Zielseiten ist ausschließlich der jeweilige Anbieter verantwortlich.&lt;br /&gt;
Es wird empfohlen, die dortigen Datenschutzhinweise zu beachten.&lt;br /&gt;
&lt;br /&gt;
=== 10. Auftragsverarbeitung ===&lt;br /&gt;
&lt;br /&gt;
Der technische Betrieb dieser Website erfolgt bei IONOS SE. Mit dem Anbieter besteht ein Vertrag zur&lt;br /&gt;
Auftragsverarbeitung gemäß Art. 28 DSGVO.&lt;br /&gt;
&lt;br /&gt;
Datensicherungen werden innerhalb der schulischen Infrastruktur&lt;br /&gt;
gespeichert.&lt;br /&gt;
&lt;br /&gt;
=== 11. Ihre Rechte ===&lt;br /&gt;
&lt;br /&gt;
Sie haben gegenüber dem Verantwortlichen die folgenden Rechte&lt;br /&gt;
hinsichtlich der Sie betreffenden personenbezogenen Daten:&lt;br /&gt;
&lt;br /&gt;
* Recht auf Auskunft (Art. 15 DSGVO)&lt;br /&gt;
* Recht auf Berichtigung (Art. 16 DSGVO)&lt;br /&gt;
* Recht auf Löschung (Art. 17 DSGVO)&lt;br /&gt;
* Recht auf Einschränkung der Verarbeitung (Art. 18 DSGVO)&lt;br /&gt;
* Recht auf Widerspruch gegen die Verarbeitung (Art. 21 DSGVO)&lt;br /&gt;
* Recht auf Datenübertragbarkeit (Art. 20 DSGVO)&lt;br /&gt;
&lt;br /&gt;
Zur Ausübung dieser Rechte wenden Sie sich bitte an die oben genannten&lt;br /&gt;
Kontaktdaten.&lt;br /&gt;
&lt;br /&gt;
=== 12. Beschwerderecht bei der Aufsichtsbehörde ===&lt;br /&gt;
&lt;br /&gt;
Unabhängig davon steht Ihnen ein Beschwerderecht bei einer&lt;br /&gt;
Datenschutz-Aufsichtsbehörde zu. Zuständig ist:&lt;br /&gt;
&lt;br /&gt;
Landesbeauftragte für Datenschutz und Informationsfreiheit&lt;br /&gt;
Nordrhein-Westfalen&amp;lt;br /&amp;gt;&lt;br /&gt;
Kavalleriestraße 2-4, 40213 Düsseldorf-Stadtbezirk 3&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://www.ldi.nrw.de/ https://www.ldi.nrw.de/]&lt;br /&gt;
&lt;br /&gt;
=== 13. Änderungen dieser Datenschutzerklärung ===&lt;br /&gt;
&lt;br /&gt;
Diese Datenschutzerklärung wird angepasst, sobald Änderungen an der&lt;br /&gt;
Website oder an den rechtlichen Rahmenbedingungen dies erforderlich&lt;br /&gt;
machen.&lt;/div&gt;</summary>
		<author><name>Flbkwikiadmin</name></author>
	</entry>
	<entry>
		<id>https://wiki.flbk-hamm.de/index.php?title=Flbkwiki:Datenschutz&amp;diff=2980</id>
		<title>Flbkwiki:Datenschutz</title>
		<link rel="alternate" type="text/html" href="https://wiki.flbk-hamm.de/index.php?title=Flbkwiki:Datenschutz&amp;diff=2980"/>
		<updated>2026-09-12T12:20:18Z</updated>

		<summary type="html">&lt;p&gt;Flbkwikiadmin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Datenschutzerklärung ==&lt;br /&gt;
&lt;br /&gt;
=== 1. Verantwortlicher ===&lt;br /&gt;
&lt;br /&gt;
Verantwortlich für die Datenverarbeitung auf dieser Website im Sinne der&lt;br /&gt;
Datenschutz-Grundverordnung (DSGVO) ist:&lt;br /&gt;
&lt;br /&gt;
Friedrich-List-Berufskolleg Hamm&amp;lt;br /&amp;gt;&lt;br /&gt;
Vorheider Weg 14&amp;lt;br /&amp;gt;&lt;br /&gt;
59067 Hamm&lt;br /&gt;
&lt;br /&gt;
Telefon: 02381 91492-0&amp;lt;br /&amp;gt;&lt;br /&gt;
E-Mail: info@bkfl.schulen-hamm.de&amp;lt;br /&amp;gt;&lt;br /&gt;
Website: [https://www.flbk-hamm.de www.flbk-hamm.de] vertreten durch die Schulleitung.&lt;br /&gt;
&lt;br /&gt;
=== 2. Datenschutzbeauftragte/r ===&lt;br /&gt;
&lt;br /&gt;
Sie können sich auch an den durch das Schulamt für die Stadt Hamm bestellten, behördlichen Datenschutzbeauftragten für die Hammer Schulen wenden: &amp;lt;br&amp;gt;&lt;br /&gt;
Telefon: +49(0)2381914246 &amp;lt;br&amp;gt;&lt;br /&gt;
Fax: +49(0)2381956486 &amp;lt;br&amp;gt;&lt;br /&gt;
E-Mail: datenschutzbeauftragter@schulen-hamm.de&lt;br /&gt;
&lt;br /&gt;
=== 3. Zweck und Rechtsgrundlage der Verarbeitung ===&lt;br /&gt;
&lt;br /&gt;
Dieses Wiki dient ausschließlich der Bereitstellung von Unterrichts- und&lt;br /&gt;
Lernmaterial für Schülerinnen, Schüler und Lehrkräfte des&lt;br /&gt;
Friedrich-List-Berufskollegs Hamm.&lt;br /&gt;
&lt;br /&gt;
Rechtsgrundlage der Verarbeitung ist Art. 6 Abs. 1 lit. e DSGVO&lt;br /&gt;
(Wahrnehmung einer Aufgabe im öffentlichen Interesse) in Verbindung mit&lt;br /&gt;
den einschlägigen Vorschriften des Schulgesetzes NRW und des&lt;br /&gt;
Datenschutzgesetzes NRW.&lt;br /&gt;
&lt;br /&gt;
=== 4. Server-Logdateien ===&lt;br /&gt;
&lt;br /&gt;
Beim Aufruf dieser Website werden durch den Webserver automatisch&lt;br /&gt;
Informationen erfasst und in sogenannten Logdateien gespeichert:&lt;br /&gt;
&lt;br /&gt;
* IP-Adresse des zugreifenden Geräts&lt;br /&gt;
* Datum und Uhrzeit des Zugriffs&lt;br /&gt;
* Name und URL der abgerufenen Datei&lt;br /&gt;
* verwendeter Browser und ggf. das Betriebssystem&lt;br /&gt;
* übertragene Datenmenge und Meldung über den Erfolg des Abrufs&lt;br /&gt;
&lt;br /&gt;
Diese Daten sind technisch erforderlich, um die Website auszuliefern,&lt;br /&gt;
ihre Stabilität und Sicherheit zu gewährleisten und Angriffsversuche zu&lt;br /&gt;
erkennen. Eine Zusammenführung dieser Daten mit anderen Datenquellen&lt;br /&gt;
oder eine Auswertung zu Zwecken der Analyse des Nutzerverhaltens findet&lt;br /&gt;
nicht statt.&lt;br /&gt;
&lt;br /&gt;
Die Logdateien werden nach spätestens 14 Tagen automatisch&lt;br /&gt;
gelöscht.&lt;br /&gt;
&lt;br /&gt;
=== 5. Keine Registrierung, keine Konten für Schülerinnen und Schüler ===&lt;br /&gt;
&lt;br /&gt;
Für das Lesen der Inhalte ist keine Anmeldung erforderlich. Eine&lt;br /&gt;
Registrierung durch Besucherinnen und Besucher ist technisch nicht&lt;br /&gt;
möglich. Benutzerkonten bestehen ausschließlich für redaktionell&lt;br /&gt;
tätige Lehrkräfte und werden durch die Administration angelegt.&lt;br /&gt;
&lt;br /&gt;
Bei angemeldeten Benutzerinnen und Benutzern werden Benutzername,&lt;br /&gt;
E-Mail-Adresse (sofern angegeben) sowie die vorgenommenen Bearbeitungen&lt;br /&gt;
gespeichert. Bearbeitungen sind in der Versionsgeschichte der jeweiligen&lt;br /&gt;
Seite dauerhaft nachvollziehbar.&lt;br /&gt;
&lt;br /&gt;
=== 6. Cookies ===&lt;br /&gt;
&lt;br /&gt;
Diese Website setzt keine Cookies zu Analyse-, Werbe- oder&lt;br /&gt;
Tracking-Zwecken ein.&lt;br /&gt;
&lt;br /&gt;
Beim Anmeldevorgang angemeldeter Benutzerinnen und Benutzer werden&lt;br /&gt;
technisch notwendige Sitzungs-Cookies gesetzt, die für die&lt;br /&gt;
Aufrechterhaltung der Anmeldung erforderlich sind. Diese werden nach&lt;br /&gt;
Ende der Sitzung bzw. nach Abmeldung gelöscht.&lt;br /&gt;
&lt;br /&gt;
=== 7. Keine externen Dienste, keine Drittanbieter-Inhalte ===&lt;br /&gt;
&lt;br /&gt;
Sämtliche für die Darstellung erforderlichen Komponenten – einschließlich&lt;br /&gt;
der Bibliotheken zur Darstellung mathematischer Formeln und interaktiver&lt;br /&gt;
Grafiken – werden ausschließlich vom eigenen Server ausgeliefert. Es&lt;br /&gt;
werden keine Inhalte von externen Content-Delivery-Netzwerken nachgeladen.&lt;br /&gt;
Beim Aufruf dieser Website werden daher keine Verbindungen zu&lt;br /&gt;
Drittanbietern hergestellt.&lt;br /&gt;
&lt;br /&gt;
Es kommen keine Analyse-, Tracking- oder Reichweitenmessungsdienste und&lt;br /&gt;
keine Social-Media-Plugins zum Einsatz.&lt;br /&gt;
&lt;br /&gt;
=== 8. Verschlüsselung ===&lt;br /&gt;
&lt;br /&gt;
Diese Website wird ausschließlich verschlüsselt über HTTPS ausgeliefert,&lt;br /&gt;
um die Übertragung der Daten gegen Mitlesen durch Dritte zu schützen.&lt;br /&gt;
&lt;br /&gt;
=== 9. Externe Links ===&lt;br /&gt;
&lt;br /&gt;
Dieses Wiki enthält Links zu externen Websites. Beim Anklicken eines&lt;br /&gt;
solchen Links verlassen Sie diese Website; für die Datenverarbeitung auf&lt;br /&gt;
den Zielseiten ist ausschließlich der jeweilige Anbieter verantwortlich.&lt;br /&gt;
Es wird empfohlen, die dortigen Datenschutzhinweise zu beachten.&lt;br /&gt;
&lt;br /&gt;
=== 10. Auftragsverarbeitung ===&lt;br /&gt;
&lt;br /&gt;
Der technische Betrieb dieser Website erfolgt bei IONOS SE. Mit dem Anbieter besteht ein Vertrag zur&lt;br /&gt;
Auftragsverarbeitung gemäß Art. 28 DSGVO.&lt;br /&gt;
&lt;br /&gt;
Datensicherungen werden innerhalb der schulischen Infrastruktur&lt;br /&gt;
gespeichert.&lt;br /&gt;
&lt;br /&gt;
=== 11. Ihre Rechte ===&lt;br /&gt;
&lt;br /&gt;
Sie haben gegenüber dem Verantwortlichen die folgenden Rechte&lt;br /&gt;
hinsichtlich der Sie betreffenden personenbezogenen Daten:&lt;br /&gt;
&lt;br /&gt;
* Recht auf Auskunft (Art. 15 DSGVO)&lt;br /&gt;
* Recht auf Berichtigung (Art. 16 DSGVO)&lt;br /&gt;
* Recht auf Löschung (Art. 17 DSGVO)&lt;br /&gt;
* Recht auf Einschränkung der Verarbeitung (Art. 18 DSGVO)&lt;br /&gt;
* Recht auf Widerspruch gegen die Verarbeitung (Art. 21 DSGVO)&lt;br /&gt;
* Recht auf Datenübertragbarkeit (Art. 20 DSGVO)&lt;br /&gt;
&lt;br /&gt;
Zur Ausübung dieser Rechte wenden Sie sich bitte an die oben genannten&lt;br /&gt;
Kontaktdaten.&lt;br /&gt;
&lt;br /&gt;
=== 12. Beschwerderecht bei der Aufsichtsbehörde ===&lt;br /&gt;
&lt;br /&gt;
Unabhängig davon steht Ihnen ein Beschwerderecht bei einer&lt;br /&gt;
Datenschutz-Aufsichtsbehörde zu. Zuständig ist:&lt;br /&gt;
&lt;br /&gt;
Landesbeauftragte für Datenschutz und Informationsfreiheit&lt;br /&gt;
Nordrhein-Westfalen&amp;lt;br /&amp;gt;&lt;br /&gt;
Kavalleriestraße 2-4, 40213 Düsseldorf-Stadtbezirk 3&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://www.ldi.nrw.de/ https://www.ldi.nrw.de/]&lt;br /&gt;
&lt;br /&gt;
=== 13. Änderungen dieser Datenschutzerklärung ===&lt;br /&gt;
&lt;br /&gt;
Diese Datenschutzerklärung wird angepasst, sobald Änderungen an der&lt;br /&gt;
Website oder an den rechtlichen Rahmenbedingungen dies erforderlich&lt;br /&gt;
machen.&lt;/div&gt;</summary>
		<author><name>Flbkwikiadmin</name></author>
	</entry>
	<entry>
		<id>https://wiki.flbk-hamm.de/index.php?title=Flbkwiki:Datenschutz&amp;diff=2979</id>
		<title>Flbkwiki:Datenschutz</title>
		<link rel="alternate" type="text/html" href="https://wiki.flbk-hamm.de/index.php?title=Flbkwiki:Datenschutz&amp;diff=2979"/>
		<updated>2026-09-12T12:15:41Z</updated>

		<summary type="html">&lt;p&gt;Flbkwikiadmin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Datenschutzerklärung ==&lt;br /&gt;
&lt;br /&gt;
=== 1. Verantwortlicher ===&lt;br /&gt;
&lt;br /&gt;
Verantwortlich für die Datenverarbeitung auf dieser Website im Sinne der&lt;br /&gt;
Datenschutz-Grundverordnung (DSGVO) ist:&lt;br /&gt;
&lt;br /&gt;
Friedrich-List-Berufskolleg Hamm&amp;lt;br /&amp;gt;&lt;br /&gt;
Vorheider Weg 14&amp;lt;br /&amp;gt;&lt;br /&gt;
59067 Hamm&lt;br /&gt;
&lt;br /&gt;
Telefon: 02381 91492-0&amp;lt;br /&amp;gt;&lt;br /&gt;
E-Mail: info@bkfl.schulen-hamm.de&amp;lt;br /&amp;gt;&lt;br /&gt;
Website: [https://www.flbk-hamm.de www.flbk-hamm.de] vertreten durch die Schulleitung.&lt;br /&gt;
&lt;br /&gt;
=== 2. Zweck und Rechtsgrundlage der Verarbeitung ===&lt;br /&gt;
&lt;br /&gt;
Dieses Wiki dient ausschließlich der Bereitstellung von Unterrichts- und&lt;br /&gt;
Lernmaterial für Schülerinnen, Schüler und Lehrkräfte des&lt;br /&gt;
Friedrich-List-Berufskollegs Hamm.&lt;br /&gt;
&lt;br /&gt;
Rechtsgrundlage der Verarbeitung ist Art. 6 Abs. 1 lit. e DSGVO&lt;br /&gt;
(Wahrnehmung einer Aufgabe im öffentlichen Interesse) in Verbindung mit&lt;br /&gt;
den einschlägigen Vorschriften des Schulgesetzes NRW und des&lt;br /&gt;
Datenschutzgesetzes NRW.&lt;br /&gt;
&lt;br /&gt;
=== 3. Server-Logdateien ===&lt;br /&gt;
&lt;br /&gt;
Beim Aufruf dieser Website werden durch den Webserver automatisch&lt;br /&gt;
Informationen erfasst und in sogenannten Logdateien gespeichert:&lt;br /&gt;
&lt;br /&gt;
* IP-Adresse des zugreifenden Geräts&lt;br /&gt;
* Datum und Uhrzeit des Zugriffs&lt;br /&gt;
* Name und URL der abgerufenen Datei&lt;br /&gt;
* verwendeter Browser und ggf. das Betriebssystem&lt;br /&gt;
* übertragene Datenmenge und Meldung über den Erfolg des Abrufs&lt;br /&gt;
&lt;br /&gt;
Diese Daten sind technisch erforderlich, um die Website auszuliefern,&lt;br /&gt;
ihre Stabilität und Sicherheit zu gewährleisten und Angriffsversuche zu&lt;br /&gt;
erkennen. Eine Zusammenführung dieser Daten mit anderen Datenquellen&lt;br /&gt;
oder eine Auswertung zu Zwecken der Analyse des Nutzerverhaltens findet&lt;br /&gt;
nicht statt.&lt;br /&gt;
&lt;br /&gt;
Die Logdateien werden nach spätestens 14 Tagen automatisch&lt;br /&gt;
gelöscht.&lt;br /&gt;
&lt;br /&gt;
=== 4. Keine Registrierung, keine Konten für Schülerinnen und Schüler ===&lt;br /&gt;
&lt;br /&gt;
Für das Lesen der Inhalte ist keine Anmeldung erforderlich. Eine&lt;br /&gt;
Registrierung durch Besucherinnen und Besucher ist technisch nicht&lt;br /&gt;
möglich. Benutzerkonten bestehen ausschließlich für redaktionell&lt;br /&gt;
tätige Lehrkräfte und werden durch die Administration angelegt.&lt;br /&gt;
&lt;br /&gt;
Bei angemeldeten Benutzerinnen und Benutzern werden Benutzername,&lt;br /&gt;
E-Mail-Adresse (sofern angegeben) sowie die vorgenommenen Bearbeitungen&lt;br /&gt;
gespeichert. Bearbeitungen sind in der Versionsgeschichte der jeweiligen&lt;br /&gt;
Seite dauerhaft nachvollziehbar.&lt;br /&gt;
&lt;br /&gt;
=== 5. Cookies ===&lt;br /&gt;
&lt;br /&gt;
Diese Website setzt keine Cookies zu Analyse-, Werbe- oder&lt;br /&gt;
Tracking-Zwecken ein.&lt;br /&gt;
&lt;br /&gt;
Beim Anmeldevorgang angemeldeter Benutzerinnen und Benutzer werden&lt;br /&gt;
technisch notwendige Sitzungs-Cookies gesetzt, die für die&lt;br /&gt;
Aufrechterhaltung der Anmeldung erforderlich sind. Diese werden nach&lt;br /&gt;
Ende der Sitzung bzw. nach Abmeldung gelöscht.&lt;br /&gt;
&lt;br /&gt;
=== 6. Keine externen Dienste, keine Drittanbieter-Inhalte ===&lt;br /&gt;
&lt;br /&gt;
Sämtliche für die Darstellung erforderlichen Komponenten – einschließlich&lt;br /&gt;
der Bibliotheken zur Darstellung mathematischer Formeln und interaktiver&lt;br /&gt;
Grafiken – werden ausschließlich vom eigenen Server ausgeliefert. Es&lt;br /&gt;
werden keine Inhalte von externen Content-Delivery-Netzwerken nachgeladen.&lt;br /&gt;
Beim Aufruf dieser Website werden daher keine Verbindungen zu&lt;br /&gt;
Drittanbietern hergestellt.&lt;br /&gt;
&lt;br /&gt;
Es kommen keine Analyse-, Tracking- oder Reichweitenmessungsdienste und&lt;br /&gt;
keine Social-Media-Plugins zum Einsatz.&lt;br /&gt;
&lt;br /&gt;
=== 7. Verschlüsselung ===&lt;br /&gt;
&lt;br /&gt;
Diese Website wird ausschließlich verschlüsselt über HTTPS ausgeliefert,&lt;br /&gt;
um die Übertragung der Daten gegen Mitlesen durch Dritte zu schützen.&lt;br /&gt;
&lt;br /&gt;
=== 8. Externe Links ===&lt;br /&gt;
&lt;br /&gt;
Dieses Wiki enthält Links zu externen Websites. Beim Anklicken eines&lt;br /&gt;
solchen Links verlassen Sie diese Website; für die Datenverarbeitung auf&lt;br /&gt;
den Zielseiten ist ausschließlich der jeweilige Anbieter verantwortlich.&lt;br /&gt;
Es wird empfohlen, die dortigen Datenschutzhinweise zu beachten.&lt;br /&gt;
&lt;br /&gt;
=== 9. Auftragsverarbeitung ===&lt;br /&gt;
&lt;br /&gt;
Der technische Betrieb dieser Website erfolgt bei IONOS SE. Mit dem Anbieter besteht ein Vertrag zur&lt;br /&gt;
Auftragsverarbeitung gemäß Art. 28 DSGVO.&lt;br /&gt;
&lt;br /&gt;
Datensicherungen werden innerhalb der schulischen Infrastruktur&lt;br /&gt;
gespeichert.&lt;br /&gt;
&lt;br /&gt;
=== 10. Ihre Rechte ===&lt;br /&gt;
&lt;br /&gt;
Sie haben gegenüber dem Verantwortlichen die folgenden Rechte&lt;br /&gt;
hinsichtlich der Sie betreffenden personenbezogenen Daten:&lt;br /&gt;
&lt;br /&gt;
* Recht auf Auskunft (Art. 15 DSGVO)&lt;br /&gt;
* Recht auf Berichtigung (Art. 16 DSGVO)&lt;br /&gt;
* Recht auf Löschung (Art. 17 DSGVO)&lt;br /&gt;
* Recht auf Einschränkung der Verarbeitung (Art. 18 DSGVO)&lt;br /&gt;
* Recht auf Widerspruch gegen die Verarbeitung (Art. 21 DSGVO)&lt;br /&gt;
* Recht auf Datenübertragbarkeit (Art. 20 DSGVO)&lt;br /&gt;
&lt;br /&gt;
Zur Ausübung dieser Rechte wenden Sie sich bitte an die oben genannten&lt;br /&gt;
Kontaktdaten.&lt;br /&gt;
&lt;br /&gt;
=== 11. Beschwerderecht bei der Aufsichtsbehörde ===&lt;br /&gt;
&lt;br /&gt;
Unabhängig davon steht Ihnen ein Beschwerderecht bei einer&lt;br /&gt;
Datenschutz-Aufsichtsbehörde zu. Zuständig ist:&lt;br /&gt;
&lt;br /&gt;
Landesbeauftragte für Datenschutz und Informationsfreiheit&lt;br /&gt;
Nordrhein-Westfalen&amp;lt;br /&amp;gt;&lt;br /&gt;
Kavalleriestraße 2-4, 40213 Düsseldorf-Stadtbezirk 3&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://www.ldi.nrw.de/ https://www.ldi.nrw.de/]&lt;br /&gt;
&lt;br /&gt;
=== 12. Änderungen dieser Datenschutzerklärung ===&lt;br /&gt;
&lt;br /&gt;
Diese Datenschutzerklärung wird angepasst, sobald Änderungen an der&lt;br /&gt;
Website oder an den rechtlichen Rahmenbedingungen dies erforderlich&lt;br /&gt;
machen.&lt;/div&gt;</summary>
		<author><name>Flbkwikiadmin</name></author>
	</entry>
	<entry>
		<id>https://wiki.flbk-hamm.de/index.php?title=Flbkwiki:Datenschutz&amp;diff=2978</id>
		<title>Flbkwiki:Datenschutz</title>
		<link rel="alternate" type="text/html" href="https://wiki.flbk-hamm.de/index.php?title=Flbkwiki:Datenschutz&amp;diff=2978"/>
		<updated>2026-09-12T12:09:56Z</updated>

		<summary type="html">&lt;p&gt;Flbkwikiadmin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Datenschutzerklärung ==&lt;br /&gt;
&lt;br /&gt;
=== 1. Verantwortlicher ===&lt;br /&gt;
&lt;br /&gt;
Verantwortlich für die Datenverarbeitung auf dieser Website im Sinne der&lt;br /&gt;
Datenschutz-Grundverordnung (DSGVO) ist:&lt;br /&gt;
&lt;br /&gt;
Friedrich-List-Berufskolleg Hamm&amp;lt;br /&amp;gt;&lt;br /&gt;
Vorheider Weg 14&amp;lt;br /&amp;gt;&lt;br /&gt;
59067 Hamm&lt;br /&gt;
&lt;br /&gt;
Telefon: 02381 91492-0&amp;lt;br /&amp;gt;&lt;br /&gt;
E-Mail: info@bkfl.schulen-hamm.de&amp;lt;br /&amp;gt;&lt;br /&gt;
Website: [https://www.flbk-hamm.de www.flbk-hamm.de]&lt;br /&gt;
vertreten durch die Schulleitung.&lt;br /&gt;
&lt;br /&gt;
=== 2. Zweck und Rechtsgrundlage der Verarbeitung ===&lt;br /&gt;
&lt;br /&gt;
Dieses Wiki dient ausschließlich der Bereitstellung von Unterrichts- und&lt;br /&gt;
Lernmaterial für Schülerinnen, Schüler und Lehrkräfte des&lt;br /&gt;
Friedrich-List-Berufskollegs Hamm.&lt;br /&gt;
&lt;br /&gt;
Rechtsgrundlage der Verarbeitung ist Art. 6 Abs. 1 lit. e DSGVO&lt;br /&gt;
(Wahrnehmung einer Aufgabe im öffentlichen Interesse) in Verbindung mit&lt;br /&gt;
den einschlägigen Vorschriften des Schulgesetzes NRW und des&lt;br /&gt;
Datenschutzgesetzes NRW.&lt;br /&gt;
&lt;br /&gt;
=== 3. Server-Logdateien ===&lt;br /&gt;
&lt;br /&gt;
Beim Aufruf dieser Website werden durch den Webserver automatisch&lt;br /&gt;
Informationen erfasst und in sogenannten Logdateien gespeichert:&lt;br /&gt;
&lt;br /&gt;
* IP-Adresse des zugreifenden Geräts&lt;br /&gt;
* Datum und Uhrzeit des Zugriffs&lt;br /&gt;
* Name und URL der abgerufenen Datei&lt;br /&gt;
* verwendeter Browser und ggf. das Betriebssystem&lt;br /&gt;
* übertragene Datenmenge und Meldung über den Erfolg des Abrufs&lt;br /&gt;
&lt;br /&gt;
Diese Daten sind technisch erforderlich, um die Website auszuliefern,&lt;br /&gt;
ihre Stabilität und Sicherheit zu gewährleisten und Angriffsversuche zu&lt;br /&gt;
erkennen. Eine Zusammenführung dieser Daten mit anderen Datenquellen&lt;br /&gt;
oder eine Auswertung zu Zwecken der Analyse des Nutzerverhaltens findet&lt;br /&gt;
nicht statt.&lt;br /&gt;
&lt;br /&gt;
Die Logdateien werden nach spätestens 14 Tagen automatisch&lt;br /&gt;
gelöscht.&lt;br /&gt;
&lt;br /&gt;
=== 4. Keine Registrierung, keine Konten für Schülerinnen und Schüler ===&lt;br /&gt;
&lt;br /&gt;
Für das Lesen der Inhalte ist keine Anmeldung erforderlich. Eine&lt;br /&gt;
Registrierung durch Besucherinnen und Besucher ist technisch nicht&lt;br /&gt;
möglich. Benutzerkonten bestehen ausschließlich für redaktionell&lt;br /&gt;
tätige Lehrkräfte und werden durch die Administration angelegt.&lt;br /&gt;
&lt;br /&gt;
Bei angemeldeten Benutzerinnen und Benutzern werden Benutzername,&lt;br /&gt;
E-Mail-Adresse (sofern angegeben) sowie die vorgenommenen Bearbeitungen&lt;br /&gt;
gespeichert. Bearbeitungen sind in der Versionsgeschichte der jeweiligen&lt;br /&gt;
Seite dauerhaft nachvollziehbar.&lt;br /&gt;
&lt;br /&gt;
=== 5. Cookies ===&lt;br /&gt;
&lt;br /&gt;
Diese Website setzt keine Cookies zu Analyse-, Werbe- oder&lt;br /&gt;
Tracking-Zwecken ein.&lt;br /&gt;
&lt;br /&gt;
Beim Anmeldevorgang angemeldeter Benutzerinnen und Benutzer werden&lt;br /&gt;
technisch notwendige Sitzungs-Cookies gesetzt, die für die&lt;br /&gt;
Aufrechterhaltung der Anmeldung erforderlich sind. Diese werden nach&lt;br /&gt;
Ende der Sitzung bzw. nach Abmeldung gelöscht.&lt;br /&gt;
&lt;br /&gt;
=== 6. Keine externen Dienste, keine Drittanbieter-Inhalte ===&lt;br /&gt;
&lt;br /&gt;
Sämtliche für die Darstellung erforderlichen Komponenten – einschließlich&lt;br /&gt;
der Bibliotheken zur Darstellung mathematischer Formeln und interaktiver&lt;br /&gt;
Grafiken – werden ausschließlich vom eigenen Server ausgeliefert. Es&lt;br /&gt;
werden keine Inhalte von externen Content-Delivery-Netzwerken nachgeladen.&lt;br /&gt;
Beim Aufruf dieser Website werden daher keine Verbindungen zu&lt;br /&gt;
Drittanbietern hergestellt.&lt;br /&gt;
&lt;br /&gt;
Es kommen keine Analyse-, Tracking- oder Reichweitenmessungsdienste und&lt;br /&gt;
keine Social-Media-Plugins zum Einsatz.&lt;br /&gt;
&lt;br /&gt;
=== 7. Verschlüsselung ===&lt;br /&gt;
&lt;br /&gt;
Diese Website wird ausschließlich verschlüsselt über HTTPS ausgeliefert,&lt;br /&gt;
um die Übertragung der Daten gegen Mitlesen durch Dritte zu schützen.&lt;br /&gt;
&lt;br /&gt;
=== 8. Externe Links ===&lt;br /&gt;
&lt;br /&gt;
Dieses Wiki enthält Links zu externen Websites. Beim Anklicken eines&lt;br /&gt;
solchen Links verlassen Sie diese Website; für die Datenverarbeitung auf&lt;br /&gt;
den Zielseiten ist ausschließlich der jeweilige Anbieter verantwortlich.&lt;br /&gt;
Es wird empfohlen, die dortigen Datenschutzhinweise zu beachten.&lt;br /&gt;
&lt;br /&gt;
=== 9. Auftragsverarbeitung ===&lt;br /&gt;
&lt;br /&gt;
Der technische Betrieb dieser Website erfolgt bei IONOS SE. Mit dem Anbieter besteht ein Vertrag zur&lt;br /&gt;
Auftragsverarbeitung gemäß Art. 28 DSGVO.&lt;br /&gt;
&lt;br /&gt;
Datensicherungen werden innerhalb der schulischen Infrastruktur&lt;br /&gt;
gespeichert.&lt;br /&gt;
&lt;br /&gt;
=== 10. Ihre Rechte ===&lt;br /&gt;
&lt;br /&gt;
Sie haben gegenüber dem Verantwortlichen die folgenden Rechte&lt;br /&gt;
hinsichtlich der Sie betreffenden personenbezogenen Daten:&lt;br /&gt;
&lt;br /&gt;
* Recht auf Auskunft (Art. 15 DSGVO)&lt;br /&gt;
* Recht auf Berichtigung (Art. 16 DSGVO)&lt;br /&gt;
* Recht auf Löschung (Art. 17 DSGVO)&lt;br /&gt;
* Recht auf Einschränkung der Verarbeitung (Art. 18 DSGVO)&lt;br /&gt;
* Recht auf Widerspruch gegen die Verarbeitung (Art. 21 DSGVO)&lt;br /&gt;
* Recht auf Datenübertragbarkeit (Art. 20 DSGVO)&lt;br /&gt;
&lt;br /&gt;
Zur Ausübung dieser Rechte wenden Sie sich bitte an die oben genannten&lt;br /&gt;
Kontaktdaten.&lt;br /&gt;
&lt;br /&gt;
=== 11. Beschwerderecht bei der Aufsichtsbehörde ===&lt;br /&gt;
&lt;br /&gt;
Unabhängig davon steht Ihnen ein Beschwerderecht bei einer&lt;br /&gt;
Datenschutz-Aufsichtsbehörde zu. Zuständig ist:&lt;br /&gt;
&lt;br /&gt;
Landesbeauftragte für Datenschutz und Informationsfreiheit&lt;br /&gt;
Nordrhein-Westfalen&amp;lt;br /&amp;gt;&lt;br /&gt;
Kavalleriestraße 2-4, 40213 Düsseldorf-Stadtbezirk 3&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://www.ldi.nrw.de/ https://www.ldi.nrw.de/]&lt;br /&gt;
&lt;br /&gt;
=== 12. Änderungen dieser Datenschutzerklärung ===&lt;br /&gt;
&lt;br /&gt;
Diese Datenschutzerklärung wird angepasst, sobald Änderungen an der&lt;br /&gt;
Website oder an den rechtlichen Rahmenbedingungen dies erforderlich&lt;br /&gt;
machen.&lt;/div&gt;</summary>
		<author><name>Flbkwikiadmin</name></author>
	</entry>
	<entry>
		<id>https://wiki.flbk-hamm.de/index.php?title=Flbkwiki:%C3%9Cber_FLBK-Wiki&amp;diff=2977</id>
		<title>Flbkwiki:Über FLBK-Wiki</title>
		<link rel="alternate" type="text/html" href="https://wiki.flbk-hamm.de/index.php?title=Flbkwiki:%C3%9Cber_FLBK-Wiki&amp;diff=2977"/>
		<updated>2026-09-12T11:54:53Z</updated>

		<summary type="html">&lt;p&gt;Flbkwikiadmin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Über das FLBK-Wiki ==&lt;br /&gt;
&lt;br /&gt;
=== Zweck ===&lt;br /&gt;
&lt;br /&gt;
Das FLBK-Wiki ist ein Nachschlagewerk für Unterrichtsinhalte des&lt;br /&gt;
Friedrich-List-Berufskollegs Hamm. Es sammelt Definitionen, Sätze,&lt;br /&gt;
Beispiele und Erläuterungen aus den Fächern Mathematik und Informatik&lt;br /&gt;
und stellt sie dauerhaft und geräteunabhängig zur Verfügung.&lt;br /&gt;
&lt;br /&gt;
Das Wiki richtet sich in erster Linie an die Schülerinnen und Schüler&lt;br /&gt;
der Bildungsgänge des Berufskollegs. Es kann zur Vor- und Nachbereitung&lt;br /&gt;
des Unterrichts, zur Wiederholung und zur Prüfungsvorbereitung genutzt&lt;br /&gt;
werden.&lt;br /&gt;
&lt;br /&gt;
=== Abgrenzung zu anderen Angeboten ===&lt;br /&gt;
&lt;br /&gt;
Das Wiki dient ausschließlich der &#039;&#039;&#039;Darstellung&#039;&#039;&#039; von Inhalten. Es&lt;br /&gt;
enthält keine Aufgaben, Tests oder Leistungsüberprüfungen.&lt;br /&gt;
&lt;br /&gt;
Übungsaufgaben, Lernkontrollen, Materialien zu einzelnen Kursen sowie&lt;br /&gt;
alle organisatorischen Inhalte finden sich auf der Lernplattform der&lt;br /&gt;
Schule unter [https://elearning.flbk-hamm.de elearning.flbk-hamm.de].&lt;br /&gt;
&lt;br /&gt;
=== Redaktion und Mitarbeit ===&lt;br /&gt;
&lt;br /&gt;
Die Inhalte werden ausschließlich von Lehrkräften der Schule erstellt und&lt;br /&gt;
gepflegt. Eine Bearbeitung durch Schülerinnen und Schüler ist nicht&lt;br /&gt;
vorgesehen; eine Registrierung ist nicht möglich.&lt;br /&gt;
&lt;br /&gt;
Hinweise auf Fehler, unklare Formulierungen oder fehlende Themen sind&lt;br /&gt;
ausdrücklich willkommen und können an [E-Mail-Adresse oder „die&lt;br /&gt;
jeweilige Lehrkraft“] gerichtet werden.&lt;br /&gt;
&lt;br /&gt;
=== Verbindlichkeit der Inhalte ===&lt;br /&gt;
&lt;br /&gt;
Die Inhalte dieses Wikis werden mit Sorgfalt erstellt, erheben aber&lt;br /&gt;
keinen Anspruch auf Vollständigkeit. Verbindlich für Unterricht und&lt;br /&gt;
Prüfungen sind ausschließlich die im Unterricht behandelten Inhalte&lt;br /&gt;
sowie die geltenden Lehrpläne und Prüfungsordnungen.&lt;br /&gt;
&lt;br /&gt;
=== Nutzung der Inhalte ===&lt;br /&gt;
&lt;br /&gt;
Die Inhalte dürfen von Schülerinnen, Schülern und Lehrkräften der Schule&lt;br /&gt;
zu Unterrichts- und Lernzwecken frei genutzt werden. Eine darüber&lt;br /&gt;
hinausgehende Verwendung, insbesondere eine Veröffentlichung oder&lt;br /&gt;
kommerzielle Nutzung, bedarf der vorherigen Zustimmung.&lt;br /&gt;
&lt;br /&gt;
=== Technischer Hinweis ===&lt;br /&gt;
&lt;br /&gt;
Dieses Wiki basiert auf der freien Software&lt;br /&gt;
[https://www.mediawiki.org MediaWiki].&lt;br /&gt;
&lt;br /&gt;
=== Rechtliche Hinweise ===&lt;br /&gt;
&lt;br /&gt;
* [[Flbkwiki:Impressum|Impressum und Haftungsausschluss]]&lt;br /&gt;
* [[Flbkwiki:Datenschutz|Datenschutzerklärung]]&lt;/div&gt;</summary>
		<author><name>Flbkwikiadmin</name></author>
	</entry>
	<entry>
		<id>https://wiki.flbk-hamm.de/index.php?title=Flbkwiki:%C3%9Cber_FLBK-Wiki&amp;diff=2976</id>
		<title>Flbkwiki:Über FLBK-Wiki</title>
		<link rel="alternate" type="text/html" href="https://wiki.flbk-hamm.de/index.php?title=Flbkwiki:%C3%9Cber_FLBK-Wiki&amp;diff=2976"/>
		<updated>2026-09-12T11:54:47Z</updated>

		<summary type="html">&lt;p&gt;Flbkwikiadmin: Die Seite wurde neu angelegt: „== Über das FLBK-Wiki ==  === Zweck ===  Das FLBK-Wiki ist ein Nachschlagewerk für Unterrichtsinhalte des Friedrich-List-Berufskollegs Hamm. Es sammelt Definitionen, Sätze, Beispiele und Erläuterungen aus den Fächern Mathematik und Informatik und stellt sie dauerhaft und geräteunabhängig zur Verfügung.  Das Wiki richtet sich in erster Linie an die Schülerinnen und Schüler der Bildungsgänge des Berufskollegs. Es kann zur Vor- und Nachbereitung d…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Über das FLBK-Wiki ==&lt;br /&gt;
&lt;br /&gt;
=== Zweck ===&lt;br /&gt;
&lt;br /&gt;
Das FLBK-Wiki ist ein Nachschlagewerk für Unterrichtsinhalte des&lt;br /&gt;
Friedrich-List-Berufskollegs Hamm. Es sammelt Definitionen, Sätze,&lt;br /&gt;
Beispiele und Erläuterungen aus den Fächern Mathematik und Informatik&lt;br /&gt;
und stellt sie dauerhaft und geräteunabhängig zur Verfügung.&lt;br /&gt;
&lt;br /&gt;
Das Wiki richtet sich in erster Linie an die Schülerinnen und Schüler&lt;br /&gt;
der Bildungsgänge des Berufskollegs. Es kann zur Vor- und Nachbereitung&lt;br /&gt;
des Unterrichts, zur Wiederholung und zur Prüfungsvorbereitung genutzt&lt;br /&gt;
werden.&lt;br /&gt;
&lt;br /&gt;
=== Abgrenzung zu anderen Angeboten ===&lt;br /&gt;
&lt;br /&gt;
Das Wiki dient ausschließlich der &#039;&#039;&#039;Darstellung&#039;&#039;&#039; von Inhalten. Es&lt;br /&gt;
enthält keine Aufgaben, Tests oder Leistungsüberprüfungen.&lt;br /&gt;
&lt;br /&gt;
Übungsaufgaben, Lernkontrollen, Materialien zu einzelnen Kursen sowie&lt;br /&gt;
alle organisatorischen Inhalte finden sich auf der Lernplattform der&lt;br /&gt;
Schule unter [https://elearning.flbk-hamm.de elearning.flbk-hamm.de].&lt;br /&gt;
&lt;br /&gt;
=== Redaktion und Mitarbeit ===&lt;br /&gt;
&lt;br /&gt;
Die Inhalte werden ausschließlich von Lehrkräften der Schule erstellt und&lt;br /&gt;
gepflegt. Eine Bearbeitung durch Schülerinnen und Schüler ist nicht&lt;br /&gt;
vorgesehen; eine Registrierung ist nicht möglich.&lt;br /&gt;
&lt;br /&gt;
Hinweise auf Fehler, unklare Formulierungen oder fehlende Themen sind&lt;br /&gt;
ausdrücklich willkommen und können an [E-Mail-Adresse oder „die&lt;br /&gt;
jeweilige Lehrkraft“] gerichtet werden.&lt;br /&gt;
&lt;br /&gt;
=== Verbindlichkeit der Inhalte ===&lt;br /&gt;
&lt;br /&gt;
Die Inhalte dieses Wikis werden mit Sorgfalt erstellt, erheben aber&lt;br /&gt;
keinen Anspruch auf Vollständigkeit. Verbindlich für Unterricht und&lt;br /&gt;
Prüfungen sind ausschließlich die im Unterricht behandelten Inhalte&lt;br /&gt;
sowie die geltenden Lehrpläne und Prüfungsordnungen.&lt;br /&gt;
&lt;br /&gt;
=== Nutzung der Inhalte ===&lt;br /&gt;
&lt;br /&gt;
Die Inhalte dürfen von Schülerinnen, Schülern und Lehrkräften der Schule&lt;br /&gt;
zu Unterrichts- und Lernzwecken frei genutzt werden. Eine darüber&lt;br /&gt;
hinausgehende Verwendung, insbesondere eine Veröffentlichung oder&lt;br /&gt;
kommerzielle Nutzung, bedarf der vorherigen Zustimmung.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Technischer Hinweis ===&lt;br /&gt;
&lt;br /&gt;
Dieses Wiki basiert auf der freien Software&lt;br /&gt;
[https://www.mediawiki.org MediaWiki].&lt;br /&gt;
&lt;br /&gt;
=== Rechtliche Hinweise ===&lt;br /&gt;
&lt;br /&gt;
* [[Flbkwiki:Impressum|Impressum und Haftungsausschluss]]&lt;br /&gt;
* [[Flbkwiki:Datenschutz|Datenschutzerklärung]]&lt;/div&gt;</summary>
		<author><name>Flbkwikiadmin</name></author>
	</entry>
	<entry>
		<id>https://wiki.flbk-hamm.de/index.php?title=Flbkwiki:Datenschutz&amp;diff=2975</id>
		<title>Flbkwiki:Datenschutz</title>
		<link rel="alternate" type="text/html" href="https://wiki.flbk-hamm.de/index.php?title=Flbkwiki:Datenschutz&amp;diff=2975"/>
		<updated>2026-09-12T11:53:14Z</updated>

		<summary type="html">&lt;p&gt;Flbkwikiadmin: Die Seite wurde neu angelegt: „== Datenschutzerklärung ==  === 1. Verantwortlicher ===  Verantwortlich für die Datenverarbeitung auf dieser Website im Sinne der Datenschutz-Grundverordnung (DSGVO) ist:  Friedrich-List-Berufskolleg Hamm&amp;lt;br /&amp;gt; Vorheider Weg 14&amp;lt;br /&amp;gt; 59067 Hamm  Telefon: 02381 91492-0&amp;lt;br /&amp;gt; E-Mail: info@bkfl.schulen-hamm.de&amp;lt;br /&amp;gt; Website: [https://www.flbk-hamm.de www.flbk-hamm.de] vertreten durch die Schulleitung.  === 2. Zweck und Rechtsgrundlage der Verarbeitung ===…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Datenschutzerklärung ==&lt;br /&gt;
&lt;br /&gt;
=== 1. Verantwortlicher ===&lt;br /&gt;
&lt;br /&gt;
Verantwortlich für die Datenverarbeitung auf dieser Website im Sinne der&lt;br /&gt;
Datenschutz-Grundverordnung (DSGVO) ist:&lt;br /&gt;
&lt;br /&gt;
Friedrich-List-Berufskolleg Hamm&amp;lt;br /&amp;gt;&lt;br /&gt;
Vorheider Weg 14&amp;lt;br /&amp;gt;&lt;br /&gt;
59067 Hamm&lt;br /&gt;
&lt;br /&gt;
Telefon: 02381 91492-0&amp;lt;br /&amp;gt;&lt;br /&gt;
E-Mail: info@bkfl.schulen-hamm.de&amp;lt;br /&amp;gt;&lt;br /&gt;
Website: [https://www.flbk-hamm.de www.flbk-hamm.de]&lt;br /&gt;
vertreten durch die Schulleitung.&lt;br /&gt;
&lt;br /&gt;
=== 2. Zweck und Rechtsgrundlage der Verarbeitung ===&lt;br /&gt;
&lt;br /&gt;
Dieses Wiki dient ausschließlich der Bereitstellung von Unterrichts- und&lt;br /&gt;
Lernmaterial für Schülerinnen, Schüler und Lehrkräfte des&lt;br /&gt;
Friedrich-List-Berufskollegs Hamm.&lt;br /&gt;
&lt;br /&gt;
Rechtsgrundlage der Verarbeitung ist Art. 6 Abs. 1 lit. e DSGVO&lt;br /&gt;
(Wahrnehmung einer Aufgabe im öffentlichen Interesse) in Verbindung mit&lt;br /&gt;
den einschlägigen Vorschriften des Schulgesetzes NRW und des&lt;br /&gt;
Datenschutzgesetzes NRW.&lt;br /&gt;
&lt;br /&gt;
=== 3. Server-Logdateien ===&lt;br /&gt;
&lt;br /&gt;
Beim Aufruf dieser Website werden durch den Webserver automatisch&lt;br /&gt;
Informationen erfasst und in sogenannten Logdateien gespeichert:&lt;br /&gt;
&lt;br /&gt;
* IP-Adresse des zugreifenden Geräts&lt;br /&gt;
* Datum und Uhrzeit des Zugriffs&lt;br /&gt;
* Name und URL der abgerufenen Datei&lt;br /&gt;
* verwendeter Browser und ggf. das Betriebssystem&lt;br /&gt;
* übertragene Datenmenge und Meldung über den Erfolg des Abrufs&lt;br /&gt;
&lt;br /&gt;
Diese Daten sind technisch erforderlich, um die Website auszuliefern,&lt;br /&gt;
ihre Stabilität und Sicherheit zu gewährleisten und Angriffsversuche zu&lt;br /&gt;
erkennen. Eine Zusammenführung dieser Daten mit anderen Datenquellen&lt;br /&gt;
oder eine Auswertung zu Zwecken der Analyse des Nutzerverhaltens findet&lt;br /&gt;
nicht statt.&lt;br /&gt;
&lt;br /&gt;
Die Logdateien werden nach spätestens [Anzahl] Tagen automatisch&lt;br /&gt;
gelöscht.&lt;br /&gt;
&lt;br /&gt;
=== 4. Keine Registrierung, keine Konten für Schülerinnen und Schüler ===&lt;br /&gt;
&lt;br /&gt;
Für das Lesen der Inhalte ist keine Anmeldung erforderlich. Eine&lt;br /&gt;
Registrierung durch Besucherinnen und Besucher ist technisch nicht&lt;br /&gt;
möglich. Benutzerkonten bestehen ausschließlich für redaktionell&lt;br /&gt;
tätige Lehrkräfte und werden durch die Administration angelegt.&lt;br /&gt;
&lt;br /&gt;
Bei angemeldeten Benutzerinnen und Benutzern werden Benutzername,&lt;br /&gt;
E-Mail-Adresse (sofern angegeben) sowie die vorgenommenen Bearbeitungen&lt;br /&gt;
gespeichert. Bearbeitungen sind in der Versionsgeschichte der jeweiligen&lt;br /&gt;
Seite dauerhaft nachvollziehbar.&lt;br /&gt;
&lt;br /&gt;
=== 5. Cookies ===&lt;br /&gt;
&lt;br /&gt;
Diese Website setzt keine Cookies zu Analyse-, Werbe- oder&lt;br /&gt;
Tracking-Zwecken ein.&lt;br /&gt;
&lt;br /&gt;
Beim Anmeldevorgang angemeldeter Benutzerinnen und Benutzer werden&lt;br /&gt;
technisch notwendige Sitzungs-Cookies gesetzt, die für die&lt;br /&gt;
Aufrechterhaltung der Anmeldung erforderlich sind. Diese werden nach&lt;br /&gt;
Ende der Sitzung bzw. nach Abmeldung gelöscht.&lt;br /&gt;
&lt;br /&gt;
=== 6. Keine externen Dienste, keine Drittanbieter-Inhalte ===&lt;br /&gt;
&lt;br /&gt;
Sämtliche für die Darstellung erforderlichen Komponenten – einschließlich&lt;br /&gt;
der Bibliotheken zur Darstellung mathematischer Formeln und interaktiver&lt;br /&gt;
Grafiken – werden ausschließlich vom eigenen Server ausgeliefert. Es&lt;br /&gt;
werden keine Inhalte von externen Content-Delivery-Netzwerken nachgeladen.&lt;br /&gt;
Beim Aufruf dieser Website werden daher keine Verbindungen zu&lt;br /&gt;
Drittanbietern hergestellt.&lt;br /&gt;
&lt;br /&gt;
Es kommen keine Analyse-, Tracking- oder Reichweitenmessungsdienste und&lt;br /&gt;
keine Social-Media-Plugins zum Einsatz.&lt;br /&gt;
&lt;br /&gt;
=== 7. Verschlüsselung ===&lt;br /&gt;
&lt;br /&gt;
Diese Website wird ausschließlich verschlüsselt über HTTPS ausgeliefert,&lt;br /&gt;
um die Übertragung der Daten gegen Mitlesen durch Dritte zu schützen.&lt;br /&gt;
&lt;br /&gt;
=== 8. Externe Links ===&lt;br /&gt;
&lt;br /&gt;
Dieses Wiki enthält Links zu externen Websites. Beim Anklicken eines&lt;br /&gt;
solchen Links verlassen Sie diese Website; für die Datenverarbeitung auf&lt;br /&gt;
den Zielseiten ist ausschließlich der jeweilige Anbieter verantwortlich.&lt;br /&gt;
Es wird empfohlen, die dortigen Datenschutzhinweise zu beachten.&lt;br /&gt;
&lt;br /&gt;
=== 9. Auftragsverarbeitung ===&lt;br /&gt;
&lt;br /&gt;
Der technische Betrieb dieser Website erfolgt bei [Name des&lt;br /&gt;
Hosting-Anbieters]. Mit dem Anbieter besteht ein Vertrag zur&lt;br /&gt;
Auftragsverarbeitung gemäß Art. 28 DSGVO.&lt;br /&gt;
&lt;br /&gt;
Datensicherungen werden innerhalb der schulischen Infrastruktur&lt;br /&gt;
gespeichert.&lt;br /&gt;
&lt;br /&gt;
=== 10. Ihre Rechte ===&lt;br /&gt;
&lt;br /&gt;
Sie haben gegenüber dem Verantwortlichen die folgenden Rechte&lt;br /&gt;
hinsichtlich der Sie betreffenden personenbezogenen Daten:&lt;br /&gt;
&lt;br /&gt;
* Recht auf Auskunft (Art. 15 DSGVO)&lt;br /&gt;
* Recht auf Berichtigung (Art. 16 DSGVO)&lt;br /&gt;
* Recht auf Löschung (Art. 17 DSGVO)&lt;br /&gt;
* Recht auf Einschränkung der Verarbeitung (Art. 18 DSGVO)&lt;br /&gt;
* Recht auf Widerspruch gegen die Verarbeitung (Art. 21 DSGVO)&lt;br /&gt;
* Recht auf Datenübertragbarkeit (Art. 20 DSGVO)&lt;br /&gt;
&lt;br /&gt;
Zur Ausübung dieser Rechte wenden Sie sich bitte an die oben genannten&lt;br /&gt;
Kontaktdaten.&lt;br /&gt;
&lt;br /&gt;
=== 11. Beschwerderecht bei der Aufsichtsbehörde ===&lt;br /&gt;
&lt;br /&gt;
Unabhängig davon steht Ihnen ein Beschwerderecht bei einer&lt;br /&gt;
Datenschutz-Aufsichtsbehörde zu. Zuständig ist:&lt;br /&gt;
&lt;br /&gt;
Landesbeauftragte für Datenschutz und Informationsfreiheit&lt;br /&gt;
Nordrhein-Westfalen&amp;lt;br /&amp;gt;&lt;br /&gt;
[Anschrift]&amp;lt;br /&amp;gt;&lt;br /&gt;
[Website]&lt;br /&gt;
&lt;br /&gt;
=== 12. Änderungen dieser Datenschutzerklärung ===&lt;br /&gt;
&lt;br /&gt;
Diese Datenschutzerklärung wird angepasst, sobald Änderungen an der&lt;br /&gt;
Website oder an den rechtlichen Rahmenbedingungen dies erforderlich&lt;br /&gt;
machen.&lt;/div&gt;</summary>
		<author><name>Flbkwikiadmin</name></author>
	</entry>
	<entry>
		<id>https://wiki.flbk-hamm.de/index.php?title=Flbkwiki:Impressum&amp;diff=2974</id>
		<title>Flbkwiki:Impressum</title>
		<link rel="alternate" type="text/html" href="https://wiki.flbk-hamm.de/index.php?title=Flbkwiki:Impressum&amp;diff=2974"/>
		<updated>2026-09-12T11:51:28Z</updated>

		<summary type="html">&lt;p&gt;Flbkwikiadmin: Die Seite wurde neu angelegt: „== Impressum ==  Angaben gemäß § 5 Digitale-Dienste-Gesetz (DDG)  === Anbieter ===  Friedrich-List-Berufskolleg Hamm&amp;lt;br /&amp;gt; Vorheider Weg 14&amp;lt;br /&amp;gt; 59067 Hamm  Telefon: 02381 91492-0&amp;lt;br /&amp;gt; E-Mail: info@bkfl.schulen-hamm.de&amp;lt;br /&amp;gt; Website: [https://www.flbk-hamm.de www.flbk-hamm.de]  === Vertretungsberechtigung ===  Das Friedrich-List-Berufskolleg Hamm ist eine öffentliche Schule in der Trägerschaft der Stadt Hamm und als solche eine nicht rechtsfähige…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Impressum ==&lt;br /&gt;
&lt;br /&gt;
Angaben gemäß § 5 Digitale-Dienste-Gesetz (DDG)&lt;br /&gt;
&lt;br /&gt;
=== Anbieter ===&lt;br /&gt;
&lt;br /&gt;
Friedrich-List-Berufskolleg Hamm&amp;lt;br /&amp;gt;&lt;br /&gt;
Vorheider Weg 14&amp;lt;br /&amp;gt;&lt;br /&gt;
59067 Hamm&lt;br /&gt;
&lt;br /&gt;
Telefon: 02381 91492-0&amp;lt;br /&amp;gt;&lt;br /&gt;
E-Mail: info@bkfl.schulen-hamm.de&amp;lt;br /&amp;gt;&lt;br /&gt;
Website: [https://www.flbk-hamm.de www.flbk-hamm.de]&lt;br /&gt;
&lt;br /&gt;
=== Vertretungsberechtigung ===&lt;br /&gt;
&lt;br /&gt;
Das Friedrich-List-Berufskolleg Hamm ist eine öffentliche Schule in der&lt;br /&gt;
Trägerschaft der Stadt Hamm und als solche eine nicht rechtsfähige&lt;br /&gt;
öffentliche Anstalt.&lt;br /&gt;
&lt;br /&gt;
Vertreten durch: Schulleiter/in&lt;br /&gt;
&lt;br /&gt;
=== Schulträger ===&lt;br /&gt;
&lt;br /&gt;
Stadt Hamm&lt;br /&gt;
&lt;br /&gt;
=== Zuständige Schulaufsichtsbehörde ===&lt;br /&gt;
&lt;br /&gt;
Bezirksregierung Arnsberg&lt;br /&gt;
&lt;br /&gt;
== Haftungsausschluss ==&lt;br /&gt;
&lt;br /&gt;
=== Haftung für Inhalte ===&lt;br /&gt;
&lt;br /&gt;
Die Inhalte dieses Wikis wurden mit größtmöglicher Sorgfalt für den&lt;br /&gt;
Unterrichtsgebrauch erstellt. Für die Richtigkeit, Vollständigkeit und&lt;br /&gt;
Aktualität der Inhalte kann jedoch keine Gewähr übernommen werden.&lt;br /&gt;
&lt;br /&gt;
Die hier bereitgestellten Materialien dienen der Unterstützung des&lt;br /&gt;
Unterrichts. Sie ersetzen weder den Unterricht selbst noch die&lt;br /&gt;
verbindlichen Vorgaben der jeweiligen Lehrpläne, Bildungspläne oder&lt;br /&gt;
Prüfungsordnungen. Verbindlich sind ausschließlich die im Unterricht&lt;br /&gt;
bekannt gegebenen Inhalte und Regelungen.&lt;br /&gt;
&lt;br /&gt;
=== Haftung für Links ===&lt;br /&gt;
&lt;br /&gt;
Dieses Wiki enthält Links zu externen Websites Dritter, auf deren Inhalte&lt;br /&gt;
kein Einfluss besteht. Für diese fremden Inhalte kann keine Gewähr&lt;br /&gt;
übernommen werden; verantwortlich ist stets der jeweilige Anbieter oder&lt;br /&gt;
Betreiber der verlinkten Seiten. Die verlinkten Seiten wurden zum&lt;br /&gt;
Zeitpunkt der Verlinkung auf mögliche Rechtsverstöße überprüft;&lt;br /&gt;
rechtswidrige Inhalte waren nicht erkennbar. Eine dauerhafte inhaltliche&lt;br /&gt;
Kontrolle verlinkter Seiten ist ohne konkrete Anhaltspunkte einer&lt;br /&gt;
Rechtsverletzung nicht zumutbar. Bei Bekanntwerden von Rechtsverletzungen&lt;br /&gt;
werden entsprechende Links umgehend entfernt.&lt;br /&gt;
&lt;br /&gt;
=== Urheberrecht ===&lt;br /&gt;
&lt;br /&gt;
Die durch die Betreiber erstellten Inhalte und Werke auf diesen Seiten&lt;br /&gt;
unterliegen dem deutschen Urheberrecht.&lt;br /&gt;
&lt;br /&gt;
Sollten Sie der Auffassung sein, dass Inhalte dieses Wikis Rechte Dritter&lt;br /&gt;
verletzen, wird um einen entsprechenden Hinweis gebeten. Bei Kenntnis von&lt;br /&gt;
Rechtsverletzungen werden die betroffenen Inhalte umgehend entfernt.&lt;/div&gt;</summary>
		<author><name>Flbkwikiadmin</name></author>
	</entry>
	<entry>
		<id>https://wiki.flbk-hamm.de/index.php?title=MediaWiki:Disclaimers&amp;diff=2973</id>
		<title>MediaWiki:Disclaimers</title>
		<link rel="alternate" type="text/html" href="https://wiki.flbk-hamm.de/index.php?title=MediaWiki:Disclaimers&amp;diff=2973"/>
		<updated>2026-09-12T11:46:13Z</updated>

		<summary type="html">&lt;p&gt;Flbkwikiadmin: Die Seite wurde neu angelegt: „Impressum &amp;amp; Haftungsausschluss“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Impressum &amp;amp; Haftungsausschluss&lt;/div&gt;</summary>
		<author><name>Flbkwikiadmin</name></author>
	</entry>
	<entry>
		<id>https://wiki.flbk-hamm.de/index.php?title=Stapel&amp;diff=2972</id>
		<title>Stapel</title>
		<link rel="alternate" type="text/html" href="https://wiki.flbk-hamm.de/index.php?title=Stapel&amp;diff=2972"/>
		<updated>2026-09-11T06:59:16Z</updated>

		<summary type="html">&lt;p&gt;Flbkwikiadmin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Einführung ==&lt;br /&gt;
In der Informatik bezeichnet ein &#039;&#039;&#039;Stapelspeicher&#039;&#039;&#039; oder &#039;&#039;&#039;Kellerspeicher&#039;&#039;&#039; (kurz &#039;&#039;Stapel&#039;&#039; oder &#039;&#039;Keller&#039;&#039;, häufig auch mit dem englischen Fachbegriff &#039;&#039;&#039;Stack&#039;&#039;&#039; bezeichnet) eine fundamentale, dynamische Datenstruktur. Sie dient der temporären Zwischenspeicherung von Datenobjekten in einer streng definierten Reihenfolge und ist ein zentraler Bestandteil der objektorientierten Anwendungsentwicklung.&lt;br /&gt;
&lt;br /&gt;
Objekte der abstrakten Datenstruktur (ADT) &amp;lt;code&amp;gt;Stack&amp;lt;/code&amp;gt; verwalten beliebige Elemente nach dem &#039;&#039;&#039;LIFO-Prinzip&#039;&#039;&#039; (&#039;&#039;Last-In-First-Out&#039;&#039;). Das bedeutet: Das Element, welches als letztes auf den Stapel gelegt wurde, wird als erstes wieder entnommen.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Alltagsanalogie:&#039;&#039;&#039;&lt;br /&gt;
Ein Kellerspeicher lässt sich anschaulich mit einem Stapel von Umzugskisten oder einem Tellerstapel vergleichen. Es kann immer nur eine neue Kiste oben auf den Stapel gepackt werden (dies entspricht der Operation &amp;lt;code&amp;gt;push&amp;lt;/code&amp;gt;). Ebenso kann immer nur die oberste Kiste heruntergenommen werden (entspricht der Operation &amp;lt;code&amp;gt;pop&amp;lt;/code&amp;gt;). Der lesende oder schreibende Zugriff ist strukturell zwingend auf das oberste Element des Stapels beschränkt. Ein Hinzufügen oder Entfernen einer Kiste weiter unten im Stapel ist nicht möglich.&lt;br /&gt;
&lt;br /&gt;
== Visualisierung ==&lt;br /&gt;
Die Arbeitsweise der LIFO-Datenstruktur lässt sich durch die beiden Hauptoperationen – das Hinzufügen (Push) und das Entfernen (Pop) – am Kopfende des Stapels veranschaulichen.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&amp;lt;svg width=&amp;quot;500&amp;quot; height=&amp;quot;360&amp;quot; viewBox=&amp;quot;0 0 500 360&amp;quot; xmlns=&amp;quot;http://www.w3.org/2000/svg&amp;quot; style=&amp;quot;background-color: transparent;&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Definition der Pfeilspitzen --&amp;gt;&lt;br /&gt;
  &amp;lt;defs&amp;gt;&lt;br /&gt;
    &amp;lt;marker id=&amp;quot;arrow-push&amp;quot; viewBox=&amp;quot;0 0 10 10&amp;quot; refX=&amp;quot;5&amp;quot; refY=&amp;quot;5&amp;quot; markerWidth=&amp;quot;6&amp;quot; markerHeight=&amp;quot;6&amp;quot; orient=&amp;quot;auto&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;path d=&amp;quot;M 0 0 L 10 5 L 0 10 z&amp;quot; fill=&amp;quot;#000000&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/marker&amp;gt;&lt;br /&gt;
    &amp;lt;marker id=&amp;quot;arrow-pop&amp;quot; viewBox=&amp;quot;0 0 10 10&amp;quot; refX=&amp;quot;5&amp;quot; refY=&amp;quot;5&amp;quot; markerWidth=&amp;quot;6&amp;quot; markerHeight=&amp;quot;6&amp;quot; orient=&amp;quot;auto&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;path d=&amp;quot;M 0 0 L 10 5 L 0 10 z&amp;quot; fill=&amp;quot;#000000&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/marker&amp;gt;&lt;br /&gt;
  &amp;lt;/defs&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;!-- Der Stack (von unten nach oben) --&amp;gt;&lt;br /&gt;
  &amp;lt;rect x=&amp;quot;200&amp;quot; y=&amp;quot;300&amp;quot; width=&amp;quot;100&amp;quot; height=&amp;quot;35&amp;quot; fill=&amp;quot;#e0e0ff&amp;quot; stroke=&amp;quot;#000000&amp;quot; stroke-width=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;rect x=&amp;quot;200&amp;quot; y=&amp;quot;260&amp;quot; width=&amp;quot;100&amp;quot; height=&amp;quot;35&amp;quot; fill=&amp;quot;#c0c0ff&amp;quot; stroke=&amp;quot;#000000&amp;quot; stroke-width=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;rect x=&amp;quot;200&amp;quot; y=&amp;quot;220&amp;quot; width=&amp;quot;100&amp;quot; height=&amp;quot;35&amp;quot; fill=&amp;quot;#a0a0ff&amp;quot; stroke=&amp;quot;#000000&amp;quot; stroke-width=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;rect x=&amp;quot;200&amp;quot; y=&amp;quot;180&amp;quot; width=&amp;quot;100&amp;quot; height=&amp;quot;35&amp;quot; fill=&amp;quot;#8080ff&amp;quot; stroke=&amp;quot;#000000&amp;quot; stroke-width=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;rect x=&amp;quot;200&amp;quot; y=&amp;quot;140&amp;quot; width=&amp;quot;100&amp;quot; height=&amp;quot;35&amp;quot; fill=&amp;quot;#6060ff&amp;quot; stroke=&amp;quot;#000000&amp;quot; stroke-width=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;rect x=&amp;quot;200&amp;quot; y=&amp;quot;100&amp;quot; width=&amp;quot;100&amp;quot; height=&amp;quot;35&amp;quot; fill=&amp;quot;#4040ff&amp;quot; stroke=&amp;quot;#000000&amp;quot; stroke-width=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;!-- Push Element (links oben) --&amp;gt;&lt;br /&gt;
  &amp;lt;rect x=&amp;quot;40&amp;quot; y=&amp;quot;20&amp;quot; width=&amp;quot;100&amp;quot; height=&amp;quot;35&amp;quot; fill=&amp;quot;#4040ff&amp;quot; stroke=&amp;quot;#000000&amp;quot; stroke-width=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;text x=&amp;quot;120&amp;quot; y=&amp;quot;85&amp;quot; font-family=&amp;quot;Arial, sans-serif&amp;quot; font-size=&amp;quot;22&amp;quot; fill=&amp;quot;#000000&amp;quot;&amp;gt;Push&amp;lt;/text&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Push Pfeil (gebogen zum Stack) --&amp;gt;&lt;br /&gt;
  &amp;lt;path d=&amp;quot;M 140 60 Q 190 60 195 90&amp;quot; fill=&amp;quot;none&amp;quot; stroke=&amp;quot;#000000&amp;quot; stroke-width=&amp;quot;2&amp;quot; marker-end=&amp;quot;url(#arrow-push)&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;!-- Pop Element (rechts oben) --&amp;gt;&lt;br /&gt;
  &amp;lt;rect x=&amp;quot;360&amp;quot; y=&amp;quot;20&amp;quot; width=&amp;quot;100&amp;quot; height=&amp;quot;35&amp;quot; fill=&amp;quot;#4040ff&amp;quot; stroke=&amp;quot;#000000&amp;quot; stroke-width=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;text x=&amp;quot;310&amp;quot; y=&amp;quot;85&amp;quot; font-family=&amp;quot;Arial, sans-serif&amp;quot; font-size=&amp;quot;22&amp;quot; fill=&amp;quot;#000000&amp;quot;&amp;gt;Pop&amp;lt;/text&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Pop Pfeil (gebogen vom Stack weg) --&amp;gt;&lt;br /&gt;
  &amp;lt;path d=&amp;quot;M 260 85 Q 270 50 350 40&amp;quot; fill=&amp;quot;none&amp;quot; stroke=&amp;quot;#000000&amp;quot; stroke-width=&amp;quot;2&amp;quot; marker-end=&amp;quot;url(#arrow-pop)&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/svg&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Aufbau und Spezifikation (API) ==&lt;br /&gt;
Im Kontext der Softwaretechnologie wird diese abstrakte Datenstruktur formal über eine wohldefinierte Schnittstelle abgebildet, um die Kapselung der Daten zu gewährleisten[cite: 4]. Ein klassischer Stapel verfügt über die folgenden Methoden und Konstruktoren:&lt;br /&gt;
&lt;br /&gt;
=== Konstruktor ===&lt;br /&gt;
* &amp;lt;code&amp;gt;Stack()&amp;lt;/code&amp;gt;&lt;br /&gt;
** Ein neuer, leerer Stapel wird erzeugt.&lt;br /&gt;
&lt;br /&gt;
=== Methoden ===&lt;br /&gt;
* &amp;lt;code&amp;gt;boolean isEmpty()&amp;lt;/code&amp;gt;&lt;br /&gt;
** Die Anfrage liefert den Wert &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt;, wenn der Stapel keine Objekte enthält. Andernfalls liefert sie den Wert &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt;.&lt;br /&gt;
* &amp;lt;code&amp;gt;void push(Object pObject)&amp;lt;/code&amp;gt;&lt;br /&gt;
** Das Objekt &amp;lt;code&amp;gt;pObject&amp;lt;/code&amp;gt; wird oben auf den Stapel gelegt. Falls &amp;lt;code&amp;gt;pObject&amp;lt;/code&amp;gt; den Wert &amp;lt;code&amp;gt;null&amp;lt;/code&amp;gt; hat, bleibt der Stapel unverändert.&lt;br /&gt;
* &amp;lt;code&amp;gt;void pop()&amp;lt;/code&amp;gt;&lt;br /&gt;
** Das zuletzt eingefügte (oberste) Objekt wird von dem Stapel entfernt. Falls der Stapel bereits leer ist, bleibt er unverändert (es tritt kein Fehler auf).&lt;br /&gt;
* &amp;lt;code&amp;gt;Object top()&amp;lt;/code&amp;gt;&lt;br /&gt;
** Die Anfrage liefert das oberste Stapelobjekt zurück, ohne es aus der Datenstruktur zu entfernen. Der Stapel bleibt unverändert. Falls der Stapel leer ist, wird &amp;lt;code&amp;gt;null&amp;lt;/code&amp;gt; zurückgegeben.&lt;br /&gt;
&lt;br /&gt;
== Laufzeitanalyse (Komplexität) ==&lt;br /&gt;
Eine effiziente Implementierung des Stacks (beispielsweise über eine einfach verkettete Liste, bei der stets am Kopfknoten eingefügt und gelöscht wird) garantiert hochperformante Zugriffszeiten. Da ausschließlich auf das oberste Element zugegriffen wird, müssen keine iterativen Suchvorgänge durchgeführt oder nachfolgende Elemente im Speicher verschoben werden. Es ergibt sich gemäß der [[Landau-Symbole|Landau-Notation]] folgende Laufzeitkomplexität:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation !! 1. Best-Case !! 2. Average-Case !! 3. Worst-Case&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;push(Object pObject)&amp;lt;/code&amp;gt; || &amp;lt;math&amp;gt;\mathcal{O}(1)&amp;lt;/math&amp;gt; || &amp;lt;math&amp;gt;\mathcal{O}(1)&amp;lt;/math&amp;gt; || &amp;lt;math&amp;gt;\mathcal{O}(1)&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;pop()&amp;lt;/code&amp;gt; || &amp;lt;math&amp;gt;\mathcal{O}(1)&amp;lt;/math&amp;gt; || &amp;lt;math&amp;gt;\mathcal{O}(1)&amp;lt;/math&amp;gt; || &amp;lt;math&amp;gt;\mathcal{O}(1)&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;top()&amp;lt;/code&amp;gt; || &amp;lt;math&amp;gt;\mathcal{O}(1)&amp;lt;/math&amp;gt; || &amp;lt;math&amp;gt;\mathcal{O}(1)&amp;lt;/math&amp;gt; || &amp;lt;math&amp;gt;\mathcal{O}(1)&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;isEmpty()&amp;lt;/code&amp;gt; || &amp;lt;math&amp;gt;\mathcal{O}(1)&amp;lt;/math&amp;gt; || &amp;lt;math&amp;gt;\mathcal{O}(1)&amp;lt;/math&amp;gt; || &amp;lt;math&amp;gt;\mathcal{O}(1)&amp;lt;/math&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Beispiel: Arbeitsweise der Stack-Operationen ==&lt;br /&gt;
Die Veränderung des inneren Zustands eines Stacks lässt sich anhand einer sequenziellen Abfolge von Operationen nachvollziehen. In der folgenden Tabelle ist das jeweils oberste Element (Top) der Liste rechts angeordnet.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Schritt !! Operation !! Zustand des Stacks (Bottom &amp;amp;rarr; Top) !! Erläuterung&lt;br /&gt;
|-&lt;br /&gt;
| 1. || &amp;lt;code&amp;gt;Stack()&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;[ ]&amp;lt;/code&amp;gt; (leer) || Nach Aufruf des Konstruktors ist der Stack initialisiert, enthält aber noch keine Elemente.&lt;br /&gt;
|-&lt;br /&gt;
| 2. || &amp;lt;code&amp;gt;push(12)&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;[12]&amp;lt;/code&amp;gt; || Nach Aufruf von &amp;lt;code&amp;gt;push(12)&amp;lt;/code&amp;gt; enthält der Stack genau ein Element, nämlich die Zahl 12.&lt;br /&gt;
|-&lt;br /&gt;
| 3. || &amp;lt;code&amp;gt;push(8)&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;[12, 8]&amp;lt;/code&amp;gt; || Nach Aufruf von &amp;lt;code&amp;gt;push(8)&amp;lt;/code&amp;gt; sind zwei Elemente im Stack enthalten. Die 8 wurde zuletzt hinzugefügt, befindet sich also oben im Stack.&lt;br /&gt;
|-&lt;br /&gt;
| 4. || &amp;lt;code&amp;gt;pop()&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;[12]&amp;lt;/code&amp;gt; || Wenn &amp;lt;code&amp;gt;pop()&amp;lt;/code&amp;gt; aufgerufen wird, wird die 8 wieder entfernt – sie war die zuletzt hinzugefügte Zahl.&lt;br /&gt;
|-&lt;br /&gt;
| 5. || &amp;lt;code&amp;gt;push(15)&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;[12, 15]&amp;lt;/code&amp;gt; || Nach &amp;lt;code&amp;gt;push(15)&amp;lt;/code&amp;gt; besteht der Stack wieder aus zwei Elementen. Die 15 wurde zuletzt gepusht, liegt also oben auf dem Stack.&lt;br /&gt;
|-&lt;br /&gt;
| 6. || &amp;lt;code&amp;gt;push(16)&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;[12, 15, 16]&amp;lt;/code&amp;gt; || Nach &amp;lt;code&amp;gt;push(16)&amp;lt;/code&amp;gt; besteht der Stack aus drei Elementen. Wieder ist die zuletzt gepushte Zahl ganz oben im Stack. Ein Aufruf von &amp;lt;code&amp;gt;top()&amp;lt;/code&amp;gt; würde nun &amp;lt;code&amp;gt;16&amp;lt;/code&amp;gt; zurückgeben.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Implementierungsbeispiel (Java) ==&lt;br /&gt;
Für das tiefergehende Verständnis im Informatikunterricht ist nachfolgend eine klassische objektorientierte Implementierung des Stacks auf Basis einer einfach verketteten Liste (Knotenstruktur) dargestellt. Diese Implementierung ermöglicht das Anwenden dynamischer Datenstrukturen sowie die Untersuchung zur Effizienz und Korrektheit von Algorithmen[cite: 3].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
public class Stack {&lt;br /&gt;
    &lt;br /&gt;
    // Verweis auf das oberste Element des Stapels&lt;br /&gt;
    private Node head;&lt;br /&gt;
&lt;br /&gt;
    // Innere Knoten-Klasse zur Kapselung der Datenstruktur&lt;br /&gt;
    private class Node {&lt;br /&gt;
        Object content;&lt;br /&gt;
        Node nextNode;&lt;br /&gt;
&lt;br /&gt;
        public Node(Object pContent) {&lt;br /&gt;
            content = pContent;&lt;br /&gt;
            nextNode = null;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    /**&lt;br /&gt;
     * Konstruktor: Ein leerer Stapel wird erzeugt.&lt;br /&gt;
     */&lt;br /&gt;
    public Stack() {&lt;br /&gt;
        head = null;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    /**&lt;br /&gt;
     * Prüft, ob der Stapel leer ist.&lt;br /&gt;
     */&lt;br /&gt;
    public boolean isEmpty() {&lt;br /&gt;
        return head == null;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    /**&lt;br /&gt;
     * Legt ein neues Objekt oben auf den Stapel.&lt;br /&gt;
     */&lt;br /&gt;
    public void push(Object pObject) {&lt;br /&gt;
        if (pObject != null) {&lt;br /&gt;
            Node newNode = new Node(pObject);&lt;br /&gt;
            newNode.nextNode = head; // Das neue Element zeigt auf den bisherigen Kopf&lt;br /&gt;
            head = newNode;          // Der Kopf wird auf das neue Element gesetzt&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    /**&lt;br /&gt;
     * Entfernt das oberste Objekt vom Stapel.&lt;br /&gt;
     */&lt;br /&gt;
    public void pop() {&lt;br /&gt;
        if (!this.isEmpty()) {&lt;br /&gt;
            head = head.nextNode;    // Der Kopf rutscht ein Element nach unten (das alte Top-Element wird vom Garbage Collector entfernt)&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    /**&lt;br /&gt;
     * Liefert das oberste Objekt des Stapels.&lt;br /&gt;
     */&lt;br /&gt;
    public Object top() {&lt;br /&gt;
        if (this.isEmpty()) {&lt;br /&gt;
            return null;&lt;br /&gt;
        } else {&lt;br /&gt;
            return head.content;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Programmierung]]&lt;br /&gt;
[[Kategorie:AHR I Informatik LK]]&lt;br /&gt;
[[Kategorie:FI I SDM]]&lt;/div&gt;</summary>
		<author><name>Flbkwikiadmin</name></author>
	</entry>
	<entry>
		<id>https://wiki.flbk-hamm.de/index.php?title=Dynamische_Datenstruktur&amp;diff=2971</id>
		<title>Dynamische Datenstruktur</title>
		<link rel="alternate" type="text/html" href="https://wiki.flbk-hamm.de/index.php?title=Dynamische_Datenstruktur&amp;diff=2971"/>
		<updated>2026-09-07T11:59:26Z</updated>

		<summary type="html">&lt;p&gt;Flbkwikiadmin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Dynamische Datenstrukturen&#039;&#039;&#039; sind in der [[Programmierung]] essenzielle Datenbehälter (Container) für [[Objekt]]e. Sie reservieren flexibel und zur Laufzeit des Programms Arbeitsspeicher und können somit eine theoretisch unbegrenzte Anzahl von Objekten aufnehmen. Im Gegensatz zu [[Array]]s (Datenfeldern), die eine statische, bei der Initialisierung festgelegte Länge besitzen, bieten dynamische Datenstrukturen die notwendige Flexibilität bei der Verwaltung variabler Datenmengen.&lt;br /&gt;
&lt;br /&gt;
== Einführung ==&lt;br /&gt;
In komplexen Softwareanwendungen müssen häufig sehr viele Objekte verwaltet und effizient organisiert werden. Ein klassischer Behälter hierfür ist das [[Array]]. Da ein Array jedoch eine feste Größe besitzt, führt dies oft zu Speicherverschwendung (wenn das Array zu groß dimensioniert ist) oder zu Speicherfehlern (wenn das Array zu klein ist). Dynamische Datenstrukturen lösen dieses Problem, indem sie Mechanismen bereitstellen, um den reservierten Speicherplatz mit jeder hinzugefügten oder entfernten Dateneinheit dynamisch anzupassen[cite: 3].&lt;br /&gt;
&lt;br /&gt;
Bekannte Beispiele für abstrakte, dynamische Datenstrukturen sind:&lt;br /&gt;
* [[Schlange]] (Queue)&lt;br /&gt;
* [[Stapel]] (Stack)&lt;br /&gt;
* [[Liste]] (List)&lt;br /&gt;
&lt;br /&gt;
Der insgesamt reservierbare Arbeitsspeicher ist dabei lediglich durch die Systemressourcen und den verwendeten [[Datentyp]] begrenzt. In der beruflichen Praxis und der Anwendungsentwicklung ist es eine Kernkompetenz, die Effizienz und Einsatzmöglichkeiten dieser Strukturen analysieren und eigene, maßgeschneiderte Strukturen entwerfen zu können[cite: 4].&lt;br /&gt;
&lt;br /&gt;
== Knoten als Basis dynamischer Strukturen ==&lt;br /&gt;
Während man einfache Listen auch mittels intern vergrößerbarer Arrays umsetzen kann, werden klassische dynamische Datenstrukturen häufig über &#039;&#039;&#039;Knoten&#039;&#039;&#039; (engl. &#039;&#039;Node&#039;&#039;) realisiert. &lt;br /&gt;
&lt;br /&gt;
Ein Knoten ist ein Instanzobjekt einer speziellen Klasse, das neben den eigentlichen Nutzdaten auch mindestens einen [[Zeiger]] (Referenz) auf einen anderen Knoten enthält. Durch diese Verkettung von Objekten im Arbeitsspeicher entsteht eine vernetzte Datenstruktur (z. B. eine verkettete Liste). &lt;br /&gt;
* Ein Zeiger kann auf einen konkreten Nachfolgeknoten verweisen.&lt;br /&gt;
* Ein Zeiger kann auf &amp;lt;code&amp;gt;null&amp;lt;/code&amp;gt; (nichts) verweisen, was in der Regel das Ende der Struktur markiert.&lt;br /&gt;
* Mindestens ein Zeiger (meist &amp;lt;code&amp;gt;start&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;head&amp;lt;/code&amp;gt; oder &amp;lt;code&amp;gt;root&amp;lt;/code&amp;gt; genannt) muss im Hauptprogramm auf das erste Element verweisen, da die Struktur sonst vom &#039;&#039;Garbage Collector&#039;&#039; aus dem Speicher gelöscht wird.&lt;br /&gt;
&lt;br /&gt;
Je nach Aufbau der Zeiger unterscheidet man verschiedene Arten von Knoten:&lt;br /&gt;
&lt;br /&gt;
=== Unidirektionale Knoten ===&lt;br /&gt;
[[Datei:Unidirektionaler Knoten.png|mini|Schematische Darstellung eines unidirektionalen Knotens]]&lt;br /&gt;
Unidirektional (aus dem Lateinischen &#039;&#039;uni&#039;&#039; für „ein“) bedeutet, dass die Verkettung nur in eine einzige Richtung verläuft. Ein unidirektionaler Knoten speichert exakt eine Referenz auf seinen Nachfolger. Eine Navigation zurück zum Vorgänger ist in dieser Struktur nicht möglich.&lt;br /&gt;
&lt;br /&gt;
=== Bidirektionale Knoten ===&lt;br /&gt;
[[Datei:Bidirektionaler Knoten.png|mini|Schematische Darstellung eines bidirektionalen Knotens]]&lt;br /&gt;
Ein bidirektionaler Knoten (lateinische Vorsilbe &#039;&#039;bi-&#039;&#039; für „zwei“) speichert Zeiger in zwei Richtungen. Er verweist sowohl auf seinen direkten Nachfolger als auch auf seinen direkten Vorgänger. Dies ermöglicht die Vorwärts- und Rückwärtsnavigation innerhalb der Datenstruktur, erfordert jedoch geringfügig mehr Arbeitsspeicher für den zusätzlichen Zeiger.&lt;br /&gt;
&lt;br /&gt;
== Implementierungsbeispiel (Java) ==&lt;br /&gt;
Das folgende Beispiel veranschaulicht den Aufbau einer einfachen, unidirektional verketteten Liste in der objektorientierten Programmierung.&lt;br /&gt;
&lt;br /&gt;
[[Datei:BlueJ Inspektion.png|mini|Darstellung der Objektverkettung im Speicher]]&lt;br /&gt;
&lt;br /&gt;
Visuelle Repräsentation der verketteten Struktur (Knoten mit Daten und Zeiger):&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
meineListe \rightarrow \boxed{5}\boxed{\rightarrow} &lt;br /&gt;
\rightarrow \boxed{42}\boxed{\rightarrow} &lt;br /&gt;
\rightarrow \boxed{16}\boxed{\emptyset}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Die Knoten-Klasse ===&lt;br /&gt;
Diese Klasse definiert das Speicherobjekt. Sie beinhaltet die Nutzdaten und die Referenz auf das nächste Element.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
public class Knoten {&lt;br /&gt;
    &lt;br /&gt;
    private double daten;      // Nutzdaten, zum Beispiel 5.0 oder 42.0&lt;br /&gt;
    private Knoten naechster;  // Zeiger (Referenz) auf den nächsten Knoten&lt;br /&gt;
&lt;br /&gt;
    /**&lt;br /&gt;
     * Standardkonstruktor: Erzeugt einen leeren Knoten.&lt;br /&gt;
     */&lt;br /&gt;
    public Knoten() {&lt;br /&gt;
        this.naechster = null; // Zeigt noch nirgendwo hin&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    /**&lt;br /&gt;
     * Konstruktor zur direkten Übergabe von Nutzdaten.&lt;br /&gt;
     */&lt;br /&gt;
    public Knoten(double pDaten) {&lt;br /&gt;
        this.daten = pDaten;&lt;br /&gt;
        this.naechster = null;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    /**&lt;br /&gt;
     * Konstruktor zur Übergabe von Daten und Setzen des Nachfolgers.&lt;br /&gt;
     */&lt;br /&gt;
    public Knoten(double pDaten, Knoten pNext) {&lt;br /&gt;
        this.daten = pDaten;&lt;br /&gt;
        this.naechster = pNext;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // --- Getter- und Setter-Methoden zur Datenkapselung ---&lt;br /&gt;
&lt;br /&gt;
    public Knoten getNaechster() {&lt;br /&gt;
        return this.naechster;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    public void setNaechster(Knoten pNaechster) {&lt;br /&gt;
        this.naechster = pNaechster;&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    public double getDaten() {&lt;br /&gt;
        return this.daten;&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    public void setDaten(double pDaten) {&lt;br /&gt;
        this.daten = pDaten;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Die Listen-Klasse ===&lt;br /&gt;
Die verwaltende Klasse kapselt die Zugriffslogik und speichert den Startpunkt der Struktur.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
public class Liste {&lt;br /&gt;
    &lt;br /&gt;
    private Knoten start; // Zeiger auf das erste Element der Liste&lt;br /&gt;
&lt;br /&gt;
    public Liste() {&lt;br /&gt;
        this.start = null; // Eine neu erzeugte Liste ist anfangs leer&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    /**&lt;br /&gt;
     * Testmethode zur manuellen Erzeugung und Verkettung von drei Knoten.&lt;br /&gt;
     */&lt;br /&gt;
    public void testen() {&lt;br /&gt;
        // 1. Startknoten als Platzhalter initialisieren&lt;br /&gt;
        this.start = new Knoten();&lt;br /&gt;
        &lt;br /&gt;
        // 2. Weitere Knoten mit Werten erzeugen&lt;br /&gt;
        Knoten knoten1 = new Knoten(5.0);&lt;br /&gt;
        Knoten knoten2 = new Knoten(16.0);&lt;br /&gt;
        Knoten knoten3 = new Knoten(42.0);&lt;br /&gt;
        &lt;br /&gt;
        // 3. Knotenlogik: Die Objekte miteinander verketten&lt;br /&gt;
        this.start.setNaechster(knoten1);&lt;br /&gt;
        knoten1.setNaechster(knoten2);&lt;br /&gt;
        knoten2.setNaechster(knoten3);&lt;br /&gt;
        // knoten3.getNaechster() ist weiterhin null und markiert das Listenende.&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    public Knoten getStart() {&lt;br /&gt;
        return this.start;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Das Java Collection Framework ==&lt;br /&gt;
In der professionellen Softwareentwicklung (Software Engineering) müssen diese fundamentalen Datenstrukturen in der Regel nicht von Grund auf neu programmiert werden[cite: 3]. [[Java]] fasst fertig implementierte, typisierte und hochoptimierte Datenbehälter im &#039;&#039;&#039;Java Collection Framework&#039;&#039;&#039; zusammen. &lt;br /&gt;
&lt;br /&gt;
Neben den eigentlichen Containern gehören hierzu auch mächtige Standardalgorithmen, wie beispielsweise effiziente [[Sortierverfahren]] oder Suchalgorithmen, die direkt auf den Containern operieren. Die Grundlage dieses Frameworks sind sogenannte Interfaces (Schnittstellen), die das Verhalten der Datencontainer vertraglich vorgeben.&lt;br /&gt;
&lt;br /&gt;
* Die Klasse &amp;lt;code&amp;gt;java.util.ArrayList&amp;lt;/code&amp;gt; ist beispielsweise eine in der Praxis extrem häufig genutzte dynamische Datenstruktur, die das &amp;lt;code&amp;gt;List&amp;lt;/code&amp;gt;-Interface (ein Sub-Interface der Oberschnittstelle &amp;lt;code&amp;gt;Collection&amp;lt;/code&amp;gt;) implementiert. &lt;br /&gt;
* In der flexiblen Listenstruktur der &amp;lt;code&amp;gt;ArrayList&amp;lt;/code&amp;gt; können zur Laufzeit beliebig viele Objekte hinzugefügt und auch wieder entfernt werden, da sich die Datenstruktur im Hintergrund selbstständig vergrößert oder verkleinert.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Programmierung]]&lt;br /&gt;
[[Kategorie:FI I SDM]]&lt;br /&gt;
[[Kategorie:FI I TP1]]&lt;br /&gt;
[[Kategorie:AHR I Informatik LK]]&lt;/div&gt;</summary>
		<author><name>Flbkwikiadmin</name></author>
	</entry>
	<entry>
		<id>https://wiki.flbk-hamm.de/index.php?title=Mehrschichten_Architektur&amp;diff=2970</id>
		<title>Mehrschichten Architektur</title>
		<link rel="alternate" type="text/html" href="https://wiki.flbk-hamm.de/index.php?title=Mehrschichten_Architektur&amp;diff=2970"/>
		<updated>2026-09-07T06:52:31Z</updated>

		<summary type="html">&lt;p&gt;Flbkwikiadmin: Die Seite wurde neu angelegt: „== Einführung == Die &amp;#039;&amp;#039;&amp;#039;Schichtenarchitektur&amp;#039;&amp;#039;&amp;#039; (auch &amp;#039;&amp;#039;Schichtenmodell&amp;#039;&amp;#039; oder &amp;#039;&amp;#039;Schichtenmuster&amp;#039;&amp;#039;) ist ein grundlegendes und häufig angewandtes Strukturierungsprinzip für die Architektur von Softwaresystemen. Dabei werden einzelne Aspekte des Softwaresystems konzeptionell einer spezifischen Schicht (engl. &amp;#039;&amp;#039;tier&amp;#039;&amp;#039; oder &amp;#039;&amp;#039;layer&amp;#039;&amp;#039;) zugeordnet.   Ein zentrales Prinzip dieses Modells ist die &amp;#039;&amp;#039;&amp;#039;unidirektionale Abhängigkeit&amp;#039;&amp;#039;&amp;#039;: Eine höhere Schicht greift…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Einführung ==&lt;br /&gt;
Die &#039;&#039;&#039;Schichtenarchitektur&#039;&#039;&#039; (auch &#039;&#039;Schichtenmodell&#039;&#039; oder &#039;&#039;Schichtenmuster&#039;&#039;) ist ein grundlegendes und häufig angewandtes Strukturierungsprinzip für die Architektur von Softwaresystemen. Dabei werden einzelne Aspekte des Softwaresystems konzeptionell einer spezifischen Schicht (engl. &#039;&#039;tier&#039;&#039; oder &#039;&#039;layer&#039;&#039;) zugeordnet. &lt;br /&gt;
&lt;br /&gt;
Ein zentrales Prinzip dieses Modells ist die &#039;&#039;&#039;unidirektionale Abhängigkeit&#039;&#039;&#039;: Eine höhere Schicht greift immer nur auf die Dienste der direkt darunterliegenden Schicht zu. Die niedrigere Schicht fungiert somit als Dienstanbieter (Server) für die höhere Schicht (Client). Die den Schichten zugeordneten Aspekte können je nach Art des Systems oder Detaillierungsgrad der Betrachtung beispielsweise Funktionalitäten, Hard- und Software-Komponenten oder einzelne Klassen sein.&lt;br /&gt;
&lt;br /&gt;
Ziel der Schichtenarchitektur ist die Entkopplung von Systemkomponenten (&#039;&#039;Separation of Concerns&#039;&#039;), was die Wartbarkeit, Austauschbarkeit und Erweiterbarkeit von Software erheblich verbessert.&lt;br /&gt;
&lt;br /&gt;
== Zwei-Schichten-Architektur ==&lt;br /&gt;
Für einen relativ groben Detaillierungsgrad lässt sich beispielsweise die klassische [[Client-Server-Architektur]] als Zwei-Schichten-Architektur (&#039;&#039;Two-Tier Architecture&#039;&#039;) beschreiben. Ein Client nutzt dabei die Dienste eines Servers.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Beispiel aus der Netzwerktechnik:&#039;&#039;&#039;&lt;br /&gt;
In einem lokalen Netzwerk (LAN) werden Arbeitsplatzrechner (Clients) genutzt, um Daten einzugeben oder abzufragen. Diese Rechner speichern ihre Daten nicht lokal, sondern auf einem zentralen Server. Der Server bietet das Speichern und Abrufen der Daten als Dienst an, greift aber von sich aus nicht aktiv auf die Clients zu. Die Clients hingegen initiieren die Kommunikation und nutzen den Dienst des Servers.&lt;br /&gt;
&lt;br /&gt;
Eine Client-Server-Architektur muss jedoch nicht zwingend über unterschiedliche physische Rechner (Hardware) realisiert werden. Vielmehr kann der Client auch als reines Software-Modul verstanden werden, das auf ein zweites Software-Modul – beispielsweise ein lokales [[Datenbankmanagementsystem]] (DBMS) – auf demselben Rechner innerhalb derselben Anwendung zugreift.&lt;br /&gt;
&lt;br /&gt;
== Drei-Schichten-Architektur ==&lt;br /&gt;
Eine dreischichtige Architektur (&#039;&#039;Three-Tier Architecture&#039;&#039;) erlaubt eine deutlich detailliertere und professionellere Strukturierung eines Softwaresystems. Im Gegensatz zur zweischichtigen Architektur existiert hier eine zusätzliche vermittelnde Schicht, die sogenannte Logikschicht. Dies verhindert, dass die Benutzeroberfläche direkt mit der Datenbank kommuniziert.&lt;br /&gt;
&lt;br /&gt;
Eine typische Drei-Schichten-Architektur besteht aus den folgenden drei Schichten:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Präsentationsschicht (Presentation Layer):&#039;&#039;&#039;&lt;br /&gt;
** Sie ist ausschließlich für die grafische Darstellung der Daten und die Erfassung von Benutzereingaben (GUI) verantwortlich. &lt;br /&gt;
** Sie enthält keine Anwendungslogik. Realisiert wird diese Schicht in der Praxis beispielsweise durch Frameworks wie Java-Swing, JavaFX oder durch HTML/CSS in Webanwendungen.&lt;br /&gt;
* &#039;&#039;&#039;Logikschicht (Business Logic Layer / Application Layer):&#039;&#039;&#039;&lt;br /&gt;
** Sie bildet das Herzstück der Anwendung und beinhaltet alle Geschäftsobjekte sowie die automatisierten Prozesse zur Datenverarbeitung. &lt;br /&gt;
** Sie nimmt die Eingaben der Präsentationsschicht entgegen, verarbeitet diese nach definierten Geschäftsregeln und leitet sie an die Datenhaltung weiter. Realisiert wird sie in der Regel durch [[Objektorientierte Programmierung|objektorientierte Programmiersprachen]] wie Java oder C#.&lt;br /&gt;
* &#039;&#039;&#039;Datenhaltungsschicht (Data Layer):&#039;&#039;&#039;&lt;br /&gt;
** Diese Schicht ist isoliert für das dauerhafte Speichern (Persistenz), Ändern und Laden von Daten verantwortlich. &lt;br /&gt;
** Für rudimentäre Anwendungen kann das Speichern in einfachen Text- oder XML-Dateien auf der Festplatte erfolgen. Für professionelle und komplexe Anwendungen wird standardmäßig der Einsatz eines [[Datenbankmanagementsystem|Datenbankmanagementsystems]] (z. B. MySQL, PostgreSQL) vorausgesetzt.&lt;br /&gt;
&lt;br /&gt;
== Fazit und architektonische Bedeutung ==&lt;br /&gt;
Die Drei-Schichten-Architektur lässt sich systematisch innerhalb des Software-Engineerings umsetzen. Software-Module werden strikt für die Präsentation, die Anwendungslogik und die dauerhafte Speicherung von Daten vorgesehen und gemäß der Schichteneinteilung voneinander entkoppelt. &lt;br /&gt;
&lt;br /&gt;
[[Datei:DBMS-Schichten.png|mini]]&lt;br /&gt;
Ändert sich beispielsweise das Datenbanksystem (Datenhaltungsschicht), müssen die Präsentations- und Logikschicht im Idealfall nicht angepasst werden. Eine solche Drei-Schichten-Architektur gilt in der professionellen Anwendungsentwicklung üblicherweise als das Mindestmaß architektonischer Strukturierung, sofern keine zwingenden Gründe (z. B. bei hochkomplexen Microservices) für andere Architekturentscheidungen vorliegen.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Modellierung]]&lt;br /&gt;
[[Kategorie:AHR I Informatik LK]]&lt;br /&gt;
[[Kategorie:FI I SDM]]&lt;/div&gt;</summary>
		<author><name>Flbkwikiadmin</name></author>
	</entry>
	<entry>
		<id>https://wiki.flbk-hamm.de/index.php?title=Liste&amp;diff=2969</id>
		<title>Liste</title>
		<link rel="alternate" type="text/html" href="https://wiki.flbk-hamm.de/index.php?title=Liste&amp;diff=2969"/>
		<updated>2026-09-04T08:48:02Z</updated>

		<summary type="html">&lt;p&gt;Flbkwikiadmin: Die Seite wurde neu angelegt: „== Einführung == In der Informatik ist die &amp;#039;&amp;#039;&amp;#039;verkettete Liste&amp;#039;&amp;#039;&amp;#039; (englisch &amp;#039;&amp;#039;Linked List&amp;#039;&amp;#039;) oder kurz &amp;#039;&amp;#039;&amp;#039;Liste&amp;#039;&amp;#039;&amp;#039; eine fundamentale dynamische Datenstruktur. Sie dient der sequenziellen Speicherung von logisch zusammengehörigen, aber physisch im Speicher verstreuten Datenobjekten[cite: 3].   Im Gegensatz zu statischen Datenstrukturen (wie dem Array) müssen die einzelnen Elemente einer Liste im Arbeitsspeicher nicht direkt hintereinanderliegen. Die log…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Einführung ==&lt;br /&gt;
In der Informatik ist die &#039;&#039;&#039;verkettete Liste&#039;&#039;&#039; (englisch &#039;&#039;Linked List&#039;&#039;) oder kurz &#039;&#039;&#039;Liste&#039;&#039;&#039; eine fundamentale dynamische Datenstruktur. Sie dient der sequenziellen Speicherung von logisch zusammengehörigen, aber physisch im Speicher verstreuten Datenobjekten[cite: 3]. &lt;br /&gt;
&lt;br /&gt;
Im Gegensatz zu statischen Datenstrukturen (wie dem Array) müssen die einzelnen Elemente einer Liste im Arbeitsspeicher nicht direkt hintereinanderliegen. Die logische Reihenfolge wird stattdessen durch &#039;&#039;&#039;Zeiger (Referenzen)&#039;&#039;&#039; realisiert, die von einem Listenelement zum nächsten weisen. Ein einzelnes Element der Liste wird als &#039;&#039;&#039;Knoten&#039;&#039;&#039; (englisch &#039;&#039;Node&#039;&#039;) bezeichnet. Jeder Knoten kapselt die eigentlichen Nutzdaten (den Inhalt) und besitzt mindestens einen Zeiger auf seinen direkten Nachfolger. Man unterscheidet hierbei zwischen unidirektionalen (einfach verketteten) und bidirektionalen (doppelt verketteten) Listen.&lt;br /&gt;
&lt;br /&gt;
Objekte der abstrakten Datenstruktur &amp;lt;code&amp;gt;List&amp;lt;/code&amp;gt; verwalten beliebig viele, linear angeordnete Objekte. Das wesentliche Konzept der im nordrhein-westfälischen Abitur verwendeten Listenstruktur ist das &#039;&#039;&#039;aktuelle Objekt&#039;&#039;&#039; (&#039;&#039;Current&#039;&#039;): Auf höchstens ein Listenobjekt kann zu einem gegebenen Zeitpunkt direkt lesend oder schreibend zugegriffen werden. &lt;br /&gt;
Wenn eine Liste leer ist, der Durchlauf das Ende überschritten hat oder das aktuelle Objekt gelöscht wurde, ist die Referenz auf das aktuelle Objekt ungültig (&amp;lt;code&amp;gt;null&amp;lt;/code&amp;gt;). Das Setzen des aktuellen Objekts erfolgt über definierte Navigationsmethoden.&lt;br /&gt;
&lt;br /&gt;
=== Vorteile und Nachteile gegenüber einem Array ===&lt;br /&gt;
* &#039;&#039;&#039;Vorteil:&#039;&#039;&#039; Das Einfügen und Löschen von Elementen an der aktuellen Position ist in konstanter Zeit (&amp;lt;math&amp;gt;\mathcal{O}(1)&amp;lt;/math&amp;gt;) möglich, da lediglich Zeiger umgebogen werden müssen. Es ist nicht notwendig, nachfolgende Elemente im Speicher zu verschieben. Zudem wächst die Liste dynamisch mit ihren Anforderungen (keine feste Größenbegrenzung).&lt;br /&gt;
* &#039;&#039;&#039;Nachteil:&#039;&#039;&#039; Die Liste verbraucht mehr Speicherplatz (Overhead durch die Speicherung der Referenzzeiger). Zudem ist kein direkter Indexzugriff möglich; um das &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt;-te Element zu finden, muss die Liste von vorne durchlaufen werden.&lt;br /&gt;
&lt;br /&gt;
== Visualisierung ==&lt;br /&gt;
Die nachfolgende Abbildung veranschaulicht eine einfach verkettete (unidirektionale) Liste. Das eigentliche Listen-Objekt (hier als Dreieck dargestellt) verwaltet den Zustand der Liste über zwei interne Zeiger: einen Referenzzeiger auf das allererste Element (&#039;&#039;Startknoten&#039;&#039;) und einen Referenzzeiger auf das aktuell fokussierte Element (&#039;&#039;Aktueller Knoten&#039;&#039;). &lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&amp;lt;svg width=&amp;quot;700&amp;quot; height=&amp;quot;350&amp;quot; viewBox=&amp;quot;0 0 700 350&amp;quot; xmlns=&amp;quot;http://www.w3.org/2000/svg&amp;quot; style=&amp;quot;background-color: transparent; font-family: Arial, sans-serif;&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Titel --&amp;gt;&lt;br /&gt;
  &amp;lt;text x=&amp;quot;350&amp;quot; y=&amp;quot;30&amp;quot; font-size=&amp;quot;22&amp;quot; font-weight=&amp;quot;bold&amp;quot; text-anchor=&amp;quot;middle&amp;quot; fill=&amp;quot;#222222&amp;quot;&amp;gt;Liste mit unidirektionalen Knoten&amp;lt;/text&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;!-- Definition der Pfeilspitzen --&amp;gt;&lt;br /&gt;
  &amp;lt;defs&amp;gt;&lt;br /&gt;
    &amp;lt;marker id=&amp;quot;arrow-black&amp;quot; viewBox=&amp;quot;0 0 10 10&amp;quot; refX=&amp;quot;8&amp;quot; refY=&amp;quot;5&amp;quot; markerWidth=&amp;quot;6&amp;quot; markerHeight=&amp;quot;6&amp;quot; orient=&amp;quot;auto&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;path d=&amp;quot;M 0 0 L 10 5 L 0 10 z&amp;quot; fill=&amp;quot;#000000&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/marker&amp;gt;&lt;br /&gt;
  &amp;lt;/defs&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;!-- Listen-Objekt (Dreieck links) --&amp;gt;&lt;br /&gt;
  &amp;lt;polygon points=&amp;quot;100,100 20,240 180,240&amp;quot; fill=&amp;quot;#d0e0ff&amp;quot; stroke=&amp;quot;#000000&amp;quot; stroke-width=&amp;quot;1.5&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;text x=&amp;quot;100&amp;quot; y=&amp;quot;200&amp;quot; font-size=&amp;quot;14&amp;quot; text-anchor=&amp;quot;middle&amp;quot; fill=&amp;quot;#222222&amp;quot;&amp;gt;Knoten start&amp;lt;/text&amp;gt;&lt;br /&gt;
  &amp;lt;text x=&amp;quot;100&amp;quot; y=&amp;quot;225&amp;quot; font-size=&amp;quot;14&amp;quot; text-anchor=&amp;quot;middle&amp;quot; fill=&amp;quot;#222222&amp;quot;&amp;gt;Knoten aktuell&amp;lt;/text&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;!-- Knoten A --&amp;gt;&lt;br /&gt;
  &amp;lt;rect x=&amp;quot;260&amp;quot; y=&amp;quot;150&amp;quot; width=&amp;quot;90&amp;quot; height=&amp;quot;70&amp;quot; fill=&amp;quot;#b0c4de&amp;quot; stroke=&amp;quot;#000000&amp;quot; stroke-width=&amp;quot;1.5&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;text x=&amp;quot;305&amp;quot; y=&amp;quot;175&amp;quot; font-size=&amp;quot;14&amp;quot; text-anchor=&amp;quot;middle&amp;quot; fill=&amp;quot;#222222&amp;quot;&amp;gt;Knoten A&amp;lt;/text&amp;gt;&lt;br /&gt;
  &amp;lt;line x1=&amp;quot;260&amp;quot; y1=&amp;quot;190&amp;quot; x2=&amp;quot;350&amp;quot; y2=&amp;quot;190&amp;quot; stroke=&amp;quot;#000000&amp;quot; stroke-width=&amp;quot;1&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;text x=&amp;quot;305&amp;quot; y=&amp;quot;210&amp;quot; font-size=&amp;quot;14&amp;quot; text-anchor=&amp;quot;middle&amp;quot; fill=&amp;quot;#222222&amp;quot;&amp;gt;Zahl = 16&amp;lt;/text&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;!-- Knoten B --&amp;gt;&lt;br /&gt;
  &amp;lt;rect x=&amp;quot;420&amp;quot; y=&amp;quot;150&amp;quot; width=&amp;quot;90&amp;quot; height=&amp;quot;70&amp;quot; fill=&amp;quot;#b0c4de&amp;quot; stroke=&amp;quot;#000000&amp;quot; stroke-width=&amp;quot;1.5&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;text x=&amp;quot;465&amp;quot; y=&amp;quot;175&amp;quot; font-size=&amp;quot;14&amp;quot; text-anchor=&amp;quot;middle&amp;quot; fill=&amp;quot;#222222&amp;quot;&amp;gt;Knoten B&amp;lt;/text&amp;gt;&lt;br /&gt;
  &amp;lt;line x1=&amp;quot;420&amp;quot; y1=&amp;quot;190&amp;quot; x2=&amp;quot;510&amp;quot; y2=&amp;quot;190&amp;quot; stroke=&amp;quot;#000000&amp;quot; stroke-width=&amp;quot;1&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;text x=&amp;quot;465&amp;quot; y=&amp;quot;210&amp;quot; font-size=&amp;quot;14&amp;quot; text-anchor=&amp;quot;middle&amp;quot; fill=&amp;quot;#222222&amp;quot;&amp;gt;Zahl = 5&amp;lt;/text&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;!-- Knoten C --&amp;gt;&lt;br /&gt;
  &amp;lt;rect x=&amp;quot;580&amp;quot; y=&amp;quot;150&amp;quot; width=&amp;quot;90&amp;quot; height=&amp;quot;70&amp;quot; fill=&amp;quot;#b0c4de&amp;quot; stroke=&amp;quot;#000000&amp;quot; stroke-width=&amp;quot;1.5&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;text x=&amp;quot;625&amp;quot; y=&amp;quot;175&amp;quot; font-size=&amp;quot;14&amp;quot; text-anchor=&amp;quot;middle&amp;quot; fill=&amp;quot;#222222&amp;quot;&amp;gt;Knoten C&amp;lt;/text&amp;gt;&lt;br /&gt;
  &amp;lt;line x1=&amp;quot;580&amp;quot; y1=&amp;quot;190&amp;quot; x2=&amp;quot;670&amp;quot; y2=&amp;quot;190&amp;quot; stroke=&amp;quot;#000000&amp;quot; stroke-width=&amp;quot;1&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;text x=&amp;quot;625&amp;quot; y=&amp;quot;210&amp;quot; font-size=&amp;quot;14&amp;quot; text-anchor=&amp;quot;middle&amp;quot; fill=&amp;quot;#222222&amp;quot;&amp;gt;Zahl = 42&amp;lt;/text&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;!-- Pfeile zwischen Knoten (Verkettung) --&amp;gt;&lt;br /&gt;
  &amp;lt;line x1=&amp;quot;350&amp;quot; y1=&amp;quot;185&amp;quot; x2=&amp;quot;410&amp;quot; y2=&amp;quot;185&amp;quot; stroke=&amp;quot;#000000&amp;quot; stroke-width=&amp;quot;2&amp;quot; marker-end=&amp;quot;url(#arrow-black)&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;line x1=&amp;quot;510&amp;quot; y1=&amp;quot;185&amp;quot; x2=&amp;quot;570&amp;quot; y2=&amp;quot;185&amp;quot; stroke=&amp;quot;#000000&amp;quot; stroke-width=&amp;quot;2&amp;quot; marker-end=&amp;quot;url(#arrow-black)&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;line x1=&amp;quot;670&amp;quot; y1=&amp;quot;185&amp;quot; x2=&amp;quot;695&amp;quot; y2=&amp;quot;185&amp;quot; stroke=&amp;quot;#000000&amp;quot; stroke-width=&amp;quot;2&amp;quot; marker-end=&amp;quot;url(#arrow-black)&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;!-- Zeiger von List auf Knoten A --&amp;gt;&lt;br /&gt;
  &amp;lt;line x1=&amp;quot;100&amp;quot; y1=&amp;quot;185&amp;quot; x2=&amp;quot;250&amp;quot; y2=&amp;quot;185&amp;quot; stroke=&amp;quot;#000000&amp;quot; stroke-width=&amp;quot;2&amp;quot; marker-end=&amp;quot;url(#arrow-black)&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;text x=&amp;quot;180&amp;quot; y=&amp;quot;165&amp;quot; font-size=&amp;quot;13&amp;quot; font-weight=&amp;quot;bold&amp;quot; text-anchor=&amp;quot;middle&amp;quot; transform=&amp;quot;rotate(-15, 180, 165)&amp;quot;&amp;gt;Zeiger auf&amp;lt;/text&amp;gt;&lt;br /&gt;
  &amp;lt;text x=&amp;quot;180&amp;quot; y=&amp;quot;180&amp;quot; font-size=&amp;quot;13&amp;quot; font-weight=&amp;quot;bold&amp;quot; text-anchor=&amp;quot;middle&amp;quot; transform=&amp;quot;rotate(-15, 180, 180)&amp;quot;&amp;gt;Startknoten&amp;lt;/text&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;!-- Zeiger von List auf Knoten B (Curved) --&amp;gt;&lt;br /&gt;
  &amp;lt;path d=&amp;quot;M 120 220 Q 250 340 435 230&amp;quot; fill=&amp;quot;none&amp;quot; stroke=&amp;quot;#000000&amp;quot; stroke-width=&amp;quot;2&amp;quot; marker-end=&amp;quot;url(#arrow-black)&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;text x=&amp;quot;280&amp;quot; y=&amp;quot;315&amp;quot; font-size=&amp;quot;14&amp;quot; font-weight=&amp;quot;bold&amp;quot; fill=&amp;quot;#222222&amp;quot;&amp;gt;Zeiger auf&amp;lt;/text&amp;gt;&lt;br /&gt;
  &amp;lt;text x=&amp;quot;280&amp;quot; y=&amp;quot;335&amp;quot; font-size=&amp;quot;14&amp;quot; font-weight=&amp;quot;bold&amp;quot; fill=&amp;quot;#222222&amp;quot;&amp;gt;aktuellen Knoten&amp;lt;/text&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;!-- Grüne Markierungspfeile (Startknoten) --&amp;gt;&lt;br /&gt;
  &amp;lt;g transform=&amp;quot;translate(230, 60) rotate(25)&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;polygon points=&amp;quot;10,0 30,0 30,50 40,50 20,70 0,50 10,50&amp;quot; fill=&amp;quot;#99cc99&amp;quot; stroke=&amp;quot;#000000&amp;quot; stroke-width=&amp;quot;1&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;text x=&amp;quot;20&amp;quot; y=&amp;quot;40&amp;quot; font-size=&amp;quot;13&amp;quot; transform=&amp;quot;rotate(-90, 20, 40)&amp;quot; text-anchor=&amp;quot;start&amp;quot; fill=&amp;quot;#222222&amp;quot;&amp;gt;Startknoten&amp;lt;/text&amp;gt;&lt;br /&gt;
  &amp;lt;/g&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;!-- Grüne Markierungspfeile (aktueller Knoten) --&amp;gt;&lt;br /&gt;
  &amp;lt;g transform=&amp;quot;translate(390, 60) rotate(25)&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;polygon points=&amp;quot;10,0 30,0 30,50 40,50 20,70 0,50 10,50&amp;quot; fill=&amp;quot;#99cc99&amp;quot; stroke=&amp;quot;#000000&amp;quot; stroke-width=&amp;quot;1&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;text x=&amp;quot;20&amp;quot; y=&amp;quot;40&amp;quot; font-size=&amp;quot;13&amp;quot; transform=&amp;quot;rotate(-90, 20, 40)&amp;quot; text-anchor=&amp;quot;start&amp;quot; fill=&amp;quot;#222222&amp;quot;&amp;gt;aktueller Knoten&amp;lt;/text&amp;gt;&lt;br /&gt;
  &amp;lt;/g&amp;gt;&lt;br /&gt;
&amp;lt;/svg&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Aufbau und Spezifikation (API) ==&lt;br /&gt;
Im Kontext der objektorientierten Anwendungsentwicklung und in den landesweiten Vorgaben für das Zentralabitur wird die Liste über eine klar definierte Schnittstelle abstrahiert. Eine normgerechte Klasse &amp;lt;code&amp;gt;List&amp;lt;/code&amp;gt; muss über die folgenden Methoden und Konstruktoren verfügen:&lt;br /&gt;
&lt;br /&gt;
=== Konstruktor ===&lt;br /&gt;
* &amp;lt;code&amp;gt;List()&amp;lt;/code&amp;gt;&lt;br /&gt;
** Eine leere Liste wird erzeugt.&lt;br /&gt;
&lt;br /&gt;
=== Navigations- und Prüfmethoden ===&lt;br /&gt;
* &amp;lt;code&amp;gt;boolean isEmpty()&amp;lt;/code&amp;gt;&lt;br /&gt;
** Die Anfrage liefert den Wert &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt;, wenn die Liste keine Objekte enthält, sonst liefert sie den Wert &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt;.&lt;br /&gt;
* &amp;lt;code&amp;gt;boolean hasAccess()&amp;lt;/code&amp;gt;&lt;br /&gt;
** Die Anfrage liefert den Wert &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt;, wenn es ein aktuelles Objekt gibt, sonst liefert sie &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt;.&lt;br /&gt;
* &amp;lt;code&amp;gt;void next()&amp;lt;/code&amp;gt;&lt;br /&gt;
** Falls die Liste nicht leer ist, es ein aktuelles Objekt gibt und dieses nicht das letzte Objekt der Liste ist, wird das dem aktuellen Objekt folgende Objekt zum neuen aktuellen Objekt. Andernfalls gibt es nach Ausführung des Auftrags kein aktuelles Objekt mehr (&amp;lt;code&amp;gt;hasAccess()&amp;lt;/code&amp;gt; liefert den Wert &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt;).&lt;br /&gt;
* &amp;lt;code&amp;gt;void toFirst()&amp;lt;/code&amp;gt;&lt;br /&gt;
** Falls die Liste nicht leer ist, wird das erste Objekt der Liste zum aktuellen Objekt. Ist die Liste leer, geschieht nichts.&lt;br /&gt;
* &amp;lt;code&amp;gt;void toLast()&amp;lt;/code&amp;gt;&lt;br /&gt;
** Falls die Liste nicht leer ist, wird das letzte Objekt der Liste zum aktuellen Objekt. Ist die Liste leer, geschieht nichts.&lt;br /&gt;
&lt;br /&gt;
=== Methoden zur Datenmanipulation ===&lt;br /&gt;
* &amp;lt;code&amp;gt;Object getObject()&amp;lt;/code&amp;gt;&lt;br /&gt;
** Falls es ein aktuelles Objekt gibt (&amp;lt;code&amp;gt;hasAccess() == true&amp;lt;/code&amp;gt;), wird dieses zurückgegeben. Andernfalls gibt die Anfrage den Wert &amp;lt;code&amp;gt;null&amp;lt;/code&amp;gt; zurück.&lt;br /&gt;
* &amp;lt;code&amp;gt;void setObject(Object pObject)&amp;lt;/code&amp;gt;&lt;br /&gt;
** Falls es ein aktuelles Objekt gibt und &amp;lt;code&amp;gt;pObject&amp;lt;/code&amp;gt; ungleich &amp;lt;code&amp;gt;null&amp;lt;/code&amp;gt; ist, wird das aktuelle Objekt durch &amp;lt;code&amp;gt;pObject&amp;lt;/code&amp;gt; ersetzt. Sonst bleibt die Liste unverändert.&lt;br /&gt;
* &amp;lt;code&amp;gt;void append(Object pObject)&amp;lt;/code&amp;gt;&lt;br /&gt;
** Ein neues Objekt &amp;lt;code&amp;gt;pObject&amp;lt;/code&amp;gt; wird am Ende der Liste eingefügt. Das aktuelle Objekt bleibt unverändert. Wenn die Liste leer ist, wird das Objekt in die Liste eingefügt und es gibt weiterhin kein aktuelles Objekt. Falls &amp;lt;code&amp;gt;pObject&amp;lt;/code&amp;gt; gleich &amp;lt;code&amp;gt;null&amp;lt;/code&amp;gt; ist, bleibt die Liste unverändert.&lt;br /&gt;
* &amp;lt;code&amp;gt;void insert(Object pObject)&amp;lt;/code&amp;gt;&lt;br /&gt;
** Falls es ein aktuelles Objekt gibt, wird ein neues Objekt &#039;&#039;&#039;vor&#039;&#039;&#039; dem aktuellen Objekt in die Liste eingefügt. Das aktuelle Objekt bleibt unverändert. Falls die Liste leer ist, wird &amp;lt;code&amp;gt;pObject&amp;lt;/code&amp;gt; in die Liste eingefügt und es gibt weiterhin kein aktuelles Objekt. Falls es kein aktuelles Objekt gibt und die Liste nicht leer ist, oder &amp;lt;code&amp;gt;pObject&amp;lt;/code&amp;gt; gleich &amp;lt;code&amp;gt;null&amp;lt;/code&amp;gt; ist, bleibt die Liste unverändert.&lt;br /&gt;
* &amp;lt;code&amp;gt;void concat(List pList)&amp;lt;/code&amp;gt;&lt;br /&gt;
** Die Liste &amp;lt;code&amp;gt;pList&amp;lt;/code&amp;gt; wird an die aufrufende Liste angehängt. Anschließend wird &amp;lt;code&amp;gt;pList&amp;lt;/code&amp;gt; zu einer leeren Liste. Das aktuelle Objekt bleibt unverändert. Falls &amp;lt;code&amp;gt;pList&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;null&amp;lt;/code&amp;gt; oder bereits leer ist, bleibt die Liste unverändert.&lt;br /&gt;
* &amp;lt;code&amp;gt;void remove()&amp;lt;/code&amp;gt;&lt;br /&gt;
** Falls es ein aktuelles Objekt gibt, wird dieses gelöscht und das Objekt &#039;&#039;&#039;hinter&#039;&#039;&#039; dem gelöschten Objekt wird zum neuen aktuellen Objekt. Wird das letzte Objekt der Liste gelöscht, gibt es danach kein aktuelles Objekt mehr. Wenn die Liste leer ist oder es kein aktuelles Objekt gibt, bleibt die Liste unverändert.&lt;br /&gt;
&lt;br /&gt;
== Laufzeitanalyse (Komplexität) ==&lt;br /&gt;
Im Zuge der Softwareentwicklung ist die Auswahl der richtigen Datenstruktur hinsichtlich ihrer Effizienz kritisch[cite: 4]. Bei einer idealen, objektorientierten Implementierung einer Liste (mit Referenzen auf den ersten Knoten, den letzten Knoten und den aktuellen Knoten) ergeben sich gemäß der [[Landau-Symbole|Landau-Notation]] folgende Laufzeitkomplexitäten:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation !! 1. Best-Case !! 2. Average-Case !! 3. Worst-Case&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;append(Object pObject)&amp;lt;/code&amp;gt; || &amp;lt;math&amp;gt;\mathcal{O}(1)&amp;lt;/math&amp;gt; || &amp;lt;math&amp;gt;\mathcal{O}(1)&amp;lt;/math&amp;gt; || &amp;lt;math&amp;gt;\mathcal{O}(1)&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;insert(Object pObject)&amp;lt;/code&amp;gt; || &amp;lt;math&amp;gt;\mathcal{O}(1)&amp;lt;/math&amp;gt; || &amp;lt;math&amp;gt;\mathcal{O}(n)&amp;lt;/math&amp;gt; || &amp;lt;math&amp;gt;\mathcal{O}(n)&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;remove()&amp;lt;/code&amp;gt; || &amp;lt;math&amp;gt;\mathcal{O}(1)&amp;lt;/math&amp;gt; || &amp;lt;math&amp;gt;\mathcal{O}(n)&amp;lt;/math&amp;gt; || &amp;lt;math&amp;gt;\mathcal{O}(n)&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Iteration (von vorne bis &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt;) || &amp;lt;math&amp;gt;\mathcal{O}(1)&amp;lt;/math&amp;gt; || &amp;lt;math&amp;gt;\mathcal{O}(n)&amp;lt;/math&amp;gt; || &amp;lt;math&amp;gt;\mathcal{O}(n)&amp;lt;/math&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Erläuterung:&#039;&#039; Da in einer einfach verketteten Liste nur vorwärts navigiert werden kann, erfordern &amp;lt;code&amp;gt;insert()&amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt;remove()&amp;lt;/code&amp;gt; das Anpassen der Zeiger des Vorgängerknotens. Um den Vorgänger des aktuellen Knotens zu finden, muss die Liste im Average- und Worst-Case von vorne durchlaufen werden.&lt;br /&gt;
&lt;br /&gt;
== Implementierungsbeispiel (Java) ==&lt;br /&gt;
Nachfolgend ist das prinzipielle Grundgerüst einer Listen-Implementierung auf Basis einer Knotenklasse (&amp;lt;code&amp;gt;ListNode&amp;lt;/code&amp;gt;) dargestellt, wie es im Leistungskurs oder der Fachinformatik-Ausbildung entwickelt wird, um dynamische Datenstrukturen und das Kapselungsprinzip informationstechnisch zu fundieren[cite: 3].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
public class List {&lt;br /&gt;
    &lt;br /&gt;
    // Innere Knoten-Klasse&lt;br /&gt;
    private class ListNode {&lt;br /&gt;
        Object content;&lt;br /&gt;
        ListNode nextNode;&lt;br /&gt;
&lt;br /&gt;
        public ListNode(Object pContent) {&lt;br /&gt;
            content = pContent;&lt;br /&gt;
            nextNode = null;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Zeiger auf wesentliche Elemente der Liste&lt;br /&gt;
    private ListNode first;&lt;br /&gt;
    private ListNode last;&lt;br /&gt;
    private ListNode current;&lt;br /&gt;
&lt;br /&gt;
    /**&lt;br /&gt;
     * Konstruktor&lt;br /&gt;
     */&lt;br /&gt;
    public List() {&lt;br /&gt;
        first = null;&lt;br /&gt;
        last = null;&lt;br /&gt;
        current = null;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    public boolean isEmpty() {&lt;br /&gt;
        return first == null;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    public boolean hasAccess() {&lt;br /&gt;
        return current != null;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    public void next() {&lt;br /&gt;
        if (this.hasAccess()) {&lt;br /&gt;
            current = current.nextNode;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    public void append(Object pObject) {&lt;br /&gt;
        if (pObject != null) {&lt;br /&gt;
            ListNode newNode = new ListNode(pObject);&lt;br /&gt;
            if (this.isEmpty()) {&lt;br /&gt;
                first = newNode;&lt;br /&gt;
                last = newNode;&lt;br /&gt;
            } else {&lt;br /&gt;
                last.nextNode = newNode;&lt;br /&gt;
                last = newNode;&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    public Object getObject() {&lt;br /&gt;
        if (this.hasAccess()) {&lt;br /&gt;
            return current.content;&lt;br /&gt;
        }&lt;br /&gt;
        return null;&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    // ... weitere Methoden (insert, remove, toFirst, etc.)&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Programmierung]]&lt;br /&gt;
[[Kategorie:AHR I Informatik LK]]&lt;br /&gt;
[[Kategorie:FI I SDM]]&lt;/div&gt;</summary>
		<author><name>Flbkwikiadmin</name></author>
	</entry>
	<entry>
		<id>https://wiki.flbk-hamm.de/index.php?title=Stapel&amp;diff=2968</id>
		<title>Stapel</title>
		<link rel="alternate" type="text/html" href="https://wiki.flbk-hamm.de/index.php?title=Stapel&amp;diff=2968"/>
		<updated>2026-09-04T07:41:28Z</updated>

		<summary type="html">&lt;p&gt;Flbkwikiadmin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Einführung ==&lt;br /&gt;
In der Informatik bezeichnet ein &#039;&#039;&#039;Stapelspeicher&#039;&#039;&#039; oder &#039;&#039;&#039;Kellerspeicher&#039;&#039;&#039; (kurz &#039;&#039;Stapel&#039;&#039; oder &#039;&#039;Keller&#039;&#039;, häufig auch mit dem englischen Fachbegriff &#039;&#039;&#039;Stack&#039;&#039;&#039; bezeichnet) eine fundamentale, dynamische Datenstruktur. Sie dient der temporären Zwischenspeicherung von Datenobjekten in einer streng definierten Reihenfolge und ist ein zentraler Bestandteil der objektorientierten Anwendungsentwicklung[cite: 3].&lt;br /&gt;
&lt;br /&gt;
Objekte der abstrakten Datenstruktur (ADT) &amp;lt;code&amp;gt;Stack&amp;lt;/code&amp;gt; verwalten beliebige Elemente nach dem &#039;&#039;&#039;LIFO-Prinzip&#039;&#039;&#039; (&#039;&#039;Last-In-First-Out&#039;&#039;). Das bedeutet: Das Element, welches als letztes auf den Stapel gelegt wurde, wird als erstes wieder entnommen.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Alltagsanalogie:&#039;&#039;&#039;&lt;br /&gt;
Ein Kellerspeicher lässt sich anschaulich mit einem Stapel von Umzugskisten oder einem Tellerstapel vergleichen. Es kann immer nur eine neue Kiste oben auf den Stapel gepackt werden (dies entspricht der Operation &amp;lt;code&amp;gt;push&amp;lt;/code&amp;gt;). Ebenso kann immer nur die oberste Kiste heruntergenommen werden (entspricht der Operation &amp;lt;code&amp;gt;pop&amp;lt;/code&amp;gt;). Der lesende oder schreibende Zugriff ist strukturell zwingend auf das oberste Element des Stapels beschränkt. Ein Hinzufügen oder Entfernen einer Kiste weiter unten im Stapel ist nicht möglich.&lt;br /&gt;
&lt;br /&gt;
== Visualisierung ==&lt;br /&gt;
Die Arbeitsweise der LIFO-Datenstruktur lässt sich durch die beiden Hauptoperationen – das Hinzufügen (Push) und das Entfernen (Pop) – am Kopfende des Stapels veranschaulichen.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&amp;lt;svg width=&amp;quot;500&amp;quot; height=&amp;quot;360&amp;quot; viewBox=&amp;quot;0 0 500 360&amp;quot; xmlns=&amp;quot;http://www.w3.org/2000/svg&amp;quot; style=&amp;quot;background-color: transparent;&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Definition der Pfeilspitzen --&amp;gt;&lt;br /&gt;
  &amp;lt;defs&amp;gt;&lt;br /&gt;
    &amp;lt;marker id=&amp;quot;arrow-push&amp;quot; viewBox=&amp;quot;0 0 10 10&amp;quot; refX=&amp;quot;5&amp;quot; refY=&amp;quot;5&amp;quot; markerWidth=&amp;quot;6&amp;quot; markerHeight=&amp;quot;6&amp;quot; orient=&amp;quot;auto&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;path d=&amp;quot;M 0 0 L 10 5 L 0 10 z&amp;quot; fill=&amp;quot;#000000&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/marker&amp;gt;&lt;br /&gt;
    &amp;lt;marker id=&amp;quot;arrow-pop&amp;quot; viewBox=&amp;quot;0 0 10 10&amp;quot; refX=&amp;quot;5&amp;quot; refY=&amp;quot;5&amp;quot; markerWidth=&amp;quot;6&amp;quot; markerHeight=&amp;quot;6&amp;quot; orient=&amp;quot;auto&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;path d=&amp;quot;M 0 0 L 10 5 L 0 10 z&amp;quot; fill=&amp;quot;#000000&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/marker&amp;gt;&lt;br /&gt;
  &amp;lt;/defs&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;!-- Der Stack (von unten nach oben) --&amp;gt;&lt;br /&gt;
  &amp;lt;rect x=&amp;quot;200&amp;quot; y=&amp;quot;300&amp;quot; width=&amp;quot;100&amp;quot; height=&amp;quot;35&amp;quot; fill=&amp;quot;#e0e0ff&amp;quot; stroke=&amp;quot;#000000&amp;quot; stroke-width=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;rect x=&amp;quot;200&amp;quot; y=&amp;quot;260&amp;quot; width=&amp;quot;100&amp;quot; height=&amp;quot;35&amp;quot; fill=&amp;quot;#c0c0ff&amp;quot; stroke=&amp;quot;#000000&amp;quot; stroke-width=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;rect x=&amp;quot;200&amp;quot; y=&amp;quot;220&amp;quot; width=&amp;quot;100&amp;quot; height=&amp;quot;35&amp;quot; fill=&amp;quot;#a0a0ff&amp;quot; stroke=&amp;quot;#000000&amp;quot; stroke-width=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;rect x=&amp;quot;200&amp;quot; y=&amp;quot;180&amp;quot; width=&amp;quot;100&amp;quot; height=&amp;quot;35&amp;quot; fill=&amp;quot;#8080ff&amp;quot; stroke=&amp;quot;#000000&amp;quot; stroke-width=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;rect x=&amp;quot;200&amp;quot; y=&amp;quot;140&amp;quot; width=&amp;quot;100&amp;quot; height=&amp;quot;35&amp;quot; fill=&amp;quot;#6060ff&amp;quot; stroke=&amp;quot;#000000&amp;quot; stroke-width=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;rect x=&amp;quot;200&amp;quot; y=&amp;quot;100&amp;quot; width=&amp;quot;100&amp;quot; height=&amp;quot;35&amp;quot; fill=&amp;quot;#4040ff&amp;quot; stroke=&amp;quot;#000000&amp;quot; stroke-width=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;!-- Push Element (links oben) --&amp;gt;&lt;br /&gt;
  &amp;lt;rect x=&amp;quot;40&amp;quot; y=&amp;quot;20&amp;quot; width=&amp;quot;100&amp;quot; height=&amp;quot;35&amp;quot; fill=&amp;quot;#4040ff&amp;quot; stroke=&amp;quot;#000000&amp;quot; stroke-width=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;text x=&amp;quot;120&amp;quot; y=&amp;quot;85&amp;quot; font-family=&amp;quot;Arial, sans-serif&amp;quot; font-size=&amp;quot;22&amp;quot; fill=&amp;quot;#000000&amp;quot;&amp;gt;Push&amp;lt;/text&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Push Pfeil (gebogen zum Stack) --&amp;gt;&lt;br /&gt;
  &amp;lt;path d=&amp;quot;M 140 60 Q 190 60 195 90&amp;quot; fill=&amp;quot;none&amp;quot; stroke=&amp;quot;#000000&amp;quot; stroke-width=&amp;quot;2&amp;quot; marker-end=&amp;quot;url(#arrow-push)&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;!-- Pop Element (rechts oben) --&amp;gt;&lt;br /&gt;
  &amp;lt;rect x=&amp;quot;360&amp;quot; y=&amp;quot;20&amp;quot; width=&amp;quot;100&amp;quot; height=&amp;quot;35&amp;quot; fill=&amp;quot;#4040ff&amp;quot; stroke=&amp;quot;#000000&amp;quot; stroke-width=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;text x=&amp;quot;310&amp;quot; y=&amp;quot;85&amp;quot; font-family=&amp;quot;Arial, sans-serif&amp;quot; font-size=&amp;quot;22&amp;quot; fill=&amp;quot;#000000&amp;quot;&amp;gt;Pop&amp;lt;/text&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Pop Pfeil (gebogen vom Stack weg) --&amp;gt;&lt;br /&gt;
  &amp;lt;path d=&amp;quot;M 260 85 Q 270 50 350 40&amp;quot; fill=&amp;quot;none&amp;quot; stroke=&amp;quot;#000000&amp;quot; stroke-width=&amp;quot;2&amp;quot; marker-end=&amp;quot;url(#arrow-pop)&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/svg&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Aufbau und Spezifikation (API) ==&lt;br /&gt;
Im Kontext der Softwaretechnologie wird diese abstrakte Datenstruktur formal über eine wohldefinierte Schnittstelle abgebildet, um die Kapselung der Daten zu gewährleisten[cite: 4]. Ein klassischer Stapel verfügt über die folgenden Methoden und Konstruktoren:&lt;br /&gt;
&lt;br /&gt;
=== Konstruktor ===&lt;br /&gt;
* &amp;lt;code&amp;gt;Stack()&amp;lt;/code&amp;gt;&lt;br /&gt;
** Ein neuer, leerer Stapel wird erzeugt.&lt;br /&gt;
&lt;br /&gt;
=== Methoden ===&lt;br /&gt;
* &amp;lt;code&amp;gt;boolean isEmpty()&amp;lt;/code&amp;gt;&lt;br /&gt;
** Die Anfrage liefert den Wert &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt;, wenn der Stapel keine Objekte enthält. Andernfalls liefert sie den Wert &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt;.&lt;br /&gt;
* &amp;lt;code&amp;gt;void push(Object pObject)&amp;lt;/code&amp;gt;&lt;br /&gt;
** Das Objekt &amp;lt;code&amp;gt;pObject&amp;lt;/code&amp;gt; wird oben auf den Stapel gelegt. Falls &amp;lt;code&amp;gt;pObject&amp;lt;/code&amp;gt; den Wert &amp;lt;code&amp;gt;null&amp;lt;/code&amp;gt; hat, bleibt der Stapel unverändert.&lt;br /&gt;
* &amp;lt;code&amp;gt;void pop()&amp;lt;/code&amp;gt;&lt;br /&gt;
** Das zuletzt eingefügte (oberste) Objekt wird von dem Stapel entfernt. Falls der Stapel bereits leer ist, bleibt er unverändert (es tritt kein Fehler auf).&lt;br /&gt;
* &amp;lt;code&amp;gt;Object top()&amp;lt;/code&amp;gt;&lt;br /&gt;
** Die Anfrage liefert das oberste Stapelobjekt zurück, ohne es aus der Datenstruktur zu entfernen. Der Stapel bleibt unverändert. Falls der Stapel leer ist, wird &amp;lt;code&amp;gt;null&amp;lt;/code&amp;gt; zurückgegeben.&lt;br /&gt;
&lt;br /&gt;
== Laufzeitanalyse (Komplexität) ==&lt;br /&gt;
Eine effiziente Implementierung des Stacks (beispielsweise über eine einfach verkettete Liste, bei der stets am Kopfknoten eingefügt und gelöscht wird) garantiert hochperformante Zugriffszeiten. Da ausschließlich auf das oberste Element zugegriffen wird, müssen keine iterativen Suchvorgänge durchgeführt oder nachfolgende Elemente im Speicher verschoben werden. Es ergibt sich gemäß der [[Landau-Symbole|Landau-Notation]] folgende Laufzeitkomplexität:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation !! 1. Best-Case !! 2. Average-Case !! 3. Worst-Case&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;push(Object pObject)&amp;lt;/code&amp;gt; || &amp;lt;math&amp;gt;\mathcal{O}(1)&amp;lt;/math&amp;gt; || &amp;lt;math&amp;gt;\mathcal{O}(1)&amp;lt;/math&amp;gt; || &amp;lt;math&amp;gt;\mathcal{O}(1)&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;pop()&amp;lt;/code&amp;gt; || &amp;lt;math&amp;gt;\mathcal{O}(1)&amp;lt;/math&amp;gt; || &amp;lt;math&amp;gt;\mathcal{O}(1)&amp;lt;/math&amp;gt; || &amp;lt;math&amp;gt;\mathcal{O}(1)&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;top()&amp;lt;/code&amp;gt; || &amp;lt;math&amp;gt;\mathcal{O}(1)&amp;lt;/math&amp;gt; || &amp;lt;math&amp;gt;\mathcal{O}(1)&amp;lt;/math&amp;gt; || &amp;lt;math&amp;gt;\mathcal{O}(1)&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;isEmpty()&amp;lt;/code&amp;gt; || &amp;lt;math&amp;gt;\mathcal{O}(1)&amp;lt;/math&amp;gt; || &amp;lt;math&amp;gt;\mathcal{O}(1)&amp;lt;/math&amp;gt; || &amp;lt;math&amp;gt;\mathcal{O}(1)&amp;lt;/math&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Beispiel: Arbeitsweise der Stack-Operationen ==&lt;br /&gt;
Die Veränderung des inneren Zustands eines Stacks lässt sich anhand einer sequenziellen Abfolge von Operationen nachvollziehen. In der folgenden Tabelle ist das jeweils oberste Element (Top) der Liste rechts angeordnet.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Schritt !! Operation !! Zustand des Stacks (Bottom &amp;amp;rarr; Top) !! Erläuterung&lt;br /&gt;
|-&lt;br /&gt;
| 1. || &amp;lt;code&amp;gt;Stack()&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;[ ]&amp;lt;/code&amp;gt; (leer) || Nach Aufruf des Konstruktors ist der Stack initialisiert, enthält aber noch keine Elemente.&lt;br /&gt;
|-&lt;br /&gt;
| 2. || &amp;lt;code&amp;gt;push(12)&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;[12]&amp;lt;/code&amp;gt; || Nach Aufruf von &amp;lt;code&amp;gt;push(12)&amp;lt;/code&amp;gt; enthält der Stack genau ein Element, nämlich die Zahl 12.&lt;br /&gt;
|-&lt;br /&gt;
| 3. || &amp;lt;code&amp;gt;push(8)&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;[12, 8]&amp;lt;/code&amp;gt; || Nach Aufruf von &amp;lt;code&amp;gt;push(8)&amp;lt;/code&amp;gt; sind zwei Elemente im Stack enthalten. Die 8 wurde zuletzt hinzugefügt, befindet sich also oben im Stack.&lt;br /&gt;
|-&lt;br /&gt;
| 4. || &amp;lt;code&amp;gt;pop()&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;[12]&amp;lt;/code&amp;gt; || Wenn &amp;lt;code&amp;gt;pop()&amp;lt;/code&amp;gt; aufgerufen wird, wird die 8 wieder entfernt – sie war die zuletzt hinzugefügte Zahl.&lt;br /&gt;
|-&lt;br /&gt;
| 5. || &amp;lt;code&amp;gt;push(15)&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;[12, 15]&amp;lt;/code&amp;gt; || Nach &amp;lt;code&amp;gt;push(15)&amp;lt;/code&amp;gt; besteht der Stack wieder aus zwei Elementen. Die 15 wurde zuletzt gepusht, liegt also oben auf dem Stack.&lt;br /&gt;
|-&lt;br /&gt;
| 6. || &amp;lt;code&amp;gt;push(16)&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;[12, 15, 16]&amp;lt;/code&amp;gt; || Nach &amp;lt;code&amp;gt;push(16)&amp;lt;/code&amp;gt; besteht der Stack aus drei Elementen. Wieder ist die zuletzt gepushte Zahl ganz oben im Stack. Ein Aufruf von &amp;lt;code&amp;gt;top()&amp;lt;/code&amp;gt; würde nun &amp;lt;code&amp;gt;16&amp;lt;/code&amp;gt; zurückgeben.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Implementierungsbeispiel (Java) ==&lt;br /&gt;
Für das tiefergehende Verständnis im Informatikunterricht ist nachfolgend eine klassische objektorientierte Implementierung des Stacks auf Basis einer einfach verketteten Liste (Knotenstruktur) dargestellt. Diese Implementierung ermöglicht das Anwenden dynamischer Datenstrukturen sowie die Untersuchung zur Effizienz und Korrektheit von Algorithmen[cite: 3].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
public class Stack {&lt;br /&gt;
    &lt;br /&gt;
    // Verweis auf das oberste Element des Stapels&lt;br /&gt;
    private Node head;&lt;br /&gt;
&lt;br /&gt;
    // Innere Knoten-Klasse zur Kapselung der Datenstruktur&lt;br /&gt;
    private class Node {&lt;br /&gt;
        Object content;&lt;br /&gt;
        Node nextNode;&lt;br /&gt;
&lt;br /&gt;
        public Node(Object pContent) {&lt;br /&gt;
            content = pContent;&lt;br /&gt;
            nextNode = null;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    /**&lt;br /&gt;
     * Konstruktor: Ein leerer Stapel wird erzeugt.&lt;br /&gt;
     */&lt;br /&gt;
    public Stack() {&lt;br /&gt;
        head = null;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    /**&lt;br /&gt;
     * Prüft, ob der Stapel leer ist.&lt;br /&gt;
     */&lt;br /&gt;
    public boolean isEmpty() {&lt;br /&gt;
        return head == null;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    /**&lt;br /&gt;
     * Legt ein neues Objekt oben auf den Stapel.&lt;br /&gt;
     */&lt;br /&gt;
    public void push(Object pObject) {&lt;br /&gt;
        if (pObject != null) {&lt;br /&gt;
            Node newNode = new Node(pObject);&lt;br /&gt;
            newNode.nextNode = head; // Das neue Element zeigt auf den bisherigen Kopf&lt;br /&gt;
            head = newNode;          // Der Kopf wird auf das neue Element gesetzt&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    /**&lt;br /&gt;
     * Entfernt das oberste Objekt vom Stapel.&lt;br /&gt;
     */&lt;br /&gt;
    public void pop() {&lt;br /&gt;
        if (!this.isEmpty()) {&lt;br /&gt;
            head = head.nextNode;    // Der Kopf rutscht ein Element nach unten (das alte Top-Element wird vom Garbage Collector entfernt)&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    /**&lt;br /&gt;
     * Liefert das oberste Objekt des Stapels.&lt;br /&gt;
     */&lt;br /&gt;
    public Object top() {&lt;br /&gt;
        if (this.isEmpty()) {&lt;br /&gt;
            return null;&lt;br /&gt;
        } else {&lt;br /&gt;
            return head.content;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Programmierung]]&lt;br /&gt;
[[Kategorie:AHR I Informatik LK]]&lt;br /&gt;
[[Kategorie:FI I SDM]]&lt;/div&gt;</summary>
		<author><name>Flbkwikiadmin</name></author>
	</entry>
	<entry>
		<id>https://wiki.flbk-hamm.de/index.php?title=Keller&amp;diff=2967</id>
		<title>Keller</title>
		<link rel="alternate" type="text/html" href="https://wiki.flbk-hamm.de/index.php?title=Keller&amp;diff=2967"/>
		<updated>2026-09-04T07:40:54Z</updated>

		<summary type="html">&lt;p&gt;Flbkwikiadmin: Weiterleitung nach Stapel erstellt&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#redirect [[Stapel]]&lt;/div&gt;</summary>
		<author><name>Flbkwikiadmin</name></author>
	</entry>
	<entry>
		<id>https://wiki.flbk-hamm.de/index.php?title=Stapel&amp;diff=2966</id>
		<title>Stapel</title>
		<link rel="alternate" type="text/html" href="https://wiki.flbk-hamm.de/index.php?title=Stapel&amp;diff=2966"/>
		<updated>2026-09-04T07:39:25Z</updated>

		<summary type="html">&lt;p&gt;Flbkwikiadmin: Die Seite wurde neu angelegt: „== Einführung == In der Informatik bezeichnet ein &amp;#039;&amp;#039;&amp;#039;Stapelspeicher&amp;#039;&amp;#039;&amp;#039; oder &amp;#039;&amp;#039;&amp;#039;Kellerspeicher&amp;#039;&amp;#039;&amp;#039; (kurz &amp;#039;&amp;#039;Stapel&amp;#039;&amp;#039; oder &amp;#039;&amp;#039;Keller&amp;#039;&amp;#039;, häufig auch mit dem englischen Fachbegriff &amp;#039;&amp;#039;&amp;#039;Stack&amp;#039;&amp;#039;&amp;#039; bezeichnet) eine fundamentale, dynamische Datenstruktur[cite: 3]. Sie dient der Zwischenspeicherung von Datenobjekten in einer strikten Reihenfolge.  Objekte der abstrakten Datenstruktur &amp;lt;code&amp;gt;Stack&amp;lt;/code&amp;gt; verwalten beliebige Elemente nach dem &amp;#039;&amp;#039;&amp;#039;LIFO-Prinzip&amp;#039;&amp;#039;&amp;#039; (&amp;#039;&amp;#039;Last-…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Einführung ==&lt;br /&gt;
In der Informatik bezeichnet ein &#039;&#039;&#039;Stapelspeicher&#039;&#039;&#039; oder &#039;&#039;&#039;Kellerspeicher&#039;&#039;&#039; (kurz &#039;&#039;Stapel&#039;&#039; oder &#039;&#039;Keller&#039;&#039;, häufig auch mit dem englischen Fachbegriff &#039;&#039;&#039;Stack&#039;&#039;&#039; bezeichnet) eine fundamentale, dynamische Datenstruktur[cite: 3]. Sie dient der Zwischenspeicherung von Datenobjekten in einer strikten Reihenfolge.&lt;br /&gt;
&lt;br /&gt;
Objekte der abstrakten Datenstruktur &amp;lt;code&amp;gt;Stack&amp;lt;/code&amp;gt; verwalten beliebige Elemente nach dem &#039;&#039;&#039;LIFO-Prinzip&#039;&#039;&#039; (&#039;&#039;Last-In-First-Out&#039;&#039;). Das bedeutet: Das Element, welches als letztes auf den Stapel gelegt wurde, wird als erstes wieder entnommen.&lt;br /&gt;
&lt;br /&gt;
[[Datei:image_90523e.png|mini|Veranschaulichung des LIFO-Prinzips mittels Push- und Pop-Operationen auf einem Stapel]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Alltagsanalogie:&#039;&#039;&#039;&lt;br /&gt;
Ein Kellerspeicher lässt sich anschaulich mit einem Stapel von Umzugskisten vergleichen. Es kann immer nur eine neue Kiste oben auf den Stapel gepackt werden (dies entspricht der Operation &amp;lt;code&amp;gt;push&amp;lt;/code&amp;gt;). Ebenso kann immer nur die oberste Kiste heruntergenommen werden (entspricht der Operation &amp;lt;code&amp;gt;pop&amp;lt;/code&amp;gt;). Der lesende oder schreibende Zugriff ist im Regelfall streng auf das oberste Element des Stapels beschränkt. Ein Hinzufügen oder Entfernen einer Kiste weiter unten im Stapel ist strukturell nicht möglich.&lt;br /&gt;
&lt;br /&gt;
== Aufbau und Spezifikation (API) ==&lt;br /&gt;
Im Kontext der objektorientierten Programmierung wird die abstrakte Datenstruktur formal über eine wohldefinierte Schnittstelle abgebildet[cite: 3]. Ein Stapel verfügt über die folgenden Methoden und Konstruktoren:&lt;br /&gt;
&lt;br /&gt;
=== Konstruktor ===&lt;br /&gt;
* &amp;lt;code&amp;gt;Stack()&amp;lt;/code&amp;gt;&lt;br /&gt;
** Ein neuer, leerer Stapel wird erzeugt.&lt;br /&gt;
&lt;br /&gt;
=== Methoden ===&lt;br /&gt;
* &amp;lt;code&amp;gt;boolean isEmpty()&amp;lt;/code&amp;gt;&lt;br /&gt;
** Die Anfrage liefert den Wert &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt;, wenn der Stapel keine Objekte enthält. Andernfalls liefert sie den Wert &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt;.&lt;br /&gt;
* &amp;lt;code&amp;gt;void push(Object pObject)&amp;lt;/code&amp;gt;&lt;br /&gt;
** Das Objekt &amp;lt;code&amp;gt;pObject&amp;lt;/code&amp;gt; wird oben auf den Stapel gelegt. Falls &amp;lt;code&amp;gt;pObject&amp;lt;/code&amp;gt; den Wert &amp;lt;code&amp;gt;null&amp;lt;/code&amp;gt; hat, bleibt der Stapel unverändert.&lt;br /&gt;
* &amp;lt;code&amp;gt;void pop()&amp;lt;/code&amp;gt;&lt;br /&gt;
** Das zuletzt eingefügte (oberste) Objekt wird von dem Stapel entfernt. Falls der Stapel bereits leer ist, bleibt er unverändert.&lt;br /&gt;
* &amp;lt;code&amp;gt;Object top()&amp;lt;/code&amp;gt;&lt;br /&gt;
** Die Anfrage liefert das oberste Stapelobjekt zurück, ohne es zu entfernen. Der Stapel bleibt unverändert. Falls der Stapel leer ist, wird &amp;lt;code&amp;gt;null&amp;lt;/code&amp;gt; zurückgegeben.&lt;br /&gt;
&lt;br /&gt;
== Laufzeitanalyse (Komplexität) ==&lt;br /&gt;
Eine effiziente Implementierung des Stacks (beispielsweise über eine einfach verkettete Liste, bei der stets vorne am Kopf eingefügt und gelöscht wird) garantiert hochperformante Zugriffszeiten. Dies ist für die informationstechnische Verarbeitung von Datenstrukturen in der beruflichen Praxis essenziell[cite: 4]. Da ausschließlich auf das oberste Element zugegriffen wird, müssen keine iterativen Suchvorgänge durchgeführt oder nachfolgende Elemente im Speicher verschoben werden. Es ergibt sich gemäß der [[Landau-Symbole|Landau-Notation]] folgende Laufzeitkomplexität:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation !! 1. Best-Case !! 2. Average-Case !! 3. Worst-Case&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;push(Object pObject)&amp;lt;/code&amp;gt; || &amp;lt;math&amp;gt;\mathcal{O}(1)&amp;lt;/math&amp;gt; || &amp;lt;math&amp;gt;\mathcal{O}(1)&amp;lt;/math&amp;gt; || &amp;lt;math&amp;gt;\mathcal{O}(1)&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;pop()&amp;lt;/code&amp;gt; || &amp;lt;math&amp;gt;\mathcal{O}(1)&amp;lt;/math&amp;gt; || &amp;lt;math&amp;gt;\mathcal{O}(1)&amp;lt;/math&amp;gt; || &amp;lt;math&amp;gt;\mathcal{O}(1)&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;top()&amp;lt;/code&amp;gt; || &amp;lt;math&amp;gt;\mathcal{O}(1)&amp;lt;/math&amp;gt; || &amp;lt;math&amp;gt;\mathcal{O}(1)&amp;lt;/math&amp;gt; || &amp;lt;math&amp;gt;\mathcal{O}(1)&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;isEmpty()&amp;lt;/code&amp;gt; || &amp;lt;math&amp;gt;\mathcal{O}(1)&amp;lt;/math&amp;gt; || &amp;lt;math&amp;gt;\mathcal{O}(1)&amp;lt;/math&amp;gt; || &amp;lt;math&amp;gt;\mathcal{O}(1)&amp;lt;/math&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Beispiel: Arbeitsweise der Stack-Operationen ==&lt;br /&gt;
Die Arbeitsweise und Veränderung des inneren Zustands eines Stacks lässt sich anhand einer sequenziellen Abfolge von Operationen veranschaulichen. In der folgenden Tabelle ist das jeweils oberste Element (Top) der Liste rechts angeordnet.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Schritt !! Operation !! Zustand des Stacks (Bottom -&amp;gt; Top) !! Erläuterung&lt;br /&gt;
|-&lt;br /&gt;
| 1. || &amp;lt;code&amp;gt;Stack()&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;[ ]&amp;lt;/code&amp;gt; (leer) || Nach Aufruf der &amp;lt;code&amp;gt;Stack()&amp;lt;/code&amp;gt;-Operation ist der Stack initialisiert, enthält aber noch keine Elemente.&lt;br /&gt;
|-&lt;br /&gt;
| 2. || &amp;lt;code&amp;gt;push(12)&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;[12]&amp;lt;/code&amp;gt; || Nach Aufruf von &amp;lt;code&amp;gt;push(12)&amp;lt;/code&amp;gt; enthält der Stack genau ein Element, nämlich die Zahl 12.&lt;br /&gt;
|-&lt;br /&gt;
| 3. || &amp;lt;code&amp;gt;push(8)&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;[12, 8]&amp;lt;/code&amp;gt; || Nach Aufruf von &amp;lt;code&amp;gt;push(8)&amp;lt;/code&amp;gt; sind zwei Elemente im Stack enthalten. Die 8 wurde zuletzt hinzugefügt, befindet sich also oben im Stack.&lt;br /&gt;
|-&lt;br /&gt;
| 4. || &amp;lt;code&amp;gt;pop()&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;[12]&amp;lt;/code&amp;gt; || Wenn &amp;lt;code&amp;gt;pop()&amp;lt;/code&amp;gt; aufgerufen wird, wird die 8 wieder entfernt – sie war die zuletzt hinzugefügte Zahl.&lt;br /&gt;
|-&lt;br /&gt;
| 5. || &amp;lt;code&amp;gt;push(15)&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;[12, 15]&amp;lt;/code&amp;gt; || Nach &amp;lt;code&amp;gt;push(15)&amp;lt;/code&amp;gt; besteht der Stack wieder aus zwei Elementen. Die 15 wurde zuletzt gepusht, also liegt sie oben auf dem Stack.&lt;br /&gt;
|-&lt;br /&gt;
| 6. || &amp;lt;code&amp;gt;push(16)&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;[12, 15, 16]&amp;lt;/code&amp;gt; || Nach &amp;lt;code&amp;gt;push(16)&amp;lt;/code&amp;gt; besteht der Stack aus drei Elementen. Wieder ist die zuletzt gepushte Zahl ganz oben im Stack.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Implementierungsbeispiel (Java) ==&lt;br /&gt;
Für das tiefergehende Verständnis im Leistungskurs oder der Fachinformatiker-Ausbildung ist nachfolgend eine klassische objektorientierte Implementierung des Stacks auf Basis einer einfach verketteten Liste (Knotenstruktur) dargestellt. Dies schult das exakte, strukturierte algorithmische Denken zur Lösung informationstechnischer Problemstellungen[cite: 3].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
public class Stack {&lt;br /&gt;
    &lt;br /&gt;
    // Verweis auf das oberste Element des Stapels&lt;br /&gt;
    private Node head;&lt;br /&gt;
&lt;br /&gt;
    // Innere Knoten-Klasse zur Kapselung der Daten&lt;br /&gt;
    private class Node {&lt;br /&gt;
        Object content;&lt;br /&gt;
        Node nextNode;&lt;br /&gt;
&lt;br /&gt;
        public Node(Object pContent) {&lt;br /&gt;
            content = pContent;&lt;br /&gt;
            nextNode = null;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    /**&lt;br /&gt;
     * Konstruktor: Ein leerer Stapel wird erzeugt.&lt;br /&gt;
     */&lt;br /&gt;
    public Stack() {&lt;br /&gt;
        head = null;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    /**&lt;br /&gt;
     * Prüft, ob der Stapel leer ist.&lt;br /&gt;
     */&lt;br /&gt;
    public boolean isEmpty() {&lt;br /&gt;
        return head == null;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    /**&lt;br /&gt;
     * Legt ein neues Objekt oben auf den Stapel.&lt;br /&gt;
     */&lt;br /&gt;
    public void push(Object pObject) {&lt;br /&gt;
        if (pObject != null) {&lt;br /&gt;
            Node newNode = new Node(pObject);&lt;br /&gt;
            newNode.nextNode = head; // Das neue Element zeigt auf den bisherigen Kopf&lt;br /&gt;
            head = newNode;          // Der Kopf wird auf das neue Element gesetzt&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    /**&lt;br /&gt;
     * Entfernt das oberste Objekt vom Stapel.&lt;br /&gt;
     */&lt;br /&gt;
    public void pop() {&lt;br /&gt;
        if (!this.isEmpty()) {&lt;br /&gt;
            head = head.nextNode;    // Der Kopf rutscht ein Element nach unten (das alte Top-Element wird vom Garbage Collector entfernt)&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    /**&lt;br /&gt;
     * Liefert das oberste Objekt des Stapels.&lt;br /&gt;
     */&lt;br /&gt;
    public Object top() {&lt;br /&gt;
        if (this.isEmpty()) {&lt;br /&gt;
            return null;&lt;br /&gt;
        } else {&lt;br /&gt;
            return head.content;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Programmierung]]&lt;br /&gt;
[[Kategorie:AHR I Informatik LK]]&lt;br /&gt;
[[Kategorie:FI I SDM]]&lt;/div&gt;</summary>
		<author><name>Flbkwikiadmin</name></author>
	</entry>
	<entry>
		<id>https://wiki.flbk-hamm.de/index.php?title=Schlange&amp;diff=2965</id>
		<title>Schlange</title>
		<link rel="alternate" type="text/html" href="https://wiki.flbk-hamm.de/index.php?title=Schlange&amp;diff=2965"/>
		<updated>2026-09-04T07:26:10Z</updated>

		<summary type="html">&lt;p&gt;Flbkwikiadmin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Einführung ==&lt;br /&gt;
In der Informatik bezeichnet eine &#039;&#039;&#039;Warteschlange&#039;&#039;&#039; oder &#039;&#039;&#039;Schlange&#039;&#039;&#039; (englisch &#039;&#039;Queue&#039;&#039;) eine grundlegende und häufig eingesetzte dynamische Datenstruktur. Sie dient der geordneten Zwischenspeicherung von Datenobjekten, bevor diese systematisch weiterverarbeitet werden. &lt;br /&gt;
&lt;br /&gt;
Warteschlangen verwalten beliebige Objekte nach dem strengen &#039;&#039;&#039;FIFO-Prinzip&#039;&#039;&#039; (&#039;&#039;First-In-First-Out&#039;&#039;). Das bedeutet: Das Element, welches zuerst in die Datenstruktur eingefügt wurde, wird auch als erstes wieder entnommen.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Alltagsanalogie:&#039;&#039;&#039; &lt;br /&gt;
Man kann sich diese Datenstruktur wie eine Warteschlange von Kunden an einer Supermarktkasse vorstellen. Der Letzte, der sich in die Schlange stellt, wird am Kopfende (&#039;&#039;Back&#039;&#039;) als Letzter bedient. Umgekehrt wird derjenige, der sich als Erstes an die Spitze (&#039;&#039;Front&#039;&#039;) angestellt hat, als Erster bedient.&lt;br /&gt;
&lt;br /&gt;
== Funktionsweise und Visualisierung ==&lt;br /&gt;
Die grundlegenden Operationen einer Warteschlange verändern ihren Zustand, indem Elemente eingefügt oder entnommen werden. In der Abbildung unten ist die Funktionsweise schematisch dargestellt:&lt;br /&gt;
&lt;br /&gt;
* Mit &amp;lt;code&amp;gt;enter&amp;lt;/code&amp;gt; (bzw. &amp;lt;code&amp;gt;enqueue&amp;lt;/code&amp;gt;) wird ein neuer Wert (im Beispiel die Zahl &amp;lt;code&amp;gt;3&amp;lt;/code&amp;gt;) am Ende der Schlange (&#039;&#039;Back&#039;&#039;) hinzugefügt.&lt;br /&gt;
* Mit &amp;lt;code&amp;gt;leave&amp;lt;/code&amp;gt; (bzw. &amp;lt;code&amp;gt;dequeue&amp;lt;/code&amp;gt;) wird das am längsten gespeicherte Element (im Beispiel &amp;lt;code&amp;gt;37&amp;lt;/code&amp;gt;) an der Spitze der Schlange (&#039;&#039;Front&#039;&#039;) herausgenommen.&lt;br /&gt;
* Der einzige lesende Zugriff erfolgt über die Operation &amp;lt;code&amp;gt;front&amp;lt;/code&amp;gt;. Diese liefert das erste gespeicherte Element der Queue (hier &amp;lt;code&amp;gt;37&amp;lt;/code&amp;gt;), unter der Annahme, dass die entnehmende Operation noch nicht ausgeführt wurde.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&amp;lt;svg width=&amp;quot;600&amp;quot; height=&amp;quot;200&amp;quot; viewBox=&amp;quot;0 0 600 200&amp;quot; xmlns=&amp;quot;http://www.w3.org/2000/svg&amp;quot; style=&amp;quot;background-color: transparent;&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Array Boxes --&amp;gt;&lt;br /&gt;
  &amp;lt;g transform=&amp;quot;translate(150, 80)&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;rect x=&amp;quot;0&amp;quot; y=&amp;quot;0&amp;quot; width=&amp;quot;40&amp;quot; height=&amp;quot;40&amp;quot; fill=&amp;quot;#ffffff&amp;quot; stroke=&amp;quot;#000000&amp;quot; stroke-width=&amp;quot;3&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;text x=&amp;quot;20&amp;quot; y=&amp;quot;25&amp;quot; text-anchor=&amp;quot;middle&amp;quot; font-family=&amp;quot;Arial&amp;quot; font-weight=&amp;quot;bold&amp;quot; font-size=&amp;quot;16&amp;quot;&amp;gt;2&amp;lt;/text&amp;gt;&lt;br /&gt;
    &amp;lt;rect x=&amp;quot;40&amp;quot; y=&amp;quot;0&amp;quot; width=&amp;quot;40&amp;quot; height=&amp;quot;40&amp;quot; fill=&amp;quot;#ffffff&amp;quot; stroke=&amp;quot;#000000&amp;quot; stroke-width=&amp;quot;3&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;text x=&amp;quot;60&amp;quot; y=&amp;quot;25&amp;quot; text-anchor=&amp;quot;middle&amp;quot; font-family=&amp;quot;Arial&amp;quot; font-weight=&amp;quot;bold&amp;quot; font-size=&amp;quot;16&amp;quot;&amp;gt;4&amp;lt;/text&amp;gt;&lt;br /&gt;
    &amp;lt;rect x=&amp;quot;80&amp;quot; y=&amp;quot;0&amp;quot; width=&amp;quot;40&amp;quot; height=&amp;quot;40&amp;quot; fill=&amp;quot;#ffffff&amp;quot; stroke=&amp;quot;#000000&amp;quot; stroke-width=&amp;quot;3&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;text x=&amp;quot;100&amp;quot; y=&amp;quot;25&amp;quot; text-anchor=&amp;quot;middle&amp;quot; font-family=&amp;quot;Arial&amp;quot; font-weight=&amp;quot;bold&amp;quot; font-size=&amp;quot;16&amp;quot;&amp;gt;7&amp;lt;/text&amp;gt;&lt;br /&gt;
    &amp;lt;rect x=&amp;quot;120&amp;quot; y=&amp;quot;0&amp;quot; width=&amp;quot;40&amp;quot; height=&amp;quot;40&amp;quot; fill=&amp;quot;#ffffff&amp;quot; stroke=&amp;quot;#000000&amp;quot; stroke-width=&amp;quot;3&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;text x=&amp;quot;140&amp;quot; y=&amp;quot;25&amp;quot; text-anchor=&amp;quot;middle&amp;quot; font-family=&amp;quot;Arial&amp;quot; font-weight=&amp;quot;bold&amp;quot; font-size=&amp;quot;16&amp;quot;&amp;gt;9&amp;lt;/text&amp;gt;&lt;br /&gt;
    &amp;lt;rect x=&amp;quot;160&amp;quot; y=&amp;quot;0&amp;quot; width=&amp;quot;40&amp;quot; height=&amp;quot;40&amp;quot; fill=&amp;quot;#ffffff&amp;quot; stroke=&amp;quot;#000000&amp;quot; stroke-width=&amp;quot;3&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;text x=&amp;quot;180&amp;quot; y=&amp;quot;25&amp;quot; text-anchor=&amp;quot;middle&amp;quot; font-family=&amp;quot;Arial&amp;quot; font-weight=&amp;quot;bold&amp;quot; font-size=&amp;quot;16&amp;quot;&amp;gt;12&amp;lt;/text&amp;gt;&lt;br /&gt;
    &amp;lt;rect x=&amp;quot;200&amp;quot; y=&amp;quot;0&amp;quot; width=&amp;quot;40&amp;quot; height=&amp;quot;40&amp;quot; fill=&amp;quot;#ffffff&amp;quot; stroke=&amp;quot;#000000&amp;quot; stroke-width=&amp;quot;3&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;text x=&amp;quot;220&amp;quot; y=&amp;quot;25&amp;quot; text-anchor=&amp;quot;middle&amp;quot; font-family=&amp;quot;Arial&amp;quot; font-weight=&amp;quot;bold&amp;quot; font-size=&amp;quot;16&amp;quot;&amp;gt;21&amp;lt;/text&amp;gt;&lt;br /&gt;
    &amp;lt;rect x=&amp;quot;240&amp;quot; y=&amp;quot;0&amp;quot; width=&amp;quot;40&amp;quot; height=&amp;quot;40&amp;quot; fill=&amp;quot;#ffffff&amp;quot; stroke=&amp;quot;#000000&amp;quot; stroke-width=&amp;quot;3&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;text x=&amp;quot;260&amp;quot; y=&amp;quot;25&amp;quot; text-anchor=&amp;quot;middle&amp;quot; font-family=&amp;quot;Arial&amp;quot; font-weight=&amp;quot;bold&amp;quot; font-size=&amp;quot;16&amp;quot;&amp;gt;26&amp;lt;/text&amp;gt;&lt;br /&gt;
    &amp;lt;rect x=&amp;quot;280&amp;quot; y=&amp;quot;0&amp;quot; width=&amp;quot;40&amp;quot; height=&amp;quot;40&amp;quot; fill=&amp;quot;#ffffff&amp;quot; stroke=&amp;quot;#000000&amp;quot; stroke-width=&amp;quot;3&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;text x=&amp;quot;300&amp;quot; y=&amp;quot;25&amp;quot; text-anchor=&amp;quot;middle&amp;quot; font-family=&amp;quot;Arial&amp;quot; font-weight=&amp;quot;bold&amp;quot; font-size=&amp;quot;16&amp;quot;&amp;gt;31&amp;lt;/text&amp;gt;&lt;br /&gt;
    &amp;lt;rect x=&amp;quot;320&amp;quot; y=&amp;quot;0&amp;quot; width=&amp;quot;40&amp;quot; height=&amp;quot;40&amp;quot; fill=&amp;quot;#ffffff&amp;quot; stroke=&amp;quot;#000000&amp;quot; stroke-width=&amp;quot;3&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;text x=&amp;quot;340&amp;quot; y=&amp;quot;25&amp;quot; text-anchor=&amp;quot;middle&amp;quot; font-family=&amp;quot;Arial&amp;quot; font-weight=&amp;quot;bold&amp;quot; font-size=&amp;quot;16&amp;quot;&amp;gt;37&amp;lt;/text&amp;gt;&lt;br /&gt;
  &amp;lt;/g&amp;gt;&lt;br /&gt;
  &amp;lt;!-- enter (enqueue) --&amp;gt;&lt;br /&gt;
  &amp;lt;g transform=&amp;quot;translate(40, 20)&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;rect x=&amp;quot;0&amp;quot; y=&amp;quot;0&amp;quot; width=&amp;quot;40&amp;quot; height=&amp;quot;40&amp;quot; fill=&amp;quot;#ffffff&amp;quot; stroke=&amp;quot;#000000&amp;quot; stroke-width=&amp;quot;3&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;text x=&amp;quot;20&amp;quot; y=&amp;quot;25&amp;quot; text-anchor=&amp;quot;middle&amp;quot; font-family=&amp;quot;Arial&amp;quot; font-weight=&amp;quot;bold&amp;quot; font-size=&amp;quot;16&amp;quot;&amp;gt;3&amp;lt;/text&amp;gt;&lt;br /&gt;
  &amp;lt;/g&amp;gt;&lt;br /&gt;
  &amp;lt;path d=&amp;quot;M 60 60 Q 60 100 130 100&amp;quot; fill=&amp;quot;none&amp;quot; stroke=&amp;quot;#8b0000&amp;quot; stroke-width=&amp;quot;8&amp;quot; marker-end=&amp;quot;url(#arrow-red)&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;text x=&amp;quot;50&amp;quot; y=&amp;quot;105&amp;quot; fill=&amp;quot;#8b0000&amp;quot; font-family=&amp;quot;Arial&amp;quot; font-size=&amp;quot;14&amp;quot; font-weight=&amp;quot;bold&amp;quot;&amp;gt;enter&amp;lt;/text&amp;gt;&lt;br /&gt;
  &amp;lt;!-- leave (dequeue) --&amp;gt;&lt;br /&gt;
  &amp;lt;g transform=&amp;quot;translate(520, 20)&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;rect x=&amp;quot;0&amp;quot; y=&amp;quot;0&amp;quot; width=&amp;quot;40&amp;quot; height=&amp;quot;40&amp;quot; fill=&amp;quot;#ffffff&amp;quot; stroke=&amp;quot;#000000&amp;quot; stroke-width=&amp;quot;3&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;text x=&amp;quot;20&amp;quot; y=&amp;quot;25&amp;quot; text-anchor=&amp;quot;middle&amp;quot; font-family=&amp;quot;Arial&amp;quot; font-weight=&amp;quot;bold&amp;quot; font-size=&amp;quot;16&amp;quot;&amp;gt;37&amp;lt;/text&amp;gt;&lt;br /&gt;
  &amp;lt;/g&amp;gt;&lt;br /&gt;
  &amp;lt;path d=&amp;quot;M 470 80 Q 470 40 505 40&amp;quot; fill=&amp;quot;none&amp;quot; stroke=&amp;quot;#8b0000&amp;quot; stroke-width=&amp;quot;8&amp;quot; marker-end=&amp;quot;url(#arrow-red)&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;text x=&amp;quot;440&amp;quot; y=&amp;quot;55&amp;quot; fill=&amp;quot;#8b0000&amp;quot; font-family=&amp;quot;Arial&amp;quot; font-size=&amp;quot;14&amp;quot; font-weight=&amp;quot;bold&amp;quot;&amp;gt;leave&amp;lt;/text&amp;gt;&lt;br /&gt;
  &amp;lt;!-- front --&amp;gt;&lt;br /&gt;
  &amp;lt;path d=&amp;quot;M 490 180 L 490 135&amp;quot; fill=&amp;quot;none&amp;quot; stroke=&amp;quot;#006400&amp;quot; stroke-width=&amp;quot;4&amp;quot; marker-end=&amp;quot;url(#arrow-green)&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;text x=&amp;quot;500&amp;quot; y=&amp;quot;165&amp;quot; fill=&amp;quot;#006400&amp;quot; font-family=&amp;quot;Arial&amp;quot; font-size=&amp;quot;14&amp;quot; font-weight=&amp;quot;bold&amp;quot;&amp;gt;front&amp;lt;/text&amp;gt;&lt;br /&gt;
  &amp;lt;defs&amp;gt;&lt;br /&gt;
    &amp;lt;marker id=&amp;quot;arrow-red&amp;quot; viewBox=&amp;quot;0 0 10 10&amp;quot; refX=&amp;quot;5&amp;quot; refY=&amp;quot;5&amp;quot; markerWidth=&amp;quot;6&amp;quot; markerHeight=&amp;quot;6&amp;quot; orient=&amp;quot;auto&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;path d=&amp;quot;M 0 0 L 10 5 L 0 10 z&amp;quot; fill=&amp;quot;#8b0000&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/marker&amp;gt;&lt;br /&gt;
    &amp;lt;marker id=&amp;quot;arrow-green&amp;quot; viewBox=&amp;quot;0 0 10 10&amp;quot; refX=&amp;quot;5&amp;quot; refY=&amp;quot;5&amp;quot; markerWidth=&amp;quot;6&amp;quot; markerHeight=&amp;quot;6&amp;quot; orient=&amp;quot;auto&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;path d=&amp;quot;M 0 0 L 10 5 L 0 10 z&amp;quot; fill=&amp;quot;#006400&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/marker&amp;gt;&lt;br /&gt;
  &amp;lt;/defs&amp;gt;&lt;br /&gt;
&amp;lt;/svg&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Auch vertikal lässt sich das Konzept einer Queue anhand von Elementblöcken veranschaulichen. Hierbei rücken die Elemente wie auf einem Fließband weiter:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&amp;lt;svg width=&amp;quot;500&amp;quot; height=&amp;quot;200&amp;quot; viewBox=&amp;quot;0 0 500 200&amp;quot; xmlns=&amp;quot;http://www.w3.org/2000/svg&amp;quot; style=&amp;quot;background-color: transparent;&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Queue elements --&amp;gt;&lt;br /&gt;
  &amp;lt;g transform=&amp;quot;translate(180, 80)&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;rect x=&amp;quot;0&amp;quot; y=&amp;quot;0&amp;quot; width=&amp;quot;30&amp;quot; height=&amp;quot;80&amp;quot; fill=&amp;quot;#4d4dff&amp;quot; stroke=&amp;quot;#000000&amp;quot; stroke-width=&amp;quot;2&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;rect x=&amp;quot;40&amp;quot; y=&amp;quot;0&amp;quot; width=&amp;quot;30&amp;quot; height=&amp;quot;80&amp;quot; fill=&amp;quot;#4d4dff&amp;quot; stroke=&amp;quot;#000000&amp;quot; stroke-width=&amp;quot;2&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;rect x=&amp;quot;80&amp;quot; y=&amp;quot;0&amp;quot; width=&amp;quot;30&amp;quot; height=&amp;quot;80&amp;quot; fill=&amp;quot;#4d4dff&amp;quot; stroke=&amp;quot;#000000&amp;quot; stroke-width=&amp;quot;2&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;rect x=&amp;quot;120&amp;quot; y=&amp;quot;0&amp;quot; width=&amp;quot;30&amp;quot; height=&amp;quot;80&amp;quot; fill=&amp;quot;#4d4dff&amp;quot; stroke=&amp;quot;#000000&amp;quot; stroke-width=&amp;quot;2&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;rect x=&amp;quot;160&amp;quot; y=&amp;quot;0&amp;quot; width=&amp;quot;30&amp;quot; height=&amp;quot;80&amp;quot; fill=&amp;quot;#4d4dff&amp;quot; stroke=&amp;quot;#000000&amp;quot; stroke-width=&amp;quot;2&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;text x=&amp;quot;15&amp;quot; y=&amp;quot;-10&amp;quot; text-anchor=&amp;quot;middle&amp;quot; font-family=&amp;quot;Arial&amp;quot; font-size=&amp;quot;16&amp;quot; font-weight=&amp;quot;bold&amp;quot;&amp;gt;Back&amp;lt;/text&amp;gt;&lt;br /&gt;
    &amp;lt;text x=&amp;quot;175&amp;quot; y=&amp;quot;-10&amp;quot; text-anchor=&amp;quot;middle&amp;quot; font-family=&amp;quot;Arial&amp;quot; font-size=&amp;quot;16&amp;quot; font-weight=&amp;quot;bold&amp;quot;&amp;gt;Front&amp;lt;/text&amp;gt;&lt;br /&gt;
  &amp;lt;/g&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Enqueue element --&amp;gt;&lt;br /&gt;
  &amp;lt;rect x=&amp;quot;80&amp;quot; y=&amp;quot;10&amp;quot; width=&amp;quot;30&amp;quot; height=&amp;quot;80&amp;quot; fill=&amp;quot;#4d4dff&amp;quot; stroke=&amp;quot;#000000&amp;quot; stroke-width=&amp;quot;2&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;path d=&amp;quot;M 95 90 Q 95 120 160 120&amp;quot; fill=&amp;quot;none&amp;quot; stroke=&amp;quot;#000000&amp;quot; stroke-width=&amp;quot;2&amp;quot; marker-end=&amp;quot;url(#arrow-black)&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;text x=&amp;quot;150&amp;quot; y=&amp;quot;145&amp;quot; text-anchor=&amp;quot;end&amp;quot; font-family=&amp;quot;Arial&amp;quot; font-size=&amp;quot;18&amp;quot; font-weight=&amp;quot;bold&amp;quot;&amp;gt;Enqueue&amp;lt;/text&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Dequeue element --&amp;gt;&lt;br /&gt;
  &amp;lt;path d=&amp;quot;M 390 100 Q 430 100 445 130&amp;quot; fill=&amp;quot;none&amp;quot; stroke=&amp;quot;#000000&amp;quot; stroke-width=&amp;quot;2&amp;quot; marker-end=&amp;quot;url(#arrow-black)&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;text x=&amp;quot;400&amp;quot; y=&amp;quot;90&amp;quot; font-family=&amp;quot;Arial&amp;quot; font-size=&amp;quot;18&amp;quot; font-weight=&amp;quot;bold&amp;quot;&amp;gt;Dequeue&amp;lt;/text&amp;gt;&lt;br /&gt;
  &amp;lt;rect x=&amp;quot;430&amp;quot; y=&amp;quot;140&amp;quot; width=&amp;quot;30&amp;quot; height=&amp;quot;80&amp;quot; fill=&amp;quot;#4d4dff&amp;quot; stroke=&amp;quot;#000000&amp;quot; stroke-width=&amp;quot;2&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;defs&amp;gt;&lt;br /&gt;
    &amp;lt;marker id=&amp;quot;arrow-black&amp;quot; viewBox=&amp;quot;0 0 10 10&amp;quot; refX=&amp;quot;5&amp;quot; refY=&amp;quot;5&amp;quot; markerWidth=&amp;quot;6&amp;quot; markerHeight=&amp;quot;6&amp;quot; orient=&amp;quot;auto&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;path d=&amp;quot;M 0 0 L 10 5 L 0 10 z&amp;quot; fill=&amp;quot;#000000&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/marker&amp;gt;&lt;br /&gt;
  &amp;lt;/defs&amp;gt;&lt;br /&gt;
&amp;lt;/svg&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Aufbau und Spezifikation (API) ==&lt;br /&gt;
Im Kontext der objektorientierten Programmierung wird die abstrakte Datenstruktur (ADT) formal über eine wohldefinierte Schnittstelle abgebildet. Eine &amp;lt;code&amp;gt;Queue&amp;lt;/code&amp;gt; sollte über die folgenden Methoden und Konstruktoren verfügen:&lt;br /&gt;
&lt;br /&gt;
=== Konstruktor ===&lt;br /&gt;
* &amp;lt;code&amp;gt;Queue()&amp;lt;/code&amp;gt;&lt;br /&gt;
** Eine leere Schlange wird erzeugt. Der Zustand der initialisierten Schlange ist leer.&lt;br /&gt;
&lt;br /&gt;
=== Methoden ===&lt;br /&gt;
* &amp;lt;code&amp;gt;boolean isEmpty()&amp;lt;/code&amp;gt;&lt;br /&gt;
** Die Anfrage liefert den Wert &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt;, wenn die Schlange keine Objekte enthält. Andernfalls liefert sie &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt;.&lt;br /&gt;
* &amp;lt;code&amp;gt;void enqueue(Object pObject)&amp;lt;/code&amp;gt;&lt;br /&gt;
** Das Objekt &amp;lt;code&amp;gt;pObject&amp;lt;/code&amp;gt; wird an die Schlange (hinten) angehängt. Falls &amp;lt;code&amp;gt;pObject&amp;lt;/code&amp;gt; gleich &amp;lt;code&amp;gt;null&amp;lt;/code&amp;gt; ist, bleibt die Schlange unverändert.&lt;br /&gt;
* &amp;lt;code&amp;gt;void dequeue()&amp;lt;/code&amp;gt;&lt;br /&gt;
** Das erste Objekt (vorne) wird aus der Schlange entfernt. Falls die Schlange bereits leer ist, wird sie nicht verändert.&lt;br /&gt;
* &amp;lt;code&amp;gt;Object front()&amp;lt;/code&amp;gt;&lt;br /&gt;
** Die Anfrage liefert das erste Objekt der Schlange zurück, ohne dieses aus der Schlange zu entfernen (die Schlange bleibt unverändert). Falls die Schlange leer ist, wird &amp;lt;code&amp;gt;null&amp;lt;/code&amp;gt; zurückgegeben.&lt;br /&gt;
&lt;br /&gt;
== Laufzeitanalyse (Komplexität) ==&lt;br /&gt;
Warteschlangen lassen sich in der Praxis äußerst effizient über Arrays mit Ringpuffer-Logik oder über einfach verkettete Listen implementieren. Eine Zeigerstruktur, die stets den Anfang (Front) und das Ende (Tail) speichert, garantiert hochperformante Speicher- und Lesezugriffe. Für die oben genannten Methoden ergibt sich gemäß der [[O-Notation|O-Notation]] folgende Laufzeitkomplexität:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation !! 1. Best-Case !! 2. Average-Case !! 3. Worst-Case&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;enqueue(Object pObject)&amp;lt;/code&amp;gt; || &amp;lt;math&amp;gt;\mathcal{O}(1)&amp;lt;/math&amp;gt; || &amp;lt;math&amp;gt;\mathcal{O}(1)&amp;lt;/math&amp;gt; || &amp;lt;math&amp;gt;\mathcal{O}(1)&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;dequeue()&amp;lt;/code&amp;gt; || &amp;lt;math&amp;gt;\mathcal{O}(1)&amp;lt;/math&amp;gt; || &amp;lt;math&amp;gt;\mathcal{O}(1)&amp;lt;/math&amp;gt; || &amp;lt;math&amp;gt;\mathcal{O}(1)&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;front()&amp;lt;/code&amp;gt; || &amp;lt;math&amp;gt;\mathcal{O}(1)&amp;lt;/math&amp;gt; || &amp;lt;math&amp;gt;\mathcal{O}(1)&amp;lt;/math&amp;gt; || &amp;lt;math&amp;gt;\mathcal{O}(1)&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;isEmpty()&amp;lt;/code&amp;gt; || &amp;lt;math&amp;gt;\mathcal{O}(1)&amp;lt;/math&amp;gt; || &amp;lt;math&amp;gt;\mathcal{O}(1)&amp;lt;/math&amp;gt; || &amp;lt;math&amp;gt;\mathcal{O}(1)&amp;lt;/math&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Implementierungsbeispiel (Java) ==&lt;br /&gt;
Die grundlegende Struktur einer objektorientierten Implementierung als Rumpf-Klasse orientiert sich exakt an den curricularen Vorgaben. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
public class Queue {&lt;br /&gt;
    &lt;br /&gt;
    // Verweise auf den Anfang und das Ende der Queue&lt;br /&gt;
    private Node head;&lt;br /&gt;
    private Node tail;&lt;br /&gt;
&lt;br /&gt;
    // Innere Knoten-Klasse für verkettete Listenstruktur&lt;br /&gt;
    private class Node {&lt;br /&gt;
        Object content;&lt;br /&gt;
        Node nextNode;&lt;br /&gt;
&lt;br /&gt;
        public Node(Object pContent) {&lt;br /&gt;
            content = pContent;&lt;br /&gt;
            nextNode = null;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    /**&lt;br /&gt;
     * Konstruktor: Eine leere Schlange wird erzeugt.&lt;br /&gt;
     */&lt;br /&gt;
    public Queue() {&lt;br /&gt;
        head = null;&lt;br /&gt;
        tail = null;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    /**&lt;br /&gt;
     * Prüft, ob die Schlange leer ist.&lt;br /&gt;
     */&lt;br /&gt;
    public boolean isEmpty() {&lt;br /&gt;
        return head == null;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    /**&lt;br /&gt;
     * Fügt ein Objekt hinten an die Schlange an.&lt;br /&gt;
     */&lt;br /&gt;
    public void enqueue(Object pObject) {&lt;br /&gt;
        if (pObject != null) {&lt;br /&gt;
            Node newNode = new Node(pObject);&lt;br /&gt;
            if (this.isEmpty()) {&lt;br /&gt;
                head = newNode;&lt;br /&gt;
                tail = newNode;&lt;br /&gt;
            } else {&lt;br /&gt;
                tail.nextNode = newNode;&lt;br /&gt;
                tail = newNode;&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    /**&lt;br /&gt;
     * Entfernt das vorderste Element aus der Schlange.&lt;br /&gt;
     */&lt;br /&gt;
    public void dequeue() {&lt;br /&gt;
        if (!this.isEmpty()) {&lt;br /&gt;
            head = head.nextNode;&lt;br /&gt;
            if (this.isEmpty()) {&lt;br /&gt;
                tail = null;&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    /**&lt;br /&gt;
     * Gibt das vorderste Element zurück.&lt;br /&gt;
     */&lt;br /&gt;
    public Object front() {&lt;br /&gt;
        if (this.isEmpty()) {&lt;br /&gt;
            return null;&lt;br /&gt;
        } else {&lt;br /&gt;
            return head.content;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Programmierung]]&lt;br /&gt;
[[Kategorie:AHR_I_Informatik LK]]&lt;br /&gt;
[[Kategorie:FI I SDM]]&lt;/div&gt;</summary>
		<author><name>Flbkwikiadmin</name></author>
	</entry>
	<entry>
		<id>https://wiki.flbk-hamm.de/index.php?title=Schlange&amp;diff=2964</id>
		<title>Schlange</title>
		<link rel="alternate" type="text/html" href="https://wiki.flbk-hamm.de/index.php?title=Schlange&amp;diff=2964"/>
		<updated>2026-09-04T07:25:32Z</updated>

		<summary type="html">&lt;p&gt;Flbkwikiadmin: Die Seite wurde neu angelegt: „== Einführung == In der Informatik bezeichnet eine &amp;#039;&amp;#039;&amp;#039;Warteschlange&amp;#039;&amp;#039;&amp;#039; oder &amp;#039;&amp;#039;&amp;#039;Schlange&amp;#039;&amp;#039;&amp;#039; (englisch &amp;#039;&amp;#039;Queue&amp;#039;&amp;#039;) eine grundlegende und häufig eingesetzte dynamische Datenstruktur. Sie dient der geordneten Zwischenspeicherung von Datenobjekten, bevor diese systematisch weiterverarbeitet werden.   Warteschlangen verwalten beliebige Objekte nach dem strengen &amp;#039;&amp;#039;&amp;#039;FIFO-Prinzip&amp;#039;&amp;#039;&amp;#039; (&amp;#039;&amp;#039;First-In-First-Out&amp;#039;&amp;#039;). Das bedeutet: Das Element, welches zuerst in die Datens…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Einführung ==&lt;br /&gt;
In der Informatik bezeichnet eine &#039;&#039;&#039;Warteschlange&#039;&#039;&#039; oder &#039;&#039;&#039;Schlange&#039;&#039;&#039; (englisch &#039;&#039;Queue&#039;&#039;) eine grundlegende und häufig eingesetzte dynamische Datenstruktur. Sie dient der geordneten Zwischenspeicherung von Datenobjekten, bevor diese systematisch weiterverarbeitet werden. &lt;br /&gt;
&lt;br /&gt;
Warteschlangen verwalten beliebige Objekte nach dem strengen &#039;&#039;&#039;FIFO-Prinzip&#039;&#039;&#039; (&#039;&#039;First-In-First-Out&#039;&#039;). Das bedeutet: Das Element, welches zuerst in die Datenstruktur eingefügt wurde, wird auch als erstes wieder entnommen.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Alltagsanalogie:&#039;&#039;&#039; &lt;br /&gt;
Man kann sich diese Datenstruktur wie eine Warteschlange von Kunden an einer Supermarktkasse vorstellen. Der Letzte, der sich in die Schlange stellt, wird am Kopfende (&#039;&#039;Back&#039;&#039;) als Letzter bedient. Umgekehrt wird derjenige, der sich als Erstes an die Spitze (&#039;&#039;Front&#039;&#039;) angestellt hat, als Erster bedient.&lt;br /&gt;
&lt;br /&gt;
== Funktionsweise und Visualisierung ==&lt;br /&gt;
Die grundlegenden Operationen einer Warteschlange verändern ihren Zustand, indem Elemente eingefügt oder entnommen werden. In der Abbildung unten ist die Funktionsweise schematisch dargestellt:&lt;br /&gt;
&lt;br /&gt;
* Mit &amp;lt;code&amp;gt;enter&amp;lt;/code&amp;gt; (bzw. &amp;lt;code&amp;gt;enqueue&amp;lt;/code&amp;gt;) wird ein neuer Wert (im Beispiel die Zahl &amp;lt;code&amp;gt;3&amp;lt;/code&amp;gt;) am Ende der Schlange (&#039;&#039;Back&#039;&#039;) hinzugefügt.&lt;br /&gt;
* Mit &amp;lt;code&amp;gt;leave&amp;lt;/code&amp;gt; (bzw. &amp;lt;code&amp;gt;dequeue&amp;lt;/code&amp;gt;) wird das am längsten gespeicherte Element (im Beispiel &amp;lt;code&amp;gt;37&amp;lt;/code&amp;gt;) an der Spitze der Schlange (&#039;&#039;Front&#039;&#039;) herausgenommen.&lt;br /&gt;
* Der einzige lesende Zugriff erfolgt über die Operation &amp;lt;code&amp;gt;front&amp;lt;/code&amp;gt;. Diese liefert das erste gespeicherte Element der Queue (hier &amp;lt;code&amp;gt;37&amp;lt;/code&amp;gt;), unter der Annahme, dass die entnehmende Operation noch nicht ausgeführt wurde.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&amp;lt;svg width=&amp;quot;600&amp;quot; height=&amp;quot;200&amp;quot; viewBox=&amp;quot;0 0 600 200&amp;quot; xmlns=&amp;quot;http://www.w3.org/2000/svg&amp;quot; style=&amp;quot;background-color: transparent;&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Array Boxes --&amp;gt;&lt;br /&gt;
  &amp;lt;g transform=&amp;quot;translate(150, 80)&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;rect x=&amp;quot;0&amp;quot; y=&amp;quot;0&amp;quot; width=&amp;quot;40&amp;quot; height=&amp;quot;40&amp;quot; fill=&amp;quot;#ffffff&amp;quot; stroke=&amp;quot;#000000&amp;quot; stroke-width=&amp;quot;3&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;text x=&amp;quot;20&amp;quot; y=&amp;quot;25&amp;quot; text-anchor=&amp;quot;middle&amp;quot; font-family=&amp;quot;Arial&amp;quot; font-weight=&amp;quot;bold&amp;quot; font-size=&amp;quot;16&amp;quot;&amp;gt;2&amp;lt;/text&amp;gt;&lt;br /&gt;
    &amp;lt;rect x=&amp;quot;40&amp;quot; y=&amp;quot;0&amp;quot; width=&amp;quot;40&amp;quot; height=&amp;quot;40&amp;quot; fill=&amp;quot;#ffffff&amp;quot; stroke=&amp;quot;#000000&amp;quot; stroke-width=&amp;quot;3&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;text x=&amp;quot;60&amp;quot; y=&amp;quot;25&amp;quot; text-anchor=&amp;quot;middle&amp;quot; font-family=&amp;quot;Arial&amp;quot; font-weight=&amp;quot;bold&amp;quot; font-size=&amp;quot;16&amp;quot;&amp;gt;4&amp;lt;/text&amp;gt;&lt;br /&gt;
    &amp;lt;rect x=&amp;quot;80&amp;quot; y=&amp;quot;0&amp;quot; width=&amp;quot;40&amp;quot; height=&amp;quot;40&amp;quot; fill=&amp;quot;#ffffff&amp;quot; stroke=&amp;quot;#000000&amp;quot; stroke-width=&amp;quot;3&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;text x=&amp;quot;100&amp;quot; y=&amp;quot;25&amp;quot; text-anchor=&amp;quot;middle&amp;quot; font-family=&amp;quot;Arial&amp;quot; font-weight=&amp;quot;bold&amp;quot; font-size=&amp;quot;16&amp;quot;&amp;gt;7&amp;lt;/text&amp;gt;&lt;br /&gt;
    &amp;lt;rect x=&amp;quot;120&amp;quot; y=&amp;quot;0&amp;quot; width=&amp;quot;40&amp;quot; height=&amp;quot;40&amp;quot; fill=&amp;quot;#ffffff&amp;quot; stroke=&amp;quot;#000000&amp;quot; stroke-width=&amp;quot;3&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;text x=&amp;quot;140&amp;quot; y=&amp;quot;25&amp;quot; text-anchor=&amp;quot;middle&amp;quot; font-family=&amp;quot;Arial&amp;quot; font-weight=&amp;quot;bold&amp;quot; font-size=&amp;quot;16&amp;quot;&amp;gt;9&amp;lt;/text&amp;gt;&lt;br /&gt;
    &amp;lt;rect x=&amp;quot;160&amp;quot; y=&amp;quot;0&amp;quot; width=&amp;quot;40&amp;quot; height=&amp;quot;40&amp;quot; fill=&amp;quot;#ffffff&amp;quot; stroke=&amp;quot;#000000&amp;quot; stroke-width=&amp;quot;3&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;text x=&amp;quot;180&amp;quot; y=&amp;quot;25&amp;quot; text-anchor=&amp;quot;middle&amp;quot; font-family=&amp;quot;Arial&amp;quot; font-weight=&amp;quot;bold&amp;quot; font-size=&amp;quot;16&amp;quot;&amp;gt;12&amp;lt;/text&amp;gt;&lt;br /&gt;
    &amp;lt;rect x=&amp;quot;200&amp;quot; y=&amp;quot;0&amp;quot; width=&amp;quot;40&amp;quot; height=&amp;quot;40&amp;quot; fill=&amp;quot;#ffffff&amp;quot; stroke=&amp;quot;#000000&amp;quot; stroke-width=&amp;quot;3&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;text x=&amp;quot;220&amp;quot; y=&amp;quot;25&amp;quot; text-anchor=&amp;quot;middle&amp;quot; font-family=&amp;quot;Arial&amp;quot; font-weight=&amp;quot;bold&amp;quot; font-size=&amp;quot;16&amp;quot;&amp;gt;21&amp;lt;/text&amp;gt;&lt;br /&gt;
    &amp;lt;rect x=&amp;quot;240&amp;quot; y=&amp;quot;0&amp;quot; width=&amp;quot;40&amp;quot; height=&amp;quot;40&amp;quot; fill=&amp;quot;#ffffff&amp;quot; stroke=&amp;quot;#000000&amp;quot; stroke-width=&amp;quot;3&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;text x=&amp;quot;260&amp;quot; y=&amp;quot;25&amp;quot; text-anchor=&amp;quot;middle&amp;quot; font-family=&amp;quot;Arial&amp;quot; font-weight=&amp;quot;bold&amp;quot; font-size=&amp;quot;16&amp;quot;&amp;gt;26&amp;lt;/text&amp;gt;&lt;br /&gt;
    &amp;lt;rect x=&amp;quot;280&amp;quot; y=&amp;quot;0&amp;quot; width=&amp;quot;40&amp;quot; height=&amp;quot;40&amp;quot; fill=&amp;quot;#ffffff&amp;quot; stroke=&amp;quot;#000000&amp;quot; stroke-width=&amp;quot;3&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;text x=&amp;quot;300&amp;quot; y=&amp;quot;25&amp;quot; text-anchor=&amp;quot;middle&amp;quot; font-family=&amp;quot;Arial&amp;quot; font-weight=&amp;quot;bold&amp;quot; font-size=&amp;quot;16&amp;quot;&amp;gt;31&amp;lt;/text&amp;gt;&lt;br /&gt;
    &amp;lt;rect x=&amp;quot;320&amp;quot; y=&amp;quot;0&amp;quot; width=&amp;quot;40&amp;quot; height=&amp;quot;40&amp;quot; fill=&amp;quot;#ffffff&amp;quot; stroke=&amp;quot;#000000&amp;quot; stroke-width=&amp;quot;3&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;text x=&amp;quot;340&amp;quot; y=&amp;quot;25&amp;quot; text-anchor=&amp;quot;middle&amp;quot; font-family=&amp;quot;Arial&amp;quot; font-weight=&amp;quot;bold&amp;quot; font-size=&amp;quot;16&amp;quot;&amp;gt;37&amp;lt;/text&amp;gt;&lt;br /&gt;
  &amp;lt;/g&amp;gt;&lt;br /&gt;
  &amp;lt;!-- enter (enqueue) --&amp;gt;&lt;br /&gt;
  &amp;lt;g transform=&amp;quot;translate(40, 20)&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;rect x=&amp;quot;0&amp;quot; y=&amp;quot;0&amp;quot; width=&amp;quot;40&amp;quot; height=&amp;quot;40&amp;quot; fill=&amp;quot;#ffffff&amp;quot; stroke=&amp;quot;#000000&amp;quot; stroke-width=&amp;quot;3&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;text x=&amp;quot;20&amp;quot; y=&amp;quot;25&amp;quot; text-anchor=&amp;quot;middle&amp;quot; font-family=&amp;quot;Arial&amp;quot; font-weight=&amp;quot;bold&amp;quot; font-size=&amp;quot;16&amp;quot;&amp;gt;3&amp;lt;/text&amp;gt;&lt;br /&gt;
  &amp;lt;/g&amp;gt;&lt;br /&gt;
  &amp;lt;path d=&amp;quot;M 60 60 Q 60 100 130 100&amp;quot; fill=&amp;quot;none&amp;quot; stroke=&amp;quot;#8b0000&amp;quot; stroke-width=&amp;quot;8&amp;quot; marker-end=&amp;quot;url(#arrow-red)&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;text x=&amp;quot;50&amp;quot; y=&amp;quot;105&amp;quot; fill=&amp;quot;#8b0000&amp;quot; font-family=&amp;quot;Arial&amp;quot; font-size=&amp;quot;14&amp;quot; font-weight=&amp;quot;bold&amp;quot;&amp;gt;enter&amp;lt;/text&amp;gt;&lt;br /&gt;
  &amp;lt;!-- leave (dequeue) --&amp;gt;&lt;br /&gt;
  &amp;lt;g transform=&amp;quot;translate(520, 20)&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;rect x=&amp;quot;0&amp;quot; y=&amp;quot;0&amp;quot; width=&amp;quot;40&amp;quot; height=&amp;quot;40&amp;quot; fill=&amp;quot;#ffffff&amp;quot; stroke=&amp;quot;#000000&amp;quot; stroke-width=&amp;quot;3&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;text x=&amp;quot;20&amp;quot; y=&amp;quot;25&amp;quot; text-anchor=&amp;quot;middle&amp;quot; font-family=&amp;quot;Arial&amp;quot; font-weight=&amp;quot;bold&amp;quot; font-size=&amp;quot;16&amp;quot;&amp;gt;37&amp;lt;/text&amp;gt;&lt;br /&gt;
  &amp;lt;/g&amp;gt;&lt;br /&gt;
  &amp;lt;path d=&amp;quot;M 470 80 Q 470 40 505 40&amp;quot; fill=&amp;quot;none&amp;quot; stroke=&amp;quot;#8b0000&amp;quot; stroke-width=&amp;quot;8&amp;quot; marker-end=&amp;quot;url(#arrow-red)&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;text x=&amp;quot;440&amp;quot; y=&amp;quot;55&amp;quot; fill=&amp;quot;#8b0000&amp;quot; font-family=&amp;quot;Arial&amp;quot; font-size=&amp;quot;14&amp;quot; font-weight=&amp;quot;bold&amp;quot;&amp;gt;leave&amp;lt;/text&amp;gt;&lt;br /&gt;
  &amp;lt;!-- front --&amp;gt;&lt;br /&gt;
  &amp;lt;path d=&amp;quot;M 490 180 L 490 135&amp;quot; fill=&amp;quot;none&amp;quot; stroke=&amp;quot;#006400&amp;quot; stroke-width=&amp;quot;4&amp;quot; marker-end=&amp;quot;url(#arrow-green)&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;text x=&amp;quot;500&amp;quot; y=&amp;quot;165&amp;quot; fill=&amp;quot;#006400&amp;quot; font-family=&amp;quot;Arial&amp;quot; font-size=&amp;quot;14&amp;quot; font-weight=&amp;quot;bold&amp;quot;&amp;gt;front&amp;lt;/text&amp;gt;&lt;br /&gt;
  &amp;lt;defs&amp;gt;&lt;br /&gt;
    &amp;lt;marker id=&amp;quot;arrow-red&amp;quot; viewBox=&amp;quot;0 0 10 10&amp;quot; refX=&amp;quot;5&amp;quot; refY=&amp;quot;5&amp;quot; markerWidth=&amp;quot;6&amp;quot; markerHeight=&amp;quot;6&amp;quot; orient=&amp;quot;auto&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;path d=&amp;quot;M 0 0 L 10 5 L 0 10 z&amp;quot; fill=&amp;quot;#8b0000&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/marker&amp;gt;&lt;br /&gt;
    &amp;lt;marker id=&amp;quot;arrow-green&amp;quot; viewBox=&amp;quot;0 0 10 10&amp;quot; refX=&amp;quot;5&amp;quot; refY=&amp;quot;5&amp;quot; markerWidth=&amp;quot;6&amp;quot; markerHeight=&amp;quot;6&amp;quot; orient=&amp;quot;auto&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;path d=&amp;quot;M 0 0 L 10 5 L 0 10 z&amp;quot; fill=&amp;quot;#006400&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/marker&amp;gt;&lt;br /&gt;
  &amp;lt;/defs&amp;gt;&lt;br /&gt;
&amp;lt;/svg&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Auch vertikal lässt sich das Konzept einer Queue anhand von Elementblöcken veranschaulichen. Hierbei rücken die Elemente wie auf einem Fließband weiter:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&amp;lt;svg width=&amp;quot;500&amp;quot; height=&amp;quot;200&amp;quot; viewBox=&amp;quot;0 0 500 200&amp;quot; xmlns=&amp;quot;http://www.w3.org/2000/svg&amp;quot; style=&amp;quot;background-color: transparent;&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Queue elements --&amp;gt;&lt;br /&gt;
  &amp;lt;g transform=&amp;quot;translate(180, 80)&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;rect x=&amp;quot;0&amp;quot; y=&amp;quot;0&amp;quot; width=&amp;quot;30&amp;quot; height=&amp;quot;80&amp;quot; fill=&amp;quot;#4d4dff&amp;quot; stroke=&amp;quot;#000000&amp;quot; stroke-width=&amp;quot;2&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;rect x=&amp;quot;40&amp;quot; y=&amp;quot;0&amp;quot; width=&amp;quot;30&amp;quot; height=&amp;quot;80&amp;quot; fill=&amp;quot;#4d4dff&amp;quot; stroke=&amp;quot;#000000&amp;quot; stroke-width=&amp;quot;2&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;rect x=&amp;quot;80&amp;quot; y=&amp;quot;0&amp;quot; width=&amp;quot;30&amp;quot; height=&amp;quot;80&amp;quot; fill=&amp;quot;#4d4dff&amp;quot; stroke=&amp;quot;#000000&amp;quot; stroke-width=&amp;quot;2&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;rect x=&amp;quot;120&amp;quot; y=&amp;quot;0&amp;quot; width=&amp;quot;30&amp;quot; height=&amp;quot;80&amp;quot; fill=&amp;quot;#4d4dff&amp;quot; stroke=&amp;quot;#000000&amp;quot; stroke-width=&amp;quot;2&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;rect x=&amp;quot;160&amp;quot; y=&amp;quot;0&amp;quot; width=&amp;quot;30&amp;quot; height=&amp;quot;80&amp;quot; fill=&amp;quot;#4d4dff&amp;quot; stroke=&amp;quot;#000000&amp;quot; stroke-width=&amp;quot;2&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;text x=&amp;quot;15&amp;quot; y=&amp;quot;-10&amp;quot; text-anchor=&amp;quot;middle&amp;quot; font-family=&amp;quot;Arial&amp;quot; font-size=&amp;quot;16&amp;quot; font-weight=&amp;quot;bold&amp;quot;&amp;gt;Back&amp;lt;/text&amp;gt;&lt;br /&gt;
    &amp;lt;text x=&amp;quot;175&amp;quot; y=&amp;quot;-10&amp;quot; text-anchor=&amp;quot;middle&amp;quot; font-family=&amp;quot;Arial&amp;quot; font-size=&amp;quot;16&amp;quot; font-weight=&amp;quot;bold&amp;quot;&amp;gt;Front&amp;lt;/text&amp;gt;&lt;br /&gt;
  &amp;lt;/g&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Enqueue element --&amp;gt;&lt;br /&gt;
  &amp;lt;rect x=&amp;quot;80&amp;quot; y=&amp;quot;10&amp;quot; width=&amp;quot;30&amp;quot; height=&amp;quot;80&amp;quot; fill=&amp;quot;#4d4dff&amp;quot; stroke=&amp;quot;#000000&amp;quot; stroke-width=&amp;quot;2&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;path d=&amp;quot;M 95 90 Q 95 120 160 120&amp;quot; fill=&amp;quot;none&amp;quot; stroke=&amp;quot;#000000&amp;quot; stroke-width=&amp;quot;2&amp;quot; marker-end=&amp;quot;url(#arrow-black)&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;text x=&amp;quot;150&amp;quot; y=&amp;quot;145&amp;quot; text-anchor=&amp;quot;end&amp;quot; font-family=&amp;quot;Arial&amp;quot; font-size=&amp;quot;18&amp;quot; font-weight=&amp;quot;bold&amp;quot;&amp;gt;Enqueue&amp;lt;/text&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Dequeue element --&amp;gt;&lt;br /&gt;
  &amp;lt;path d=&amp;quot;M 390 100 Q 430 100 445 130&amp;quot; fill=&amp;quot;none&amp;quot; stroke=&amp;quot;#000000&amp;quot; stroke-width=&amp;quot;2&amp;quot; marker-end=&amp;quot;url(#arrow-black)&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;text x=&amp;quot;400&amp;quot; y=&amp;quot;90&amp;quot; font-family=&amp;quot;Arial&amp;quot; font-size=&amp;quot;18&amp;quot; font-weight=&amp;quot;bold&amp;quot;&amp;gt;Dequeue&amp;lt;/text&amp;gt;&lt;br /&gt;
  &amp;lt;rect x=&amp;quot;430&amp;quot; y=&amp;quot;140&amp;quot; width=&amp;quot;30&amp;quot; height=&amp;quot;80&amp;quot; fill=&amp;quot;#4d4dff&amp;quot; stroke=&amp;quot;#000000&amp;quot; stroke-width=&amp;quot;2&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;defs&amp;gt;&lt;br /&gt;
    &amp;lt;marker id=&amp;quot;arrow-black&amp;quot; viewBox=&amp;quot;0 0 10 10&amp;quot; refX=&amp;quot;5&amp;quot; refY=&amp;quot;5&amp;quot; markerWidth=&amp;quot;6&amp;quot; markerHeight=&amp;quot;6&amp;quot; orient=&amp;quot;auto&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;path d=&amp;quot;M 0 0 L 10 5 L 0 10 z&amp;quot; fill=&amp;quot;#000000&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/marker&amp;gt;&lt;br /&gt;
  &amp;lt;/defs&amp;gt;&lt;br /&gt;
&amp;lt;/svg&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Aufbau und Spezifikation (API) ==&lt;br /&gt;
Im Kontext der objektorientierten Programmierung wird die abstrakte Datenstruktur (ADT) formal über eine wohldefinierte Schnittstelle abgebildet. Eine &amp;lt;code&amp;gt;Queue&amp;lt;/code&amp;gt; sollte über die folgenden Methoden und Konstruktoren verfügen:&lt;br /&gt;
&lt;br /&gt;
=== Konstruktor ===&lt;br /&gt;
* &amp;lt;code&amp;gt;Queue()&amp;lt;/code&amp;gt;&lt;br /&gt;
** Eine leere Schlange wird erzeugt. Der Zustand der initialisierten Schlange ist leer.&lt;br /&gt;
&lt;br /&gt;
=== Methoden ===&lt;br /&gt;
* &amp;lt;code&amp;gt;boolean isEmpty()&amp;lt;/code&amp;gt;&lt;br /&gt;
** Die Anfrage liefert den Wert &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt;, wenn die Schlange keine Objekte enthält. Andernfalls liefert sie &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt;.&lt;br /&gt;
* &amp;lt;code&amp;gt;void enqueue(Object pObject)&amp;lt;/code&amp;gt;&lt;br /&gt;
** Das Objekt &amp;lt;code&amp;gt;pObject&amp;lt;/code&amp;gt; wird an die Schlange (hinten) angehängt. Falls &amp;lt;code&amp;gt;pObject&amp;lt;/code&amp;gt; gleich &amp;lt;code&amp;gt;null&amp;lt;/code&amp;gt; ist, bleibt die Schlange unverändert.&lt;br /&gt;
* &amp;lt;code&amp;gt;void dequeue()&amp;lt;/code&amp;gt;&lt;br /&gt;
** Das erste Objekt (vorne) wird aus der Schlange entfernt. Falls die Schlange bereits leer ist, wird sie nicht verändert.&lt;br /&gt;
* &amp;lt;code&amp;gt;Object front()&amp;lt;/code&amp;gt;&lt;br /&gt;
** Die Anfrage liefert das erste Objekt der Schlange zurück, ohne dieses aus der Schlange zu entfernen (die Schlange bleibt unverändert). Falls die Schlange leer ist, wird &amp;lt;code&amp;gt;null&amp;lt;/code&amp;gt; zurückgegeben.&lt;br /&gt;
&lt;br /&gt;
== Laufzeitanalyse (Komplexität) ==&lt;br /&gt;
Warteschlangen lassen sich in der Praxis äußerst effizient über Arrays mit Ringpuffer-Logik oder über einfach verkettete Listen implementieren. Eine Zeigerstruktur, die stets den Anfang (Front) und das Ende (Tail) speichert, garantiert hochperformante Speicher- und Lesezugriffe. Für die oben genannten Methoden ergibt sich gemäß der [[Landau-Symbole|Landau-Notation]] folgende Laufzeitkomplexität:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation !! 1. Best-Case !! 2. Average-Case !! 3. Worst-Case&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;enqueue(Object pObject)&amp;lt;/code&amp;gt; || &amp;lt;math&amp;gt;\mathcal{O}(1)&amp;lt;/math&amp;gt; || &amp;lt;math&amp;gt;\mathcal{O}(1)&amp;lt;/math&amp;gt; || &amp;lt;math&amp;gt;\mathcal{O}(1)&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;dequeue()&amp;lt;/code&amp;gt; || &amp;lt;math&amp;gt;\mathcal{O}(1)&amp;lt;/math&amp;gt; || &amp;lt;math&amp;gt;\mathcal{O}(1)&amp;lt;/math&amp;gt; || &amp;lt;math&amp;gt;\mathcal{O}(1)&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;front()&amp;lt;/code&amp;gt; || &amp;lt;math&amp;gt;\mathcal{O}(1)&amp;lt;/math&amp;gt; || &amp;lt;math&amp;gt;\mathcal{O}(1)&amp;lt;/math&amp;gt; || &amp;lt;math&amp;gt;\mathcal{O}(1)&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;isEmpty()&amp;lt;/code&amp;gt; || &amp;lt;math&amp;gt;\mathcal{O}(1)&amp;lt;/math&amp;gt; || &amp;lt;math&amp;gt;\mathcal{O}(1)&amp;lt;/math&amp;gt; || &amp;lt;math&amp;gt;\mathcal{O}(1)&amp;lt;/math&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Implementierungsbeispiel (Java) ==&lt;br /&gt;
Die grundlegende Struktur einer objektorientierten Implementierung als Rumpf-Klasse orientiert sich exakt an den curricularen Vorgaben. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
public class Queue {&lt;br /&gt;
    &lt;br /&gt;
    // Verweise auf den Anfang und das Ende der Queue&lt;br /&gt;
    private Node head;&lt;br /&gt;
    private Node tail;&lt;br /&gt;
&lt;br /&gt;
    // Innere Knoten-Klasse für verkettete Listenstruktur&lt;br /&gt;
    private class Node {&lt;br /&gt;
        Object content;&lt;br /&gt;
        Node nextNode;&lt;br /&gt;
&lt;br /&gt;
        public Node(Object pContent) {&lt;br /&gt;
            content = pContent;&lt;br /&gt;
            nextNode = null;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    /**&lt;br /&gt;
     * Konstruktor: Eine leere Schlange wird erzeugt.&lt;br /&gt;
     */&lt;br /&gt;
    public Queue() {&lt;br /&gt;
        head = null;&lt;br /&gt;
        tail = null;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    /**&lt;br /&gt;
     * Prüft, ob die Schlange leer ist.&lt;br /&gt;
     */&lt;br /&gt;
    public boolean isEmpty() {&lt;br /&gt;
        return head == null;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    /**&lt;br /&gt;
     * Fügt ein Objekt hinten an die Schlange an.&lt;br /&gt;
     */&lt;br /&gt;
    public void enqueue(Object pObject) {&lt;br /&gt;
        if (pObject != null) {&lt;br /&gt;
            Node newNode = new Node(pObject);&lt;br /&gt;
            if (this.isEmpty()) {&lt;br /&gt;
                head = newNode;&lt;br /&gt;
                tail = newNode;&lt;br /&gt;
            } else {&lt;br /&gt;
                tail.nextNode = newNode;&lt;br /&gt;
                tail = newNode;&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    /**&lt;br /&gt;
     * Entfernt das vorderste Element aus der Schlange.&lt;br /&gt;
     */&lt;br /&gt;
    public void dequeue() {&lt;br /&gt;
        if (!this.isEmpty()) {&lt;br /&gt;
            head = head.nextNode;&lt;br /&gt;
            if (this.isEmpty()) {&lt;br /&gt;
                tail = null;&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    /**&lt;br /&gt;
     * Gibt das vorderste Element zurück.&lt;br /&gt;
     */&lt;br /&gt;
    public Object front() {&lt;br /&gt;
        if (this.isEmpty()) {&lt;br /&gt;
            return null;&lt;br /&gt;
        } else {&lt;br /&gt;
            return head.content;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Programmierung]]&lt;br /&gt;
[[Kategorie:AHR_I_Informatik LK]]&lt;br /&gt;
[[Kategorie:FI I SDM]]&lt;/div&gt;</summary>
		<author><name>Flbkwikiadmin</name></author>
	</entry>
	<entry>
		<id>https://wiki.flbk-hamm.de/index.php?title=Dynamische_Datenstruktur&amp;diff=2963</id>
		<title>Dynamische Datenstruktur</title>
		<link rel="alternate" type="text/html" href="https://wiki.flbk-hamm.de/index.php?title=Dynamische_Datenstruktur&amp;diff=2963"/>
		<updated>2026-09-04T07:24:05Z</updated>

		<summary type="html">&lt;p&gt;Flbkwikiadmin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Dynamische Datenstrukturen&#039;&#039;&#039; sind in der Programmierung Behälter für [[Objekt|Objekte]], die eine flexible Menge an Arbeitsspeicher reservieren und somit eine beliebige Anzahl von Objekten aufnehmen können. Im Gegensatz zu [[Array|Arrays]] mit fester Länge bieten sie mehr Flexibilität bei der Verwaltung von Datenmengen.&lt;br /&gt;
&lt;br /&gt;
== Einführung ==&lt;br /&gt;
In einem Programm werden oft mehrere Objekte einer Klasse verwaltet. Diese müssen in Behältern organisiert werden. Ein Beispiel für einen solchen Behälter ist das [[Array]]. Da ein Array immer eine feste Länge hat, ist es für viele Zwecke allerdings zu unflexibel. Beispiele für dynamische Datenstrukturen sind:&lt;br /&gt;
&lt;br /&gt;
[[Schlange|Schlange (Queue)]]&lt;br /&gt;
&lt;br /&gt;
[[Stapel|Stapel (Stack)]]&lt;br /&gt;
&lt;br /&gt;
[[Liste|Liste (List)]]&lt;br /&gt;
&lt;br /&gt;
Der reservierte Arbeitsspeicher ist abhängig vom [[Datentyp]] der gespeicherten Objekte. Dynamische Datenstrukturen bieten Mechanismen, den reservierten Speicher mit jeder hinzugefügten Dateneinheit zu vergrößern. In manchen Situationen ist es erforderlich, eigene Strukturen zu entwerfen, die Objekte dynamisch verwalten.&lt;br /&gt;
&lt;br /&gt;
== Knoten ==&lt;br /&gt;
Dynamische Datenstrukturen lassen sich mit Arrays oder Knoten realisieren. Ein &#039;&#039;&#039;Knoten&#039;&#039;&#039; ist ein Objekt einer Klasse. Die Klasse definiert, wie ihre Instanzen mit Hilfe von [[Zeiger|Zeigern]] zu verketten sind, so dass eine Listenstruktur entsteht. Eine Knoteninstanz kann mehrere Zeiger besitzen. Zeiger können auf nichts (Wert &amp;lt;code&amp;gt;null&amp;lt;/code&amp;gt;), auf einen anderen oder auf den eigenen Knoten zeigen. Mindestens ein Zeiger muss &amp;quot;von außen&amp;quot; auf die Struktur verweisen (im Bild der Zeiger &amp;lt;code&amp;gt;start&amp;lt;/code&amp;gt;). Welche Daten in einem Knoten verwaltet werden, wird in der zugehörigen Klasse durch [[Instanzvariable]]n definiert. Die Knoten können unidirektional oder bidirektional angelegt werden.&lt;br /&gt;
&lt;br /&gt;
=== Unidirektional ===&lt;br /&gt;
[[Datei:Unidirektionaler Knoten.png|mini]]&lt;br /&gt;
Unidirektional (lateinisch &#039;&#039;uni&#039;&#039; für „ein“) bedeutet, dass mit Hilfe eines Zeigers nur in eine Richtung verwiesen wird. So kann zum Beispiel ein unidirektionaler Knoten nur auf seinen Nachfolger, nicht aber auf seinen Vorgänger verweisen.&lt;br /&gt;
&lt;br /&gt;
=== Bidirektional ===&lt;br /&gt;
[[Datei:Bidirektionaler Knoten.png|mini]]&lt;br /&gt;
Ein bidirektionaler (nach der lateinischen Vorsilbe &#039;&#039;bi-&#039;&#039; für „zwei“) Knoten kann in zwei Richtungen verweisen. So kann zum Beispiel ein bidirektionaler Knoten nicht nur auf seinen Nachfolger, sondern auch zusätzlich auf seinen Vorgänger verweisen.&lt;br /&gt;
&lt;br /&gt;
== Beispiel ==&lt;br /&gt;
[[Datei:BlueJ Inspektion.png|mini]]&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
meineListe \rightarrow \boxed{5}\boxed{\phantom{5}}&lt;br /&gt;
\rightarrow \boxed{42}\boxed{\phantom{42}}&lt;br /&gt;
\rightarrow \boxed{16}\boxed{\phantom{16}}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
public class Knoten {&lt;br /&gt;
private double daten; // Attribut mit Daten zum Beispiel 5 oder 42&lt;br /&gt;
private Knoten naechster; // Zeiger auf den nächsten Knoten&lt;br /&gt;
&lt;br /&gt;
// einfacher Konstruktor&lt;br /&gt;
public Knoten() {&lt;br /&gt;
    naechster = null; // zeigt noch nirgendwo hin&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// einfacher Konstruktor&lt;br /&gt;
public Knoten(double n) {&lt;br /&gt;
    daten = n;&lt;br /&gt;
    naechster = null; // zeigt noch nirgendwo hin&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Konstruktor mit Ziel&lt;br /&gt;
public Knoten(double n, Knoten next) {&lt;br /&gt;
    daten = n;&lt;br /&gt;
    naechster = next; // zeigt auf den nächsten Knoten&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Getter und Setter&lt;br /&gt;
public Knoten getNaechster() {&lt;br /&gt;
    return naechster;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
public void setNaechster(Knoten naechster) {&lt;br /&gt;
    this.naechster = naechster;&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt; public class Liste { private Knoten start;&lt;br /&gt;
text&lt;br /&gt;
public void testen() {&lt;br /&gt;
    start = new Knoten();&lt;br /&gt;
    Knoten knoten1 = new Knoten(5.0);&lt;br /&gt;
    Knoten knoten2 = new Knoten(16.0);&lt;br /&gt;
    Knoten knoten3 = new Knoten(42.0);&lt;br /&gt;
    &lt;br /&gt;
    start.setNaechster(knoten1);&lt;br /&gt;
    knoten1.setNaechster(knoten2);&lt;br /&gt;
    knoten2.setNaechster(knoten3);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
public Knoten getStart() {&lt;br /&gt;
    return start;&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
== Collection Framework ==&lt;br /&gt;
[[Java]] fasst die bereitgestellten Datenbehälter im Java Collection Framework zusammen. Neben den eigentlichen Containern gehören auch noch Standardmethoden wie beispielsweise das [[Sortierverfahren|Sortieren]] dazu, die auf den Containern arbeiten. Die Grundlage dieses Frameworks sind so genannte Interfaces, die das typische Verhalten der Datencontainer vorgeben.&lt;br /&gt;
&lt;br /&gt;
Die Klasse &amp;lt;code&amp;gt;java.util.ArrayList&amp;lt;/code&amp;gt; ist z.B. eine dynamische Datenstruktur, die das &amp;lt;code&amp;gt;List&amp;lt;/code&amp;gt;-Interface - ein Subinterface von &amp;lt;code&amp;gt;Collection&amp;lt;/code&amp;gt; - implementiert hat. In der Listenstruktur der &amp;lt;code&amp;gt;ArrayList&amp;lt;/code&amp;gt; können beliebig viele Objekte hinzugefügt und dann auch wieder entfernt werden.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Programmierung]]&lt;br /&gt;
[[Kategorie:FI_I_SDM]]&lt;br /&gt;
[[Kategorie:FI_I_TP1]]&lt;br /&gt;
[[Kategorie:AHR_I_Informatik_LK]]&lt;/div&gt;</summary>
		<author><name>Flbkwikiadmin</name></author>
	</entry>
	<entry>
		<id>https://wiki.flbk-hamm.de/index.php?title=Hauptsatz_der_Differential-_und_Integralrechnung&amp;diff=2909</id>
		<title>Hauptsatz der Differential- und Integralrechnung</title>
		<link rel="alternate" type="text/html" href="https://wiki.flbk-hamm.de/index.php?title=Hauptsatz_der_Differential-_und_Integralrechnung&amp;diff=2909"/>
		<updated>2026-07-11T08:07:23Z</updated>

		<summary type="html">&lt;p&gt;Flbkwikiadmin: /* Definition */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Mit Hilfe des Hauptsatzes der Differential- und Integralrechnung werden Flächeninhalte zwischen dem [[Graph|Graphen]] einer [[Funktion]] der x-Achse berechnet.&lt;br /&gt;
&lt;br /&gt;
==Flächeninhaltsfunktion und Stammfunktion== &lt;br /&gt;
Der Flächeninhalt zwischen dem Graphen einer Funktion &amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt; und der x-Achse im Intervall &amp;lt;math&amp;gt;[0;x]&amp;lt;/math&amp;gt; wird durch den Funktionswert einer &#039;&#039;&#039;Flächeninhaltsfunktion&#039;&#039;&#039; &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt; ermittelt.&lt;br /&gt;
&lt;br /&gt;
Es sei &amp;lt;math&amp;gt;F&amp;lt;/math&amp;gt; die [[Stammfunktion]] zu einer [[ganzrationale_Funktion|ganzrationalen Funktion]] &amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt; mit der Konstanten &amp;lt;math&amp;gt;C=0&amp;lt;/math&amp;gt;, dann ist &amp;lt;math&amp;gt;F&amp;lt;/math&amp;gt; die Flächeninhaltsfunktion zu &amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&amp;lt;iframe width=&amp;quot;280&amp;quot; height=&amp;quot;157.5&amp;quot; src=&amp;quot;https://www.youtube.com/embed/r-iUbclLabI?si=a5pPkIEuYHEhuoWi&amp;quot; title=&amp;quot;YouTube video player&amp;quot; frameborder=&amp;quot;0&amp;quot; allow=&amp;quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share&amp;quot; referrerpolicy=&amp;quot;strict-origin-when-cross-origin&amp;quot; allowfullscreen&amp;gt;&amp;lt;/iframe&amp;gt;&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Bestimmtes Integral==&lt;br /&gt;
Das &#039;&#039;&#039;bestimmte Integral&#039;&#039;&#039; einer [[Stetige_Funktion|stetigen Funktion]] &amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt; auf dem Intervall &amp;lt;math&amp;gt;[a; b]&amp;lt;/math&amp;gt; ist durch&lt;br /&gt;
:&amp;lt;math&amp;gt;\int_a^b f(x) \, dx&amp;lt;/math&amp;gt;&lt;br /&gt;
gegeben.&lt;br /&gt;
&lt;br /&gt;
Für auf den Intervallen &amp;lt;math&amp;gt;[a;b] \subseteq [a;c]&amp;lt;/math&amp;gt; und &amp;lt;math&amp;gt;[b;c] \subseteq [a;c]&amp;lt;/math&amp;gt; stetige Funktionen &amp;lt;math&amp;gt;f, ~g&amp;lt;/math&amp;gt; gelten die folgenden Rechenregeln:&lt;br /&gt;
===Faktorregel===&lt;br /&gt;
:&amp;lt;math&amp;gt;\int_a^b c \cdot  f(x) \, dx=c \cdot \int_a^b f(x) \, dx&amp;lt;/math&amp;gt;&lt;br /&gt;
===Summenregel===&lt;br /&gt;
:&amp;lt;math&amp;gt;\int_a^b (f(x)+g(x)) \, dx = \int_a^b f(x) \, dx + \int_a^bg(x) \, dx&amp;lt;/math&amp;gt;&lt;br /&gt;
===Intervalladditivität===&lt;br /&gt;
:&amp;lt;math&amp;gt;\int_a^c f(x) \, dx=\int_a^b f(x) \, dx+\int_b^c f(x) \, dx&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Vertauschen der Integrationsgrenzen===&lt;br /&gt;
:&amp;lt;math&amp;gt;\int_a^b f(x) \, dx=-\int_b^a f(x) \, dx&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Definition==&lt;br /&gt;
Falls &amp;lt;math&amp;gt;F&amp;lt;/math&amp;gt; eine [[Stammfunktion]] von &amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt; ist, so wird das bestimmte Integral von &amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt; auf dem Intervall &amp;lt;math&amp;gt;[a;b]&amp;lt;/math&amp;gt; durch die Gleichung  &lt;br /&gt;
:&amp;lt;math&amp;gt;\int_a^b f(x) \, dx = F(b) - F(a)&amp;lt;/math&amp;gt;&lt;br /&gt;
berechnet.&lt;br /&gt;
&lt;br /&gt;
Hierbei bezeichnet &amp;lt;math&amp;gt;a&amp;lt;/math&amp;gt; die untere und &amp;lt;math&amp;gt;b&amp;lt;/math&amp;gt; die obere Grenze des Integrals. Das bestimmte Integral gibt den &#039;&#039;&#039;orientierten Flächeninhalt&#039;&#039;&#039; an, das heißt:  &lt;br /&gt;
* Liegt der Graph von &amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt; oberhalb der x-Achse, ist das bestimmte Integral positiv.  &lt;br /&gt;
* Liegt der Graph von &amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt; unterhalb der x-Achse, ist das bestimmte Integral negativ.&lt;br /&gt;
* Liegt der Graph von &amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt; sowohl unterhalb als auch oberhalb der x-Achse, ist das bestimmte Integral die Differenz aus dem oberen Flächeninhalt und dem unteren Flächeninhalt.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&amp;lt;head&amp;gt;&lt;br /&gt;
    &amp;lt;link rel=&amp;quot;stylesheet&amp;quot; href=&amp;quot;/localassets/jsxgraph/jsxgraph.css&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;script src=&amp;quot;/localassets/jsxgraph/jsxgraphcore.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/head&amp;gt;&lt;br /&gt;
&amp;lt;body&amp;gt;&lt;br /&gt;
    &amp;lt;div id=&amp;quot;box2&amp;quot; style=&amp;quot;width: 90vw; max-width: 400px; height: 60vw; max-height: 300px; margin-top:20px;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
    &amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;br /&gt;
        JXG.Options.text.useMathJax = true;       &lt;br /&gt;
        // JSXGraph-Board erstellen&lt;br /&gt;
        var board = JXG.JSXGraph.initBoard(&#039;box2&#039;, {&lt;br /&gt;
            boundingbox: [-5, 5, 10, -5], // Angepasste Boundingbox für die Skalierung&lt;br /&gt;
            axis: true,&lt;br /&gt;
            showCopyright: false,&lt;br /&gt;
            showNavigation: true,&lt;br /&gt;
            grid: true, // Gitternetz aktivieren&lt;br /&gt;
            defaultAxes: {&lt;br /&gt;
                x: {&lt;br /&gt;
                    withLabel: true,&lt;br /&gt;
                    name: &#039;\\[t\\]&#039;,&lt;br /&gt;
                    label: {&lt;br /&gt;
                        position: &#039;rt&#039;,&lt;br /&gt;
                        offset: [-5, 20],&lt;br /&gt;
                        fontSize: 14,&lt;br /&gt;
                        anchorX: &#039;right&#039;&lt;br /&gt;
                    },&lt;br /&gt;
                    ticks: {&lt;br /&gt;
                        ticksDistance: 1,&lt;br /&gt;
                        minorTicks: 0&lt;br /&gt;
                    }&lt;br /&gt;
                },&lt;br /&gt;
                y: {&lt;br /&gt;
                    withLabel: true,&lt;br /&gt;
                    name: &#039;\\[f(t)\\]&#039;,&lt;br /&gt;
                    label: {&lt;br /&gt;
                        position: &#039;rt&#039;,&lt;br /&gt;
                        offset: [5, 20],&lt;br /&gt;
                        fontSize: 14,&lt;br /&gt;
                        anchorY: &#039;right&#039;&lt;br /&gt;
                    },&lt;br /&gt;
                    ticks: {&lt;br /&gt;
                        ticksDistance: 1,&lt;br /&gt;
                        minorTicks: 0&lt;br /&gt;
                    }&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
&lt;br /&gt;
        // Funktion erstellen&lt;br /&gt;
        var c1 = board.create(&#039;functiongraph&#039;, [function(t) {&lt;br /&gt;
            return (Math.pow(t, 5) / 24 - Math.pow(t, 3) / 2 + t);&lt;br /&gt;
        }]);&lt;br /&gt;
&lt;br /&gt;
        // Integral erstellen&lt;br /&gt;
        var i1 = board.create(&#039;integral&#039;, [&lt;br /&gt;
            [-2.0, 2.0], c1&lt;br /&gt;
        ], {&lt;br /&gt;
            withLabel: true,&lt;br /&gt;
            label: {&lt;br /&gt;
                fontSize: 14,&lt;br /&gt;
                offset: [0, 50],&lt;br /&gt;
                digits: 4,&lt;br /&gt;
                intl: {&lt;br /&gt;
                    enabled: false,&lt;br /&gt;
                    options: {}&lt;br /&gt;
                }&lt;br /&gt;
            },&lt;br /&gt;
            baseLeft: {    // Start point&lt;br /&gt;
                visible: true,&lt;br /&gt;
                fixed: false,&lt;br /&gt;
                withLabel: true,&lt;br /&gt;
                name: &#039;a&#039;&lt;br /&gt;
            },&lt;br /&gt;
            baseRight: {    // End point&lt;br /&gt;
                visible: true,&lt;br /&gt;
                fixed: false,&lt;br /&gt;
                withLabel: true,&lt;br /&gt;
                name: &#039;b&#039;&lt;br /&gt;
            }&lt;br /&gt;
        });&lt;br /&gt;
&lt;br /&gt;
        // Integral-Label anpassen&lt;br /&gt;
        i1.label.setText(() =&amp;gt; {&lt;br /&gt;
            const a = i1.baseLeft.X().toFixed(2); // Untere Grenze&lt;br /&gt;
            const b = i1.baseRight.X().toFixed(2); // Obere Grenze&lt;br /&gt;
            const value = i1.Value().toFixed(4); // Wert des Integrals&lt;br /&gt;
            return `\\[\\int_{${a}}^{${b}} f(t) \\, dt = ${value}\\]`;&lt;br /&gt;
        });&lt;br /&gt;
&lt;br /&gt;
        // Beschriftung der Funktion mit f&lt;br /&gt;
        board.create(&#039;text&#039;, [3.5, 3, &#039;\\[f\\]&#039;], {&lt;br /&gt;
            fontSize: 14,&lt;br /&gt;
            fixed: true,&lt;br /&gt;
            anchorX: &#039;left&#039;,&lt;br /&gt;
            anchorY: &#039;bottom&#039;,&lt;br /&gt;
            color: &#039;blue&#039;&lt;br /&gt;
        });&lt;br /&gt;
    &amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&amp;lt;iframe width=&amp;quot;280&amp;quot; height=&amp;quot;157.5&amp;quot; src=&amp;quot;https://www.youtube.com/embed/Lc_R0vBSKHw?si=V72WfOUjhQRQlrN9&amp;quot; title=&amp;quot;YouTube video player&amp;quot; frameborder=&amp;quot;0&amp;quot; allow=&amp;quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share&amp;quot; allowfullscreen&amp;gt;&amp;lt;/iframe&amp;gt;&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&amp;lt;iframe width=&amp;quot;280&amp;quot; height=&amp;quot;157,5&amp;quot; src=&amp;quot;https://www.youtube.com/embed/MX_WQS5-vAg?si=N2TxoCi_PHsr1_1B&amp;quot; title=&amp;quot;YouTube video player&amp;quot; frameborder=&amp;quot;0&amp;quot; allow=&amp;quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share&amp;quot; referrerpolicy=&amp;quot;strict-origin-when-cross-origin&amp;quot; allowfullscreen&amp;gt;&amp;lt;/iframe&amp;gt;&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Integralfunktion==&lt;br /&gt;
Es sei &amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt; eine auf dem Intervall &amp;lt;math&amp;gt;[a;b]&amp;lt;/math&amp;gt; [[stetige Funktion]], dann ist &lt;br /&gt;
:&amp;lt;math&amp;gt;I_a(x)=\int_a^x f(t) \, dt&amp;lt;/math&amp;gt;&lt;br /&gt;
die dazugehörige &#039;&#039;&#039;Integralfunktion&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==Flächen zwischen Funktionsgraphen ermitteln==&lt;br /&gt;
Es seien &amp;lt;math&amp;gt;f, ~g&amp;lt;/math&amp;gt; auf dem Intervall &amp;lt;math&amp;gt;[a;b]&amp;lt;/math&amp;gt; stetige Funktionen. Die Fläche zwischen den Graphen von  &amp;lt;math&amp;gt;f, ~g&amp;lt;/math&amp;gt; wird wie folgt ermittelt:&lt;br /&gt;
# Schnittstellen &amp;lt;math&amp;gt;x_{S_1},\dots,x_{S_n}&amp;lt;/math&amp;gt; mit &amp;lt;math&amp;gt;n \in \mathbb{N}&amp;lt;/math&amp;gt; der Graphen von &amp;lt;math&amp;gt;f, ~g&amp;lt;/math&amp;gt; ermitteln.&lt;br /&gt;
# Stammfunktionen &amp;lt;math&amp;gt;F,~G&amp;lt;/math&amp;gt; ermitteln&lt;br /&gt;
# &amp;lt;math&amp;gt;A=|\int_{x_{S_1}}^{x_{S_2}}(f(x)-g(x)) \, dx|+|\int_{x_{S_2}}^{x_{S_3}}(f(x)-g(x)) \, dx|+\dots+|\int_{x_{S_{n-1}}}^{x_{S_n}}(f(x)-g(x)) \, dx|&amp;lt;/math&amp;gt; berechnen. (siehe [[Betragsfunktion]])&lt;br /&gt;
&lt;br /&gt;
==Beispiele==&lt;br /&gt;
&lt;br /&gt;
===Flächeninhalt ermitteln===&lt;br /&gt;
[[Datei:HauptsatzIntBspx2.gif|mini|Das bestimmte Integral der Funktion &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;&amp;lt;math&amp;gt;f(x)=x^2&amp;lt;/math&amp;gt;&amp;lt;/span&amp;gt; auf dem Intervall &amp;lt;math&amp;gt;[1;2] &amp;lt;/math&amp;gt; berechnet sich durch &amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;&amp;lt;math&amp;gt;\int_1^2 x^2 \, dx=\frac{7}{3}&amp;lt;/math&amp;gt;&amp;lt;/span&amp;gt;.]]&lt;br /&gt;
&lt;br /&gt;
Wir berechnen das bestimmte Integral von &amp;lt;math&amp;gt;f(x) = x^2&amp;lt;/math&amp;gt; auf dem Intervall &amp;lt;math&amp;gt;[1;2]&amp;lt;/math&amp;gt;.  &lt;br /&gt;
Eine Stammfunktion von &amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt; ist &amp;lt;math&amp;gt;F(x) = \frac{x^3}{3}&amp;lt;/math&amp;gt;.  &lt;br /&gt;
Das bestimmte Integral auf dem Intervall [1;2] wird durch  &lt;br /&gt;
:&amp;lt;math&amp;gt;\int_1^2 x^2 \, dx = F(2) - F(1)&amp;lt;/math&amp;gt;  &lt;br /&gt;
:&amp;lt;math&amp;gt;= \frac{2^3}{3} - \frac{1^3}{3} = \frac{8}{3} - \frac{1}{3} = \frac{7}{3}&amp;lt;/math&amp;gt;&lt;br /&gt;
berechnet.  &lt;br /&gt;
Der Graph von &amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt; verläuft auf dem Intervall &amp;lt;math&amp;gt;[1;2]&amp;lt;/math&amp;gt; oberhalb der x-Achse. Der Flächeninhalt beträgt somit &amp;lt;math&amp;gt;\frac{7}{3}&amp;lt;/math&amp;gt; Einheiten und ist im rechten Bild grün eingezeichnet.&lt;br /&gt;
&lt;br /&gt;
Wir berechnen den Flächeninhalt zwischen dem Graphen von \(f(t)=\frac{t^5}{24}-\frac{t^3}{2}+t\) und der x-Achse auf dem Intervall &amp;lt;math&amp;gt;[-2;2]&amp;lt;/math&amp;gt; (siehe [[Hauptsatz_der_Differential-_und_Integralrechnung#Definition|Graph von &amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt;]]).&lt;br /&gt;
&lt;br /&gt;
1. Nullstellen von &amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt; berechnen&lt;br /&gt;
:&amp;lt;math&amp;gt;\frac{t^5}{24}-\frac{t^3}{2}+t=0&amp;lt;/math&amp;gt;&lt;br /&gt;
:&amp;lt;math&amp;gt;t \approx -3,08 \lor t \approx -1,59 \lor t \approx 0 \lor t \approx 1,59 \lor t \approx 3,08&amp;lt;/math&amp;gt;&lt;br /&gt;
:&amp;lt;math&amp;gt;-1,59; 0; 1,59 \in [-2;2]&amp;lt;/math&amp;gt;&lt;br /&gt;
2. Flächeninhalt ermitteln&lt;br /&gt;
:&amp;lt;math&amp;gt;A=|\int_{-2}^{-1,59} f(t) \, dt|+|\int_{-1,59}^{0} f(t) \, dt|+|\int_{0}^{1,59} f(t) \, dt|+|\int_{1,59}^{2} f(t) \, dt| &amp;lt;/math&amp;gt;&lt;br /&gt;
:&amp;lt;math&amp;gt;\approx |0,13|+|-0,58|+|0,58|+|-0,13| = 0,13+0,58+0,58+0,13= 1,42&amp;lt;/math&amp;gt;&lt;br /&gt;
Der gesuchte Flächeninhalt beträgt &amp;lt;math&amp;gt;A=1,42&amp;lt;/math&amp;gt;. Der orientierte Flächeninhalt auf dem Intervall &amp;lt;math&amp;gt;[-2;2]&amp;lt;/math&amp;gt; beträgt &amp;lt;math&amp;gt;\int_{-2}^{2} f(t) \, dt=0&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Orientierten Flächeninhalt ermitteln===&lt;br /&gt;
[[Datei:HauptsatzIntBspx.gif|mini|Das bestimmte Integral der Funktion &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;&amp;lt;math&amp;gt;f(x)=x&amp;lt;/math&amp;gt;&amp;lt;/span&amp;gt; auf dem Intervall &amp;lt;math&amp;gt;[-1;1] &amp;lt;/math&amp;gt; berechnet sich durch &amp;lt;math&amp;gt;\int_{-1}^1 x \, dx=&amp;lt;/math&amp;gt;&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;&amp;lt;math&amp;gt;\frac{1}{2}&amp;lt;/math&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;&amp;lt;math&amp;gt;-&amp;lt;/math&amp;gt;&amp;lt;math&amp;gt;\frac{1}{2}&amp;lt;/math&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;math&amp;gt;=0&amp;lt;/math&amp;gt;.]]&lt;br /&gt;
&lt;br /&gt;
Wir betrachten &amp;lt;math&amp;gt;f(x) = x&amp;lt;/math&amp;gt; auf dem Intervall &amp;lt;math&amp;gt;[-1;1]&amp;lt;/math&amp;gt;.  &lt;br /&gt;
Eine Stammfunktion von &amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt; ist &amp;lt;math&amp;gt;F(x) = \frac{x^2}{2}&amp;lt;/math&amp;gt;.  &lt;br /&gt;
Das bestimmte Integral ist:  &lt;br /&gt;
:&amp;lt;math&amp;gt;\int_{-1}^1 x \, dx = F(1) - F(-1)&amp;lt;/math&amp;gt;  &lt;br /&gt;
:&amp;lt;math&amp;gt;= \frac{1^2}{2} - \frac{(-1)^2}{2} = \frac{1}{2} - \frac{1}{2} = 0&amp;lt;/math&amp;gt;.  &lt;br /&gt;
Der orientierte Flächeninhalt beträgt &amp;lt;math&amp;gt;0&amp;lt;/math&amp;gt;, da sich die positiven und negativen Flächeninhalte genau ausgleichen.&lt;br /&gt;
&lt;br /&gt;
===Integralfunktion ermitteln===&lt;br /&gt;
Gegeben sei &amp;lt;math&amp;gt;f(x) = 3x&amp;lt;/math&amp;gt; und &amp;lt;math&amp;gt;a = 0&amp;lt;/math&amp;gt;.  &lt;br /&gt;
Die Integralfunktion ist:  &lt;br /&gt;
:&amp;lt;math&amp;gt;I_0(x) = \int_0^x 3t \, dt&amp;lt;/math&amp;gt;.  &lt;br /&gt;
Eine Stammfunktion von &amp;lt;math&amp;gt;3t&amp;lt;/math&amp;gt; ist &amp;lt;math&amp;gt;\frac{3t^2}{2}&amp;lt;/math&amp;gt;, also gilt  &lt;br /&gt;
:&amp;lt;math&amp;gt;I_0(x) = \frac{3x^2}{2} - \frac{3 \cdot 0^2}{2} = \frac{3x^2}{2}&amp;lt;/math&amp;gt;.  &lt;br /&gt;
&lt;br /&gt;
===Flächeninhalt zwischen den Graphen von zwei Funktionen ermitteln===&lt;br /&gt;
[[Datei:HauptsatzIntFlächenZwGraphen.gif|mini|Fläche zwischen den Graphen von zwei Funktionen ermitteln]]&lt;br /&gt;
&lt;br /&gt;
Wir betrachten die Funktionen &amp;lt;math&amp;gt;f(x)=x^2+1&amp;lt;/math&amp;gt; und &amp;lt;math&amp;gt;g(x)=-x^2+3&amp;lt;/math&amp;gt; und ermitteln die Fläche zwischen den Graphen der Funktionen. &lt;br /&gt;
&lt;br /&gt;
1. Schnittstellen von &amp;lt;math&amp;gt;g,~f&amp;lt;/math&amp;gt; ermitteln &amp;lt;br&amp;gt;&lt;br /&gt;
:&amp;lt;math&amp;gt;f(x)=g(x)&amp;lt;/math&amp;gt;&lt;br /&gt;
:&amp;lt;math&amp;gt;x^2+1=-x^2+3&amp;lt;/math&amp;gt;&lt;br /&gt;
:&amp;lt;math&amp;gt;2 \cdot x^2=2&amp;lt;/math&amp;gt;&lt;br /&gt;
:&amp;lt;math&amp;gt; x^2=1&amp;lt;/math&amp;gt;&lt;br /&gt;
:&amp;lt;math&amp;gt; x=\pm \sqrt{1}&amp;lt;/math&amp;gt;&lt;br /&gt;
:&amp;lt;math&amp;gt;x=\pm 1&amp;lt;/math&amp;gt;&lt;br /&gt;
2. Stammfunktionen ermitteln&lt;br /&gt;
:&amp;lt;math&amp;gt;F(x)=\frac{1}{3}x^3+x&amp;lt;/math&amp;gt;&lt;br /&gt;
:&amp;lt;math&amp;gt;G(x)=-\frac{1}{3}x^3+3x&amp;lt;/math&amp;gt;&lt;br /&gt;
3. Flächeninhalt ermitteln&lt;br /&gt;
:&amp;lt;math&amp;gt;\int_{-1}^{1}(f(x)-g(x)) \, dx=F(1)-G(1)-(F(-1)-G(-1))&amp;lt;/math&amp;gt;&lt;br /&gt;
:&amp;lt;math&amp;gt;=\frac{1}{3} \cdot 1^3+1-(-\frac{1}{3}\cdot 1^3+3 \cdot 1)&amp;lt;/math&amp;gt;&lt;br /&gt;
:&amp;lt;math&amp;gt;-(\frac{1}{3} \cdot (-1)^3+(-1)-(-\frac{1}{3}\cdot (-1)^3+3 \cdot (-1)))&amp;lt;/math&amp;gt;&lt;br /&gt;
:&amp;lt;math&amp;gt;=-\frac{8}{3}&amp;lt;/math&amp;gt; (orientierter Flächeninhalt)&lt;br /&gt;
&lt;br /&gt;
Der gesuchte Flächeninhalt ist der [[Betragsfunktion|Betrag]] der Zahl und beträgt &amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;&amp;lt;math&amp;gt;\frac{8}{3}&amp;lt;/math&amp;gt;&amp;lt;/span&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Integralrechnung]]&lt;br /&gt;
[[Kategorie:AHR_WuV_Mathe_GK]]&lt;/div&gt;</summary>
		<author><name>Flbkwikiadmin</name></author>
	</entry>
	<entry>
		<id>https://wiki.flbk-hamm.de/index.php?title=MediaWiki:Common.js&amp;diff=2908</id>
		<title>MediaWiki:Common.js</title>
		<link rel="alternate" type="text/html" href="https://wiki.flbk-hamm.de/index.php?title=MediaWiki:Common.js&amp;diff=2908"/>
		<updated>2026-07-09T12:22:14Z</updated>

		<summary type="html">&lt;p&gt;Flbkwikiadmin: Der Seiteninhalt wurde durch einen anderen Text ersetzt: „/* ============================================================    MediaWiki:Common.js – FLBK-Wiki    Bereinigte Fassung (Basis: Wikipedia-Common.js).    Editier-Komfort, Wikipedia-Infrastruktur &amp;amp; ungenutzte    Vorlagen-Skripte entfernt.    Hinweis: Gilt NICHT für die mobile Ansicht – dafür MediaWiki:Mobile.js.    ============================================================ */  /* Korrekte Sortierung von Umlauten und ß in…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* ============================================================&lt;br /&gt;
   MediaWiki:Common.js – FLBK-Wiki&lt;br /&gt;
   Bereinigte Fassung (Basis: Wikipedia-Common.js).&lt;br /&gt;
   Editier-Komfort, Wikipedia-Infrastruktur &amp;amp; ungenutzte&lt;br /&gt;
   Vorlagen-Skripte entfernt.&lt;br /&gt;
   Hinweis: Gilt NICHT für die mobile Ansicht – dafür MediaWiki:Mobile.js.&lt;br /&gt;
   ============================================================ */&lt;br /&gt;
&lt;br /&gt;
/* Korrekte Sortierung von Umlauten und ß in sortierbaren Tabellen */&lt;br /&gt;
mw.config.set( &#039;tableSorterCollation&#039;, {&lt;br /&gt;
    &#039;Ä&#039;:&#039;A&#039;, &#039;Ö&#039;:&#039;O&#039;, &#039;Ü&#039;:&#039;U&#039;, &#039;ä&#039;:&#039;a&#039;, &#039;ö&#039;:&#039;o&#039;, &#039;ü&#039;:&#039;u&#039;, &#039;ß&#039;:&#039;ss&#039;&lt;br /&gt;
} );&lt;/div&gt;</summary>
		<author><name>Flbkwikiadmin</name></author>
	</entry>
	<entry>
		<id>https://wiki.flbk-hamm.de/index.php?title=MediaWiki:Common.css&amp;diff=2907</id>
		<title>MediaWiki:Common.css</title>
		<link rel="alternate" type="text/html" href="https://wiki.flbk-hamm.de/index.php?title=MediaWiki:Common.css&amp;diff=2907"/>
		<updated>2026-07-09T12:21:58Z</updated>

		<summary type="html">&lt;p&gt;Flbkwikiadmin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* ============================================================&lt;br /&gt;
   MediaWiki:Common.css – FLBK-Wiki&lt;br /&gt;
   Bereinigte Fassung (Basis: Wikipedia-Common.css).&lt;br /&gt;
   Wikipedia-Infrastruktur &amp;amp; ungenutzte Vorlagen-Styles entfernt.&lt;br /&gt;
   Hinweis: Gilt NICHT für die mobile Ansicht – dafür MediaWiki:Mobile.css.&lt;br /&gt;
   ============================================================ */&lt;br /&gt;
&lt;br /&gt;
/* Personennamen in Kapitälchen */&lt;br /&gt;
.Person {&lt;br /&gt;
    font-variant: small-caps;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* prettytable: sauberes Alias für wikitable (ohne Wikipedia-Warnfärbung) */&lt;br /&gt;
.prettytable {&lt;br /&gt;
    background-color: #f8f9fa;&lt;br /&gt;
    border: 1px solid #a2a9b1;&lt;br /&gt;
    border-collapse: collapse;&lt;br /&gt;
    color: black;&lt;br /&gt;
    margin: 1em 0;&lt;br /&gt;
}&lt;br /&gt;
table.prettytable &amp;gt; * &amp;gt; tr &amp;gt; th,&lt;br /&gt;
table.prettytable &amp;gt; * &amp;gt; tr &amp;gt; td {&lt;br /&gt;
    border: 1px solid #a2a9b1;&lt;br /&gt;
    padding: .2em .4em;&lt;br /&gt;
}&lt;br /&gt;
table.prettytable &amp;gt; * &amp;gt; tr &amp;gt; th {&lt;br /&gt;
    text-align: center;&lt;br /&gt;
}&lt;br /&gt;
table.prettytable &amp;gt; caption {&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Zebra-Tabellen (.wikitable.zebra) */&lt;br /&gt;
table.wikitable.zebra &amp;gt; tbody &amp;gt; :nth-child(even):not([class*=&amp;quot;hintergrundfarbe&amp;quot;]) {&lt;br /&gt;
    background: white;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Ausrichtungs-Hilfsklassen für Bausteine, Tabellen, Galerien */&lt;br /&gt;
/* @noflip */&lt;br /&gt;
div.float-left,&lt;br /&gt;
table.float-left,&lt;br /&gt;
ul.float-left,&lt;br /&gt;
.float-left {&lt;br /&gt;
    clear: left;&lt;br /&gt;
    float: left;&lt;br /&gt;
    margin: 1em 1em 1em 0;&lt;br /&gt;
}&lt;br /&gt;
/* @noflip */&lt;br /&gt;
div.float-right,&lt;br /&gt;
table.float-right,&lt;br /&gt;
ul.float-right,&lt;br /&gt;
.float-right {&lt;br /&gt;
    clear: right;&lt;br /&gt;
    float: right;&lt;br /&gt;
    margin: 1em 0 1em 1em;&lt;br /&gt;
}&lt;br /&gt;
div.centered,&lt;br /&gt;
table.centered,&lt;br /&gt;
ul.centered,&lt;br /&gt;
.centered {&lt;br /&gt;
    margin-left: auto;&lt;br /&gt;
    margin-right: auto;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Obenbündige Textausrichtung in Tabellenzellen */&lt;br /&gt;
.toptextcells &amp;gt; * &amp;gt; * &amp;gt; td {&lt;br /&gt;
    vertical-align: top;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Metadaten ausblenden */&lt;br /&gt;
.metadata {&lt;br /&gt;
    display: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* &amp;lt;noscript&amp;gt;-Emulation */&lt;br /&gt;
.client-js .noscript {&lt;br /&gt;
    display: none;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Abkürzungen dezenter unterstreicheln */&lt;br /&gt;
abbr[title]:not(:hover),&lt;br /&gt;
.explain[title]:not(:hover) {&lt;br /&gt;
    border-bottom-color: rgba(127, 127, 127, .5);&lt;br /&gt;
    text-decoration-color: rgba(127, 127, 127, .5);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* blockquote: grauen linken Rand entfernen */&lt;br /&gt;
.mw-body-content blockquote {&lt;br /&gt;
    border-left: none;&lt;br /&gt;
    padding: 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Infoboxen nicht in Kategorie-Inhalt ragen lassen */&lt;br /&gt;
div.mw-category-generated {&lt;br /&gt;
    clear: both;&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Flbkwikiadmin</name></author>
	</entry>
	<entry>
		<id>https://wiki.flbk-hamm.de/index.php?title=MediaWiki:Minerva.css&amp;diff=2906</id>
		<title>MediaWiki:Minerva.css</title>
		<link rel="alternate" type="text/html" href="https://wiki.flbk-hamm.de/index.php?title=MediaWiki:Minerva.css&amp;diff=2906"/>
		<updated>2026-07-09T12:11:41Z</updated>

		<summary type="html">&lt;p&gt;Flbkwikiadmin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;.minerva-footer-logo {&lt;br /&gt;
    display: none !important;&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Flbkwikiadmin</name></author>
	</entry>
	<entry>
		<id>https://wiki.flbk-hamm.de/index.php?title=MediaWiki:Minerva.css&amp;diff=2905</id>
		<title>MediaWiki:Minerva.css</title>
		<link rel="alternate" type="text/html" href="https://wiki.flbk-hamm.de/index.php?title=MediaWiki:Minerva.css&amp;diff=2905"/>
		<updated>2026-07-09T12:09:14Z</updated>

		<summary type="html">&lt;p&gt;Flbkwikiadmin: Die Seite wurde neu angelegt: „/* All CSS here will be loaded for users of the MinervaNeue skin */ .minerva-footer-logo {     display: none; }“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* All CSS here will be loaded for users of the MinervaNeue skin */&lt;br /&gt;
.minerva-footer-logo {&lt;br /&gt;
    display: none;&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Flbkwikiadmin</name></author>
	</entry>
	<entry>
		<id>https://wiki.flbk-hamm.de/index.php?title=MediaWiki:Sidebar&amp;diff=2904</id>
		<title>MediaWiki:Sidebar</title>
		<link rel="alternate" type="text/html" href="https://wiki.flbk-hamm.de/index.php?title=MediaWiki:Sidebar&amp;diff=2904"/>
		<updated>2026-07-09T06:41:20Z</updated>

		<summary type="html">&lt;p&gt;Flbkwikiadmin: Die Seite wurde neu angelegt: „* navigation ** mainpage|mainpage-description ** :Kategorie:Mathematik|Mathematik ** :Kategorie:Informatik|Informatik ** recentchanges-url|recentchanges ** randompage-url|randompage ** specialpages-url|specialpages * SEARCH * TOOLBOX * LANGUAGES“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* navigation&lt;br /&gt;
** mainpage|mainpage-description&lt;br /&gt;
** :Kategorie:Mathematik|Mathematik&lt;br /&gt;
** :Kategorie:Informatik|Informatik&lt;br /&gt;
** recentchanges-url|recentchanges&lt;br /&gt;
** randompage-url|randompage&lt;br /&gt;
** specialpages-url|specialpages&lt;br /&gt;
* SEARCH&lt;br /&gt;
* TOOLBOX&lt;br /&gt;
* LANGUAGES&lt;/div&gt;</summary>
		<author><name>Flbkwikiadmin</name></author>
	</entry>
	<entry>
		<id>https://wiki.flbk-hamm.de/index.php?title=MediaWiki:Tagline&amp;diff=2903</id>
		<title>MediaWiki:Tagline</title>
		<link rel="alternate" type="text/html" href="https://wiki.flbk-hamm.de/index.php?title=MediaWiki:Tagline&amp;diff=2903"/>
		<updated>2026-07-09T06:19:29Z</updated>

		<summary type="html">&lt;p&gt;Flbkwikiadmin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Aus {{SITENAME}}&lt;/div&gt;</summary>
		<author><name>Flbkwikiadmin</name></author>
	</entry>
	<entry>
		<id>https://wiki.flbk-hamm.de/index.php?title=MediaWiki:Tagline&amp;diff=2902</id>
		<title>MediaWiki:Tagline</title>
		<link rel="alternate" type="text/html" href="https://wiki.flbk-hamm.de/index.php?title=MediaWiki:Tagline&amp;diff=2902"/>
		<updated>2026-07-09T06:16:49Z</updated>

		<summary type="html">&lt;p&gt;Flbkwikiadmin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Lernmaterial des Friedrich-List-Berufskollegs Hamm&lt;/div&gt;</summary>
		<author><name>Flbkwikiadmin</name></author>
	</entry>
	<entry>
		<id>https://wiki.flbk-hamm.de/index.php?title=MediaWiki:Tagline&amp;diff=2901</id>
		<title>MediaWiki:Tagline</title>
		<link rel="alternate" type="text/html" href="https://wiki.flbk-hamm.de/index.php?title=MediaWiki:Tagline&amp;diff=2901"/>
		<updated>2026-07-09T06:15:26Z</updated>

		<summary type="html">&lt;p&gt;Flbkwikiadmin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Aus {{SITENAME}}&lt;/div&gt;</summary>
		<author><name>Flbkwikiadmin</name></author>
	</entry>
	<entry>
		<id>https://wiki.flbk-hamm.de/index.php?title=MediaWiki:Tagline&amp;diff=2900</id>
		<title>MediaWiki:Tagline</title>
		<link rel="alternate" type="text/html" href="https://wiki.flbk-hamm.de/index.php?title=MediaWiki:Tagline&amp;diff=2900"/>
		<updated>2026-07-09T06:15:15Z</updated>

		<summary type="html">&lt;p&gt;Flbkwikiadmin: Die Seite wurde neu angelegt: „Hamm“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hamm&lt;/div&gt;</summary>
		<author><name>Flbkwikiadmin</name></author>
	</entry>
	<entry>
		<id>https://wiki.flbk-hamm.de/index.php?title=Vorlage:Hauptseite/styles.css&amp;diff=2899</id>
		<title>Vorlage:Hauptseite/styles.css</title>
		<link rel="alternate" type="text/html" href="https://wiki.flbk-hamm.de/index.php?title=Vorlage:Hauptseite/styles.css&amp;diff=2899"/>
		<updated>2026-07-08T14:46:00Z</updated>

		<summary type="html">&lt;p&gt;Flbkwikiadmin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* Stil für die Container der Boxen */&lt;br /&gt;
.portal-container {&lt;br /&gt;
    display: flex;&lt;br /&gt;
    flex-wrap: wrap;&lt;br /&gt;
    gap: 10px;&lt;br /&gt;
}&lt;br /&gt;
/* Stil für die Box */&lt;br /&gt;
.portal-box {&lt;br /&gt;
    padding: 10px;&lt;br /&gt;
    margin-bottom: 10px;&lt;br /&gt;
    box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);&lt;br /&gt;
    flex: 1 1 calc(33.333% - 10px);&lt;br /&gt;
    box-sizing: border-box;&lt;br /&gt;
    color: var(--color-base, #202122);&lt;br /&gt;
    background-color: var(--background-color-neutral-subtle, #f9f9f9);&lt;br /&gt;
    border: 1px solid #8898bf;&lt;br /&gt;
}&lt;br /&gt;
/* Stil für die Überschrift der Box */&lt;br /&gt;
.portal-box h2 {&lt;br /&gt;
    font-family: inherit;&lt;br /&gt;
    font-size: 0.67em;&lt;br /&gt;
    font-weight: bold;&lt;br /&gt;
    line-height: 1.5;&lt;br /&gt;
    display: block !important;&lt;br /&gt;
    margin: -10px -10px 10px -10px;&lt;br /&gt;
    padding: 5px 10px;&lt;br /&gt;
    color: var(--color-base, #202122);&lt;br /&gt;
    background-color: var(--background-color-progressive-subtle, #D8E8FF);&lt;br /&gt;
    border-top: 1px solid #8898bf;&lt;br /&gt;
    border-bottom: 1px solid #8898bf;&lt;br /&gt;
}&lt;br /&gt;
/* Inhaltsverzeichnis für Seiten mit der Klasse &#039;no-toc&#039; ausblenden */&lt;br /&gt;
.no-toc .toc {&lt;br /&gt;
    display: none;&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Flbkwikiadmin</name></author>
	</entry>
	<entry>
		<id>https://wiki.flbk-hamm.de/index.php?title=Software_Ergonomie&amp;diff=2898</id>
		<title>Software Ergonomie</title>
		<link rel="alternate" type="text/html" href="https://wiki.flbk-hamm.de/index.php?title=Software_Ergonomie&amp;diff=2898"/>
		<updated>2026-07-08T14:23:14Z</updated>

		<summary type="html">&lt;p&gt;Flbkwikiadmin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Software-Ergonomie und Barrierefreiheit in der IT-Entwicklung ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Software-Ergonomie und Barrierefreiheit&#039;&#039;&#039; sind zwei zentrale Qualitätsmerkmale moderner Software. Sie stellen sicher, dass Anwendungen nicht nur funktional, sondern auch effizient, benutzerfreundlich und für jeden zugänglich sind – unabhängig von individuellen Fähigkeiten oder Einschränkungen. Damit lässt sie sich in die [[Nicht Funktionale Anforderungen|nicht funktionalen Anforderungen]] einordnen &lt;br /&gt;
&lt;br /&gt;
=== Software-Ergonomie ===&lt;br /&gt;
&#039;&#039;&#039;Software-Ergonomie&#039;&#039;&#039; beschäftigt sich mit der Gestaltung von Benutzerschnittstellen, die den Menschen in den Mittelpunkt stellen. Ziel ist es, die Effektivität, Effizienz und Zufriedenheit der Nutzer zu maximieren und gleichzeitig physische und kognitive Belastungen zu minimieren. Die wichtigsten Leitlinien hierfür sind in der Norm &#039;&#039;&#039;DIN EN ISO 9241&#039;&#039;&#039; definiert.&lt;br /&gt;
[[Datei:ISO.jpg|mini]]&lt;br /&gt;
Die grundlegenden Prinzipien der Software-Ergonomie umfassen:&lt;br /&gt;
&lt;br /&gt;
Aufgabenangemessenheit: Eine Software ist aufgabenangemessen, wenn sie den Nutzer optimal bei seiner Tätigkeit unterstützt und keine unnötigen oder irreführenden Schritte erfordert.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Beispiel: Ein Formular zur Noteneingabe zeigt nur die Felder, die für die aktuelle Aufgabe relevant sind, und nicht den gesamten Datensatz des Schülers.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Selbstbeschreibungsfähigkeit: Jedes Element der Benutzeroberfläche sollte selbsterklärend sein. Der Nutzer sollte jederzeit wissen, wo er sich befindet, was er tun kann und welche Auswirkungen seine Aktionen haben.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Beispiel: Nach dem Speichern von Daten erscheint eine Bestätigungsmeldung wie &amp;quot;Daten erfolgreich gespeichert&amp;quot;.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Erwartungskonformität: Die Software sollte sich vorhersehbar und konsistent verhalten, basierend auf den Erwartungen und der Vorerfahrung des Nutzers.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Beispiel: Ein &amp;quot;Zurück&amp;quot;-Button navigiert immer zur vorherigen Seite, und ein &amp;quot;Löschen&amp;quot;-Button erfordert immer eine Bestätigung.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Barrierefreiheit (Accessibility) ===&lt;br /&gt;
&#039;&#039;&#039;Barrierefreiheit&#039;&#039;&#039; in der Softwareentwicklung bedeutet, Anwendungen so zu gestalten, dass sie von Menschen mit unterschiedlichen Einschränkungen (z. B. Seh-, Hör- oder motorische Behinderungen) ohne fremde Hilfe bedient werden können. Dies ist nicht nur eine ethische, sondern oft auch eine gesetzliche Anforderung.&lt;br /&gt;
&lt;br /&gt;
Der wichtigste Standard hierfür sind die &#039;&#039;&#039;Web Content Accessibility Guidelines (WCAG)&#039;&#039;&#039;, die auf vier grundlegenden Prinzipien beruhen:&lt;br /&gt;
&lt;br /&gt;
Wahrnehmbar (Perceivable): Informationen und UI-Komponenten müssen für alle Nutzer wahrnehmbar sein.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Beispiel: Bilder, Icons oder Diagramme haben einen Alternativtext (Alt-Text), der von Screenreadern vorgelesen werden kann.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Bedienbar (Operable): Die Benutzeroberfläche muss bedienbar sein. Das bedeutet, alle interaktiven Elemente müssen auch ohne Maus, also über die Tastatur oder andere Eingabegeräte, steuerbar sein.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Beispiel: Ein Nutzer kann mit der Tab-Taste durch alle Formularfelder und Buttons navigieren.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Verständlich (Understandable): Die Bedienung und die Informationen müssen verständlich sein. Dies umfasst eine klare Sprache und eine vorhersehbare Navigation.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Beispiel: Eingabefelder sind klar beschriftet und Fehlermeldungen erklären, wie ein Problem behoben werden kann.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Robust (Robust): Der Code muss von einer Vielzahl von Geräten und Technologien, einschließlich assistiver Technologien, zuverlässig interpretiert werden können.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Beispiel: Der Einsatz von standardkonformen HTML-Tags und ARIA-Attributen stellt die Kompatibilität mit Screenreadern sicher.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Praktische Anwendung in der Softwareentwicklung ===&lt;br /&gt;
Software-Ergonomie und Barrierefreiheit sind keine nachträglichen Korrekturen, sondern müssen von Beginn des Entwicklungsprozesses an berücksichtigt werden.&lt;br /&gt;
&lt;br /&gt;
Analyse und Konzeption: Schon in der Phase der [[Anforderungsanalyse]] werden Nutzergruppen und deren Bedürfnisse ermittelt.&lt;br /&gt;
&lt;br /&gt;
Design (UI/UX): Im Designprozess werden Konzepte wie Wireframes und Mock-ups erstellt, die die Prinzipien der Ergonomie und Barrierefreiheit berücksichtigen.&lt;br /&gt;
&lt;br /&gt;
Implementierung: Der Code wird nach Standards implementiert, die eine gute Zugänglichkeit gewährleisten.&lt;br /&gt;
&lt;br /&gt;
Qualitätssicherung: In Testphasen werden sowohl manuelle Usability-Tests als auch automatisierte Accessibility-Checks (z. B. mit Tools wie Lighthouse oder Axe) durchgeführt.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Software Entwicklung]]&lt;/div&gt;</summary>
		<author><name>Flbkwikiadmin</name></author>
	</entry>
	<entry>
		<id>https://wiki.flbk-hamm.de/index.php?title=Gewinnfunktion&amp;diff=2897</id>
		<title>Gewinnfunktion</title>
		<link rel="alternate" type="text/html" href="https://wiki.flbk-hamm.de/index.php?title=Gewinnfunktion&amp;diff=2897"/>
		<updated>2026-07-08T11:53:16Z</updated>

		<summary type="html">&lt;p&gt;Flbkwikiadmin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Mit Hilfe einer Gewinnfunktion wird der Gewinn für eine bestimmte Produktionsmenge ermittelt. Der Gewinn berechnet sich durch Erlös minus Kosten.&lt;br /&gt;
&lt;br /&gt;
== Definition ==&lt;br /&gt;
Eine [[Funktion]] &amp;lt;math&amp;gt;G:\mathbb{D}_{\text{ök}} \rightarrow \mathbb{W}_G&amp;lt;/math&amp;gt;, die jeder Produktionsmenge &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; den Gewinn &amp;lt;math&amp;gt;G(x)&amp;lt;/math&amp;gt; zuordnet, heißt &#039;&#039;&#039;Gewinnfunktion&#039;&#039;&#039;. Dabei ist &amp;lt;math&amp;gt;x \in \mathbb{D}_{\text{ök}}=[0;x_{\text{max}}]&amp;lt;/math&amp;gt;, wobei &amp;lt;math&amp;gt;\mathbb{D}_{\text{ök}}&amp;lt;/math&amp;gt; der &#039;&#039;&#039;[[Ökonomischer Definitionsbereich|ökonomische Definitionsbereich]]&#039;&#039;&#039; und &amp;lt;math&amp;gt;x_{\text{max}} \in\ \mathbb{R}&amp;lt;/math&amp;gt; die &#039;&#039;&#039;[[Kapazitätsgrenze]]&#039;&#039;&#039; ist. &lt;br /&gt;
&lt;br /&gt;
Die Variable &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; ist häufig in ME (Mengeneinheiten) und &amp;lt;math&amp;gt;G(x)&amp;lt;/math&amp;gt; in GE (Geldeinheiten) gegeben. Die Gewinnfunktion ist definiert als die Differenz aus der [[Erlösfunktion]] und der [[Kostenfunktion]]: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;G(x) = E(x) - K(x)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/watch?v=aQ0J7uPZDJ0 Video-Einführung zur Gewinnfunktion auf YouTube]&lt;br /&gt;
&lt;br /&gt;
== Gewinnschwelle, Gewinngrenze und Gewinnzone ==&lt;br /&gt;
Es sei &amp;lt;math&amp;gt;G:\mathbb{D}_{\text{ök}} \rightarrow \mathbb{W}_G&amp;lt;/math&amp;gt; eine Gewinnfunktion. &lt;br /&gt;
* Die &#039;&#039;&#039;Gewinnschwelle&#039;&#039;&#039; &amp;lt;math&amp;gt;x_s \in \mathbb{D}_{\text{ök}}&amp;lt;/math&amp;gt; ist die kleinste Produktionsmenge, für die der Gewinn gleich 0 ist. &lt;br /&gt;
* Die &#039;&#039;&#039;Gewinngrenze&#039;&#039;&#039; &amp;lt;math&amp;gt;x_g \in \mathbb{D}_{\text{ök}}&amp;lt;/math&amp;gt; ist die größte Produktionsmenge, für die der Gewinn gleich 0 ist. &lt;br /&gt;
* In der &#039;&#039;&#039;Gewinnzone&#039;&#039;&#039;, dem Intervall &amp;lt;math&amp;gt;[x_s; x_g]&amp;lt;/math&amp;gt;, liegen die Produktionsmengen, für die das Unternehmen einen Gewinn erzielt (der Gewinn ist nicht negativ). &lt;br /&gt;
&lt;br /&gt;
Die Gewinnschwelle und die Gewinngrenze werden berechnet, indem man den Erlös den Kosten gleichsetzt (&amp;lt;math&amp;gt;E(x) = K(x)&amp;lt;/math&amp;gt;) oder die Gewinnfunktion gleich null setzt (&amp;lt;math&amp;gt;G(x) = 0&amp;lt;/math&amp;gt;). Sie sind also die [[Nullstelle|Nullstellen]] der Gewinnfunktion. &lt;br /&gt;
&lt;br /&gt;
== Break-Even-Point (BEP) für lineare Funktionen ==&lt;br /&gt;
Für eine lineare Gewinnfunktion &amp;lt;math&amp;gt;G:\mathbb{D}_{\text{ök}} \rightarrow \mathbb{W}_G&amp;lt;/math&amp;gt; mit der Gewinnschwelle &amp;lt;math&amp;gt;x_s \in \mathbb{D}_{\text{ök}}&amp;lt;/math&amp;gt; heißt der Punkt &amp;lt;math&amp;gt;BEP(x_s | E(x_s))&amp;lt;/math&amp;gt; der &#039;&#039;&#039;Break-Even-Point&#039;&#039;&#039;. Dies ist der Schnittpunkt von Erlös- und Kostenfunktion.&lt;br /&gt;
&lt;br /&gt;
== Gewinnmaximum ==&lt;br /&gt;
Es sei &amp;lt;math&amp;gt;G:\mathbb{D}_{\text{ök}} \rightarrow \mathbb{W}_G&amp;lt;/math&amp;gt; eine Gewinnfunktion. Das [[Extremwert#Definition|globale Maximum]] &amp;lt;math&amp;gt;G(x_0)&amp;lt;/math&amp;gt; von &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; heißt &#039;&#039;&#039;Gewinnmaximum&#039;&#039;&#039;. Die dazugehörige [[Extremwert#Definition|Maximalstelle]] &amp;lt;math&amp;gt;x_0 \in \mathbb{D}_{\text{ök}}&amp;lt;/math&amp;gt; heißt &#039;&#039;&#039;gewinnmaximale Ausbringungsmenge&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Beispiele ==&lt;br /&gt;
&lt;br /&gt;
=== Eine lineare Gewinnfunktion herleiten und analysieren ===&lt;br /&gt;
Die Produktion von Fahrrädern verursacht fixe Kosten von 2700 €. Die [[Kurzfristige_Preisuntergrenze#Variable_Stückkostenfunktion|variablen Stückkosten]] betragen 30 € pro Fahrrad. Die produzierten Fahrräder werden für jeweils 300 € pro Stück verkauft. Die [[Kapazitätsgrenze]] beträgt 40 Stück. Wir analysieren im Folgenden die Gewinnsituation.&lt;br /&gt;
&lt;br /&gt;
==== Gewinnfunktion herleiten ====&lt;br /&gt;
Für die [[Kostenfunktion]] gilt &amp;lt;math&amp;gt;K(x) = 30x + 2700&amp;lt;/math&amp;gt; mit &amp;lt;math&amp;gt;K_v = 30&amp;lt;/math&amp;gt; und &amp;lt;math&amp;gt;K_f = 2700&amp;lt;/math&amp;gt;. &lt;br /&gt;
Weil der Erlös pro Einheit 300 € beträgt, ist &amp;lt;math&amp;gt;E_v(x) = 300&amp;lt;/math&amp;gt; und die [[Erlösfunktion]] ist &amp;lt;math&amp;gt;E(x) = 300x&amp;lt;/math&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Die Gewinnfunktion wird berechnet durch:&lt;br /&gt;
&amp;lt;math&amp;gt;G(x) = E(x) - K(x)&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;G(x) = 300x - (30x + 2700)&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;G(x) = 270x - 2700&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Gewinn berechnen ====&lt;br /&gt;
Der Gewinn für die Auslastung an der Kapazitätsgrenze (&amp;lt;math&amp;gt;x = 40&amp;lt;/math&amp;gt;) beträgt:&lt;br /&gt;
&amp;lt;math&amp;gt;G(40) = 270 \cdot 40 - 2700 = 10800 - 2700 = 8100&amp;lt;/math&amp;gt; €&lt;br /&gt;
&lt;br /&gt;
==== Gewinnschwelle berechnen ====&lt;br /&gt;
Wir setzen die Gewinnfunktion gleich null:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;G(x) = 0&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;270x - 2700 = 0 \quad | +2700&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;270x = 2700 \quad | :270&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;x = 10&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Gewinnschwelle beträgt &amp;lt;math&amp;gt;x_s = 10&amp;lt;/math&amp;gt; Fahrräder. &lt;br /&gt;
&lt;br /&gt;
Alternativ können wir die [[Erlösfunktion]] und die [[Kostenfunktion]] gleichsetzen, um die Gewinnschwelle zu berechnen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;E(x) = K(x)&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;300x = 30x + 2700 \quad | -30x&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;270x = 2700 \quad | :270&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;x = 10&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Break-Even-Point berechnen ====&lt;br /&gt;
Um den entsprechenden Erlös/Kosten-Wert zu erhalten, setzen wir die Gewinnschwelle in die Erlösfunktion ein:&lt;br /&gt;
&amp;lt;math&amp;gt;E(10) = 300 \cdot 10 = 3000&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Der Break-Even-Point ist damit &amp;lt;math&amp;gt;BEP(10 | 3000)&amp;lt;/math&amp;gt;. Werden 10 ME produziert, sind die Kosten und der Erlös gleich hoch und betragen jeweils 3000 €.&lt;br /&gt;
&lt;br /&gt;
=== Eine ganzrationale Gewinnfunktion dritten Grades herleiten und analysieren ===&lt;br /&gt;
Die variable [[Kostenfunktion]] für ein Produkt ist durch &amp;lt;math&amp;gt;K_v(x) = 0,2x^3 - 4x^2 + 30x&amp;lt;/math&amp;gt; gegeben. Die [[Kostenfunktion#Definition|Fixkosten]] betragen 20 GE. Der [[Erlösfunktion#Definition|Verkaufspreis]] pro Stück beträgt 32,8 GE.&lt;br /&gt;
&lt;br /&gt;
==== Gewinnfunktion herleiten ====&lt;br /&gt;
Die [[Erlösfunktion]], die [[Kostenfunktion]] und die Gewinnfunktion berechnen sich wie folgt: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;E(x) = 32,8x&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;K(x) = K_v(x) + K_f = 0,2x^3 - 4x^2 + 30x + 20&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;G(x) = E(x) - K(x)&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;G(x) = 32,8x - (0,2x^3 - 4x^2 + 30x + 20)&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;G(x) = -0,2x^3 + 4x^2 + 32,8x - 30x - 20&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;G(x) = -0,2x^3 + 4x^2 + 2,8x - 20&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Gewinnschwelle, Gewinngrenze und Gewinnzone berechnen ====&lt;br /&gt;
[[Datei:GewinnanalyseGraphGewinnfunktion.png|mini|Graph der Gewinnfunktion &amp;lt;math&amp;gt;G(x) = -0,2x^3 + 4x^2 + 2,8x - 20&amp;lt;/math&amp;gt;]]&lt;br /&gt;
Wir ermitteln Gewinnschwelle, Gewinngrenze und Gewinnzone, indem wir die [[Nullstelle|Nullstellen]] der berechneten Gewinnfunktion mit dem [[Taschenrechner_verwenden#Nullstellen_berechnen|Taschenrechner]] bestimmen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 = -0,2x^3 + 4x^2 + 2,8x - 20&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;x_1 \approx -2,45 \quad (\text{ökonomisch nicht sinnvoll, da } x \geq 0)&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;x_2 = 2&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;x_3 \approx 20,45&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Die &#039;&#039;&#039;Gewinnschwelle&#039;&#039;&#039; beträgt 2 ME.&lt;br /&gt;
* Die &#039;&#039;&#039;Gewinngrenze&#039;&#039;&#039; liegt bei ca. 20,45 ME.&lt;br /&gt;
* Die &#039;&#039;&#039;Gewinnzone&#039;&#039;&#039; ist das Intervall &amp;lt;math&amp;gt;[2; 20,45]&amp;lt;/math&amp;gt;.&lt;br /&gt;
* Der &#039;&#039;&#039;ökonomische Definitionsbereich&#039;&#039;&#039; beträgt &amp;lt;math&amp;gt;\mathbb{D}_{\text{ök}} = [0; 20,45]&amp;lt;/math&amp;gt;, da keine weitere Kapazitätsgrenze gegeben ist.&lt;br /&gt;
&lt;br /&gt;
==== Graph der Gewinnfunktion zeichnen ====&lt;br /&gt;
Um den [[Graph|Graphen]] der Gewinnfunktion zu zeichnen, erstellen wir eine Wertetabelle für x-Werte in &amp;lt;math&amp;gt;\mathbb{D}_{\text{ök}}&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt;&lt;br /&gt;
| 0 || 2 || 4 || 6 || 8 || 10 || 12 || 14 || 16 || 18 || 20 || 22&lt;br /&gt;
|-&lt;br /&gt;
! &amp;lt;math&amp;gt;G(x)&amp;lt;/math&amp;gt;&lt;br /&gt;
| -20 || 0 || 42,4 || 97,6 || 156 || 208 || 244 || 254,4 || 229,6 || 160 || 36 || -152&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Beispielrechnung für &amp;lt;math&amp;gt;x = 4&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;G(4) = -0,2 \cdot 4^3 + 4 \cdot 4^2 + 2,8 \cdot 4 - 20 = -12,8 + 64 + 11,2 - 20 = 42,4&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wir zeichnen die berechneten Punkte in ein Koordinatensystem ein und verbinden diese, um den Graphen zu erhalten. Wir können grob ablesen, dass die gewinnmaximale Ausbringungsmenge bei ca. 13,67 ME und das Gewinnmaximum bei knapp 255 GE liegt. &lt;br /&gt;
&lt;br /&gt;
==== Gewinnmaximale Ausbringungsmenge und Gewinnmaximum ermitteln ====&lt;br /&gt;
Das Gewinnmaximum berechnen wir exakt über die Ableitungen der Gewinnfunktion:&lt;br /&gt;
&amp;lt;math&amp;gt;G&#039;(x) = -0,6x^2 + 8x + 2,8&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;G&#039;&#039;(x) = -1,2x + 8&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Notwendige Bedingung&#039;&#039;&#039;: &amp;lt;math&amp;gt;G&#039;(x) = 0&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;math&amp;gt;-0,6x^2 + 8x + 2,8 = 0&amp;lt;/math&amp;gt; &lt;br /&gt;
&amp;lt;br&amp;gt;Lösen mit dem [[Taschenrechner_verwenden#Nullstellen_berechnen|Taschenrechner]] liefert:&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;math&amp;gt;x_1 \approx -0,34 \notin \mathbb{D}_{\text{ök}}&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;math&amp;gt;x_2 \approx 13,67 \in \mathbb{D}_{\text{ök}}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Hinreichende Bedingung&#039;&#039;&#039;: Überprüfen der zweiten Ableitung&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;math&amp;gt;G&#039;&#039;(13,67) = -1,2 \cdot 13,67 + 8 \approx -8,4 &amp;lt; 0&amp;lt;/math&amp;gt; &lt;br /&gt;
&amp;lt;br&amp;gt;Da die zweite Ableitung negativ ist, liegt bei &amp;lt;math&amp;gt;x \approx 13,67&amp;lt;/math&amp;gt; ein Hochpunkt (Maximum) vor.&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Extremwert (Gewinnmaximum) berechnen&#039;&#039;&#039;: &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;math&amp;gt;G(13,67) = -0,2 \cdot (13,67)^3 + 4 \cdot (13,67)^2 + 2,8 \cdot 13,67 - 20 \approx 254,85&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Das Gewinnmaximum beträgt ca. 254,85 GE bei einer gewinnmaximalen Ausbringungsmenge von ca. 13,67 ME.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Differentialrechnung]]&lt;br /&gt;
[[Kategorie:Gewinnanalyse]]&lt;br /&gt;
[[Kategorie:FHR_WuV_Mathe]]&lt;br /&gt;
[[Kategorie:AHR_WuV_Mathe_GK]]&lt;/div&gt;</summary>
		<author><name>Flbkwikiadmin</name></author>
	</entry>
	<entry>
		<id>https://wiki.flbk-hamm.de/index.php?title=Gewinnfunktion&amp;diff=2896</id>
		<title>Gewinnfunktion</title>
		<link rel="alternate" type="text/html" href="https://wiki.flbk-hamm.de/index.php?title=Gewinnfunktion&amp;diff=2896"/>
		<updated>2026-07-08T11:39:30Z</updated>

		<summary type="html">&lt;p&gt;Flbkwikiadmin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Mit Hilfe einer Gewinnfunktion wird der Gewinn für eine bestimmte Produktionsmenge ermittelt. Der Gewinn berechnet sich durch Erlös minus Kosten.&lt;br /&gt;
&lt;br /&gt;
== Definition ==&lt;br /&gt;
Eine [[Funktion]] &amp;lt;math&amp;gt;G:\mathbb{D}_{\text{ök}} \rightarrow \mathbb{W}_G&amp;lt;/math&amp;gt;, die jeder Produktionsmenge &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; den Gewinn &amp;lt;math&amp;gt;G(x)&amp;lt;/math&amp;gt; zuordnet, heißt &#039;&#039;&#039;Gewinnfunktion&#039;&#039;&#039;. Dabei ist &amp;lt;math&amp;gt;x \in \mathbb{D}_{\text{ök}}=[0;x_{\text{max}}]&amp;lt;/math&amp;gt;, wobei &amp;lt;math&amp;gt;\mathbb{D}_{\text{ök}}&amp;lt;/math&amp;gt; der &#039;&#039;&#039;[[Ökonomischer Definitionsbereich|ökonomische Definitionsbereich]]&#039;&#039;&#039; und &amp;lt;math&amp;gt;x_{\text{max}} \in\ \mathbb{R}&amp;lt;/math&amp;gt; die &#039;&#039;&#039;[[Kapazitätsgrenze]]&#039;&#039;&#039; ist. &lt;br /&gt;
&lt;br /&gt;
Die Variable &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; ist häufig in ME (Mengeneinheiten) und &amp;lt;math&amp;gt;G(x)&amp;lt;/math&amp;gt; in GE (Geldeinheiten) gegeben. Die Gewinnfunktion ist definiert als die Differenz aus der [[Erlösfunktion]] und der [[Kostenfunktion]]: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;G(x) = E(x) - K(x)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/watch?v=aQ0J7uPZDJ0 Video-Einführung zur Gewinnfunktion auf YouTube]&lt;br /&gt;
&lt;br /&gt;
== Gewinnschwelle, Gewinngrenze und Gewinnzone ==&lt;br /&gt;
Es sei &amp;lt;math&amp;gt;G:\mathbb{D}_{\text{ök}} \rightarrow \mathbb{W}_G&amp;lt;/math&amp;gt; eine Gewinnfunktion. &lt;br /&gt;
* Die &#039;&#039;&#039;Gewinnschwelle&#039;&#039;&#039; &amp;lt;math&amp;gt;x_s \in \mathbb{D}_{\text{ök}}&amp;lt;/math&amp;gt; ist die kleinste Produktionsmenge, für die der Gewinn gleich 0 ist. &lt;br /&gt;
* Die &#039;&#039;&#039;Gewinngrenze&#039;&#039;&#039; &amp;lt;math&amp;gt;x_g \in \mathbb{D}_{\text{ök}}&amp;lt;/math&amp;gt; ist die größte Produktionsmenge, für die der Gewinn gleich 0 ist. &lt;br /&gt;
* In der &#039;&#039;&#039;Gewinnzone&#039;&#039;&#039;, dem Intervall &amp;lt;math&amp;gt;[x_s; x_g]&amp;lt;/math&amp;gt;, liegen die Produktionsmengen, für die das Unternehmen einen Gewinn erzielt (der Gewinn ist nicht negativ). &lt;br /&gt;
&lt;br /&gt;
Die Gewinnschwelle und die Gewinngrenze werden berechnet, indem man den Erlös den Kosten gleichsetzt (&amp;lt;math&amp;gt;E(x) = K(x)&amp;lt;/math&amp;gt;) oder die Gewinnfunktion gleich null setzt (&amp;lt;math&amp;gt;G(x) = 0&amp;lt;/math&amp;gt;). Sie sind also die [[Nullstelle|Nullstellen]] der Gewinnfunktion. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Break-Even-Point (BEP) für lineare Funktionen ==&lt;br /&gt;
Für eine lineare Gewinnfunktion &amp;lt;math&amp;gt;G:\mathbb{D}_{\text{ök}} \rightarrow \mathbb{W}_G&amp;lt;/math&amp;gt; mit der Gewinnschwelle &amp;lt;math&amp;gt;x_s \in \mathbb{D}_{\text{ök}}&amp;lt;/math&amp;gt; heißt der Punkt &amp;lt;math&amp;gt;BEP(x_s | E(x_s))&amp;lt;/math&amp;gt; der &#039;&#039;&#039;Break-Even-Point&#039;&#039;&#039;. Dies ist der Schnittpunkt von Erlös- und Kostenfunktion.&lt;br /&gt;
&lt;br /&gt;
== Gewinnmaximum ==&lt;br /&gt;
Es sei &amp;lt;math&amp;gt;G:\mathbb{D}_{\text{ök}} \rightarrow \mathbb{W}_G&amp;lt;/math&amp;gt; eine Gewinnfunktion. Das [[Extremwert#Definition|globale Maximum]] &amp;lt;math&amp;gt;G(x_0)&amp;lt;/math&amp;gt; von &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; heißt &#039;&#039;&#039;Gewinnmaximum&#039;&#039;&#039;. Die dazugehörige [[Extremwert#Definition|Maximalstelle]] &amp;lt;math&amp;gt;x_0 \in \mathbb{D}_{\text{ök}}&amp;lt;/math&amp;gt; heißt &#039;&#039;&#039;gewinnmaximale Ausbringungsmenge&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Beispiele ==&lt;br /&gt;
&lt;br /&gt;
=== Eine lineare Gewinnfunktion herleiten und analysieren ===&lt;br /&gt;
Die Produktion von Fahrrädern verursacht fixe Kosten von 2700 €. Die [[Kurzfristige_Preisuntergrenze#Variable_Stückkostenfunktion|variablen Stückkosten]] betragen 30 € pro Fahrrad. Die produzierten Fahrräder werden für jeweils 300 € pro Stück verkauft. Die [[Kapazitätsgrenze]] beträgt 40 Stück. Wir analysieren im Folgenden die Gewinnsituation.&lt;br /&gt;
&lt;br /&gt;
==== Gewinnfunktion herleiten ====&lt;br /&gt;
Für die [[Kostenfunktion]] gilt &amp;lt;math&amp;gt;K(x) = 30x + 2700&amp;lt;/math&amp;gt; mit &amp;lt;math&amp;gt;K_v = 30&amp;lt;/math&amp;gt; und &amp;lt;math&amp;gt;K_f = 2700&amp;lt;/math&amp;gt;. &lt;br /&gt;
Weil der Erlös pro Einheit 300 € beträgt, ist &amp;lt;math&amp;gt;E_v(x) = 300&amp;lt;/math&amp;gt; und die [[Erlösfunktion]] ist &amp;lt;math&amp;gt;E(x) = 300x&amp;lt;/math&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Die Gewinnfunktion wird berechnet durch:&lt;br /&gt;
&amp;lt;math&amp;gt;G(x) = E(x) - K(x)&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;G(x) = 300x - (30x + 2700)&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;G(x) = 270x - 2700&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Gewinn berechnen ====&lt;br /&gt;
Der Gewinn für die Auslastung an der Kapazitätsgrenze (&amp;lt;math&amp;gt;x = 40&amp;lt;/math&amp;gt;) beträgt:&lt;br /&gt;
&amp;lt;math&amp;gt;G(40) = 270 \cdot 40 - 2700 = 10800 - 2700 = 8100&amp;lt;/math&amp;gt; €&lt;br /&gt;
&lt;br /&gt;
==== Gewinnschwelle berechnen ====&lt;br /&gt;
Wir setzen die Gewinnfunktion gleich null:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;G(x) = 0&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;270x - 2700 = 0 \quad | +2700&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;270x = 2700 \quad | :270&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;x = 10&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Gewinnschwelle beträgt &amp;lt;math&amp;gt;x_s = 10&amp;lt;/math&amp;gt; Fahrräder. &lt;br /&gt;
&lt;br /&gt;
Alternativ können wir die [[Erlösfunktion]] und die [[Kostenfunktion]] gleichsetzen, um die Gewinnschwelle zu berechnen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;E(x) = K(x)&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;300x = 30x + 2700 \quad | -30x&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;270x = 2700 \quad | :270&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;x = 10&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Break-Even-Point berechnen ====&lt;br /&gt;
Um den entsprechenden Erlös/Kosten-Wert zu erhalten, setzen wir die Gewinnschwelle in die Erlösfunktion ein:&lt;br /&gt;
&amp;lt;math&amp;gt;E(10) = 300 \cdot 10 = 3000&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Der Break-Even-Point ist damit &amp;lt;math&amp;gt;BEP(10 | 3000)&amp;lt;/math&amp;gt;. Werden 10 ME produziert, sind die Kosten und der Erlös gleich hoch und betragen jeweils 3000 €.&lt;br /&gt;
&lt;br /&gt;
=== Eine ganzrationale Gewinnfunktion dritten Grades herleiten und analysieren ===&lt;br /&gt;
Die variable [[Kostenfunktion]] für ein Produkt ist durch &amp;lt;math&amp;gt;K_v(x) = 0,2x^3 - 4x^2 + 30x&amp;lt;/math&amp;gt; gegeben. Die [[Kostenfunktion#Definition|Fixkosten]] betragen 20 GE. Der [[Erlösfunktion#Definition|Verkaufspreis]] pro Stück beträgt 32,8 GE.&lt;br /&gt;
&lt;br /&gt;
==== Gewinnfunktion herleiten ====&lt;br /&gt;
Die [[Erlösfunktion]], die [[Kostenfunktion]] und die Gewinnfunktion berechnen sich wie folgt: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;E(x) = 32,8x&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;K(x) = K_v(x) + K_f = 0,2x^3 - 4x^2 + 30x + 20&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;G(x) = E(x) - K(x)&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;G(x) = 32,8x - (0,2x^3 - 4x^2 + 30x + 20)&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;G(x) = -0,2x^3 + 4x^2 + 32,8x - 30x - 20&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;G(x) = -0,2x^3 + 4x^2 + 2,8x - 20&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Gewinnschwelle, Gewinngrenze und Gewinnzone berechnen ====&lt;br /&gt;
[[Datei:GewinnanalyseGraphGewinnfunktion.png|mini|Graph der Gewinnfunktion &amp;lt;math&amp;gt;G(x) = -0,2x^3 + 4x^2 + 2,8x - 20&amp;lt;/math&amp;gt;]]&lt;br /&gt;
Wir ermitteln Gewinnschwelle, Gewinngrenze und Gewinnzone, indem wir die [[Nullstelle|Nullstellen]] der berechneten Gewinnfunktion mit dem [[Taschenrechner_verwenden#Nullstellen_berechnen|Taschenrechner]] bestimmen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;0 = -0,2x^3 + 4x^2 + 2,8x - 20&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;x_1 \approx -2,45 \quad (\text{ökonomisch nicht sinnvoll, da } x \geq 0)&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;x_2 = 2&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;x_3 \approx 20,45&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Die &#039;&#039;&#039;Gewinnschwelle&#039;&#039;&#039; beträgt 2 ME.&lt;br /&gt;
* Die &#039;&#039;&#039;Gewinngrenze&#039;&#039;&#039; liegt bei ca. 20,45 ME.&lt;br /&gt;
* Die &#039;&#039;&#039;Gewinnzone&#039;&#039;&#039; ist das Intervall &amp;lt;math&amp;gt;[2; 20,45]&amp;lt;/math&amp;gt;.&lt;br /&gt;
* Der &#039;&#039;&#039;ökonomische Definitionsbereich&#039;&#039;&#039; beträgt &amp;lt;math&amp;gt;\mathbb{D}_{\text{ök}} = [0; 20,45]&amp;lt;/math&amp;gt;, da keine weitere Kapazitätsgrenze gegeben ist.&lt;br /&gt;
&lt;br /&gt;
==== Graph der Gewinnfunktion zeichnen ====&lt;br /&gt;
Um den [[Graph|Graphen]] der Gewinnfunktion zu zeichnen, erstellen wir eine Wertetabelle für x-Werte in &amp;lt;math&amp;gt;\mathbb{D}_{\text{ök}}&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt;&lt;br /&gt;
| 0 || 2 || 4 || 6 || 8 || 10 || 12 || 14 || 16 || 18 || 20 || 22&lt;br /&gt;
|-&lt;br /&gt;
! &amp;lt;math&amp;gt;G(x)&amp;lt;/math&amp;gt;&lt;br /&gt;
| -20 || 0 || 42,4 || 97,6 || 156 || 208 || 244 || 254,4 || 229,6 || 160 || 36 || -160&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Beispielrechnung für &amp;lt;math&amp;gt;x = 4&amp;lt;/math&amp;gt;:&lt;br /&gt;
&amp;lt;math&amp;gt;G(4) = -0,2 \cdot 4^3 + 4 \cdot 4^2 + 2,8 \cdot 4 - 20 = -12,8 + 64 + 11,2 - 20 = 42,4&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wir zeichnen die berechneten Punkte in ein Koordinatensystem ein und verbinden diese, um den Graphen zu erhalten. Wir können grob ablesen, dass die gewinnmaximale Ausbringungsmenge bei ca. 13,67 ME und das Gewinnmaximum bei ca. 253 GE liegt. &lt;br /&gt;
&lt;br /&gt;
==== Gewinnmaximale Ausbringungsmenge und Gewinnmaximum ermitteln ====&lt;br /&gt;
Das Gewinnmaximum berechnen wir exakt über die Ableitungen der Gewinnfunktion:&lt;br /&gt;
&amp;lt;math&amp;gt;G&#039;(x) = -0,6x^2 + 8x + 2,8&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;G&#039;&#039;(x) = -1,2x + 8&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Notwendige Bedingung&#039;&#039;&#039;: &amp;lt;math&amp;gt;G&#039;(x) = 0&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;math&amp;gt;-0,6x^2 + 8x + 2,8 = 0&amp;lt;/math&amp;gt; &lt;br /&gt;
&amp;lt;br&amp;gt;Lösen mit dem [[Taschenrechner_verwenden#Nullstellen_berechnen|Taschenrechner]] liefert:&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;math&amp;gt;x_1 \approx -0,34 \notin \mathbb{D}_{\text{ök}}&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;math&amp;gt;x_2 \approx 13,67 \in \mathbb{D}_{\text{ök}}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Hinreichende Bedingung&#039;&#039;&#039;: Überprüfen der zweiten Ableitung&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;math&amp;gt;G&#039;&#039;(13,67) = -1,2 \cdot 13,67 + 8 \approx -8,4 &amp;lt; 0&amp;lt;/math&amp;gt; &lt;br /&gt;
&amp;lt;br&amp;gt;Da die zweite Ableitung negativ ist, liegt bei &amp;lt;math&amp;gt;x \approx 13,67&amp;lt;/math&amp;gt; ein Hochpunkt (Maximum) vor.&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Extremwert (Gewinnmaximum) berechnen&#039;&#039;&#039;: &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;math&amp;gt;G(13,67) = -0,2 \cdot 13,67^3 + 4 \cdot 13,67^2 + 2,8 \cdot 13,67 - 20 \approx 253,30&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Das Gewinnmaximum beträgt ca. 253,30 GE bei einer gewinnmaximalen Ausbringungsmenge von ca. 13,67 ME.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Differentialrechnung]]&lt;br /&gt;
[[Kategorie:Gewinnanalyse]]&lt;br /&gt;
[[Kategorie:FHR_WuV_Mathe]]&lt;br /&gt;
[[Kategorie:AHR_WuV_Mathe_GK]]&lt;/div&gt;</summary>
		<author><name>Flbkwikiadmin</name></author>
	</entry>
	<entry>
		<id>https://wiki.flbk-hamm.de/index.php?title=Sequenzdiagramm&amp;diff=2895</id>
		<title>Sequenzdiagramm</title>
		<link rel="alternate" type="text/html" href="https://wiki.flbk-hamm.de/index.php?title=Sequenzdiagramm&amp;diff=2895"/>
		<updated>2026-06-05T05:36:17Z</updated>

		<summary type="html">&lt;p&gt;Flbkwikiadmin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Einführung ==&lt;br /&gt;
Die [[UML]] kennt insgesamt 14 Diagrammtypen. Ein Sequenzdiagramm ist ein Verhaltensdiagramm der UML. Das Wort Sequenz beschreibt laut Duden eine Reihenfolge oder kurz Folge von Dingen. In Sequenzdiagrammen wird eine zeitliche Folge von Kommunikationsbeziehungen zwischen [[Objekt|Objekten]] grafisch dargestellt. Eine Kommunikationsbeziehung ist das Senden einer Nachricht von einem [[Objekt]] zu einem anderen. Denn [[Objekt|Objekte]] tauschen Nachrichten aus, um miteinander zu kommunizieren (Heide Balzert: Lehrbuch der Objektmodellierung. Analyse und Entwurf S. 71 ff).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Was zeigt ein Sequenzdiagramm?&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Interaktionen:&#039;&#039;&#039; Es visualisiert, wie [[Objekt|Objekte]] miteinander kommunizieren und in welcher Reihenfolge Nachrichten ausgetauscht werden.&lt;br /&gt;
* &#039;&#039;&#039;Zeitliche Abfolge:&#039;&#039;&#039; Die vertikale Achse repräsentiert die Zeit, sodass man den Ablauf der Interaktionen gut nachvollziehen kann.&lt;br /&gt;
* &#039;&#039;&#039;Objekte:&#039;&#039;&#039; Jedes [[Objekt]] wird durch eine Lebenslinie repräsentiert.&lt;br /&gt;
* &#039;&#039;&#039;Nachrichten:&#039;&#039;&#039; Nachrichten, die zwischen [[Objekt|Objekten]] gesendet werden, sind als Pfeile dargestellt.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Was ist der Hauptzweck?&#039;&#039;&#039;&lt;br /&gt;
Der Hauptzweck eines Sequenzdiagramms besteht darin, den Ablauf von Prozessen darzustellen, nicht die konkreten Werte, die bei der Ausführung von [[Methode|Methoden]] zurückgegeben werden.&lt;br /&gt;
Abstraktion: [[Methode#Rückgabeparameter|Rückgabeparameter]] sind oft implementationsspezifische Details, die für das Verständnis des allgemeinen Ablaufs nicht immer relevant sind. Sie können dargestellt werden, falls relevant, müssen es aber nicht.&lt;br /&gt;
&lt;br /&gt;
{{#ev:youtube|-ZswbawGWzg}}&lt;br /&gt;
&lt;br /&gt;
== Grundsätzlicher Aufbau ==&lt;br /&gt;
Ein Sequenzdiagramm besitzt zwei Dimensionen: Die Vertikale repräsentiert die Zeit (von oben nach unten verlaufend), auf der Horizontalen werden die beteiligten Teilnehmer (meist [[Objekt|Objekte]] oder Akteure) angeordnet. Die zugehörigen [[Klasse|Klassen]] werden mit aufgeführt. Die Lebensdauer eines jeden [[Objekt|Objektes]] wird durch eine gestrichelte Linie – die sogenannte Lebenslinie – dargestellt. Diese Linie repräsentiert die Existenz eines Objekts während einer bestimmten Zeit.&lt;br /&gt;
&lt;br /&gt;
[[Datei:Schematische Darstellung Sequenzdiagramm.png|mini|Schematische Darstellung der Elemente eines Sequenzdiagramms]]&lt;br /&gt;
[[Datei:Beschriftetes Beispiel Sequenzdiagramm.png|mini|Beschriftetes Beispiel mit Akteur, Lebenslinien und Nachrichten]]&lt;br /&gt;
&lt;br /&gt;
=== Objekte und Lebenslinien ===&lt;br /&gt;
Die [[Objekt|Objekte]] (bzw. Teilnehmer) werden am oberen Rand durch Rechtecke visualisiert. Im Rechteck steht typischerweise der [[Klasse]]nname. Falls erforderlich, wird auch der spezifische Objektname aufgeführt. Objektname und Klassenname werden durch einen Doppelpunkt getrennt und zur Kennzeichnung als Instanz oft unterstrichen (zum Beispiel &amp;lt;u&amp;gt;&amp;lt;code&amp;gt;Bestellung: Mail&amp;lt;/code&amp;gt;&amp;lt;/u&amp;gt; oder einfach &amp;lt;code&amp;gt;:Mail&amp;lt;/code&amp;gt; für ein anonymes Objekt). Akteure (wie z. B. ein Nutzer) werden als Strichmännchen dargestellt.&lt;br /&gt;
&lt;br /&gt;
Von diesen Teilnehmer-Symbolen gehen die senkrechten Lebenslinien aus. Sie werden durch gestrichelte Linien dargestellt. Die Nachrichten werden durch waagerechte Pfeile zwischen den Lebenslinien modelliert. Auf diesen Pfeilen werden die Nachrichtennamen in der Form &amp;lt;code&amp;gt;Nachricht(Argumente)&amp;lt;/code&amp;gt; notiert. Die Angabe von Argumenten ist optional.&lt;br /&gt;
&lt;br /&gt;
=== Nachrichten ===&lt;br /&gt;
Durch eine Nachricht wird meist eine [[Methode]] des Empfängers aufgerufen. Hier kann auch die Übergabe von [[Methode#Eingabeparameter|Eingabeparametern]] kenntlich gemacht werden. Es wird prinzipiell zwischen synchronen und asynchronen Nachrichten unterschieden.&lt;br /&gt;
&lt;br /&gt;
[[Datei:Nachrichten im Sequenzdiagramm.png|mini|Darstellung gefundener und verlorener Meldungen]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Synchrone Nachrichten:&#039;&#039;&#039; Bei einem synchronen Aufruf blockiert der Sender (der aufrufende Kommunikationspartner pausiert die Programmfortführung), bis er die zugehörige Antwort vom Empfänger erhalten hat. Synchrone Nachrichten werden durch einen Pfeil mit &#039;&#039;&#039;gefüllter, geschlossener Spitze&#039;&#039;&#039; dargestellt.&lt;br /&gt;
&lt;br /&gt;
[[Datei:Synchrone und Asychrone Nachrichten.png|mini|Vergleich: Synchrone vs. Asynchrone Operationsaufrufe]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Asynchrone Nachrichten:&#039;&#039;&#039; Hierbei sendet der Sender die Nachricht und führt sein Programm unmittelbar fort, ohne auf eine Antwort zu warten. Trifft später eine Antwort ein, wird sie vom Sender verarbeitet. Asynchrone Nachrichten werden durch einen Pfeil mit &#039;&#039;&#039;offener Spitze&#039;&#039;&#039; (Linienpfeil) dargestellt.&lt;br /&gt;
&lt;br /&gt;
=== Antworten ===&lt;br /&gt;
Die explizite Darstellung von Antworten ist optional. Antworten auf vorherige Nachrichten (insbesondere bei synchronen Aufrufen) werden durch eine &#039;&#039;&#039;gestrichelte Linie mit offener Pfeilspitze&#039;&#039;&#039; dargestellt.&lt;br /&gt;
&lt;br /&gt;
Das Erzeugen und Entfernen von Objekten kann in Sequenzdiagrammen ebenfalls modelliert werden:&lt;br /&gt;
* &#039;&#039;&#039;Objekterzeugung:&#039;&#039;&#039; Die [[Konstruktor|Konstruktion]] (Instanziierung) eines neuen Objektes wird durch eine Nachricht (oft mit &amp;lt;code&amp;gt;&amp;lt;&amp;lt;create&amp;gt;&amp;gt;&amp;lt;/code&amp;gt; oder &amp;lt;code&amp;gt;erzeugen&amp;lt;/code&amp;gt; beschriftet) angezeigt, deren Pfeilspitze exakt auf den Kopf des neu zu erzeugenden Objektsymbols trifft.&lt;br /&gt;
* &#039;&#039;&#039;Dekonstruktion:&#039;&#039;&#039; Die Destruktion bzw. Zerstörung eines Objektes wird durch ein großes Kreuz (Stopp-Symbol) am Ende der jeweiligen Lebenslinie angezeigt.&lt;br /&gt;
&lt;br /&gt;
Die Entscheidung, ob Antworten detailliert eingezeichnet werden, hängt vom Zweck des Diagramms ab. Oft werden sie weggelassen, wenn der Rückfluss durch den Methodenaufruf implizit klar ist, um das Diagramm übersichtlich zu halten.&lt;br /&gt;
&lt;br /&gt;
=== Statische Aufrufe ===&lt;br /&gt;
Statische (static) Methodenaufrufe können dargestellt werden, indem die Nachricht an die [[Klasse]] selbst und nicht an eine spezifische [[Instanz|Objektinstanz]] gesendet wird.&lt;br /&gt;
&lt;br /&gt;
=== Aktivierung (Ausführungspezifikation) ===&lt;br /&gt;
Die Überlagerung der gestrichelten Lebenslinien durch breite, senkrechte Rechtecke (Balken) symbolisiert die Aktivierung. Dieser sogenannte Aktivierungsbalken zeigt an, über welchen Zeitraum das Objekt aktiv an der Interaktion beteiligt ist, also den Kontrollfluss des Programms innehat oder auf die Rückkehr eines synchronen Aufrufs wartet.&lt;br /&gt;
&lt;br /&gt;
=== Kontrollstrukturen (Kombinierte Fragmente) ===&lt;br /&gt;
[[Datei:Bespiel Kontrollstrukturen im Sequenzdiagramm.png|mini|Kombinierte Fragmente für Alternativen (alt) und Schleifen (loop)]]&lt;br /&gt;
Auch [[Kontrollstruktur|Kontrollstrukturen]] lassen sich in modernen Sequenzdiagrammen mithilfe sogenannter &amp;quot;Kombinierter Fragmente&amp;quot; darstellen. Diese werden als Rahmen mit einem Operator-Schlüsselwort in der oberen linken Ecke gezeichnet.&lt;br /&gt;
&lt;br /&gt;
==== Verzweigung (alt) ====&lt;br /&gt;
Der mit &amp;lt;code&amp;gt;alt&amp;lt;/code&amp;gt; (für alternative) markierte Block beschreibt eine Alternative ([[Verzweigung]]). Der Rahmen wird durch gestrichelte Linien in sogenannte Interaktionsoperanden (Teilbereiche) unterteilt. Jeder Bereich ist mit einer Bedingung (Guard) in eckigen Klammern versehen (z. B. &amp;lt;code&amp;gt;[pwd ok]&amp;lt;/code&amp;gt;). Es wird nur derjenige Bereich ausgeführt, dessen Bedingung zum Ausführungszeitpunkt wahr (true) ist. Der unterste Bereich wird oft mit &amp;lt;code&amp;gt;[else]&amp;lt;/code&amp;gt; markiert.&lt;br /&gt;
&lt;br /&gt;
==== Schleife (loop) ====&lt;br /&gt;
Der Teil des Sequenzdiagramms, der sich in einem Rahmen mit dem Operator &amp;lt;code&amp;gt;loop&amp;lt;/code&amp;gt; befindet, wird wiederholt ausgeführt. Die Ausführungsbedingung (Schleifenbedingung) steht in eckigen Klammern (z. B. &amp;lt;code&amp;gt;[pwd != ok]&amp;lt;/code&amp;gt;). Der Inhalt des Rahmens wird so lange wiederholt, wie diese Bedingung wahr ist.&lt;br /&gt;
&lt;br /&gt;
== Zeitliche Ordnung der Ereignisse ==&lt;br /&gt;
Ein Sequenzdiagramm beschreibt das Verhalten eines Systems, indem es die zeitliche Ordnung von Ereignisauftritten spezifiziert. Nicht der präzise, absolute Zeitpunkt, wann ein Ereignis auftritt, ist dabei ausschlaggebend, sondern welche Ereignisse zwingend vor und welche nach einem bestimmten Ereignisauftritt stattfinden müssen.&lt;br /&gt;
&lt;br /&gt;
[[Datei:Zeitliche Eindordnung Nachrichten im Sequenzdiagramm.png|mini|Zeitliche Einordnung und Ordnungsbeziehungen von Ereignisauftritten]]&lt;br /&gt;
&lt;br /&gt;
Das obere Diagramm in der Abbildung rechts zeigt ein Sequenzdiagramm mit zwei synchronen Operationsaufrufen (m1 und m2). Blau eingekreist sind die vier maßgeblichen Ereignisauftritte:&lt;br /&gt;
* S1 und E1 stehen für das Sende- und das Empfangs-Ereignis der Nachricht m1.&lt;br /&gt;
* S2 und E2 stehen für die entsprechenden Ereignisse der Nachricht m2.&lt;br /&gt;
&lt;br /&gt;
Die Zeitachse verläuft in einem Sequenzdiagramm von oben nach unten, stellt jedoch keine absolute Zeitmetrik dar. Zu den Ereignisauftritten in diesem synchronen Beispiel lassen sich folgende feste Aussagen treffen:&lt;br /&gt;
* E1 tritt nach S1 auf, da das Empfangs- immer nach dem Sende-Nachricht-Ereignis vorkommen muss. Analog tritt E2 stets nach S2 auf.&lt;br /&gt;
* S2 tritt nach S1 auf, weil S2 auf der Lebenslinie von Objekt A unterhalb von S1 eingezeichnet ist.&lt;br /&gt;
&lt;br /&gt;
Alles in allem modelliert dieses erste Sequenzdiagramm also eine Interaktion, die durch exakt eine zulässige zeitliche Abfolge von Ereignisauftritten spezifiziert ist: &amp;lt;code&amp;gt;&amp;lt;S1, E1, S2, E2&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Das mittlere Sequenzdiagramm unterscheidet sich vom vorangehenden dadurch, dass statt zwei synchronen nun zwei &#039;&#039;&#039;asynchrone&#039;&#039;&#039; Nachrichten (offene Pfeilspitzen) dargestellt sind. Hier gilt weiterhin zwingend, dass E1 nach S1 und E2 nach S2 auftritt. Da es sich jedoch um asynchrone Kommunikation handelt (Objekt A wartet nach dem Senden von m1 nicht), könnte das Empfangsereignis E1 nicht nur vor S2 stattfinden, sondern auch erst nach S2 oder sogar erst nach E2.&lt;br /&gt;
&lt;br /&gt;
Das asynchrone Sequenzdiagramm spezifiziert somit eine Interaktion, in der drei verschiedene Abfolgen von Ereignisauftritten logisch zulässig sind:&lt;br /&gt;
1. &amp;lt;code&amp;gt;&amp;lt;S1, E1, S2, E2&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
2. &amp;lt;code&amp;gt;&amp;lt;S1, S2, E1, E2&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
3. &amp;lt;code&amp;gt;&amp;lt;S1, S2, E2, E1&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Falls erforderlich, kann man die zulässigen Abfolgen von Ereignisauftritten in asynchronen Systemen mit zusätzlichen &#039;&#039;&#039;Ordnungsbeziehungen&#039;&#039;&#039; einschränken (unterstes Diagramm). Eine Ordnungsbeziehung (dargestellt als gepunktete Linie mit Pfeil) repräsentiert keine übertragene Nachricht zwischen den Lebenslinien, sondern modelliert die zwingende Einschränkung, dass ein Ereignisauftritt zwingend nach einem bestimmten anderen stattfinden muss.&lt;br /&gt;
Im Beispiel modelliert die Ordnungsbeziehung, dass das Sendeereignis S2 immer erst nach dem Empfangsereignis E1 erfolgen darf.&lt;br /&gt;
&lt;br /&gt;
Durch diese zusätzliche Einschränkung stellt das unterste Sequenzdiagramm, trotz der asynchronen Nachrichten, erneut eine Interaktion mit genau einer einzig zulässigen Folge dar: &amp;lt;code&amp;gt;&amp;lt;S1, E1, S2, E2&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Modellierung]]&lt;br /&gt;
[[Kategorie:Programmierung]]&lt;br /&gt;
[[Kategorie:FI_I_TP2]]&lt;br /&gt;
[[Kategorie:AHR_I_Informatik_LK]]&lt;/div&gt;</summary>
		<author><name>Flbkwikiadmin</name></author>
	</entry>
	<entry>
		<id>https://wiki.flbk-hamm.de/index.php?title=Sequenzdiagramm&amp;diff=2894</id>
		<title>Sequenzdiagramm</title>
		<link rel="alternate" type="text/html" href="https://wiki.flbk-hamm.de/index.php?title=Sequenzdiagramm&amp;diff=2894"/>
		<updated>2026-06-05T05:29:24Z</updated>

		<summary type="html">&lt;p&gt;Flbkwikiadmin: /* Zeitliche Ordnung der Ereignisse */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Einführung ==&lt;br /&gt;
Die [[UML]] kennt insgesamt 14 Diagrammtypen. Ein Sequenzdiagramm ist ein Diagrammtyp der UML. Das Wort Sequenz beschreibt laut Duden eine Reihenfolge oder kurz Folge von Dingen. In Sequenzdiagrammen wird eine zeitliche Folge von Kommunikationsbeziehungen zwischen [[Objekt|Objekten]] grafisch dargestellt. Eine Kommunikationsbeziehung ist das Senden einer Nachricht von einem [[Objekt]] zu einem anderen. Denn [[Objekt|Objekte]] tauschen Nachrichten aus, um miteinander zu kommunizieren (Heide Balzert: Lehrbuch der Objektmodellierung. Analyse und Entwurf S. 71 ff).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Was zeigt ein Sequenzdiagramm?&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Interaktionen:&#039;&#039;&#039; Es visualisiert, wie [[Objekt|Objekte]] miteinander kommunizieren und in welcher Reihenfolge Nachrichten ausgetauscht werden.&lt;br /&gt;
* &#039;&#039;&#039;Zeitliche Abfolge:&#039;&#039;&#039; Die vertikale Achse repräsentiert die Zeit, sodass man den Ablauf der Interaktionen gut nachvollziehen kann.&lt;br /&gt;
* &#039;&#039;&#039;Objekte:&#039;&#039;&#039; Jedes [[Objekt]] wird als eine Lebenslinie dargestellt.&lt;br /&gt;
* &#039;&#039;&#039;Nachrichten:&#039;&#039;&#039; Nachrichten, die zwischen [[Objekt|Objekten]] gesendet werden, sind als Pfeile dargestellt.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Was ist der Hauptzweck?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Der Hauptzweck eines Sequenzdiagramms besteht darin, den Ablauf von Prozessen darzustellen, nicht die konkreten Werte, die bei der Ausführung von [[Methode|Methoden]] zurückgegeben werden.&lt;br /&gt;
Abstraktion: [[Methode#Rückgabeparameter|Rückgabeparameter]] sind oft implementationsspezifische Details, die für das Verständnis des allgemeinen Ablaufs nicht immer relevant sind. Sie können dargestellt werden, falls relevant, müssen es aber nicht.&lt;br /&gt;
&lt;br /&gt;
{{#ev:youtube|-ZswbawGWzg}}&lt;br /&gt;
&lt;br /&gt;
== Grundsätzlicher Aufbau ==&lt;br /&gt;
Ein Sequenzdiagramm besitzt zwei Dimensionen: Die Vertikale repräsentiert die Zeit, auf der Horizontalen werden die [[Objekt|Objekte]] eingetragen. Die zugehörigen [[Klasse|Klassen]] werden mit aufgeführt. Die Lebensdauer eines jeden [[Objekt|Objektes]] wird durch eine gestrichelte Linie – die Lebenslinie oder Objektlinie – dargestellt. Diese Linie repräsentiert die Existenz eines Objekts während einer bestimmten Zeit. &lt;br /&gt;
&lt;br /&gt;
[[Datei:Schematische Darstellung Sequenzdiagramm.png|mini]]&lt;br /&gt;
[[Datei:Beschriftetes Beispiel Sequenzdiagramm.png|mini]]&lt;br /&gt;
&lt;br /&gt;
=== Objekte ===&lt;br /&gt;
Die [[Objekt|Objekte]] werden durch Rechtecke visualisiert. Im [[Instanz|Objekt]] steht der zugehörige [[Klasse]]nname (zum Beispiel Mail). Falls erforderlich, wird auch der Objektname (zum Beispiel Bestellung) aufgeführt. Objektname und Klassenname werden durch einen Doppelpunkt getrennt (zum Beispiel Bestellung: Mail). &lt;br /&gt;
&lt;br /&gt;
Von den Objekten gehen die senkrechten Lebenslinien aus. Sie werden durch gestrichelte Linien dargestellt. Die Nachrichten werden durch waagerechte Pfeile zwischen den Objektlebenslinien beschrieben. Auf diesen Pfeilen werden die Nachrichtennamen in der Form: Nachricht(Argumente) notiert. Die Angabe von Argumenten ist optional.&lt;br /&gt;
&lt;br /&gt;
=== Nachrichten ===&lt;br /&gt;
Durch eine Nachricht wird meist eine [[Methode]] des Empfängers aufgerufen. Hier kann auch die Übergabe von [[Methode#Eingabeparameter|Eingabeparametern]] kenntlich gemacht werden. Es wird zwischen synchronen und asynchronen Nachrichten unterschieden.&lt;br /&gt;
&lt;br /&gt;
[[Datei:Nachrichten im Sequenzdiagramm.png|mini]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Synchrone Nachrichten:&#039;&#039;&#039; Dabei pausiert der aufrufende Kommunikationspartner die Programmfortführung, bis er eine Antwort erhält. Synchrone Nachrichten werden durch einen Pfeil mit gefüllter Spitze dargestellt.&lt;br /&gt;
&lt;br /&gt;
[[Datei:Synchrone und Asychrone Nachrichten.png|mini]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Asynchrone Nachrichten:&#039;&#039;&#039; Dabei führt der Sender sein Programm fort. Trifft die Antwort ein, wird der Programmfluss unterbrochen und die Antwort verarbeitet. Sie werden durch einen Pfeil mit offener Spitze dargestellt. &lt;br /&gt;
&lt;br /&gt;
=== Antworten ===&lt;br /&gt;
Die Darstellung der Antworten ist optional. Antworten werden durch eine gestrichelte Linie mit offener Pfeilspitze dargestellt. Das Erzeugen und Entfernen von Objekten kann in Sequenzdiagrammen ebenfalls dargestellt werden. Die [[Konstruktor|Konstruktion]] eines neuen Objektes wird durch eine Nachricht, die auf den Kopf des Objektsymbols trifft, angezeigt. &lt;br /&gt;
&lt;br /&gt;
Die Entscheidung, ob Antworten in einem Sequenzdiagramm dargestellt werden, ist eine gestalterische Entscheidung, die vom jeweiligen Anwendungsfall abhängt. Es gibt keine strikten Regeln, sondern vielmehr Richtlinien, die es ermöglichen, klare und aussagekräftige Diagramme zu erstellen. &lt;br /&gt;
&lt;br /&gt;
=== Statische Aufrufe ===&lt;br /&gt;
Statische (static) Methodenaufrufe werden mit unterstrichenem Methodennamen dargestellt. Der Aufruf erfolgt dann auf einer [[Klasse]] und nicht auf einem [[Objekt]]. &lt;br /&gt;
&lt;br /&gt;
=== Dekonstruktion ===&lt;br /&gt;
Die Destruktion bzw. Zerstörung eines Objektes wird durch ein Kreuz am Ende der Lebenslinie angezeigt.&lt;br /&gt;
&lt;br /&gt;
=== Aktivierung ===&lt;br /&gt;
Die Überlagerung der gestrichelten Lebenslinien durch breite, senkrechte Balken symbolisiert die Aktivierung, d. h. es zeigt, welches Objekt gerade aktiv ist und somit für den Kontrollfluss des Programms verantwortlich ist.&lt;br /&gt;
&lt;br /&gt;
=== Kontrollstrukturen ===&lt;br /&gt;
[[Datei:Bespiel Kontrollstrukturen im Sequenzdiagramm.png|mini]]&lt;br /&gt;
Auch [[Kontrollstruktur|Kontrollstrukturen]] lassen sich durch ein Sequenzdiagramm darstellen (siehe Zeichnung). &lt;br /&gt;
&lt;br /&gt;
==== Verzweigung ====&lt;br /&gt;
Der mit alt (für alternative) markierte Block beschreibt eine Alternative ([[Verzweigung]]). Ist die Bedingung [b=wahr] erfüllt, wird der Bereich oberhalb der gestrichelten Linie in dem alt-Block ausgeführt. Im else-Fall wird der Bereich unterhalb der gestrichelten Linie ausgeführt.&lt;br /&gt;
&lt;br /&gt;
==== Schleife ====&lt;br /&gt;
Der Teil des Sequenzdiagramms, der sich im Kasten mit dem Titel [[Schleife|loop]] befindet, wird solange ausgeführt, solange die Ausführbedingung in den eckigen Klammern [] wahr ist.&lt;br /&gt;
&lt;br /&gt;
== Zeitliche Ordnung der Ereignisse ==&lt;br /&gt;
Ein Sequenzdiagramm beschreibt das Verhalten eines Systems, indem es die zeitliche Ordnung von Ereignisauftritten spezifiziert. Nicht der präzise Zeitpunkt, wann ein Ereignis auftritt, ist dabei ausschlaggebend, sondern welche Ereignisse vor und welche nach einem bestimmten Ereignisauftritt auftreten müssen (Quelle: https://de.wikipedia.org/wiki/Sequenzdiagramm).&lt;br /&gt;
&lt;br /&gt;
[[Datei:Zeitliche Eindordnung Nachrichten im Sequenzdiagramm.png|mini]]&lt;br /&gt;
&lt;br /&gt;
Die Abbildung rechts zeigt ein Sequenzdiagramm mit zwei synchronen Operationsaufrufen. Blau eingekreist sind die vier Ereignisauftritte. S1 und E1 stehen für das Sende- und das Empfangs-Nachricht-Ereignis für die Nachricht m1, S2 und E2 für die entsprechenden Ereignisse, die mit m2 in Verbindung stehen. Die Zeitachse läuft in einem Sequenzdiagramm von oben nach unten, sollte aber nicht als absolute Zeit verstanden werden.&lt;br /&gt;
&lt;br /&gt;
Zu den Ereignisauftritten in diesem Sequenzdiagramm lassen sich folgende Aussagen machen:&lt;br /&gt;
* E1 tritt nach S1 auf, weil das Empfangs- immer nach dem Sende-Nachricht-Ereignis vorkommt. Analog tritt E2 nach S2 auf.&lt;br /&gt;
* S2 tritt nach S1 auf, weil S2 unter S1 gezeichnet ist.&lt;br /&gt;
&lt;br /&gt;
Alles in allem modelliert dieses Sequenzdiagramm also eine Interaktion, die durch genau eine Folge von Ereignisauftritten spezifiziert ist: &amp;lt;S1, E1, S2, E2&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Das Sequenzdiagramm in der Abbildung rechts unterscheidet sich nur geringfügig vom vorangehenden Sequenzdiagramm. Der einzige Unterschied besteht darin, dass statt zwei synchronen zwei asynchrone Nachrichten dargestellt sind. Hier gilt weiterhin, dass E1 nach S1 und E2 nach S2 auftritt, weil das Empfangs- immer nach dem Sende-Nachricht-Ereignis vorkommt. Weil es sich um asynchrone Kommunikation handelt, könnte E1 hier jedoch nicht nur vor, sondern auch erst nach S2 oder E2 vorkommen.&lt;br /&gt;
&lt;br /&gt;
Das Sequenzdiagramm spezifiziert also eine Interaktion, in der drei Folgen von Ereignisauftritten zulässig sind: &amp;lt;S1, E1, S2, E2&amp;gt;, &amp;lt;S1, S2, E1, E2&amp;gt; und &amp;lt;S1, S2, E2, E1&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Falls nötig, kann man die zulässigen Abfolgen von Ereignisauftritten mit zusätzlichen Ordnungsbeziehungen einschränken. Eine Ordnungsbeziehung spezifiziert nicht eine Nachricht, die zwischen zwei Lebenslinien ausgetauscht wird, sondern die Tatsache, dass ein Ereignisauftritt nach einem anderen Ereignisauftritt vorkommen muss. Im Beispiel modelliert die Ordnungsbeziehung, dass S2 immer nach E1 erfolgt.&lt;br /&gt;
&lt;br /&gt;
Mit dieser zusätzlichen Einschränkung stellt dieses Sequenzdiagramm erneut eine Interaktion mit genau einer zulässigen Folge dar: &amp;lt;S1, E1, S2, E2&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Modellierung]]&lt;br /&gt;
[[Kategorie:Programmierung]]&lt;br /&gt;
[[Kategorie:FI_I_TP2]]&lt;br /&gt;
[[Kategorie:AHR_I_Informatik_LK]]&lt;/div&gt;</summary>
		<author><name>Flbkwikiadmin</name></author>
	</entry>
	<entry>
		<id>https://wiki.flbk-hamm.de/index.php?title=Signifikanztest&amp;diff=2893</id>
		<title>Signifikanztest</title>
		<link rel="alternate" type="text/html" href="https://wiki.flbk-hamm.de/index.php?title=Signifikanztest&amp;diff=2893"/>
		<updated>2026-05-30T06:26:44Z</updated>

		<summary type="html">&lt;p&gt;Flbkwikiadmin: /* Qualitätskontrolle mit 20 Teilen (Rechtsseitiger Signifikanztest) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ein &#039;&#039;&#039;Signifikanztest&#039;&#039;&#039; ist ein Werkzeug der Wahrscheinlichkeitsrechnung, mit dem überprüft wird, ob eine getroffene Annahme über eine [[Zufallsvariable]] auf Grundlage einer [[Häufigkeit#Statistische_Begriffe|Stichprobe]] beibehalten oder verworfen werden sollte.&lt;br /&gt;
&lt;br /&gt;
==Null- und Gegenhypothese==  &lt;br /&gt;
Für die Durchführung eines Signifikanztests werden zwei Hypothesen formuliert:&lt;br /&gt;
&lt;br /&gt;
* Die &#039;&#039;&#039;Nullhypothese&#039;&#039;&#039; &amp;lt;math&amp;gt;H_0&amp;lt;/math&amp;gt;: Sie beschreibt die Ausgangsannahme über die [[Zufallsvariable]] und wird solange als gültig betrachtet, bis sie durch den Test widerlegt wird.&lt;br /&gt;
* Die &#039;&#039;&#039;Gegenhypothese&#039;&#039;&#039; oder &#039;&#039;&#039;Alternativhypothese&#039;&#039;&#039; &amp;lt;math&amp;gt;H_1&amp;lt;/math&amp;gt;: Sie stellt die Alternative zu &amp;lt;math&amp;gt;H_0&amp;lt;/math&amp;gt; dar und wird angenommen, wenn genügend Hinweise vorliegen, dass &amp;lt;math&amp;gt;H_0&amp;lt;/math&amp;gt; nicht zutrifft.&lt;br /&gt;
&lt;br /&gt;
==Definition==  &lt;br /&gt;
Ein &#039;&#039;&#039;Signifikanztest&#039;&#039;&#039; überprüft auf Basis der Wahrscheinlichkeitsverteilung einer [[Zufallsvariable]], ob die Nullhypothese &amp;lt;math&amp;gt;H_0&amp;lt;/math&amp;gt; auf einem vorgegebenen &#039;&#039;&#039;Signifikanzniveau&#039;&#039;&#039; &amp;lt;math&amp;gt;\alpha&amp;lt;/math&amp;gt; verworfen wird.  &lt;br /&gt;
&lt;br /&gt;
* Wird &amp;lt;math&amp;gt;H_0&amp;lt;/math&amp;gt; verworfen, spricht man von einem &#039;&#039;&#039;signifikanten Ergebnis&#039;&#039;&#039;.  &lt;br /&gt;
* Wird &amp;lt;math&amp;gt;H_0&amp;lt;/math&amp;gt; nicht verworfen, reichen die vorliegenden Daten nicht aus, um &amp;lt;math&amp;gt;H_1&amp;lt;/math&amp;gt; zu stützen.&lt;br /&gt;
&lt;br /&gt;
==Einseitiger Signifikanztest==  &lt;br /&gt;
Beim &#039;&#039;&#039;einseitigen Signifikanztest&#039;&#039;&#039; wird nur eine Abweichung in eine Richtung untersucht.  &lt;br /&gt;
Die Zufallsvariable &amp;lt;math&amp;gt;X&amp;lt;/math&amp;gt; folgt unter der Nullhypothese einer bekannten Verteilung, z. B. einer [[Binomialverteilung]].  &lt;br /&gt;
&lt;br /&gt;
* Wird eine Abweichung nach oben untersucht, so sprechen wir von einem &#039;&#039;&#039;rechtsseitigen Signifikanztest&#039;&#039;&#039;.&lt;br /&gt;
* Wird eine Abweichung nach unten untersucht, so sprechen wir von einem &#039;&#039;&#039;linksseitigen Signifikanztest&#039;&#039;&#039;.&lt;br /&gt;
* Der Bereich, in dem &amp;lt;math&amp;gt;H_0&amp;lt;/math&amp;gt; nicht verworfen wird, heißt &#039;&#039;&#039;Annahmebereich&#039;&#039;&#039;.  &lt;br /&gt;
* Der Bereich, in dem &amp;lt;math&amp;gt;H_0&amp;lt;/math&amp;gt; verworfen wird, heißt &#039;&#039;&#039;Verwerfungsbereich&#039;&#039;&#039;.  &lt;br /&gt;
* Der Wert, der den Übergang zwischen Annahme- und Verwerfungsbereich angibt und im Annahmebereich liegt, wird &#039;&#039;&#039;kritische Zahl&#039;&#039;&#039; genannt.  &lt;br /&gt;
* Die Wahrscheinlichkeit, dass das Testergebnis fälschlicherweise im Verwerfungsbereich liegt, wird &#039;&#039;&#039;Irrtumswahrscheinlichkeit&#039;&#039;&#039; oder &#039;&#039;&#039;Signifikanzniveau&#039;&#039;&#039; &amp;lt;math&amp;gt;\alpha&amp;lt;/math&amp;gt; genannt.&lt;br /&gt;
&lt;br /&gt;
==Fehler 1. Art==  &lt;br /&gt;
Ein &#039;&#039;&#039;Fehler 1. Art (&amp;lt;math&amp;gt;\alpha-Fehler&amp;lt;/math&amp;gt;)&#039;&#039;&#039; tritt auf, wenn die Nullhypothese &amp;lt;math&amp;gt;H_0&amp;lt;/math&amp;gt; abgelehnt wird, obwohl sie in Wirklichkeit zutrifft.  &lt;br /&gt;
Die Wahrscheinlichkeit für diesen Fehler entspricht dem Signifikanzniveau &amp;lt;math&amp;gt;\alpha&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Fehler 2. Art==  &lt;br /&gt;
Ein &#039;&#039;&#039;Fehler 2. Art (&amp;lt;math&amp;gt;\beta-Fehler&amp;lt;/math&amp;gt;)&#039;&#039;&#039; tritt auf, wenn die Nullhypothese &amp;lt;math&amp;gt;H_0&amp;lt;/math&amp;gt; beibehalten wird, obwohl sie in Wirklichkeit falsch ist.  &lt;br /&gt;
Die Wahrscheinlichkeit für diesen Fehler wird mit &amp;lt;math&amp;gt;\beta&amp;lt;/math&amp;gt; bezeichnet. Dieser kann bei Signifikanztests nicht berechnen werden, da für die Alternativhypothese keine Wahrscheinlichkeit gegeben ist.&lt;br /&gt;
&lt;br /&gt;
== Anwendungen ==&lt;br /&gt;
&lt;br /&gt;
*Qualitätskontrollen in der industriellen Fertigung&lt;br /&gt;
*Risikoabschätzung in Versicherungen&lt;br /&gt;
*Analyse von Produktionsprozessen&lt;br /&gt;
*Überprüfung von Hypothesen in betriebswirtschaftlichen Modellen&lt;br /&gt;
&lt;br /&gt;
== Beispiele ==&lt;br /&gt;
&lt;br /&gt;
=== Qualitätskontrolle mit 20 Teilen (Rechtsseitiger Signifikanztest)===&lt;br /&gt;
&amp;lt;html&amp;gt;&amp;lt;iframe width=&amp;quot;280&amp;quot; height=&amp;quot;157.5&amp;quot; src=&amp;quot;https://www.youtube.com/embed/GoFBcIUYvoY?si=l8gBziqVW2u_iCMr&amp;quot; title=&amp;quot;YouTube video player&amp;quot; frameborder=&amp;quot;0&amp;quot; allow=&amp;quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share&amp;quot; referrerpolicy=&amp;quot;strict-origin-when-cross-origin&amp;quot; allowfullscreen&amp;gt;&amp;lt;/iframe&amp;gt;&amp;lt;/iframe&amp;gt;&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Eine Maschine produziert in Serie Teile. Es wird eine Stichprobe von &amp;lt;math&amp;gt;n=20&amp;lt;/math&amp;gt; Teilen gezogen. Die binomialverteilte Zufallsvariable &amp;lt;math&amp;gt;X&amp;lt;/math&amp;gt; gibt an, wie viele fehlerhafte Teile in der Stichprobe gefunden wurden. &lt;br /&gt;
* Nullhypothese: &amp;lt;math&amp;gt;H_0: p = 0,05&amp;lt;/math&amp;gt; (Fehlerquote beträgt 5 %).  &lt;br /&gt;
* Alternativhypothese: &amp;lt;math&amp;gt;H_1: p &amp;gt; 0,05&amp;lt;/math&amp;gt; (Fehlerquote ist größer als 5 %).  &lt;br /&gt;
&lt;br /&gt;
Es soll auf einem Signifikanzniveau von &amp;lt;math&amp;gt;\alpha = 0,05&amp;lt;/math&amp;gt; getestet werden, ob die Maschine zu viele fehlerhafte Teile produziert.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1. Erwartungswert und Annahmebereich:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Der Erwartungswert unter &amp;lt;math&amp;gt;H_0&amp;lt;/math&amp;gt; ist&lt;br /&gt;
:&amp;lt;math&amp;gt;\operatorname{E}(X) = n \cdot p_0 = 20 \cdot 0,05 = 1&amp;lt;/math&amp;gt;.  &lt;br /&gt;
&lt;br /&gt;
Der Annahmebereich umfasst alle Werte &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;, für die &amp;lt;math&amp;gt;P(X \ge k) &amp;gt; 0,05&amp;lt;/math&amp;gt; gilt.  &lt;br /&gt;
Die kleinste Zahl &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; mit &amp;lt;math&amp;gt;P(X &amp;gt; k) \le 0,05&amp;lt;/math&amp;gt; ist die kritische Zahl, sie markiert den Übergang und liegt noch im Annahmebereich.  &lt;br /&gt;
Berechnung:  &lt;br /&gt;
:&amp;lt;math&amp;gt;P(X &amp;gt; 2) = 1 - P(X \le 2) \approx 0,076 &amp;gt; 0,05&amp;lt;/math&amp;gt;&lt;br /&gt;
:&amp;lt;math&amp;gt;P(X &amp;gt; 3) = 1 - P(X \le 3) \approx 0,016 \le 0,05&amp;lt;/math&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
→ Kritische Zahl: &amp;lt;math&amp;gt;k = 3&amp;lt;/math&amp;gt;  &lt;br /&gt;
* Annahmebereich: &amp;lt;math&amp;gt;\{0;1;2;3\}&amp;lt;/math&amp;gt;  &lt;br /&gt;
* Verwerfungsbereich: &amp;lt;math&amp;gt;\{4;5;\dots;20\}&amp;lt;/math&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2. Beobachtung:&#039;&#039;&#039;  &lt;br /&gt;
&amp;lt;math&amp;gt;X = 2&amp;lt;/math&amp;gt;, d. h. in der 20-teiligen Stichprobe wurden 2 fehlerhafte Teile gefunden. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3. Entscheidung:&#039;&#039;&#039;  &lt;br /&gt;
Es gilt &amp;lt;math&amp;gt;P(X \ge 2) \approx 0,264 &amp;gt; 0,05&amp;lt;/math&amp;gt;, d. h. die Wahrscheinlichkeit 2 oder mehr fehlerhafte Teile zu finden, ist deutlich größer als das Signifikanzniveau &amp;lt;math&amp;gt;\alpha=0,05&amp;lt;/math&amp;gt;. Liegt eine Fehlerquote von 5 % vor, ist es nicht ungewöhnlich 2 oder mehr fehlerhafte Teile zu finden. &amp;lt;math&amp;gt;H_0&amp;lt;/math&amp;gt; wird nicht verworfen. Diese Entscheidung wird für alle Werte im Annahmebereich getroffen.&lt;br /&gt;
&lt;br /&gt;
=== Qualitätskontrolle mit 50 Teilen (Rechtsseitiger Signifikanztest)===&lt;br /&gt;
Eine Maschine produziert in Serie Teile. Eine Stichprobe von &amp;lt;math&amp;gt;n=50&amp;lt;/math&amp;gt; Teilen wird gezogen. Die binomialverteilte Zufallsvariable &amp;lt;math&amp;gt;X&amp;lt;/math&amp;gt; gibt an, wie viele fehlerhafte Teile in der Stichprobe gefunden wurden.  &lt;br /&gt;
* Nullhypothese: &amp;lt;math&amp;gt;H_0: p = 0,02&amp;lt;/math&amp;gt; (Fehlerquote beträgt 2 %).  &lt;br /&gt;
* Alternativhypothese: &amp;lt;math&amp;gt;H_1: p &amp;gt; 0,02&amp;lt;/math&amp;gt; (Fehlerquote ist größer als 2 %).  &lt;br /&gt;
&lt;br /&gt;
Es soll auf einem Signifikanzniveau von &amp;lt;math&amp;gt;\alpha = 0,05&amp;lt;/math&amp;gt; getestet werden.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1. Erwartungswert und Annahmebereich:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Der Erwartungswert unter &amp;lt;math&amp;gt;H_0&amp;lt;/math&amp;gt; ist&lt;br /&gt;
:&amp;lt;math&amp;gt;\operatorname{E}(X) = 50 \cdot 0,02 = 1&amp;lt;/math&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
Berechnung der kritischen Zahl:  &lt;br /&gt;
Der Annahmebereich umfasst alle Werte &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;, für die &amp;lt;math&amp;gt;P(X \ge k) &amp;gt; 0,05&amp;lt;/math&amp;gt; gilt.&lt;br /&gt;
Die kleinste Zahl &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; mit &amp;lt;math&amp;gt;P(X &amp;gt; k) \le 0,05&amp;lt;/math&amp;gt; ist die kritische Zahl, sie markiert den Übergang und liegt noch im Annahmebereich.  &lt;br /&gt;
:&amp;lt;math&amp;gt;P(X &amp;gt; 3) = 1 - P(X \le 3) \approx 0,018 \le 0,05&amp;lt;/math&amp;gt;  &lt;br /&gt;
:&amp;lt;math&amp;gt;P(X \ge 3) = 1 - P(X \le 2) \approx 0,078 &amp;gt; 0,05&amp;lt;/math&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
→ Kritische Zahl: &amp;lt;math&amp;gt;k = 3&amp;lt;/math&amp;gt;  &lt;br /&gt;
* Annahmebereich: &amp;lt;math&amp;gt;\{0;1;2;3\}&amp;lt;/math&amp;gt;  &lt;br /&gt;
* Verwerfungsbereich: &amp;lt;math&amp;gt;\{4;5;\dots;50\}&amp;lt;/math&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2. Beobachtung:&#039;&#039;&#039;  &lt;br /&gt;
&amp;lt;math&amp;gt;X = 3&amp;lt;/math&amp;gt;, d. h. in der 50-teiligen Stichprobe wurden 3 fehlerhafte Teile gefunden.  &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3. Entscheidung:&#039;&#039;&#039;  &lt;br /&gt;
Es gilt &amp;lt;math&amp;gt;P(X \ge 3) \approx 0,078 &amp;gt; 0,05&amp;lt;/math&amp;gt;. Damit liegt das Ergebnis noch im Annahmebereich. Die Wahrscheinlichkeit, 3 oder mehr fehlerhafte Teile zu finden, ist mit knapp 7,8 % größer als das Signifikanzniveau &amp;lt;math&amp;gt;\alpha=0,05&amp;lt;/math&amp;gt;. &amp;lt;math&amp;gt;H_0&amp;lt;/math&amp;gt; wird nicht verworfen. Diese Entscheidung wird für alle Werte im Annahmebereich getroffen.&lt;br /&gt;
&lt;br /&gt;
=== Münzwurf-Experiment (Linksseitiger Signifikanztest)===&lt;br /&gt;
Eine Münze wird &amp;lt;math&amp;gt;n=40&amp;lt;/math&amp;gt;-mal geworfen. Die binomialverteilte Zufallsvariable &amp;lt;math&amp;gt;X&amp;lt;/math&amp;gt; gibt an, wie häufig Kopf geworfen wird.&lt;br /&gt;
* Nullhypothese: &amp;lt;math&amp;gt;H_0: p = 0,5&amp;lt;/math&amp;gt; (Die Wahrscheinlichkeit für Kopf ist 50 %, d. h. die Münze ist fair).  &lt;br /&gt;
* Alternativhypothese: &amp;lt;math&amp;gt;H_1: p &amp;lt; 0,5&amp;lt;/math&amp;gt; (Die Münze fällt seltener auf Kopf).  &lt;br /&gt;
&lt;br /&gt;
Es soll auf einem Signifikanzniveau von &amp;lt;math&amp;gt;\alpha = 0,05&amp;lt;/math&amp;gt; getestet werden.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1. Erwartungswert und Annahmebereich:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Der Erwartungswert unter &amp;lt;math&amp;gt;H_0&amp;lt;/math&amp;gt; ist:&lt;br /&gt;
:&amp;lt;math&amp;gt;\operatorname{E}(X) = 40 \cdot 0,5 = 20&amp;lt;/math&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
Berechnung der kritischen Zahl:  &lt;br /&gt;
Bei einem linksseitigen Test markiert die größte Zahl &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;, für die &amp;lt;math&amp;gt;P(X \le k) \le 0,05&amp;lt;/math&amp;gt; gilt, das Ende des Verwerfungsbereichs. &lt;br /&gt;
Die darauf folgende Zahl ist die kritische Zahl, sie markiert den Übergang und liegt im Annahmebereich.&lt;br /&gt;
:&amp;lt;math&amp;gt;P(X \le 14) \approx 0,040 \le 0,05&amp;lt;/math&amp;gt;  &lt;br /&gt;
:&amp;lt;math&amp;gt;P(X \le 15) \approx 0,077 &amp;gt; 0,05&amp;lt;/math&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
→ Kritische Zahl: &amp;lt;math&amp;gt;k = 15&amp;lt;/math&amp;gt;  &lt;br /&gt;
* Verwerfungsbereich: &amp;lt;math&amp;gt;\{0;1;\dots;14\}&amp;lt;/math&amp;gt;  &lt;br /&gt;
* Annahmebereich: &amp;lt;math&amp;gt;\{15;16;\dots;40\}&amp;lt;/math&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2. Beobachtung:&#039;&#039;&#039;  &lt;br /&gt;
&amp;lt;math&amp;gt;X = 14&amp;lt;/math&amp;gt;, d. h. bei 40 Würfen trat 14-mal Kopf auf.  &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3. Entscheidung:&#039;&#039;&#039;  &lt;br /&gt;
Es gilt &amp;lt;math&amp;gt;P(X \le 14) \approx 0,040 \le 0,05&amp;lt;/math&amp;gt;. Damit fällt das Ergebnis in den Verwerfungsbereich. Unter &amp;lt;math&amp;gt;H_0&amp;lt;/math&amp;gt; ist es extrem ungewöhnlich (Wahrscheinlichkeit von ca. 4 %), höchstens 14-mal Kopf zu beobachten. &amp;lt;math&amp;gt;H_0&amp;lt;/math&amp;gt; wird verworfen. Diese Entscheidung wird für alle Werte im Verwerfungsbereich getroffen.&lt;br /&gt;
&lt;br /&gt;
=== Produktionskontrolle mit Glühlampen (Linksseitiger Signifikanztest)===&lt;br /&gt;
Ein Hersteller überprüft die Lebensdauer von Glühlampen. Es gilt &amp;lt;math&amp;gt;n=30&amp;lt;/math&amp;gt;. Die binomialverteilte Zufallsvariable &amp;lt;math&amp;gt;X&amp;lt;/math&amp;gt; gibt an, wie viele Lampen in der Stichprobe ausfallen.  &lt;br /&gt;
* Nullhypothese: &amp;lt;math&amp;gt;H_0: p = 0,1&amp;lt;/math&amp;gt; (Die Ausfallrate beträgt 10 %).  &lt;br /&gt;
* Alternativhypothese: &amp;lt;math&amp;gt;H_1: p &amp;lt; 0,1&amp;lt;/math&amp;gt; (Die Ausfallrate ist kleiner als 10 %).  &lt;br /&gt;
&lt;br /&gt;
Es soll auf einem Signifikanzniveau von &amp;lt;math&amp;gt;\alpha = 0,05&amp;lt;/math&amp;gt; getestet werden.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1. Erwartungswert und Annahmebereich:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Der Erwartungswert unter &amp;lt;math&amp;gt;H_0&amp;lt;/math&amp;gt; ist&lt;br /&gt;
:&amp;lt;math&amp;gt;\operatorname{E}(X) = 30 \cdot 0,1 = 3&amp;lt;/math&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
Berechnung der kritischen Zahl:  &lt;br /&gt;
Bei einem linksseitigen Test markiert die größte Zahl &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;, für die &amp;lt;math&amp;gt;P(X \le k) \le 0,05&amp;lt;/math&amp;gt; gilt, das Ende des Verwerfungsbereichs. &lt;br /&gt;
Die darauf folgende Zahl ist die kritische Zahl, sie markiert den Übergang und liegt im Annahmebereich. &lt;br /&gt;
:&amp;lt;math&amp;gt;P(X \le 0) \approx 0,042 \le 0,05&amp;lt;/math&amp;gt;  &lt;br /&gt;
:&amp;lt;math&amp;gt;P(X \le 1) \approx 0,184 &amp;gt; 0,05&amp;lt;/math&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
→ Kritische Zahl: &amp;lt;math&amp;gt;k = 1&amp;lt;/math&amp;gt;  &lt;br /&gt;
* Verwerfungsbereich: &amp;lt;math&amp;gt;\{0\}&amp;lt;/math&amp;gt;  &lt;br /&gt;
* Annahmebereich: &amp;lt;math&amp;gt;\{1;2;\dots;30\}&amp;lt;/math&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2. Beobachtung:&#039;&#039;&#039;  &lt;br /&gt;
&amp;lt;math&amp;gt;X = 2&amp;lt;/math&amp;gt;, d. h. in der 30-teiligen Stichprobe sind 2 Lampen ausgefallen.  &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3. Entscheidung:&#039;&#039;&#039;  &lt;br /&gt;
Es gilt &amp;lt;math&amp;gt;P(X \le 2) \approx 0,411 &amp;gt; 0,05&amp;lt;/math&amp;gt;. Damit liegt das Ergebnis im Annahmebereich. Unter &amp;lt;math&amp;gt;H_0&amp;lt;/math&amp;gt; ist es mit einer Wahrscheinlichkeit von ca. 41,1 % überhaupt nicht ungewöhnlich, höchstens 2 ausgefalle Lampen zu beobachten. &amp;lt;math&amp;gt;H_0&amp;lt;/math&amp;gt; wird nicht verworfen. Diese Entscheidung wird für alle Werte im Annahmebereich getroffen.  &lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Wahrscheinlichkeitsrechnung]]&lt;br /&gt;
[[Kategorie:AHR_WuV_Mathe_GK]]&lt;/div&gt;</summary>
		<author><name>Flbkwikiadmin</name></author>
	</entry>
	<entry>
		<id>https://wiki.flbk-hamm.de/index.php?title=Sequenzdiagramm&amp;diff=2892</id>
		<title>Sequenzdiagramm</title>
		<link rel="alternate" type="text/html" href="https://wiki.flbk-hamm.de/index.php?title=Sequenzdiagramm&amp;diff=2892"/>
		<updated>2026-05-27T10:27:53Z</updated>

		<summary type="html">&lt;p&gt;Flbkwikiadmin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Einführung ==&lt;br /&gt;
Die [[UML]] kennt insgesamt 14 Diagrammtypen. Ein Sequenzdiagramm ist ein Diagrammtyp der UML. Das Wort Sequenz beschreibt laut Duden eine Reihenfolge oder kurz Folge von Dingen. In Sequenzdiagrammen wird eine zeitliche Folge von Kommunikationsbeziehungen zwischen [[Objekt|Objekten]] grafisch dargestellt. Eine Kommunikationsbeziehung ist das Senden einer Nachricht von einem [[Objekt]] zu einem anderen. Denn [[Objekt|Objekte]] tauschen Nachrichten aus, um miteinander zu kommunizieren (Heide Balzert: Lehrbuch der Objektmodellierung. Analyse und Entwurf S. 71 ff).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Was zeigt ein Sequenzdiagramm?&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Interaktionen:&#039;&#039;&#039; Es visualisiert, wie [[Objekt|Objekte]] miteinander kommunizieren und in welcher Reihenfolge Nachrichten ausgetauscht werden.&lt;br /&gt;
* &#039;&#039;&#039;Zeitliche Abfolge:&#039;&#039;&#039; Die vertikale Achse repräsentiert die Zeit, sodass man den Ablauf der Interaktionen gut nachvollziehen kann.&lt;br /&gt;
* &#039;&#039;&#039;Objekte:&#039;&#039;&#039; Jedes [[Objekt]] wird als eine Lebenslinie dargestellt.&lt;br /&gt;
* &#039;&#039;&#039;Nachrichten:&#039;&#039;&#039; Nachrichten, die zwischen [[Objekt|Objekten]] gesendet werden, sind als Pfeile dargestellt.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Was ist der Hauptzweck?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Der Hauptzweck eines Sequenzdiagramms besteht darin, den Ablauf von Prozessen darzustellen, nicht die konkreten Werte, die bei der Ausführung von [[Methode|Methoden]] zurückgegeben werden.&lt;br /&gt;
Abstraktion: [[Methode#Rückgabeparameter|Rückgabeparameter]] sind oft implementationsspezifische Details, die für das Verständnis des allgemeinen Ablaufs nicht immer relevant sind. Sie können dargestellt werden, falls relevant, müssen es aber nicht.&lt;br /&gt;
&lt;br /&gt;
{{#ev:youtube|-ZswbawGWzg}}&lt;br /&gt;
&lt;br /&gt;
== Grundsätzlicher Aufbau ==&lt;br /&gt;
Ein Sequenzdiagramm besitzt zwei Dimensionen: Die Vertikale repräsentiert die Zeit, auf der Horizontalen werden die [[Objekt|Objekte]] eingetragen. Die zugehörigen [[Klasse|Klassen]] werden mit aufgeführt. Die Lebensdauer eines jeden [[Objekt|Objektes]] wird durch eine gestrichelte Linie – die Lebenslinie oder Objektlinie – dargestellt. Diese Linie repräsentiert die Existenz eines Objekts während einer bestimmten Zeit. &lt;br /&gt;
&lt;br /&gt;
[[Datei:Schematische Darstellung Sequenzdiagramm.png|mini]]&lt;br /&gt;
[[Datei:Beschriftetes Beispiel Sequenzdiagramm.png|mini]]&lt;br /&gt;
&lt;br /&gt;
=== Objekte ===&lt;br /&gt;
Die [[Objekt|Objekte]] werden durch Rechtecke visualisiert. Im [[Instanz|Objekt]] steht der zugehörige [[Klasse]]nname (zum Beispiel Mail). Falls erforderlich, wird auch der Objektname (zum Beispiel Bestellung) aufgeführt. Objektname und Klassenname werden durch einen Doppelpunkt getrennt (zum Beispiel Bestellung: Mail). &lt;br /&gt;
&lt;br /&gt;
Von den Objekten gehen die senkrechten Lebenslinien aus. Sie werden durch gestrichelte Linien dargestellt. Die Nachrichten werden durch waagerechte Pfeile zwischen den Objektlebenslinien beschrieben. Auf diesen Pfeilen werden die Nachrichtennamen in der Form: Nachricht(Argumente) notiert. Die Angabe von Argumenten ist optional.&lt;br /&gt;
&lt;br /&gt;
=== Nachrichten ===&lt;br /&gt;
Durch eine Nachricht wird meist eine [[Methode]] des Empfängers aufgerufen. Hier kann auch die Übergabe von [[Methode#Eingabeparameter|Eingabeparametern]] kenntlich gemacht werden. Es wird zwischen synchronen und asynchronen Nachrichten unterschieden.&lt;br /&gt;
&lt;br /&gt;
[[Datei:Nachrichten im Sequenzdiagramm.png|mini]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Synchrone Nachrichten:&#039;&#039;&#039; Dabei pausiert der aufrufende Kommunikationspartner die Programmfortführung, bis er eine Antwort erhält. Synchrone Nachrichten werden durch einen Pfeil mit gefüllter Spitze dargestellt.&lt;br /&gt;
&lt;br /&gt;
[[Datei:Synchrone und Asychrone Nachrichten.png|mini]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Asynchrone Nachrichten:&#039;&#039;&#039; Dabei führt der Sender sein Programm fort. Trifft die Antwort ein, wird der Programmfluss unterbrochen und die Antwort verarbeitet. Sie werden durch einen Pfeil mit offener Spitze dargestellt. &lt;br /&gt;
&lt;br /&gt;
=== Antworten ===&lt;br /&gt;
Die Darstellung der Antworten ist optional. Antworten werden durch eine gestrichelte Linie mit offener Pfeilspitze dargestellt. Das Erzeugen und Entfernen von Objekten kann in Sequenzdiagrammen ebenfalls dargestellt werden. Die [[Konstruktor|Konstruktion]] eines neuen Objektes wird durch eine Nachricht, die auf den Kopf des Objektsymbols trifft, angezeigt. &lt;br /&gt;
&lt;br /&gt;
Die Entscheidung, ob Antworten in einem Sequenzdiagramm dargestellt werden, ist eine gestalterische Entscheidung, die vom jeweiligen Anwendungsfall abhängt. Es gibt keine strikten Regeln, sondern vielmehr Richtlinien, die es ermöglichen, klare und aussagekräftige Diagramme zu erstellen. &lt;br /&gt;
&lt;br /&gt;
=== Statische Aufrufe ===&lt;br /&gt;
Statische (static) Methodenaufrufe werden mit unterstrichenem Methodennamen dargestellt. Der Aufruf erfolgt dann auf einer [[Klasse]] und nicht auf einem [[Objekt]]. &lt;br /&gt;
&lt;br /&gt;
=== Dekonstruktion ===&lt;br /&gt;
Die Destruktion bzw. Zerstörung eines Objektes wird durch ein Kreuz am Ende der Lebenslinie angezeigt.&lt;br /&gt;
&lt;br /&gt;
=== Aktivierung ===&lt;br /&gt;
Die Überlagerung der gestrichelten Lebenslinien durch breite, senkrechte Balken symbolisiert die Aktivierung, d. h. es zeigt, welches Objekt gerade aktiv ist und somit für den Kontrollfluss des Programms verantwortlich ist.&lt;br /&gt;
&lt;br /&gt;
=== Kontrollstrukturen ===&lt;br /&gt;
[[Datei:Bespiel Kontrollstrukturen im Sequenzdiagramm.png|mini]]&lt;br /&gt;
Auch [[Kontrollstruktur|Kontrollstrukturen]] lassen sich durch ein Sequenzdiagramm darstellen (siehe Zeichnung). &lt;br /&gt;
&lt;br /&gt;
==== Verzweigung ====&lt;br /&gt;
Der mit alt (für alternative) markierte Block beschreibt eine Alternative ([[Verzweigung]]). Ist die Bedingung [b=wahr] erfüllt, wird der Bereich oberhalb der gestrichelten Linie in dem alt-Block ausgeführt. Im else-Fall wird der Bereich unterhalb der gestrichelten Linie ausgeführt.&lt;br /&gt;
&lt;br /&gt;
==== Schleife ====&lt;br /&gt;
Der Teil des Sequenzdiagramms, der sich im Kasten mit dem Titel [[Schleife|loop]] befindet, wird solange ausgeführt, solange die Ausführbedingung in den eckigen Klammern [] wahr ist.&lt;br /&gt;
&lt;br /&gt;
== Zeitliche Ordnung der Ereignisse ==&lt;br /&gt;
Ein Sequenzdiagramm beschreibt das Verhalten eines Systems, indem es die zeitliche Ordnung von Ereignisauftritten spezifiziert. Nicht der präzise Zeitpunkt, wann ein Ereignis auftritt, ist dabei ausschlaggebend, sondern welche Ereignisse vor und welche nach einem bestimmten Ereignisauftritt auftreten müssen (Quelle: https://de.wikipedia.org/wiki/Sequenzdiagramm).&lt;br /&gt;
&lt;br /&gt;
[[Datei:Zeitliche Eindordnung Nachrichten im Sequenzdiagramm.png|mini]]&lt;br /&gt;
&lt;br /&gt;
Die Abbildung links zeigt ein Sequenzdiagramm mit zwei synchronen Operationsaufrufen. Blau eingekreist sind die vier Ereignisauftritte. S1 und E1 stehen für das Sende- und das Empfangs-Nachricht-Ereignis für die Nachricht m1, S2 und E2 für die entsprechenden Ereignisse, die mit m2 in Verbindung stehen. Die Zeitachse läuft in einem Sequenzdiagramm von oben nach unten, sollte aber nicht als absolute Zeit verstanden werden.&lt;br /&gt;
&lt;br /&gt;
Zu den Ereignisauftritten in diesem Sequenzdiagramm lassen sich folgende Aussagen machen:&lt;br /&gt;
* E1 tritt nach S1 auf, weil das Empfangs- immer nach dem Sende-Nachricht-Ereignis vorkommt. Analog tritt E2 nach S2 auf.&lt;br /&gt;
* S2 tritt nach S1 auf, weil S2 unter S1 gezeichnet ist.&lt;br /&gt;
&lt;br /&gt;
Alles in allem modelliert dieses Sequenzdiagramm also eine Interaktion, die durch genau eine Folge von Ereignisauftritten spezifiziert ist: &amp;lt;S1, E1, S2, E2&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Das Sequenzdiagramm in der Abbildung links unterscheidet sich nur geringfügig vom vorangehenden Sequenzdiagramm. Der einzige Unterschied besteht darin, dass statt zwei synchronen zwei asynchrone Nachrichten dargestellt sind. Hier gilt weiterhin, dass E1 nach S1 und E2 nach S2 auftritt, weil das Empfangs- immer nach dem Sende-Nachricht-Ereignis vorkommt. Weil es sich um asynchrone Kommunikation handelt, könnte E1 hier jedoch nicht nur vor, sondern auch erst nach S2 oder E2 vorkommen.&lt;br /&gt;
&lt;br /&gt;
Das Sequenzdiagramm spezifiziert also eine Interaktion, in der drei Folgen von Ereignisauftritten zulässig sind: &amp;lt;S1, E1, S2, E2&amp;gt;, &amp;lt;S1, S2, E1, E2&amp;gt; und &amp;lt;S1, S2, E2, E1&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Falls nötig, kann man die zulässigen Abfolgen von Ereignisauftritten mit zusätzlichen Ordnungsbeziehungen einschränken. Eine Ordnungsbeziehung spezifiziert nicht eine Nachricht, die zwischen zwei Lebenslinien ausgetauscht wird, sondern die Tatsache, dass ein Ereignisauftritt nach einem anderen Ereignisauftritt vorkommen muss. Im Beispiel modelliert die Ordnungsbeziehung, dass S2 immer nach E1 erfolgt.&lt;br /&gt;
&lt;br /&gt;
Mit dieser zusätzlichen Einschränkung stellt dieses Sequenzdiagramm erneut eine Interaktion mit genau einer zulässigen Folge dar: &amp;lt;S1, E1, S2, E2&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Modellierung]]&lt;br /&gt;
[[Kategorie:Programmierung]]&lt;br /&gt;
[[Kategorie:FI_I_TP2]]&lt;br /&gt;
[[Kategorie:AHR_I_Informatik_LK]]&lt;/div&gt;</summary>
		<author><name>Flbkwikiadmin</name></author>
	</entry>
	<entry>
		<id>https://wiki.flbk-hamm.de/index.php?title=Anwendungsfalldiagramm&amp;diff=2891</id>
		<title>Anwendungsfalldiagramm</title>
		<link rel="alternate" type="text/html" href="https://wiki.flbk-hamm.de/index.php?title=Anwendungsfalldiagramm&amp;diff=2891"/>
		<updated>2026-05-27T08:59:24Z</updated>

		<summary type="html">&lt;p&gt;Flbkwikiadmin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Einführung ==&lt;br /&gt;
Die [[Unified Modeling Language]] (Vereinheitlichte Modellierungssprache), kurz &#039;&#039;&#039;UML&#039;&#039;&#039;, ist eine standardisierte grafische Modellierungssprache zur Beschreibung, Spezifikation und Dokumentation von Anforderungen und Softwarearchitekturen. Das &#039;&#039;&#039;Anwendungsfalldiagramm&#039;&#039;&#039; (engl. &#039;&#039;&#039;Use Case Diagramm&#039;&#039;&#039;) ist ein elementares Verhaltensdiagramm der UML.&lt;br /&gt;
&lt;br /&gt;
Ziel des Anwendungsfalldiagramms ist es, in der Analysephase (Requirements Engineering) die funktionalen Anforderungen des Auftraggebers aus fachlicher Sicht für alle Beteiligten verständlich, übersichtlich und vollständig zu modellieren. Es dient als zentrales Kommunikationsmittel, um barrierefrei zwischen potenziellen Anwendern, Auftraggebern (Fachseite) und Auftragnehmern (Entwicklungsteam) zu vermitteln. Als strukturierte funktionale Anforderungsbeschreibung sind Anwendungsfalldiagramme ein fester Bestandteil des [[Lastenheft]]s und bilden die primäre Grundlage für das [[Pflichtenheft]].&lt;br /&gt;
&lt;br /&gt;
Das Anwendungsfalldiagramm besteht aus drei wesentlichen Elementen:&lt;br /&gt;
# &#039;&#039;&#039;Akteure (engl. &#039;&#039;actors&#039;&#039;):&#039;&#039;&#039; Sie identifizieren die externen Benutzer oder Systeme, die mit dem System interagieren. Jeder Akteur repräsentiert eine &#039;&#039;&#039;Rolle&#039;&#039;&#039; und keine konkrete Person.&lt;br /&gt;
# &#039;&#039;&#039;Anwendungsfälle (engl. &#039;&#039;use cases&#039;&#039;):&#039;&#039;&#039; Sie beschreiben die vom System angebotenen Funktionalitäten und Aufgaben, die für den Akteur ein Ergebnis von messbarem, fachlichem Wert erzeugen.&lt;br /&gt;
# &#039;&#039;&#039;Beziehungen (engl. &#039;&#039;relations&#039;&#039;):&#039;&#039;&#039; Sie definieren die Kommunikationspfade zwischen Akteuren und Anwendungsfällen sowie die strukturellen Abhängigkeiten der Anwendungsfälle untereinander.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Hinweis zur Abgrenzung:&#039;&#039; Ein Anwendungsfalldiagramm bildet &#039;&#039;&#039;keine&#039;&#039;&#039; zeitlichen, logischen oder prozessualen Abläufe ab. Für die Modellierung von Kontrollflüssen und sequentiellen Prozessen sind stattdessen UML-Aktivitätendiagramme oder Sequenzdiagramme zu verwenden.&lt;br /&gt;
&lt;br /&gt;
== Gesamtbeispiel (Systemkontext) ==&lt;br /&gt;
Ein vollständiges Anwendungsfalldiagramm führt alle Funktionseinheiten innerhalb eines umschließenden &#039;&#039;&#039;Systemrahmens (Systemgrenze / System Boundary)&#039;&#039;&#039; zusammen. Der Rahmen grenzt das zu entwickelnde System strikt von seiner Umwelt ab: Akteure stehen als externe Entitäten immer außerhalb des Systems, während die Anwendungsfälle die interne Funktionalität definieren.&lt;br /&gt;
&lt;br /&gt;
[[Datei:AnwendungsfallSys.png|mini|Gesamtbeispiel eines Use-Case-Diagramms mit Systemgrenze, Akteuren und verknüpften Beziehungen]]&lt;br /&gt;
&lt;br /&gt;
== Notation ==&lt;br /&gt;
Der methodische Aufbau eines standardkonformen Anwendungsfalldiagramms folgt drei sequentiellen Schritten:&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Akteure identifizieren:&#039;&#039;&#039; Es wird festgelegt, welche unterschiedlichen Rollen das System nutzen werden. Menschliche Rollen werden grafisch als Strichmännchen dargestellt, externe Software- oder Hardwaresysteme als Rechtecke mit dem Stereotyp &amp;lt;code&amp;gt;«system»&amp;lt;/code&amp;gt;. Jeder Akteur muss einen eindeutigen, selbsterklärenden Namen im Singular erhalten (z. B. &#039;&#039;Kunde&#039;&#039;, &#039;&#039;Administrator&#039;&#039;). Allgemeine Bezeichnungen wie „User“ oder „Akteur“ sind zu vermeiden, da sie für fast jedes Softwaresystem gültig sind und keine spezifische Rolle beschreiben.&lt;br /&gt;
# &#039;&#039;&#039;Anwendungsfälle definieren:&#039;&#039;&#039; Es wird geklärt, welche fachlichen Ziele das System erfüllen muss. Anwendungsfälle werden als horizontale Ellipsen dargestellt, die eine kurze Inhaltsbeschreibung enthalten. Die Formulierung muss kurz, aussagekräftig und im Infinitiv bzw. im Format &#039;&#039;Subjekt-Prädikat-Objekt&#039;&#039; erfolgen (z. B. &#039;&#039;Artikel suchen&#039;&#039;, &#039;&#039;Passwort zurücksetzen&#039;&#039;).&lt;br /&gt;
# &#039;&#039;&#039;Beziehungen verknüpfen:&#039;&#039;&#039; Erst im letzten Schritt werden die Akteure und Anwendungsfälle über strukturierte Beziehungslinien miteinander verbunden, um die Interaktionskanäle visuell zu definieren.&lt;br /&gt;
&lt;br /&gt;
== Beziehungen ==&lt;br /&gt;
&lt;br /&gt;
=== Assoziation ===&lt;br /&gt;
Assoziationen bilden die grundlegenden Kommunikationspfade zwischen Akteuren und Use Cases. Eine Assoziation signalisiert, dass der verknüpfte Akteur die Aktion des Use Cases ausführen oder mit diesem interagieren kann. Es handelt sich um eine binäre Beziehung, die exakt zwei Elemente miteinander verbindet. Ein einzelner Use Case darf mit mehreren Akteuren und ein einzelner Akteur mit mehreren Use Cases verbunden sein.&lt;br /&gt;
&lt;br /&gt;
==== Ungerichtete Assoziation ====&lt;br /&gt;
Ungerichtete Assoziationen werden als einfache, durchgehende Linie dargestellt. Sie stellt die offenste Form der Interaktion dar und signalisiert einen bidirektionalen Informationsfluss, lässt jedoch die Richtung der Initiierung (wer die Aktion startet) offen.&lt;br /&gt;
&lt;br /&gt;
[[Datei:AnwendungsfallEinweihungsfeier.png|mini|Ungerichtete Assoziation als einfache Verbindungslinie]]&lt;br /&gt;
&lt;br /&gt;
==== Gerichtete Assoziation ====&lt;br /&gt;
Eine gerichtete Assoziation verwendet eine offene Pfeilspitze, um die Navigierbarkeit und den Initiator des Prozesses eindeutig festzulegen. &lt;br /&gt;
* Ein Pfeil, der &#039;&#039;&#039;auf den Use Case gerichtet&#039;&#039;&#039; ist, besagt, dass der Akteur den Anwendungsfall aktiv initiiert.&lt;br /&gt;
* Ein Pfeil, der &#039;&#039;&#039;auf den Akteur zeigt&#039;&#039;&#039;, besagt, dass der Use Case (bzw. das System) die Interaktion zum Akteur hin anstößt (häufig bei sekundären Systemen oder Benachrichtigungsdiensten).&lt;br /&gt;
* Können beide Seiten die Aktion unabhängig voneinander initiieren, werden die Pfeile weggelassen.&lt;br /&gt;
&lt;br /&gt;
[[Datei:AnwendungsfallHotelreservierung.png|mini|Gerichtete Assoziation mit Pfeil zur Kennzeichnung des Initiators]]&lt;br /&gt;
&lt;br /&gt;
=== Multiplizitäten ===&lt;br /&gt;
Multiplizitäten (Kardinalitäten) geben an, wie viele Instanzen eines Akteurs mit wie vielen Instanzen eines Anwendungsfalls in einer konkreten Systeminteraktion in Beziehung stehen können. Sie werden direkt an den Enden der Assoziationslinien notiert.&lt;br /&gt;
&lt;br /&gt;
[[Datei:AnwendungsfallTischtennis.png|mini|Modellierung von Multiplizitäten am Beispiel eines Tischtennis-Rundlaufs]]&lt;br /&gt;
&lt;br /&gt;
Die Multiplizitäten des Beispiels sind gemeldet nach UML-Standard wie folgt zu interpretieren:&lt;br /&gt;
* An einem Tischtennis-Rundlauf (Use Case) sind mindestens 3 Spielerinnen beteiligt. Die Untergrenze ist &amp;lt;code&amp;gt;3&amp;lt;/code&amp;gt;, die Obergrenze ist als &amp;lt;code&amp;gt;*&amp;lt;/code&amp;gt; (beliebig viele) definiert (Notation: &amp;lt;code&amp;gt;3..*&amp;lt;/code&amp;gt;). Jede Spielerin kann jedoch zeitgleich an exakt einem Rundlauf-Spiel teilnehmen (Notation: &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;).&lt;br /&gt;
* An einem Rundlaufspiel können keine oder beliebig viele Schiedsrichterinnen beteiligt sein (Notation: &amp;lt;code&amp;gt;0..*&amp;lt;/code&amp;gt;). Jede Schiedsrichterin kann wiederum an höchstens einem Rundlaufspiel aktiv beteiligt sein (Notation: &amp;lt;code&amp;gt;0..1&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Hinweis für die Praxis:&#039;&#039; Da diese Detailinformationen die Adressaten eines Use-Case-Diagramms häufig überfordern, werden Multiplizitäten hier selten notiert. Ihre zentrale und fundamentale Bedeutung entfalten sie im strukturellen [[Klassendiagramm]].&lt;br /&gt;
&lt;br /&gt;
=== Includes (Inklusion) ===&lt;br /&gt;
Eine &#039;&#039;&#039;Include-Beziehung&#039;&#039;&#039; (dt. &#039;&#039;beinhalten&#039;&#039; oder &#039;&#039;einschließen&#039;&#039;) beschreibt eine zwingende Abhängigkeit zur Vermeidung von funktionaler Redundanz (Wiederverwendung von Use Cases). &lt;br /&gt;
&lt;br /&gt;
Die Beziehung wird durch eine gestrichelte Linie mit einer offenen Pfeilspitze dargestellt, die mit dem Stereotyp &amp;lt;code&amp;gt;«include»&amp;lt;/code&amp;gt; gekennzeichnet ist. Der Pfeil startet immer beim &#039;&#039;&#039;Basis-Use-Case und zeigt in Richtung des zu inkludierenden Use Cases&#039;&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;Semantik:&#039;&#039;&#039; Der inkludierte Anwendungsfall wird &#039;&#039;&#039;immer (zu 100 %)&#039;&#039;&#039; ausgeführt, sobald der Basis-Anwendungsfall aufgerufen wird. Der Basis-Use-Case ist ohne das Inkludat funktional unvollständig.&lt;br /&gt;
&lt;br /&gt;
[[Datei:AnwendungsfallHotelreservierungKomplex.png|mini|Zwingende Include-Beziehung zur Auslagerung gemeinsamer Funktionalitäten]]&lt;br /&gt;
&lt;br /&gt;
=== Extend (Erweiterung) ===&lt;br /&gt;
Eine &#039;&#039;&#039;Extend-Beziehung&#039;&#039;&#039; (dt. &#039;&#039;erweitern&#039;&#039;) beschreibt ein &#039;&#039;&#039;optionales&#039;&#039;&#039; Verhalten, das den Basis-Use-Case nur unter ganz bestimmten Bedingungen ergänzt.&lt;br /&gt;
&lt;br /&gt;
Die Beziehung wird durch eine gestrichelte Linie mit einer offenen Pfeilspitze dargestellt, die mit dem Stereotyp &amp;lt;code&amp;gt;«extend»&amp;lt;/code&amp;gt; gekennzeichnet ist. Die Pfeilrichtung verhält sich umgekehrt zum Include: Der Pfeil startet beim &#039;&#039;&#039;Extension-Use-Case (Erweiterung) und zeigt in Richtung des Basis-Use-Cases&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Der Basis-Use-Case deklariert sogenannte &#039;&#039;&#039;Erweiterungspunkte (Extension Points)&#039;&#039;&#039;, die den präzisen Ort innerhalb des Ablaufs definieren, an dem die Erweiterung eingreifen darf. Grafisch wird hierzu in der Ellipse des Basis-Use-Cases eine horizontale Trennlinie eingezogen, unter der das Schlüsselwort &amp;lt;code&amp;gt;extension points:&amp;lt;/code&amp;gt; gefolgt von den Namen der Punkte steht.&lt;br /&gt;
&lt;br /&gt;
Optional wird an die Extend-Linie über eine fein gestrichelte Linie ein UML-Notizsymbol angeheftet. Dieses enthält das Schlüsselwort &amp;lt;code&amp;gt;Condition:&amp;lt;/code&amp;gt; gefolgt von der logischen Bedingung in geschweiften Klammern &amp;lt;code&amp;gt;{...}&amp;lt;/code&amp;gt; sowie den Verweis auf den zugehörigen Erweiterungspunkt.&lt;br /&gt;
* &#039;&#039;&#039;Semantik:&#039;&#039;&#039; Der Basis-Use-Case ist auch ohne die Erweiterung vollkommen autark lauffähig. Der Extension-Use-Case wird nur dann ausgeführt, wenn die definierte Bedingung am Erweiterungspunkt wahr (true) ist.&lt;br /&gt;
&lt;br /&gt;
[[Datei:AnwendungsfalldiagrammHotelreservierungKomplexErkl.png|mini|Optionale Extend-Beziehung mit expliziten Extension Points und Notizfeld für die Bedingung (Condition)]]&lt;br /&gt;
&lt;br /&gt;
=== Generalisierung (Vererbung) ===&lt;br /&gt;
Zwischen Akteuren untereinander sowie zwischen Anwendungsfällen untereinander kann eine Generalisierungsbeziehung existieren. Sie modelliert eine klassische &#039;&#039;&#039;&amp;quot;Ist-ein&amp;quot;-Beziehung&#039;&#039;&#039;, analog zur Vererbung in der objektorientierten Programmierung.&lt;br /&gt;
&lt;br /&gt;
Die Generalisierung wird grafisch durch eine durchgehende Linie mit einer &#039;&#039;&#039;geschlossenen, hohlen Dreieckspfeilspitze&#039;&#039;&#039; dargestellt. Der Pfeil zeigt immer &#039;&#039;&#039;vom spezialisierten Element (Unterklasse) zum allgemeinen Element (Oberklasse)&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[Datei:AnwendungsfallCD.png|mini|Strukturelle Generalisierung zwischen Akteuren oder Funktionseinheiten]]&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Generalisierung von Akteuren:&#039;&#039;&#039; Im Beispiel ist der Akteur &#039;&#039;Fahrer&#039;&#039; eine Spezialisierung von &#039;&#039;Anwender&#039;&#039;. Der Fahrer erbt bedingungslos alle Fähigkeiten, Use Cases und Attribute des allgemeinen Anwenders (z. B. Stammdaten und die Interaktion mit dem Use Case &#039;&#039;Login durchführen&#039;&#039;), konkretisiert oder erweitert diese Rolle jedoch um spezifische Eigenschaften.&lt;br /&gt;
* &#039;&#039;&#039;Generalisierung von Anwendungsfällen:&#039;&#039;&#039; Ein abstrakter Anwendungsfall wie &#039;&#039;„Medium brennen“&#039;&#039; kann durch spezialisierte Anwendungsfälle wie &#039;&#039;„CD brennen“&#039;&#039; oder &#039;&#039;„DVD brennen“&#039;&#039; geerbt und ausdifferenziert werden.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Modellierung]]&lt;br /&gt;
[[Kategorie:FI_I_SDM]]&lt;br /&gt;
[[Kategorie:AHR_I_Informatik LK]]&lt;/div&gt;</summary>
		<author><name>Flbkwikiadmin</name></author>
	</entry>
</feed>