<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://mediawiki.payns.duckdns.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=ChristianPayns</id>
	<title>MediaWiki Fachinformatiker - Benutzerbeiträge [de]</title>
	<link rel="self" type="application/atom+xml" href="https://mediawiki.payns.duckdns.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=ChristianPayns"/>
	<link rel="alternate" type="text/html" href="https://mediawiki.payns.duckdns.org/index.php/Spezial:Beitr%C3%A4ge/ChristianPayns"/>
	<updated>2026-06-05T18:08:39Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.45.3</generator>
	<entry>
		<id>https://mediawiki.payns.duckdns.org/index.php?title=Kontakt&amp;diff=280</id>
		<title>Kontakt</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.payns.duckdns.org/index.php?title=Kontakt&amp;diff=280"/>
		<updated>2026-05-28T17:43:23Z</updated>

		<summary type="html">&lt;p&gt;ChristianPayns: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Bei Fragen, Problemen oder Hinweisen kannst du dieses Kontaktformular nutzen.&lt;br /&gt;
Die Anfrage wird automatisch an das Payns Helpdesk Ticketsystem weitergeleitet.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;payns-contact-form&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>ChristianPayns</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.payns.duckdns.org/index.php?title=Kontakt&amp;diff=279</id>
		<title>Kontakt</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.payns.duckdns.org/index.php?title=Kontakt&amp;diff=279"/>
		<updated>2026-05-28T17:40:28Z</updated>

		<summary type="html">&lt;p&gt;ChristianPayns: Die Seite wurde neu angelegt: „= Kontakt =  Bei Fragen, Problemen oder Hinweisen kannst du dieses Kontaktformular nutzen. Die Anfrage wird automatisch an das Payns Helpdesk Ticketsystem weitergeleitet.  &amp;lt;div id=&amp;quot;payns-contact-form&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Kontakt =&lt;br /&gt;
&lt;br /&gt;
Bei Fragen, Problemen oder Hinweisen kannst du dieses Kontaktformular nutzen.&lt;br /&gt;
Die Anfrage wird automatisch an das Payns Helpdesk Ticketsystem weitergeleitet.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div id=&amp;quot;payns-contact-form&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>ChristianPayns</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.payns.duckdns.org/index.php?title=MediaWiki_Fachinformatiker:Impressum&amp;diff=278</id>
		<title>MediaWiki Fachinformatiker:Impressum</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.payns.duckdns.org/index.php?title=MediaWiki_Fachinformatiker:Impressum&amp;diff=278"/>
		<updated>2026-05-28T17:39:28Z</updated>

		<summary type="html">&lt;p&gt;ChristianPayns: Die Seite wurde neu angelegt: „= Impressum =  == Angaben gemäß § 5 DDG ==  &amp;#039;&amp;#039;&amp;#039;Betreiber:&amp;#039;&amp;#039;&amp;#039;   Christian Payns  &amp;#039;&amp;#039;&amp;#039;Anschrift:&amp;#039;&amp;#039;&amp;#039;   Bronkhorststr. 100 47137 Duisbrurg Deutschland  &amp;#039;&amp;#039;&amp;#039;Kontakt:&amp;#039;&amp;#039;&amp;#039;   E-Mail: helpdeskpayns@gmail.com   Telefon:   &amp;#039;&amp;#039;&amp;#039;Verantwortlich für den Inhalt:&amp;#039;&amp;#039;&amp;#039;   Christian Payns  Bronkhorststr. 100 47137 Duisbrurg  == Kontaktformular ==  Für Support- oder Kontaktanfragen bitte die Seite Kontakt nutzen.“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Impressum =&lt;br /&gt;
&lt;br /&gt;
== Angaben gemäß § 5 DDG ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Betreiber:&#039;&#039;&#039;  &lt;br /&gt;
Christian Payns&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Anschrift:&#039;&#039;&#039;  &lt;br /&gt;
Bronkhorststr. 100&lt;br /&gt;
47137 Duisbrurg&lt;br /&gt;
Deutschland&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kontakt:&#039;&#039;&#039;  &lt;br /&gt;
E-Mail: helpdeskpayns@gmail.com  &lt;br /&gt;
Telefon: &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Verantwortlich für den Inhalt:&#039;&#039;&#039;  &lt;br /&gt;
Christian Payns &lt;br /&gt;
Bronkhorststr. 100&lt;br /&gt;
47137 Duisbrurg&lt;br /&gt;
&lt;br /&gt;
== Kontaktformular ==&lt;br /&gt;
&lt;br /&gt;
Für Support- oder Kontaktanfragen bitte die Seite [[Kontakt]] nutzen.&lt;/div&gt;</summary>
		<author><name>ChristianPayns</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.payns.duckdns.org/index.php?title=MediaWiki:Common.js&amp;diff=277</id>
		<title>MediaWiki:Common.js</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.payns.duckdns.org/index.php?title=MediaWiki:Common.js&amp;diff=277"/>
		<updated>2026-05-28T17:37:19Z</updated>

		<summary type="html">&lt;p&gt;ChristianPayns: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* Das folgende JavaScript wird für alle Benutzer geladen. */&lt;br /&gt;
(function () {&lt;br /&gt;
  var script = document.createElement(&amp;quot;script&amp;quot;);&lt;br /&gt;
  script.src = &amp;quot;https://helpdesk.payns.duckdns.org/static/live-chat-widget.js&amp;quot;;&lt;br /&gt;
  script.dataset.chatUrl = &amp;quot;https://helpdesk.payns.duckdns.org/chat&amp;quot;;&lt;br /&gt;
  script.dataset.label = &amp;quot;Live-Chat&amp;quot;;&lt;br /&gt;
  script.dataset.title = &amp;quot;Payns Helpdesk&amp;quot;;&lt;br /&gt;
  script.defer = true;&lt;br /&gt;
  document.body.appendChild(script);&lt;br /&gt;
})();&lt;br /&gt;
(function () {&lt;br /&gt;
  var script = document.createElement(&amp;quot;script&amp;quot;);&lt;br /&gt;
  script.src = &amp;quot;https://helpdesk.payns.duckdns.org/static/contact-widget.js&amp;quot;;&lt;br /&gt;
  script.dataset.contactUrl = &amp;quot;https://helpdesk.payns.duckdns.org/contact&amp;quot;;&lt;br /&gt;
  script.defer = true;&lt;br /&gt;
  document.body.appendChild(script);&lt;br /&gt;
})();&lt;/div&gt;</summary>
		<author><name>ChristianPayns</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.payns.duckdns.org/index.php?title=MediaWiki:Common.js&amp;diff=276</id>
		<title>MediaWiki:Common.js</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.payns.duckdns.org/index.php?title=MediaWiki:Common.js&amp;diff=276"/>
		<updated>2026-05-28T14:28:22Z</updated>

		<summary type="html">&lt;p&gt;ChristianPayns: Die Seite wurde neu angelegt: „/* Das folgende JavaScript wird für alle Benutzer geladen. */ (function () {   var script = document.createElement(&amp;quot;script&amp;quot;);   script.src = &amp;quot;https://helpdesk.payns.duckdns.org/static/live-chat-widget.js&amp;quot;;   script.dataset.chatUrl = &amp;quot;https://helpdesk.payns.duckdns.org/chat&amp;quot;;   script.dataset.label = &amp;quot;Live-Chat&amp;quot;;   script.dataset.title = &amp;quot;Payns Helpdesk&amp;quot;;   script.defer = true;   document.body.appendChild(script); })();“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* Das folgende JavaScript wird für alle Benutzer geladen. */&lt;br /&gt;
(function () {&lt;br /&gt;
  var script = document.createElement(&amp;quot;script&amp;quot;);&lt;br /&gt;
  script.src = &amp;quot;https://helpdesk.payns.duckdns.org/static/live-chat-widget.js&amp;quot;;&lt;br /&gt;
  script.dataset.chatUrl = &amp;quot;https://helpdesk.payns.duckdns.org/chat&amp;quot;;&lt;br /&gt;
  script.dataset.label = &amp;quot;Live-Chat&amp;quot;;&lt;br /&gt;
  script.dataset.title = &amp;quot;Payns Helpdesk&amp;quot;;&lt;br /&gt;
  script.defer = true;&lt;br /&gt;
  document.body.appendChild(script);&lt;br /&gt;
})();&lt;/div&gt;</summary>
		<author><name>ChristianPayns</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.payns.duckdns.org/index.php?title=Einf%C3%BChrung&amp;diff=275</id>
		<title>Einführung</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.payns.duckdns.org/index.php?title=Einf%C3%BChrung&amp;diff=275"/>
		<updated>2026-05-28T12:34:20Z</updated>

		<summary type="html">&lt;p&gt;ChristianPayns: /* Wie wird C# ausgeführt? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Software zur Verwaltung von Daten anpassen|&amp;lt;span class=&amp;quot;mw-ui-button mw-ui-progressive&amp;quot;&amp;gt;⬅️ Software zur Verwaltung von Daten anpassen&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
= Wofür ist C# gut? Welche Berufe und welche Programme? =&lt;br /&gt;
&lt;br /&gt;
[[Datei:C_Sharp_Logo_2023.png|mini|C# Logo]]&lt;br /&gt;
&lt;br /&gt;
== Info ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;C#&#039;&#039;&#039; wurde 2002 entwickelt und orientiert sich unter anderem an C++/C und Java.&lt;br /&gt;
&lt;br /&gt;
C# ist eine &#039;&#039;&#039;objektorientierte Programmiersprache&#039;&#039;&#039;. Das bedeutet, dass Programme häufig aus sogenannten Objekten aufgebaut werden. Diese Objekte enthalten Daten und Funktionen.&lt;br /&gt;
&lt;br /&gt;
C# ist besonders wichtig im Zusammenhang mit dem &#039;&#039;&#039;.NET Framework&#039;&#039;&#039; bzw. der modernen &#039;&#039;&#039;.NET-Plattform&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Was ist .NET? ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;.NET&#039;&#039;&#039; ist eine moderne und betriebssystemunabhängige Softwareentwicklungsplattform von Microsoft.&lt;br /&gt;
&lt;br /&gt;
Mit .NET können Anwendungen für verschiedene Bereiche entwickelt werden:&lt;br /&gt;
&lt;br /&gt;
* Windows-Anwendungen&lt;br /&gt;
* Webanwendungen&lt;br /&gt;
* mobile Apps&lt;br /&gt;
* Cloud-Anwendungen&lt;br /&gt;
* Spiele&lt;br /&gt;
* Anwendungen für Linux und macOS&lt;br /&gt;
&lt;br /&gt;
{{Box&lt;br /&gt;
|Typ=info&lt;br /&gt;
|Titel=Merke&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
C# ist die Programmiersprache.  &lt;br /&gt;
.NET ist die Plattform, auf der viele C#-Programme laufen.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Wie wird C# ausgeführt? ==&lt;br /&gt;
&lt;br /&gt;
C# wird nicht direkt wie Maschinensprache geschrieben. Der Quellcode wird zuerst übersetzt.&lt;br /&gt;
&lt;br /&gt;
Vereinfacht läuft es so ab:&lt;br /&gt;
&lt;br /&gt;
# Der Entwickler schreibt C#-Quellcode.&lt;br /&gt;
# Der Compiler übersetzt den Code in eine Zwischensprache.&lt;br /&gt;
# Diese Zwischensprache heißt &#039;&#039;&#039;IL&#039;&#039;&#039; = Intermediate Language.&lt;br /&gt;
# Zur Laufzeit wird der Code durch die &#039;&#039;&#039;CLR&#039;&#039;&#039; ausgeführt.&lt;br /&gt;
# Der Just-in-Time-Compiler wandelt den Code in Maschinencode um.&lt;br /&gt;
&lt;br /&gt;
{{Box&lt;br /&gt;
|Typ=info&lt;br /&gt;
|Titel= Hinweis&lt;br /&gt;
|&lt;br /&gt;
CLR bedeutet Common Language Runtime.  &lt;br /&gt;
Sie ist ein wichtiger Bestandteil von .NET und sorgt dafür, dass Programme ausgeführt werden können.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Was ist ein Compiler? ==&lt;br /&gt;
&lt;br /&gt;
Ein &#039;&#039;&#039;Compiler&#039;&#039;&#039; ist ein Programm, das Quellcode in eine andere Sprache übersetzt.&lt;br /&gt;
&lt;br /&gt;
Bei C# übersetzt der Compiler den Quellcode zuerst in eine Zwischensprache.&lt;br /&gt;
&lt;br /&gt;
Beispiel:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
C#-Quellcode → Compiler → Intermediate Language → Laufzeitumgebung → Maschinencode&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Was ist ein Interpreter? ==&lt;br /&gt;
&lt;br /&gt;
Ein &#039;&#039;&#039;Interpreter&#039;&#039;&#039; liest Quellcode ein, analysiert ihn und führt ihn direkt aus.&lt;br /&gt;
&lt;br /&gt;
Der Unterschied zum Compiler ist:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Compiler&lt;br /&gt;
! Interpreter&lt;br /&gt;
|-&lt;br /&gt;
| Übersetzt den Code vorher&lt;br /&gt;
| Führt den Code direkt aus&lt;br /&gt;
|-&lt;br /&gt;
| Erstellt oft eine ausführbare Datei&lt;br /&gt;
| Arbeitet meist zur Laufzeit&lt;br /&gt;
|-&lt;br /&gt;
| Häufig schneller bei der Ausführung&lt;br /&gt;
| Flexibler, aber oft langsamer&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Compiler und JIT bei C# ==&lt;br /&gt;
&lt;br /&gt;
Bei C# werden beide Konzepte kombiniert:&lt;br /&gt;
&lt;br /&gt;
* Der C#-Compiler übersetzt den Quellcode in eine Zwischensprache.&lt;br /&gt;
* Der Just-in-Time-Compiler übersetzt diese Zwischensprache zur Laufzeit in Maschinencode.&lt;br /&gt;
* Dadurch kann C# auf verschiedenen Systemen genutzt werden.&lt;br /&gt;
&lt;br /&gt;
{{Box|Prüfungstipp|&lt;br /&gt;
C# wird nicht direkt in Maschinencode geschrieben.  &lt;br /&gt;
Der Code wird zuerst in Intermediate Language übersetzt und später zur Laufzeit ausgeführt.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Wofür wird C# verwendet? ==&lt;br /&gt;
&lt;br /&gt;
=== Desktop-Anwendungen ===&lt;br /&gt;
&lt;br /&gt;
C# wird häufig für Windows-Programme verwendet.&lt;br /&gt;
&lt;br /&gt;
Beispiele:&lt;br /&gt;
&lt;br /&gt;
* Textverarbeitungsprogramme&lt;br /&gt;
* Kalenderprogramme&lt;br /&gt;
* Verwaltungssoftware&lt;br /&gt;
* interne Firmenprogramme&lt;br /&gt;
* Tools für IT-Abteilungen&lt;br /&gt;
&lt;br /&gt;
Typische Berufe:&lt;br /&gt;
&lt;br /&gt;
* Softwareentwickler&lt;br /&gt;
* Anwendungsentwickler&lt;br /&gt;
* Fachinformatiker Anwendungsentwicklung&lt;br /&gt;
&lt;br /&gt;
=== Webentwicklung ===&lt;br /&gt;
&lt;br /&gt;
Mit &#039;&#039;&#039;ASP.NET&#039;&#039;&#039; können Webseiten und Webanwendungen entwickelt werden.&lt;br /&gt;
&lt;br /&gt;
Beispiele:&lt;br /&gt;
&lt;br /&gt;
* Unternehmenswebseiten&lt;br /&gt;
* Online-Shops&lt;br /&gt;
* Kundenportale&lt;br /&gt;
* Managementsysteme&lt;br /&gt;
* Web-APIs&lt;br /&gt;
&lt;br /&gt;
Typische Berufe:&lt;br /&gt;
&lt;br /&gt;
* Webentwickler&lt;br /&gt;
* Backend-Entwickler&lt;br /&gt;
* Full-Stack-Entwickler&lt;br /&gt;
&lt;br /&gt;
=== Spieleentwicklung ===&lt;br /&gt;
&lt;br /&gt;
C# wird häufig in der Spieleentwicklung verwendet, besonders mit der &#039;&#039;&#039;Unity Engine&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Beispiele:&lt;br /&gt;
&lt;br /&gt;
* 2D-Spiele&lt;br /&gt;
* 3D-Spiele&lt;br /&gt;
* Konsolenspiele&lt;br /&gt;
* mobile Spiele&lt;br /&gt;
* Virtual-Reality-Anwendungen&lt;br /&gt;
&lt;br /&gt;
Typische Berufe:&lt;br /&gt;
&lt;br /&gt;
* Spieleentwickler&lt;br /&gt;
* Unity-Entwickler&lt;br /&gt;
* VR-Entwickler&lt;br /&gt;
&lt;br /&gt;
=== Mobile App-Entwicklung ===&lt;br /&gt;
&lt;br /&gt;
Mit .NET MAUI oder Xamarin können Apps für verschiedene Plattformen entwickelt werden.&lt;br /&gt;
&lt;br /&gt;
Beispiele:&lt;br /&gt;
&lt;br /&gt;
* Android-Apps&lt;br /&gt;
* iOS-Apps&lt;br /&gt;
* plattformübergreifende Apps&lt;br /&gt;
&lt;br /&gt;
Typische Berufe:&lt;br /&gt;
&lt;br /&gt;
* Mobile-App-Entwickler&lt;br /&gt;
* Cross-Plattform-Entwickler&lt;br /&gt;
&lt;br /&gt;
=== Cloud- und Backend-Entwicklung ===&lt;br /&gt;
&lt;br /&gt;
C# eignet sich gut für Backend-Dienste und Cloud-Anwendungen.&lt;br /&gt;
&lt;br /&gt;
Beispiele:&lt;br /&gt;
&lt;br /&gt;
* Web-APIs&lt;br /&gt;
* Datenbankzugriffe&lt;br /&gt;
* Microservices&lt;br /&gt;
* Benutzerverwaltung&lt;br /&gt;
* Anwendungen in Microsoft Azure&lt;br /&gt;
&lt;br /&gt;
Typische Berufe:&lt;br /&gt;
&lt;br /&gt;
* Backend-Entwickler&lt;br /&gt;
* Cloud-Entwickler&lt;br /&gt;
* DevOps-Engineer&lt;br /&gt;
&lt;br /&gt;
=== Künstliche Intelligenz und Datenanalyse ===&lt;br /&gt;
&lt;br /&gt;
C# wird im Bereich KI und Datenanalyse weniger häufig genutzt als Python, kann aber trotzdem verwendet werden.&lt;br /&gt;
&lt;br /&gt;
Beispiele:&lt;br /&gt;
&lt;br /&gt;
* einfache Machine-Learning-Anwendungen&lt;br /&gt;
* Bildanalyse&lt;br /&gt;
* Vorhersagemodelle&lt;br /&gt;
* Datenverarbeitung&lt;br /&gt;
&lt;br /&gt;
Typische Berufe:&lt;br /&gt;
&lt;br /&gt;
* KI-Entwickler&lt;br /&gt;
* Datenanalyst&lt;br /&gt;
* Softwareentwickler mit KI-Schwerpunkt&lt;br /&gt;
&lt;br /&gt;
== Typische Programme und Werkzeuge ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Programm / Werkzeug&lt;br /&gt;
! Verwendung&lt;br /&gt;
|-&lt;br /&gt;
| Visual Studio&lt;br /&gt;
| Entwicklungsumgebung für C# und .NET&lt;br /&gt;
|-&lt;br /&gt;
| Visual Studio Code&lt;br /&gt;
| Leichter Code-Editor&lt;br /&gt;
|-&lt;br /&gt;
| .NET SDK&lt;br /&gt;
| Werkzeugpaket zum Entwickeln und Ausführen von .NET-Programmen&lt;br /&gt;
|-&lt;br /&gt;
| Unity&lt;br /&gt;
| Spieleentwicklung mit C#&lt;br /&gt;
|-&lt;br /&gt;
| SQL Server&lt;br /&gt;
| Datenbankanbindung für C#-Programme&lt;br /&gt;
|-&lt;br /&gt;
| Git&lt;br /&gt;
| Versionsverwaltung für Quellcode&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Vorteile von C# ==&lt;br /&gt;
&lt;br /&gt;
* gut geeignet für Windows-Programme&lt;br /&gt;
* moderne und strukturierte Sprache&lt;br /&gt;
* starke Unterstützung durch Microsoft&lt;br /&gt;
* viele Einsatzbereiche&lt;br /&gt;
* gute Entwicklungsumgebungen&lt;br /&gt;
* geeignet für Anfänger und Profis&lt;br /&gt;
* objektorientierte Programmierung&lt;br /&gt;
* große Community&lt;br /&gt;
&lt;br /&gt;
== Nachteile von C# ==&lt;br /&gt;
&lt;br /&gt;
* viele Begriffe am Anfang schwer verständlich&lt;br /&gt;
* .NET-Grundlagen müssen zusätzlich gelernt werden&lt;br /&gt;
* für KI und Datenanalyse ist Python oft verbreiteter&lt;br /&gt;
* einige Bereiche sind stark Microsoft-orientiert&lt;br /&gt;
&lt;br /&gt;
== Zusammenfassung ==&lt;br /&gt;
&lt;br /&gt;
C# ist eine moderne Programmiersprache, die besonders häufig für Windows-Anwendungen, Webentwicklung, Spieleentwicklung, mobile Apps und Cloud-Anwendungen genutzt wird.&lt;br /&gt;
&lt;br /&gt;
Besonders wichtig ist der Zusammenhang mit .NET. C#-Programme werden zuerst in eine Zwischensprache übersetzt und anschließend zur Laufzeit ausgeführt.&lt;br /&gt;
&lt;br /&gt;
{{Box|Merke|&lt;br /&gt;
C# ist vielseitig einsetzbar.  &lt;br /&gt;
Für Fachinformatiker ist C# besonders interessant, wenn Programme, Tools, Webanwendungen oder interne Unternehmenssoftware entwickelt werden sollen.&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>ChristianPayns</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.payns.duckdns.org/index.php?title=Aufgaben&amp;diff=274</id>
		<title>Aufgaben</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.payns.duckdns.org/index.php?title=Aufgaben&amp;diff=274"/>
		<updated>2026-05-28T10:53:58Z</updated>

		<summary type="html">&lt;p&gt;ChristianPayns: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Datentypen|&amp;lt;span class=&amp;quot;mw-ui-button mw-ui-progressive&amp;quot;&amp;gt;⬅️ Datentypen&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
```mediawiki&lt;br /&gt;
= Übungen: Deklaration und Initialisierung in C# =&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
= Aufgabe 1: Deklaration mehrerer Variablen =&lt;br /&gt;
&lt;br /&gt;
== Aufgabenstellung ==&lt;br /&gt;
&lt;br /&gt;
Deklariere drei Variablen, um die Namen, das Alter und die Höhe (in Metern) von drei verschiedenen Personen zu speichern.&lt;br /&gt;
&lt;br /&gt;
Initialisiere die Variablen mit beliebigen Werten.&lt;br /&gt;
&lt;br /&gt;
== Lösung ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
using System;&lt;br /&gt;
&lt;br /&gt;
class Program&lt;br /&gt;
{&lt;br /&gt;
    static void Main(string[] args)&lt;br /&gt;
    {&lt;br /&gt;
        // Person 1&lt;br /&gt;
        string name1 = &amp;quot;Max&amp;quot;;&lt;br /&gt;
        int alter1 = 25;&lt;br /&gt;
        double groesse1 = 1.80;&lt;br /&gt;
&lt;br /&gt;
        // Person 2&lt;br /&gt;
        string name2 = &amp;quot;Anna&amp;quot;;&lt;br /&gt;
        int alter2 = 30;&lt;br /&gt;
        double groesse2 = 1.65;&lt;br /&gt;
&lt;br /&gt;
        // Person 3&lt;br /&gt;
        string name3 = &amp;quot;Tom&amp;quot;;&lt;br /&gt;
        int alter3 = 22;&lt;br /&gt;
        double groesse3 = 1.75;&lt;br /&gt;
&lt;br /&gt;
        Console.WriteLine(name1 + &amp;quot; ist &amp;quot; + alter1 + &amp;quot; Jahre alt und &amp;quot; + groesse1 + &amp;quot; Meter groß.&amp;quot;);&lt;br /&gt;
        Console.WriteLine(name2 + &amp;quot; ist &amp;quot; + alter2 + &amp;quot; Jahre alt und &amp;quot; + groesse2 + &amp;quot; Meter groß.&amp;quot;);&lt;br /&gt;
        Console.WriteLine(name3 + &amp;quot; ist &amp;quot; + alter3 + &amp;quot; Jahre alt und &amp;quot; + groesse3 + &amp;quot; Meter groß.&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
        Console.ReadLine();&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
= Aufgabe 2: Berechnung und Zuweisung =&lt;br /&gt;
&lt;br /&gt;
== Aufgabenstellung ==&lt;br /&gt;
&lt;br /&gt;
Deklariere zwei Variablen vom Typ double, um die Länge und Breite eines Rechtecks zu speichern.&lt;br /&gt;
&lt;br /&gt;
Berechne die Fläche und speichere das Ergebnis in einer dritten Variable.&lt;br /&gt;
&lt;br /&gt;
== Lösung ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
using System;&lt;br /&gt;
&lt;br /&gt;
class Program&lt;br /&gt;
{&lt;br /&gt;
    static void Main(string[] args)&lt;br /&gt;
    {&lt;br /&gt;
        double laenge = 5.5;&lt;br /&gt;
        double breite = 3.2;&lt;br /&gt;
&lt;br /&gt;
        double flaeche = laenge * breite;&lt;br /&gt;
&lt;br /&gt;
        Console.WriteLine(&amp;quot;Die Fläche beträgt: &amp;quot; + flaeche);&lt;br /&gt;
&lt;br /&gt;
        Console.ReadLine();&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
= Aufgabe 3: Deklariere und initialisiere =&lt;br /&gt;
&lt;br /&gt;
== Aufgabenstellung ==&lt;br /&gt;
&lt;br /&gt;
Deklariere und initialisiere folgende Variablen:&lt;br /&gt;
&lt;br /&gt;
* Einen int-Wert für das Alter einer Person&lt;br /&gt;
* Einen double-Wert für die Temperatur&lt;br /&gt;
* Einen string-Wert für den Namen eines Haustiers&lt;br /&gt;
* Einen bool-Wert, der angibt, ob es draußen regnet&lt;br /&gt;
&lt;br /&gt;
Zusatz: Gib die Werte in der Konsole aus.&lt;br /&gt;
&lt;br /&gt;
== Lösung ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
using System;&lt;br /&gt;
&lt;br /&gt;
class Program&lt;br /&gt;
{&lt;br /&gt;
    static void Main(string[] args)&lt;br /&gt;
    {&lt;br /&gt;
        int alter = 28;&lt;br /&gt;
        double temperatur = 21.5;&lt;br /&gt;
        string haustier = &amp;quot;Bello&amp;quot;;&lt;br /&gt;
        bool regnet = false;&lt;br /&gt;
&lt;br /&gt;
        Console.WriteLine(&amp;quot;Alter: &amp;quot; + alter);&lt;br /&gt;
        Console.WriteLine(&amp;quot;Temperatur: &amp;quot; + temperatur);&lt;br /&gt;
        Console.WriteLine(&amp;quot;Haustier: &amp;quot; + haustier);&lt;br /&gt;
        Console.WriteLine(&amp;quot;Regnet es draußen?: &amp;quot; + regnet);&lt;br /&gt;
&lt;br /&gt;
        Console.ReadLine();&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
= Aufgabe 4: Deklariere und initialisiere =&lt;br /&gt;
&lt;br /&gt;
== Aufgabenstellung ==&lt;br /&gt;
&lt;br /&gt;
Deklariere und initialisiere Variablen, um folgendes zu berechnen:&lt;br /&gt;
&lt;br /&gt;
* Das Ergebnis einer Addition von zwei int-Zahlen&lt;br /&gt;
* Die Fläche eines Kreises mit einem gegebenen Radius&lt;br /&gt;
* Eine Nachricht, die zwei Strings miteinander kombiniert&lt;br /&gt;
&lt;br /&gt;
Hinweis:&lt;br /&gt;
&lt;br /&gt;
* Verwende die Konstante &amp;lt;code&amp;gt;Math.PI&amp;lt;/code&amp;gt;&lt;br /&gt;
* Strings können mit &amp;lt;code&amp;gt;+&amp;lt;/code&amp;gt; verbunden werden&lt;br /&gt;
&lt;br /&gt;
== Lösung ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
using System;&lt;br /&gt;
&lt;br /&gt;
class Program&lt;br /&gt;
{&lt;br /&gt;
    static void Main(string[] args)&lt;br /&gt;
    {&lt;br /&gt;
        // Addition&lt;br /&gt;
        int zahl1 = 10;&lt;br /&gt;
        int zahl2 = 5;&lt;br /&gt;
&lt;br /&gt;
        int ergebnis = zahl1 + zahl2;&lt;br /&gt;
&lt;br /&gt;
        // Kreisfläche&lt;br /&gt;
        double radius = 4.5;&lt;br /&gt;
&lt;br /&gt;
        double kreisflaeche = Math.PI * radius * radius;&lt;br /&gt;
&lt;br /&gt;
        // Strings kombinieren&lt;br /&gt;
        string vorname = &amp;quot;Hallo &amp;quot;;&lt;br /&gt;
        string nachricht = &amp;quot;Welt&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
        string kompletterText = vorname + nachricht;&lt;br /&gt;
&lt;br /&gt;
        Console.WriteLine(&amp;quot;Addition: &amp;quot; + ergebnis);&lt;br /&gt;
        Console.WriteLine(&amp;quot;Kreisfläche: &amp;quot; + kreisflaeche);&lt;br /&gt;
        Console.WriteLine(kompletterText);&lt;br /&gt;
&lt;br /&gt;
        Console.ReadLine();&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
= Aufgabe 5 =&lt;br /&gt;
&lt;br /&gt;
== Aufgabenstellung ==&lt;br /&gt;
&lt;br /&gt;
Erstelle ein Programm, das den Namen, das Alter und das Lieblingsessen eines Nutzers speichert.&lt;br /&gt;
&lt;br /&gt;
Gib diese Informationen in einem Satz aus.&lt;br /&gt;
&lt;br /&gt;
Beispiel:&lt;br /&gt;
&lt;br /&gt;
„Hallo Max, du bist 25 Jahre alt und dein Lieblingsessen ist Pizza.“&lt;br /&gt;
&lt;br /&gt;
== Lösung ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
using System;&lt;br /&gt;
&lt;br /&gt;
class Program&lt;br /&gt;
{&lt;br /&gt;
    static void Main(string[] args)&lt;br /&gt;
    {&lt;br /&gt;
        string name = &amp;quot;Max&amp;quot;;&lt;br /&gt;
        int alter = 25;&lt;br /&gt;
        string lieblingsessen = &amp;quot;Pizza&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
        Console.WriteLine(&amp;quot;Hallo &amp;quot; + name +&lt;br /&gt;
                          &amp;quot;, du bist &amp;quot; + alter +&lt;br /&gt;
                          &amp;quot; Jahre alt und dein Lieblingsessen ist &amp;quot; +&lt;br /&gt;
                          lieblingsessen + &amp;quot;.&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
        Console.ReadLine();&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
= Zusammenfassung =&lt;br /&gt;
&lt;br /&gt;
In diesen Übungen wurden folgende Grundlagen verwendet:&lt;br /&gt;
&lt;br /&gt;
* Variablen deklarieren&lt;br /&gt;
* Variablen initialisieren&lt;br /&gt;
* Datentypen verwenden&lt;br /&gt;
* Berechnungen durchführen&lt;br /&gt;
* Strings kombinieren&lt;br /&gt;
* Konsolenausgaben erzeugen&lt;br /&gt;
&lt;br /&gt;
{{Box|Prüfungstipp|&lt;br /&gt;
Achte darauf, dass der Datentyp immer zum gespeicherten Wert passt.&lt;br /&gt;
}}&lt;br /&gt;
```&lt;br /&gt;
&lt;br /&gt;
```mediawiki&lt;br /&gt;
= Übungen: Datentypen in C# =&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
= Aufgabe 1: Ganzzahl =&lt;br /&gt;
&lt;br /&gt;
== Aufgabenstellung ==&lt;br /&gt;
&lt;br /&gt;
Deklariere und initialisiere eine Ganzzahl mit dem Wert &amp;lt;code&amp;gt;25&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Lösung ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
using System;&lt;br /&gt;
&lt;br /&gt;
class Program&lt;br /&gt;
{&lt;br /&gt;
    static void Main(string[] args)&lt;br /&gt;
    {&lt;br /&gt;
        int zahl = 25;&lt;br /&gt;
&lt;br /&gt;
        Console.WriteLine(zahl);&lt;br /&gt;
&lt;br /&gt;
        Console.ReadLine();&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Erklärung ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Code&lt;br /&gt;
! Bedeutung&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;&lt;br /&gt;
| Datentyp für ganze Zahlen&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;zahl&amp;lt;/code&amp;gt;&lt;br /&gt;
| Variablenname&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;25&amp;lt;/code&amp;gt;&lt;br /&gt;
| gespeicherter Wert&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{Box|Merke|&lt;br /&gt;
Der Datentyp &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; speichert ganze Zahlen ohne Nachkommastellen.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
= Aufgabe 2: Zeichenkette =&lt;br /&gt;
&lt;br /&gt;
== Aufgabenstellung ==&lt;br /&gt;
&lt;br /&gt;
Deklariere eine Zeichenkette namens &amp;lt;code&amp;gt;begruessung&amp;lt;/code&amp;gt; und initialisiere sie mit dem Text:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;quot;Hallo Welt!&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Lösung ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
using System;&lt;br /&gt;
&lt;br /&gt;
class Program&lt;br /&gt;
{&lt;br /&gt;
    static void Main(string[] args)&lt;br /&gt;
    {&lt;br /&gt;
        string begruessung = &amp;quot;Hallo Welt!&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
        Console.WriteLine(begruessung);&lt;br /&gt;
&lt;br /&gt;
        Console.ReadLine();&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Erklärung ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Code&lt;br /&gt;
! Bedeutung&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt;&lt;br /&gt;
| Datentyp für Texte&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;begruessung&amp;lt;/code&amp;gt;&lt;br /&gt;
| Variablenname&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;&amp;quot;Hallo Welt!&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
| gespeicherter Text&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{Box|Info|&lt;br /&gt;
Texte werden in C# immer in Anführungszeichen geschrieben.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
= Aufgabe 3: Gleitkommazahl =&lt;br /&gt;
&lt;br /&gt;
== Aufgabenstellung ==&lt;br /&gt;
&lt;br /&gt;
Deklariere eine Variable vom Typ &amp;lt;code&amp;gt;double&amp;lt;/code&amp;gt;, nenne sie &amp;lt;code&amp;gt;pi&amp;lt;/code&amp;gt; und initialisiere sie mit dem Wert &amp;lt;code&amp;gt;3.14159&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Lösung ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
using System;&lt;br /&gt;
&lt;br /&gt;
class Program&lt;br /&gt;
{&lt;br /&gt;
    static void Main(string[] args)&lt;br /&gt;
    {&lt;br /&gt;
        double pi = 3.14159;&lt;br /&gt;
&lt;br /&gt;
        Console.WriteLine(pi);&lt;br /&gt;
&lt;br /&gt;
        Console.ReadLine();&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Erklärung ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Code&lt;br /&gt;
! Bedeutung&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;double&amp;lt;/code&amp;gt;&lt;br /&gt;
| Datentyp für Kommazahlen&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;pi&amp;lt;/code&amp;gt;&lt;br /&gt;
| Variablenname&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3.14159&amp;lt;/code&amp;gt;&lt;br /&gt;
| gespeicherte Kommazahl&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{Box|Merke|&lt;br /&gt;
Kommazahlen werden in C# mit einem Punkt geschrieben, nicht mit einem Komma.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
= Aufgabe 4: Boolescher Wert =&lt;br /&gt;
&lt;br /&gt;
== Aufgabenstellung ==&lt;br /&gt;
&lt;br /&gt;
Deklariere eine boolesche Variable &amp;lt;code&amp;gt;istFeiertag&amp;lt;/code&amp;gt; und initialisiere sie mit dem Wert &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Lösung ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
using System;&lt;br /&gt;
&lt;br /&gt;
class Program&lt;br /&gt;
{&lt;br /&gt;
    static void Main(string[] args)&lt;br /&gt;
    {&lt;br /&gt;
        bool istFeiertag = true;&lt;br /&gt;
&lt;br /&gt;
        Console.WriteLine(istFeiertag);&lt;br /&gt;
&lt;br /&gt;
        Console.ReadLine();&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Erklärung ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Code&lt;br /&gt;
! Bedeutung&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;bool&amp;lt;/code&amp;gt;&lt;br /&gt;
| Datentyp für Wahrheitswerte&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt;&lt;br /&gt;
| wahr&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt;&lt;br /&gt;
| falsch&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{Box|Info|&lt;br /&gt;
Ein boolescher Wert kann nur zwei Zustände besitzen:  &lt;br /&gt;
&amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; oder &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
= Zusatz: Compiler und Interpreter =&lt;br /&gt;
&lt;br /&gt;
== Was ist ein Compiler? ==&lt;br /&gt;
&lt;br /&gt;
Ein Compiler übersetzt den kompletten Quellcode eines Programms in Maschinensprache oder Zwischencode.&lt;br /&gt;
&lt;br /&gt;
Die Übersetzung findet vor der Programmausführung statt.&lt;br /&gt;
&lt;br /&gt;
== Ablauf eines Compilers ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Quellcode → Compiler → ausführbares Programm&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Vorteile eines Compilers ==&lt;br /&gt;
&lt;br /&gt;
* schnelle Programmausführung&lt;br /&gt;
* Fehler werden häufig vor der Ausführung erkannt&lt;br /&gt;
* optimierter Maschinencode möglich&lt;br /&gt;
* Programme können ohne Quellcode verteilt werden&lt;br /&gt;
&lt;br /&gt;
== Nachteile eines Compilers ==&lt;br /&gt;
&lt;br /&gt;
* Änderungen benötigen erneutes Kompilieren&lt;br /&gt;
* Plattformabhängigkeit möglich&lt;br /&gt;
* Übersetzung kann Zeit benötigen&lt;br /&gt;
&lt;br /&gt;
== Typische Compiler-Sprachen ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Sprache&lt;br /&gt;
! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
| C&lt;br /&gt;
| klassische Compilersprache&lt;br /&gt;
|-&lt;br /&gt;
| C++&lt;br /&gt;
| objektorientierte Erweiterung von C&lt;br /&gt;
|-&lt;br /&gt;
| Rust&lt;br /&gt;
| moderne Systemprogrammiersprache&lt;br /&gt;
|-&lt;br /&gt;
| Go&lt;br /&gt;
| kompilierte Sprache von Google&lt;br /&gt;
|-&lt;br /&gt;
| C#&lt;br /&gt;
| kompiliert zunächst in IL-Zwischencode&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Was ist ein Interpreter? ==&lt;br /&gt;
&lt;br /&gt;
Ein Interpreter liest den Quellcode Zeile für Zeile ein und führt ihn direkt aus.&lt;br /&gt;
&lt;br /&gt;
Es wird meist keine separate ausführbare Datei erzeugt.&lt;br /&gt;
&lt;br /&gt;
== Ablauf eines Interpreters ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Quellcode → Interpreter → direkte Ausführung&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Vorteile eines Interpreters ==&lt;br /&gt;
&lt;br /&gt;
* schnelle Tests möglich&lt;br /&gt;
* Änderungen sofort ausführbar&lt;br /&gt;
* oft einfacher zu debuggen&lt;br /&gt;
* plattformunabhängiger&lt;br /&gt;
&lt;br /&gt;
== Nachteile eines Interpreters ==&lt;br /&gt;
&lt;br /&gt;
* häufig langsamer&lt;br /&gt;
* Fehler treten oft erst während der Ausführung auf&lt;br /&gt;
* höherer Ressourcenverbrauch möglich&lt;br /&gt;
&lt;br /&gt;
== Typische Interpreter-Sprachen ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Sprache&lt;br /&gt;
! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
| Python&lt;br /&gt;
| weit verbreitete Interpretersprache&lt;br /&gt;
|-&lt;br /&gt;
| JavaScript&lt;br /&gt;
| Browser-Skriptsprache&lt;br /&gt;
|-&lt;br /&gt;
| PHP&lt;br /&gt;
| Webentwicklung&lt;br /&gt;
|-&lt;br /&gt;
| Ruby&lt;br /&gt;
| interpretiert bzw. VM-basiert&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
= Unterschied zwischen Compiler und Interpreter =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Compiler&lt;br /&gt;
! Interpreter&lt;br /&gt;
|-&lt;br /&gt;
| Übersetzt komplettes Programm vorher&lt;br /&gt;
| Führt Code direkt aus&lt;br /&gt;
|-&lt;br /&gt;
| meist schneller&lt;br /&gt;
| meist langsamer&lt;br /&gt;
|-&lt;br /&gt;
| erstellt häufig EXE-Datei&lt;br /&gt;
| oft keine EXE-Datei&lt;br /&gt;
|-&lt;br /&gt;
| Fehler oft vor Ausführung sichtbar&lt;br /&gt;
| Fehler häufig erst zur Laufzeit sichtbar&lt;br /&gt;
|-&lt;br /&gt;
| Änderungen benötigen Neukompilierung&lt;br /&gt;
| Änderungen sofort testbar&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{Box|Prüfungstipp|&lt;br /&gt;
C# verwendet eine Mischform:  &lt;br /&gt;
Der Code wird zuerst kompiliert und anschließend durch die CLR bzw. den Just-in-Time-Compiler ausgeführt.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
= Zusammenfassung =&lt;br /&gt;
&lt;br /&gt;
In diesen Aufgaben wurden folgende Datentypen verwendet:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; → ganze Zahlen&lt;br /&gt;
* &amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt; → Texte&lt;br /&gt;
* &amp;lt;code&amp;gt;double&amp;lt;/code&amp;gt; → Kommazahlen&lt;br /&gt;
* &amp;lt;code&amp;gt;bool&amp;lt;/code&amp;gt; → Wahrheitswerte&lt;br /&gt;
&lt;br /&gt;
Zusätzlich wurden die Unterschiede zwischen Compilern und Interpretern behandelt.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:CSharp]]&lt;br /&gt;
[[Kategorie:Programmierung]]&lt;br /&gt;
[[Kategorie:FISI]]&lt;br /&gt;
```&lt;br /&gt;
&lt;br /&gt;
```mediawiki&lt;br /&gt;
= Übungen: Datentypen in C# =&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
= Aufgabe 1: Ganzzahl =&lt;br /&gt;
&lt;br /&gt;
== Aufgabenstellung ==&lt;br /&gt;
&lt;br /&gt;
Deklariere und initialisiere eine Ganzzahl mit dem Wert &amp;lt;code&amp;gt;25&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Lösung ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
using System;&lt;br /&gt;
&lt;br /&gt;
class Program&lt;br /&gt;
{&lt;br /&gt;
    static void Main(string[] args)&lt;br /&gt;
    {&lt;br /&gt;
        int zahl = 25;&lt;br /&gt;
&lt;br /&gt;
        Console.WriteLine(zahl);&lt;br /&gt;
&lt;br /&gt;
        Console.ReadLine();&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Erklärung ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Code&lt;br /&gt;
! Bedeutung&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;&lt;br /&gt;
| Datentyp für ganze Zahlen&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;zahl&amp;lt;/code&amp;gt;&lt;br /&gt;
| Variablenname&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;25&amp;lt;/code&amp;gt;&lt;br /&gt;
| gespeicherter Wert&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{Box|Merke|&lt;br /&gt;
Der Datentyp &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; speichert ganze Zahlen ohne Nachkommastellen.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
= Aufgabe 2: Zeichenkette =&lt;br /&gt;
&lt;br /&gt;
== Aufgabenstellung ==&lt;br /&gt;
&lt;br /&gt;
Deklariere eine Zeichenkette namens &amp;lt;code&amp;gt;begruessung&amp;lt;/code&amp;gt; und initialisiere sie mit dem Text:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;quot;Hallo Welt!&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Lösung ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
using System;&lt;br /&gt;
&lt;br /&gt;
class Program&lt;br /&gt;
{&lt;br /&gt;
    static void Main(string[] args)&lt;br /&gt;
    {&lt;br /&gt;
        string begruessung = &amp;quot;Hallo Welt!&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
        Console.WriteLine(begruessung);&lt;br /&gt;
&lt;br /&gt;
        Console.ReadLine();&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Erklärung ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Code&lt;br /&gt;
! Bedeutung&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt;&lt;br /&gt;
| Datentyp für Texte&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;begruessung&amp;lt;/code&amp;gt;&lt;br /&gt;
| Variablenname&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;&amp;quot;Hallo Welt!&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
| gespeicherter Text&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{Box|Info|&lt;br /&gt;
Texte werden in C# immer in Anführungszeichen geschrieben.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
= Aufgabe 3: Gleitkommazahl =&lt;br /&gt;
&lt;br /&gt;
== Aufgabenstellung ==&lt;br /&gt;
&lt;br /&gt;
Deklariere eine Variable vom Typ &amp;lt;code&amp;gt;double&amp;lt;/code&amp;gt;, nenne sie &amp;lt;code&amp;gt;pi&amp;lt;/code&amp;gt; und initialisiere sie mit dem Wert &amp;lt;code&amp;gt;3.14159&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Lösung ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
using System;&lt;br /&gt;
&lt;br /&gt;
class Program&lt;br /&gt;
{&lt;br /&gt;
    static void Main(string[] args)&lt;br /&gt;
    {&lt;br /&gt;
        double pi = 3.14159;&lt;br /&gt;
&lt;br /&gt;
        Console.WriteLine(pi);&lt;br /&gt;
&lt;br /&gt;
        Console.ReadLine();&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Erklärung ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Code&lt;br /&gt;
! Bedeutung&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;double&amp;lt;/code&amp;gt;&lt;br /&gt;
| Datentyp für Kommazahlen&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;pi&amp;lt;/code&amp;gt;&lt;br /&gt;
| Variablenname&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;3.14159&amp;lt;/code&amp;gt;&lt;br /&gt;
| gespeicherte Kommazahl&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{Box|Merke|&lt;br /&gt;
Kommazahlen werden in C# mit einem Punkt geschrieben, nicht mit einem Komma.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
= Aufgabe 4: Boolescher Wert =&lt;br /&gt;
&lt;br /&gt;
== Aufgabenstellung ==&lt;br /&gt;
&lt;br /&gt;
Deklariere eine boolesche Variable &amp;lt;code&amp;gt;istFeiertag&amp;lt;/code&amp;gt; und initialisiere sie mit dem Wert &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Lösung ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
using System;&lt;br /&gt;
&lt;br /&gt;
class Program&lt;br /&gt;
{&lt;br /&gt;
    static void Main(string[] args)&lt;br /&gt;
    {&lt;br /&gt;
        bool istFeiertag = true;&lt;br /&gt;
&lt;br /&gt;
        Console.WriteLine(istFeiertag);&lt;br /&gt;
&lt;br /&gt;
        Console.ReadLine();&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Erklärung ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Code&lt;br /&gt;
! Bedeutung&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;bool&amp;lt;/code&amp;gt;&lt;br /&gt;
| Datentyp für Wahrheitswerte&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt;&lt;br /&gt;
| wahr&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt;&lt;br /&gt;
| falsch&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{Box|Info|&lt;br /&gt;
Ein boolescher Wert kann nur zwei Zustände besitzen:  &lt;br /&gt;
&amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; oder &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
= Zusatz: Compiler und Interpreter =&lt;br /&gt;
&lt;br /&gt;
== Was ist ein Compiler? ==&lt;br /&gt;
&lt;br /&gt;
Ein Compiler übersetzt den kompletten Quellcode eines Programms in Maschinensprache oder Zwischencode.&lt;br /&gt;
&lt;br /&gt;
Die Übersetzung findet vor der Programmausführung statt.&lt;br /&gt;
&lt;br /&gt;
== Ablauf eines Compilers ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Quellcode → Compiler → ausführbares Programm&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Vorteile eines Compilers ==&lt;br /&gt;
&lt;br /&gt;
* schnelle Programmausführung&lt;br /&gt;
* Fehler werden häufig vor der Ausführung erkannt&lt;br /&gt;
* optimierter Maschinencode möglich&lt;br /&gt;
* Programme können ohne Quellcode verteilt werden&lt;br /&gt;
&lt;br /&gt;
== Nachteile eines Compilers ==&lt;br /&gt;
&lt;br /&gt;
* Änderungen benötigen erneutes Kompilieren&lt;br /&gt;
* Plattformabhängigkeit möglich&lt;br /&gt;
* Übersetzung kann Zeit benötigen&lt;br /&gt;
&lt;br /&gt;
== Typische Compiler-Sprachen ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Sprache&lt;br /&gt;
! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
| C&lt;br /&gt;
| klassische Compilersprache&lt;br /&gt;
|-&lt;br /&gt;
| C++&lt;br /&gt;
| objektorientierte Erweiterung von C&lt;br /&gt;
|-&lt;br /&gt;
| Rust&lt;br /&gt;
| moderne Systemprogrammiersprache&lt;br /&gt;
|-&lt;br /&gt;
| Go&lt;br /&gt;
| kompilierte Sprache von Google&lt;br /&gt;
|-&lt;br /&gt;
| C#&lt;br /&gt;
| kompiliert zunächst in IL-Zwischencode&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Was ist ein Interpreter? ==&lt;br /&gt;
&lt;br /&gt;
Ein Interpreter liest den Quellcode Zeile für Zeile ein und führt ihn direkt aus.&lt;br /&gt;
&lt;br /&gt;
Es wird meist keine separate ausführbare Datei erzeugt.&lt;br /&gt;
&lt;br /&gt;
== Ablauf eines Interpreters ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Quellcode → Interpreter → direkte Ausführung&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Vorteile eines Interpreters ==&lt;br /&gt;
&lt;br /&gt;
* schnelle Tests möglich&lt;br /&gt;
* Änderungen sofort ausführbar&lt;br /&gt;
* oft einfacher zu debuggen&lt;br /&gt;
* plattformunabhängiger&lt;br /&gt;
&lt;br /&gt;
== Nachteile eines Interpreters ==&lt;br /&gt;
&lt;br /&gt;
* häufig langsamer&lt;br /&gt;
* Fehler treten oft erst während der Ausführung auf&lt;br /&gt;
* höherer Ressourcenverbrauch möglich&lt;br /&gt;
&lt;br /&gt;
== Typische Interpreter-Sprachen ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Sprache&lt;br /&gt;
! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
| Python&lt;br /&gt;
| weit verbreitete Interpretersprache&lt;br /&gt;
|-&lt;br /&gt;
| JavaScript&lt;br /&gt;
| Browser-Skriptsprache&lt;br /&gt;
|-&lt;br /&gt;
| PHP&lt;br /&gt;
| Webentwicklung&lt;br /&gt;
|-&lt;br /&gt;
| Ruby&lt;br /&gt;
| interpretiert bzw. VM-basiert&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
= Unterschied zwischen Compiler und Interpreter =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Compiler&lt;br /&gt;
! Interpreter&lt;br /&gt;
|-&lt;br /&gt;
| Übersetzt komplettes Programm vorher&lt;br /&gt;
| Führt Code direkt aus&lt;br /&gt;
|-&lt;br /&gt;
| meist schneller&lt;br /&gt;
| meist langsamer&lt;br /&gt;
|-&lt;br /&gt;
| erstellt häufig EXE-Datei&lt;br /&gt;
| oft keine EXE-Datei&lt;br /&gt;
|-&lt;br /&gt;
| Fehler oft vor Ausführung sichtbar&lt;br /&gt;
| Fehler häufig erst zur Laufzeit sichtbar&lt;br /&gt;
|-&lt;br /&gt;
| Änderungen benötigen Neukompilierung&lt;br /&gt;
| Änderungen sofort testbar&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{Box|Prüfungstipp|&lt;br /&gt;
C# verwendet eine Mischform:  &lt;br /&gt;
Der Code wird zuerst kompiliert und anschließend durch die CLR bzw. den Just-in-Time-Compiler ausgeführt.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
= Zusammenfassung =&lt;br /&gt;
&lt;br /&gt;
In diesen Aufgaben wurden folgende Datentypen verwendet:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; → ganze Zahlen&lt;br /&gt;
* &amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt; → Texte&lt;br /&gt;
* &amp;lt;code&amp;gt;double&amp;lt;/code&amp;gt; → Kommazahlen&lt;br /&gt;
* &amp;lt;code&amp;gt;bool&amp;lt;/code&amp;gt; → Wahrheitswerte&lt;br /&gt;
&lt;br /&gt;
Zusätzlich wurden die Unterschiede zwischen Compilern und Interpretern behandelt.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:CSharp]]&lt;br /&gt;
[[Kategorie:Programmierung]]&lt;br /&gt;
[[Kategorie:FISI]]&lt;br /&gt;
```&lt;/div&gt;</summary>
		<author><name>ChristianPayns</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.payns.duckdns.org/index.php?title=Aufgaben&amp;diff=273</id>
		<title>Aufgaben</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.payns.duckdns.org/index.php?title=Aufgaben&amp;diff=273"/>
		<updated>2026-05-28T10:44:41Z</updated>

		<summary type="html">&lt;p&gt;ChristianPayns: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Datentypen|&amp;lt;span class=&amp;quot;mw-ui-button mw-ui-progressive&amp;quot;&amp;gt;⬅️ Datentypen&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
```mediawiki&lt;br /&gt;
= Übungen: Deklaration und Initialisierung in C# =&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
= Aufgabe 1: Deklaration mehrerer Variablen =&lt;br /&gt;
&lt;br /&gt;
== Aufgabenstellung ==&lt;br /&gt;
&lt;br /&gt;
Deklariere drei Variablen, um die Namen, das Alter und die Höhe (in Metern) von drei verschiedenen Personen zu speichern.&lt;br /&gt;
&lt;br /&gt;
Initialisiere die Variablen mit beliebigen Werten.&lt;br /&gt;
&lt;br /&gt;
== Lösung ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
using System;&lt;br /&gt;
&lt;br /&gt;
class Program&lt;br /&gt;
{&lt;br /&gt;
    static void Main(string[] args)&lt;br /&gt;
    {&lt;br /&gt;
        // Person 1&lt;br /&gt;
        string name1 = &amp;quot;Max&amp;quot;;&lt;br /&gt;
        int alter1 = 25;&lt;br /&gt;
        double groesse1 = 1.80;&lt;br /&gt;
&lt;br /&gt;
        // Person 2&lt;br /&gt;
        string name2 = &amp;quot;Anna&amp;quot;;&lt;br /&gt;
        int alter2 = 30;&lt;br /&gt;
        double groesse2 = 1.65;&lt;br /&gt;
&lt;br /&gt;
        // Person 3&lt;br /&gt;
        string name3 = &amp;quot;Tom&amp;quot;;&lt;br /&gt;
        int alter3 = 22;&lt;br /&gt;
        double groesse3 = 1.75;&lt;br /&gt;
&lt;br /&gt;
        Console.WriteLine(name1 + &amp;quot; ist &amp;quot; + alter1 + &amp;quot; Jahre alt und &amp;quot; + groesse1 + &amp;quot; Meter groß.&amp;quot;);&lt;br /&gt;
        Console.WriteLine(name2 + &amp;quot; ist &amp;quot; + alter2 + &amp;quot; Jahre alt und &amp;quot; + groesse2 + &amp;quot; Meter groß.&amp;quot;);&lt;br /&gt;
        Console.WriteLine(name3 + &amp;quot; ist &amp;quot; + alter3 + &amp;quot; Jahre alt und &amp;quot; + groesse3 + &amp;quot; Meter groß.&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
        Console.ReadLine();&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
= Aufgabe 2: Berechnung und Zuweisung =&lt;br /&gt;
&lt;br /&gt;
== Aufgabenstellung ==&lt;br /&gt;
&lt;br /&gt;
Deklariere zwei Variablen vom Typ double, um die Länge und Breite eines Rechtecks zu speichern.&lt;br /&gt;
&lt;br /&gt;
Berechne die Fläche und speichere das Ergebnis in einer dritten Variable.&lt;br /&gt;
&lt;br /&gt;
== Lösung ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
using System;&lt;br /&gt;
&lt;br /&gt;
class Program&lt;br /&gt;
{&lt;br /&gt;
    static void Main(string[] args)&lt;br /&gt;
    {&lt;br /&gt;
        double laenge = 5.5;&lt;br /&gt;
        double breite = 3.2;&lt;br /&gt;
&lt;br /&gt;
        double flaeche = laenge * breite;&lt;br /&gt;
&lt;br /&gt;
        Console.WriteLine(&amp;quot;Die Fläche beträgt: &amp;quot; + flaeche);&lt;br /&gt;
&lt;br /&gt;
        Console.ReadLine();&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
= Aufgabe 3: Deklariere und initialisiere =&lt;br /&gt;
&lt;br /&gt;
== Aufgabenstellung ==&lt;br /&gt;
&lt;br /&gt;
Deklariere und initialisiere folgende Variablen:&lt;br /&gt;
&lt;br /&gt;
* Einen int-Wert für das Alter einer Person&lt;br /&gt;
* Einen double-Wert für die Temperatur&lt;br /&gt;
* Einen string-Wert für den Namen eines Haustiers&lt;br /&gt;
* Einen bool-Wert, der angibt, ob es draußen regnet&lt;br /&gt;
&lt;br /&gt;
Zusatz: Gib die Werte in der Konsole aus.&lt;br /&gt;
&lt;br /&gt;
== Lösung ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
using System;&lt;br /&gt;
&lt;br /&gt;
class Program&lt;br /&gt;
{&lt;br /&gt;
    static void Main(string[] args)&lt;br /&gt;
    {&lt;br /&gt;
        int alter = 28;&lt;br /&gt;
        double temperatur = 21.5;&lt;br /&gt;
        string haustier = &amp;quot;Bello&amp;quot;;&lt;br /&gt;
        bool regnet = false;&lt;br /&gt;
&lt;br /&gt;
        Console.WriteLine(&amp;quot;Alter: &amp;quot; + alter);&lt;br /&gt;
        Console.WriteLine(&amp;quot;Temperatur: &amp;quot; + temperatur);&lt;br /&gt;
        Console.WriteLine(&amp;quot;Haustier: &amp;quot; + haustier);&lt;br /&gt;
        Console.WriteLine(&amp;quot;Regnet es draußen?: &amp;quot; + regnet);&lt;br /&gt;
&lt;br /&gt;
        Console.ReadLine();&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
= Aufgabe 4: Deklariere und initialisiere =&lt;br /&gt;
&lt;br /&gt;
== Aufgabenstellung ==&lt;br /&gt;
&lt;br /&gt;
Deklariere und initialisiere Variablen, um folgendes zu berechnen:&lt;br /&gt;
&lt;br /&gt;
* Das Ergebnis einer Addition von zwei int-Zahlen&lt;br /&gt;
* Die Fläche eines Kreises mit einem gegebenen Radius&lt;br /&gt;
* Eine Nachricht, die zwei Strings miteinander kombiniert&lt;br /&gt;
&lt;br /&gt;
Hinweis:&lt;br /&gt;
&lt;br /&gt;
* Verwende die Konstante &amp;lt;code&amp;gt;Math.PI&amp;lt;/code&amp;gt;&lt;br /&gt;
* Strings können mit &amp;lt;code&amp;gt;+&amp;lt;/code&amp;gt; verbunden werden&lt;br /&gt;
&lt;br /&gt;
== Lösung ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
using System;&lt;br /&gt;
&lt;br /&gt;
class Program&lt;br /&gt;
{&lt;br /&gt;
    static void Main(string[] args)&lt;br /&gt;
    {&lt;br /&gt;
        // Addition&lt;br /&gt;
        int zahl1 = 10;&lt;br /&gt;
        int zahl2 = 5;&lt;br /&gt;
&lt;br /&gt;
        int ergebnis = zahl1 + zahl2;&lt;br /&gt;
&lt;br /&gt;
        // Kreisfläche&lt;br /&gt;
        double radius = 4.5;&lt;br /&gt;
&lt;br /&gt;
        double kreisflaeche = Math.PI * radius * radius;&lt;br /&gt;
&lt;br /&gt;
        // Strings kombinieren&lt;br /&gt;
        string vorname = &amp;quot;Hallo &amp;quot;;&lt;br /&gt;
        string nachricht = &amp;quot;Welt&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
        string kompletterText = vorname + nachricht;&lt;br /&gt;
&lt;br /&gt;
        Console.WriteLine(&amp;quot;Addition: &amp;quot; + ergebnis);&lt;br /&gt;
        Console.WriteLine(&amp;quot;Kreisfläche: &amp;quot; + kreisflaeche);&lt;br /&gt;
        Console.WriteLine(kompletterText);&lt;br /&gt;
&lt;br /&gt;
        Console.ReadLine();&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
= Aufgabe 5 =&lt;br /&gt;
&lt;br /&gt;
== Aufgabenstellung ==&lt;br /&gt;
&lt;br /&gt;
Erstelle ein Programm, das den Namen, das Alter und das Lieblingsessen eines Nutzers speichert.&lt;br /&gt;
&lt;br /&gt;
Gib diese Informationen in einem Satz aus.&lt;br /&gt;
&lt;br /&gt;
Beispiel:&lt;br /&gt;
&lt;br /&gt;
„Hallo Max, du bist 25 Jahre alt und dein Lieblingsessen ist Pizza.“&lt;br /&gt;
&lt;br /&gt;
== Lösung ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
using System;&lt;br /&gt;
&lt;br /&gt;
class Program&lt;br /&gt;
{&lt;br /&gt;
    static void Main(string[] args)&lt;br /&gt;
    {&lt;br /&gt;
        string name = &amp;quot;Max&amp;quot;;&lt;br /&gt;
        int alter = 25;&lt;br /&gt;
        string lieblingsessen = &amp;quot;Pizza&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
        Console.WriteLine(&amp;quot;Hallo &amp;quot; + name +&lt;br /&gt;
                          &amp;quot;, du bist &amp;quot; + alter +&lt;br /&gt;
                          &amp;quot; Jahre alt und dein Lieblingsessen ist &amp;quot; +&lt;br /&gt;
                          lieblingsessen + &amp;quot;.&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
        Console.ReadLine();&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
= Zusammenfassung =&lt;br /&gt;
&lt;br /&gt;
In diesen Übungen wurden folgende Grundlagen verwendet:&lt;br /&gt;
&lt;br /&gt;
* Variablen deklarieren&lt;br /&gt;
* Variablen initialisieren&lt;br /&gt;
* Datentypen verwenden&lt;br /&gt;
* Berechnungen durchführen&lt;br /&gt;
* Strings kombinieren&lt;br /&gt;
* Konsolenausgaben erzeugen&lt;br /&gt;
&lt;br /&gt;
{{Box|Prüfungstipp|&lt;br /&gt;
Achte darauf, dass der Datentyp immer zum gespeicherten Wert passt.&lt;br /&gt;
}}&lt;br /&gt;
```&lt;/div&gt;</summary>
		<author><name>ChristianPayns</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.payns.duckdns.org/index.php?title=Aufgaben&amp;diff=272</id>
		<title>Aufgaben</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.payns.duckdns.org/index.php?title=Aufgaben&amp;diff=272"/>
		<updated>2026-05-28T10:41:35Z</updated>

		<summary type="html">&lt;p&gt;ChristianPayns: Die Seite wurde neu angelegt: „&amp;lt;span class=&amp;quot;mw-ui-button mw-ui-progressive&amp;quot;&amp;gt;⬅️ Datentypen&amp;lt;/span&amp;gt;“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Datentypen|&amp;lt;span class=&amp;quot;mw-ui-button mw-ui-progressive&amp;quot;&amp;gt;⬅️ Datentypen&amp;lt;/span&amp;gt;]]&lt;/div&gt;</summary>
		<author><name>ChristianPayns</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.payns.duckdns.org/index.php?title=Datentypen&amp;diff=271</id>
		<title>Datentypen</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.payns.duckdns.org/index.php?title=Datentypen&amp;diff=271"/>
		<updated>2026-05-28T10:28:08Z</updated>

		<summary type="html">&lt;p&gt;ChristianPayns: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Software zur Verwaltung von Daten anpassen|&amp;lt;span class=&amp;quot;mw-ui-button mw-ui-progressive&amp;quot;&amp;gt;⬅️ Software zur Verwaltung von Daten anpassen&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
= C# Datentypen und Wertebereiche =&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Warum braucht man Datentypen? ==&lt;br /&gt;
&lt;br /&gt;
Damit ein Programm Daten verarbeiten kann, benötigt es Variablen.&lt;br /&gt;
&lt;br /&gt;
Eine Variable ist ein benannter Speicherplatz im Arbeitsspeicher. In dieser Variable wird ein Wert gespeichert, der während der Programmlaufzeit verwendet oder verändert werden kann.&lt;br /&gt;
&lt;br /&gt;
Jede Variable besitzt einen Datentyp. Der Datentyp legt fest:&lt;br /&gt;
&lt;br /&gt;
* welche Art von Wert gespeichert werden darf&lt;br /&gt;
* wie viel Speicher benötigt wird&lt;br /&gt;
* wie die gespeicherten Nullen und Einsen interpretiert werden&lt;br /&gt;
* welche Operationen mit dem Wert möglich sind&lt;br /&gt;
&lt;br /&gt;
{{Box|Merke|&lt;br /&gt;
Ein Datentyp sagt dem Computer, wie ein gespeicherter Wert zu verstehen ist.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Grundprinzip ==&lt;br /&gt;
&lt;br /&gt;
Computer speichern Daten intern als Bitfolgen, also als Reihen aus Nullen und Einsen.&lt;br /&gt;
&lt;br /&gt;
Ein und dieselbe Bitfolge kann je nach Datentyp unterschiedlich interpretiert werden:&lt;br /&gt;
&lt;br /&gt;
* als Ganzzahl&lt;br /&gt;
* als Kommazahl&lt;br /&gt;
* als Zeichen&lt;br /&gt;
* als Text&lt;br /&gt;
* als Wahrheitswert&lt;br /&gt;
&lt;br /&gt;
{{Box|Info|&lt;br /&gt;
Deshalb dürfen Datentypen nicht beliebig vermischt werden. Ein &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; und ein &amp;lt;code&amp;gt;double&amp;lt;/code&amp;gt; können zwar beide Zahlen darstellen, sie werden intern aber unterschiedlich gespeichert.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Ganze Zahlen ==&lt;br /&gt;
&lt;br /&gt;
Ganze Zahlen sind Zahlen ohne Nachkommastellen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Datentyp&lt;br /&gt;
! Wertebereich&lt;br /&gt;
! Variablengröße&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;&lt;br /&gt;
| -2.147.483.648 bis 2.147.483.647&lt;br /&gt;
| Ganze 32-Bit-Zahl mit Vorzeichen&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;long&amp;lt;/code&amp;gt;&lt;br /&gt;
| -9.223.372.036.854.775.808 bis 9.223.372.036.854.775.807&lt;br /&gt;
| Ganze 64-Bit-Zahl mit Vorzeichen&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;byte&amp;lt;/code&amp;gt;&lt;br /&gt;
| 0 bis 255&lt;br /&gt;
| Ganze 8-Bit-Zahl ohne Vorzeichen&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;sbyte&amp;lt;/code&amp;gt;&lt;br /&gt;
| -128 bis 127&lt;br /&gt;
| Ganze 8-Bit-Zahl mit Vorzeichen&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;char&amp;lt;/code&amp;gt;&lt;br /&gt;
| U+0000 bis U+FFFF&lt;br /&gt;
| 16-Bit-Unicode-Zeichen&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;short&amp;lt;/code&amp;gt;&lt;br /&gt;
| -32.768 bis 32.767&lt;br /&gt;
| Ganze 16-Bit-Zahl mit Vorzeichen&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ushort&amp;lt;/code&amp;gt;&lt;br /&gt;
| 0 bis 65.535&lt;br /&gt;
| Ganze 16-Bit-Zahl ohne Vorzeichen&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;uint&amp;lt;/code&amp;gt;&lt;br /&gt;
| 0 bis 4.294.967.295&lt;br /&gt;
| Vorzeichenlose 32-Bit-Ganzzahl&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ulong&amp;lt;/code&amp;gt;&lt;br /&gt;
| 0 bis 18.446.744.073.709.551.615&lt;br /&gt;
| Vorzeichenlose 64-Bit-Ganzzahl&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{Box|Merke|&lt;br /&gt;
&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; ist der Standard-Datentyp für ganze Zahlen in C#.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Gleitkommazahlen ==&lt;br /&gt;
&lt;br /&gt;
Gleitkommazahlen speichern Zahlen mit Nachkommastellen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Datentyp&lt;br /&gt;
! Wertebereich&lt;br /&gt;
! Genauigkeit / Größe&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;float&amp;lt;/code&amp;gt;&lt;br /&gt;
| ungefähr ±1,5 × 10&amp;lt;sup&amp;gt;-45&amp;lt;/sup&amp;gt; bis ±3,4 × 10&amp;lt;sup&amp;gt;38&amp;lt;/sup&amp;gt;&lt;br /&gt;
| ca. 7 Stellen / 4 Byte&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;double&amp;lt;/code&amp;gt;&lt;br /&gt;
| ungefähr ±5,0 × 10&amp;lt;sup&amp;gt;-324&amp;lt;/sup&amp;gt; bis ±1,7 × 10&amp;lt;sup&amp;gt;308&amp;lt;/sup&amp;gt;&lt;br /&gt;
| ca. 15 bis 16 Stellen / 8 Byte&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Wertebereich von float ==&lt;br /&gt;
&lt;br /&gt;
Der Datentyp &amp;lt;code&amp;gt;float&amp;lt;/code&amp;gt; kann sehr kleine und sehr große Kommazahlen speichern.&lt;br /&gt;
&lt;br /&gt;
* Der kleinste positive Wert liegt ungefähr bei &amp;lt;code&amp;gt;1,5 × 10^-45&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Das bedeutet: 1,5 multipliziert mit 10 hoch -45.&lt;br /&gt;
* Der größte Wert liegt ungefähr bei &amp;lt;code&amp;gt;3,4 × 10^38&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Das bedeutet: 3,4 multipliziert mit 10 hoch 38.&lt;br /&gt;
&lt;br /&gt;
{{Box|Achtung|&lt;br /&gt;
&amp;lt;code&amp;gt;float&amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt;double&amp;lt;/code&amp;gt; sind nicht für exakte Geldbeträge geeignet, weil Rundungsfehler auftreten können.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Fixkommazahlen ==&lt;br /&gt;
&lt;br /&gt;
Für besonders genaue Dezimalzahlen gibt es den Datentyp &amp;lt;code&amp;gt;decimal&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Datentyp&lt;br /&gt;
! Wertebereich&lt;br /&gt;
! Verwendung&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;decimal&amp;lt;/code&amp;gt;&lt;br /&gt;
| ungefähr ±7,9 × 10&amp;lt;sup&amp;gt;28&amp;lt;/sup&amp;gt;&lt;br /&gt;
| Geeignet für Geldbeträge und genaue Dezimalwerte&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Sonstige Datentypen ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Datentyp&lt;br /&gt;
! Wertebereich / Bedeutung&lt;br /&gt;
! Erklärung&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;bool&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; oder &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt;&lt;br /&gt;
| Wahrheitswert&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;char&amp;lt;/code&amp;gt;&lt;br /&gt;
| Unicode-Zeichen&lt;br /&gt;
| Einzelnes Zeichen&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt;&lt;br /&gt;
| Zeichenkette&lt;br /&gt;
| Text aus mehreren Zeichen&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Vier wichtige Datentypen im Unterricht ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Datentyp&lt;br /&gt;
! Bedeutung&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;&lt;br /&gt;
| Ganzzahl mit 32 Bit Speicherplatz&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;double&amp;lt;/code&amp;gt;&lt;br /&gt;
| Kommazahl mit 64 Bit Speicherplatz&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt;&lt;br /&gt;
| Zeichenkette mit 16 Bit Speicherbedarf pro Zeichen, UTF-16-Kodierung&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;bool&amp;lt;/code&amp;gt;&lt;br /&gt;
| Wahr/Falsch-Wert&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Beispiel: Unterschiedliche Darstellung der Zahl 3 ==&lt;br /&gt;
&lt;br /&gt;
Die Zahl bzw. das Zeichen &amp;lt;code&amp;gt;3&amp;lt;/code&amp;gt; kann je nach Datentyp unterschiedlich gespeichert werden.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Datentyp&lt;br /&gt;
! Wert&lt;br /&gt;
! Darstellung auf Bitebene&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;3&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;00000000 00000000 00000000 00000011&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;double&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;3.0&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;01000000 00001000 00000000 00000000 00000000 00000000 00000000 00000000&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;&amp;quot;3&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;00000000 00110011&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;bool&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
| Nicht als Zahl 3 darstellbar, da &amp;lt;code&amp;gt;bool&amp;lt;/code&amp;gt; nur &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; oder &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt; speichern kann.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{Box|Merke|&lt;br /&gt;
Der Wert &amp;lt;code&amp;gt;3&amp;lt;/code&amp;gt;, der Wert &amp;lt;code&amp;gt;3.0&amp;lt;/code&amp;gt; und der Text &amp;lt;code&amp;gt;&amp;quot;3&amp;quot;&amp;lt;/code&amp;gt; sehen ähnlich aus, sind aber unterschiedliche Datentypen.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Beispiel in C# ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
int ganzeZahl = 3;&lt;br /&gt;
double kommaZahl = 3.0;&lt;br /&gt;
string text = &amp;quot;3&amp;quot;;&lt;br /&gt;
bool wahrheitswert = true;&lt;br /&gt;
&lt;br /&gt;
Console.WriteLine(ganzeZahl);&lt;br /&gt;
Console.WriteLine(kommaZahl);&lt;br /&gt;
Console.WriteLine(text);&lt;br /&gt;
Console.WriteLine(wahrheitswert);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Typische Fehler ==&lt;br /&gt;
&lt;br /&gt;
=== Fehler 1: Text und Zahl verwechseln ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
int zahl = &amp;quot;3&amp;quot;;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dieser Code ist falsch, weil &amp;lt;code&amp;gt;&amp;quot;3&amp;quot;&amp;lt;/code&amp;gt; ein Text ist.&lt;br /&gt;
&lt;br /&gt;
Richtig wäre:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
int zahl = 3;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Fehler 2: Kommazahl in int speichern ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
int zahl = 3.5;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dieser Code ist falsch, weil &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; keine Nachkommastellen speichern kann.&lt;br /&gt;
&lt;br /&gt;
Richtig wäre:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
double zahl = 3.5;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Fehler 3: bool falsch verwenden ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
bool wert = 3;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dieser Code ist falsch, weil &amp;lt;code&amp;gt;bool&amp;lt;/code&amp;gt; nur &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; oder &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt; speichern kann.&lt;br /&gt;
&lt;br /&gt;
Richtig wäre:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
bool wert = true;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Zusammenfassung ==&lt;br /&gt;
&lt;br /&gt;
Datentypen legen fest, wie Daten gespeichert und interpretiert werden.&lt;br /&gt;
&lt;br /&gt;
Die wichtigsten Grundtypen sind:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; für ganze Zahlen&lt;br /&gt;
* &amp;lt;code&amp;gt;double&amp;lt;/code&amp;gt; für Kommazahlen&lt;br /&gt;
* &amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt; für Texte&lt;br /&gt;
* &amp;lt;code&amp;gt;bool&amp;lt;/code&amp;gt; für Wahrheitswerte&lt;br /&gt;
&lt;br /&gt;
{{Box|Prüfungstipp|&lt;br /&gt;
Merke dir besonders den Unterschied zwischen &amp;lt;code&amp;gt;3&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;3.0&amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt;&amp;quot;3&amp;quot;&amp;lt;/code&amp;gt;.  &lt;br /&gt;
Sie sehen ähnlich aus, gehören aber zu unterschiedlichen Datentypen.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:CSharp]]&lt;br /&gt;
[[Kategorie:Programmierung]]&lt;br /&gt;
[[Kategorie:FISI]]&lt;br /&gt;
&lt;br /&gt;
== Aufgaben ==&lt;br /&gt;
&lt;br /&gt;
[[Aufgaben|&amp;lt;span class=&amp;quot;mw-ui-button mw-ui-progressive&amp;quot;&amp;gt;⬅️ Aufgaben&amp;lt;/span&amp;gt;]]&lt;/div&gt;</summary>
		<author><name>ChristianPayns</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.payns.duckdns.org/index.php?title=Datentypen&amp;diff=270</id>
		<title>Datentypen</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.payns.duckdns.org/index.php?title=Datentypen&amp;diff=270"/>
		<updated>2026-05-28T10:14:37Z</updated>

		<summary type="html">&lt;p&gt;ChristianPayns: /* C# Datentypen und Wertebereiche */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Software zur Verwaltung von Daten anpassen|&amp;lt;span class=&amp;quot;mw-ui-button mw-ui-progressive&amp;quot;&amp;gt;⬅️ Software zur Verwaltung von Daten anpassen&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
= C# Datentypen und Wertebereiche =&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Warum braucht man Datentypen? ==&lt;br /&gt;
&lt;br /&gt;
Damit ein Programm Daten verarbeiten kann, benötigt es Variablen.&lt;br /&gt;
&lt;br /&gt;
Eine Variable ist ein benannter Speicherplatz im Arbeitsspeicher. In dieser Variable wird ein Wert gespeichert, der während der Programmlaufzeit verwendet oder verändert werden kann.&lt;br /&gt;
&lt;br /&gt;
Jede Variable besitzt einen Datentyp. Der Datentyp legt fest:&lt;br /&gt;
&lt;br /&gt;
* welche Art von Wert gespeichert werden darf&lt;br /&gt;
* wie viel Speicher benötigt wird&lt;br /&gt;
* wie die gespeicherten Nullen und Einsen interpretiert werden&lt;br /&gt;
* welche Operationen mit dem Wert möglich sind&lt;br /&gt;
&lt;br /&gt;
{{Box|Merke|&lt;br /&gt;
Ein Datentyp sagt dem Computer, wie ein gespeicherter Wert zu verstehen ist.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Grundprinzip ==&lt;br /&gt;
&lt;br /&gt;
Computer speichern Daten intern als Bitfolgen, also als Reihen aus Nullen und Einsen.&lt;br /&gt;
&lt;br /&gt;
Ein und dieselbe Bitfolge kann je nach Datentyp unterschiedlich interpretiert werden:&lt;br /&gt;
&lt;br /&gt;
* als Ganzzahl&lt;br /&gt;
* als Kommazahl&lt;br /&gt;
* als Zeichen&lt;br /&gt;
* als Text&lt;br /&gt;
* als Wahrheitswert&lt;br /&gt;
&lt;br /&gt;
{{Box|Info|&lt;br /&gt;
Deshalb dürfen Datentypen nicht beliebig vermischt werden. Ein &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; und ein &amp;lt;code&amp;gt;double&amp;lt;/code&amp;gt; können zwar beide Zahlen darstellen, sie werden intern aber unterschiedlich gespeichert.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Ganze Zahlen ==&lt;br /&gt;
&lt;br /&gt;
Ganze Zahlen sind Zahlen ohne Nachkommastellen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Datentyp&lt;br /&gt;
! Wertebereich&lt;br /&gt;
! Variablengröße&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;&lt;br /&gt;
| -2.147.483.648 bis 2.147.483.647&lt;br /&gt;
| Ganze 32-Bit-Zahl mit Vorzeichen&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;long&amp;lt;/code&amp;gt;&lt;br /&gt;
| -9.223.372.036.854.775.808 bis 9.223.372.036.854.775.807&lt;br /&gt;
| Ganze 64-Bit-Zahl mit Vorzeichen&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;byte&amp;lt;/code&amp;gt;&lt;br /&gt;
| 0 bis 255&lt;br /&gt;
| Ganze 8-Bit-Zahl ohne Vorzeichen&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;sbyte&amp;lt;/code&amp;gt;&lt;br /&gt;
| -128 bis 127&lt;br /&gt;
| Ganze 8-Bit-Zahl mit Vorzeichen&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;char&amp;lt;/code&amp;gt;&lt;br /&gt;
| U+0000 bis U+FFFF&lt;br /&gt;
| 16-Bit-Unicode-Zeichen&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;short&amp;lt;/code&amp;gt;&lt;br /&gt;
| -32.768 bis 32.767&lt;br /&gt;
| Ganze 16-Bit-Zahl mit Vorzeichen&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ushort&amp;lt;/code&amp;gt;&lt;br /&gt;
| 0 bis 65.535&lt;br /&gt;
| Ganze 16-Bit-Zahl ohne Vorzeichen&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;uint&amp;lt;/code&amp;gt;&lt;br /&gt;
| 0 bis 4.294.967.295&lt;br /&gt;
| Vorzeichenlose 32-Bit-Ganzzahl&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ulong&amp;lt;/code&amp;gt;&lt;br /&gt;
| 0 bis 18.446.744.073.709.551.615&lt;br /&gt;
| Vorzeichenlose 64-Bit-Ganzzahl&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{Box|Merke|&lt;br /&gt;
&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; ist der Standard-Datentyp für ganze Zahlen in C#.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Gleitkommazahlen ==&lt;br /&gt;
&lt;br /&gt;
Gleitkommazahlen speichern Zahlen mit Nachkommastellen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Datentyp&lt;br /&gt;
! Wertebereich&lt;br /&gt;
! Genauigkeit / Größe&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;float&amp;lt;/code&amp;gt;&lt;br /&gt;
| ungefähr ±1,5 × 10&amp;lt;sup&amp;gt;-45&amp;lt;/sup&amp;gt; bis ±3,4 × 10&amp;lt;sup&amp;gt;38&amp;lt;/sup&amp;gt;&lt;br /&gt;
| ca. 7 Stellen / 4 Byte&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;double&amp;lt;/code&amp;gt;&lt;br /&gt;
| ungefähr ±5,0 × 10&amp;lt;sup&amp;gt;-324&amp;lt;/sup&amp;gt; bis ±1,7 × 10&amp;lt;sup&amp;gt;308&amp;lt;/sup&amp;gt;&lt;br /&gt;
| ca. 15 bis 16 Stellen / 8 Byte&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Wertebereich von float ==&lt;br /&gt;
&lt;br /&gt;
Der Datentyp &amp;lt;code&amp;gt;float&amp;lt;/code&amp;gt; kann sehr kleine und sehr große Kommazahlen speichern.&lt;br /&gt;
&lt;br /&gt;
* Der kleinste positive Wert liegt ungefähr bei &amp;lt;code&amp;gt;1,5 × 10^-45&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Das bedeutet: 1,5 multipliziert mit 10 hoch -45.&lt;br /&gt;
* Der größte Wert liegt ungefähr bei &amp;lt;code&amp;gt;3,4 × 10^38&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Das bedeutet: 3,4 multipliziert mit 10 hoch 38.&lt;br /&gt;
&lt;br /&gt;
{{Box|Achtung|&lt;br /&gt;
&amp;lt;code&amp;gt;float&amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt;double&amp;lt;/code&amp;gt; sind nicht für exakte Geldbeträge geeignet, weil Rundungsfehler auftreten können.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Fixkommazahlen ==&lt;br /&gt;
&lt;br /&gt;
Für besonders genaue Dezimalzahlen gibt es den Datentyp &amp;lt;code&amp;gt;decimal&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Datentyp&lt;br /&gt;
! Wertebereich&lt;br /&gt;
! Verwendung&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;decimal&amp;lt;/code&amp;gt;&lt;br /&gt;
| ungefähr ±7,9 × 10&amp;lt;sup&amp;gt;28&amp;lt;/sup&amp;gt;&lt;br /&gt;
| Geeignet für Geldbeträge und genaue Dezimalwerte&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Sonstige Datentypen ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Datentyp&lt;br /&gt;
! Wertebereich / Bedeutung&lt;br /&gt;
! Erklärung&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;bool&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; oder &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt;&lt;br /&gt;
| Wahrheitswert&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;char&amp;lt;/code&amp;gt;&lt;br /&gt;
| Unicode-Zeichen&lt;br /&gt;
| Einzelnes Zeichen&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt;&lt;br /&gt;
| Zeichenkette&lt;br /&gt;
| Text aus mehreren Zeichen&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Vier wichtige Datentypen im Unterricht ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Datentyp&lt;br /&gt;
! Bedeutung&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;&lt;br /&gt;
| Ganzzahl mit 32 Bit Speicherplatz&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;double&amp;lt;/code&amp;gt;&lt;br /&gt;
| Kommazahl mit 64 Bit Speicherplatz&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt;&lt;br /&gt;
| Zeichenkette mit 16 Bit Speicherbedarf pro Zeichen, UTF-16-Kodierung&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;bool&amp;lt;/code&amp;gt;&lt;br /&gt;
| Wahr/Falsch-Wert&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Beispiel: Unterschiedliche Darstellung der Zahl 3 ==&lt;br /&gt;
&lt;br /&gt;
Die Zahl bzw. das Zeichen &amp;lt;code&amp;gt;3&amp;lt;/code&amp;gt; kann je nach Datentyp unterschiedlich gespeichert werden.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Datentyp&lt;br /&gt;
! Wert&lt;br /&gt;
! Darstellung auf Bitebene&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;3&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;00000000 00000000 00000000 00000011&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;double&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;3.0&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;01000000 00001000 00000000 00000000 00000000 00000000 00000000 00000000&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;&amp;quot;3&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;00000000 00110011&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;bool&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
| Nicht als Zahl 3 darstellbar, da &amp;lt;code&amp;gt;bool&amp;lt;/code&amp;gt; nur &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; oder &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt; speichern kann.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{Box|Merke|&lt;br /&gt;
Der Wert &amp;lt;code&amp;gt;3&amp;lt;/code&amp;gt;, der Wert &amp;lt;code&amp;gt;3.0&amp;lt;/code&amp;gt; und der Text &amp;lt;code&amp;gt;&amp;quot;3&amp;quot;&amp;lt;/code&amp;gt; sehen ähnlich aus, sind aber unterschiedliche Datentypen.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Beispiel in C# ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
int ganzeZahl = 3;&lt;br /&gt;
double kommaZahl = 3.0;&lt;br /&gt;
string text = &amp;quot;3&amp;quot;;&lt;br /&gt;
bool wahrheitswert = true;&lt;br /&gt;
&lt;br /&gt;
Console.WriteLine(ganzeZahl);&lt;br /&gt;
Console.WriteLine(kommaZahl);&lt;br /&gt;
Console.WriteLine(text);&lt;br /&gt;
Console.WriteLine(wahrheitswert);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Typische Fehler ==&lt;br /&gt;
&lt;br /&gt;
=== Fehler 1: Text und Zahl verwechseln ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
int zahl = &amp;quot;3&amp;quot;;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dieser Code ist falsch, weil &amp;lt;code&amp;gt;&amp;quot;3&amp;quot;&amp;lt;/code&amp;gt; ein Text ist.&lt;br /&gt;
&lt;br /&gt;
Richtig wäre:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
int zahl = 3;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Fehler 2: Kommazahl in int speichern ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
int zahl = 3.5;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dieser Code ist falsch, weil &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; keine Nachkommastellen speichern kann.&lt;br /&gt;
&lt;br /&gt;
Richtig wäre:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
double zahl = 3.5;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Fehler 3: bool falsch verwenden ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
bool wert = 3;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dieser Code ist falsch, weil &amp;lt;code&amp;gt;bool&amp;lt;/code&amp;gt; nur &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; oder &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt; speichern kann.&lt;br /&gt;
&lt;br /&gt;
Richtig wäre:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
bool wert = true;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Zusammenfassung ==&lt;br /&gt;
&lt;br /&gt;
Datentypen legen fest, wie Daten gespeichert und interpretiert werden.&lt;br /&gt;
&lt;br /&gt;
Die wichtigsten Grundtypen sind:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; für ganze Zahlen&lt;br /&gt;
* &amp;lt;code&amp;gt;double&amp;lt;/code&amp;gt; für Kommazahlen&lt;br /&gt;
* &amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt; für Texte&lt;br /&gt;
* &amp;lt;code&amp;gt;bool&amp;lt;/code&amp;gt; für Wahrheitswerte&lt;br /&gt;
&lt;br /&gt;
{{Box|Prüfungstipp|&lt;br /&gt;
Merke dir besonders den Unterschied zwischen &amp;lt;code&amp;gt;3&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;3.0&amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt;&amp;quot;3&amp;quot;&amp;lt;/code&amp;gt;.  &lt;br /&gt;
Sie sehen ähnlich aus, gehören aber zu unterschiedlichen Datentypen.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:CSharp]]&lt;br /&gt;
[[Kategorie:Programmierung]]&lt;br /&gt;
[[Kategorie:FISI]]&lt;br /&gt;
&lt;br /&gt;
== Aufgaben ==&lt;/div&gt;</summary>
		<author><name>ChristianPayns</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.payns.duckdns.org/index.php?title=Datentypen&amp;diff=269</id>
		<title>Datentypen</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.payns.duckdns.org/index.php?title=Datentypen&amp;diff=269"/>
		<updated>2026-05-28T10:07:02Z</updated>

		<summary type="html">&lt;p&gt;ChristianPayns: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Software zur Verwaltung von Daten anpassen|&amp;lt;span class=&amp;quot;mw-ui-button mw-ui-progressive&amp;quot;&amp;gt;⬅️ Software zur Verwaltung von Daten anpassen&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
= C# Datentypen und Wertebereiche =&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Warum braucht man Datentypen? ==&lt;br /&gt;
&lt;br /&gt;
Damit ein Programm Daten verarbeiten kann, benötigt es Variablen.&lt;br /&gt;
&lt;br /&gt;
Eine Variable ist ein benannter Speicherplatz im Arbeitsspeicher. In dieser Variable wird ein Wert gespeichert, der während der Programmlaufzeit verwendet oder verändert werden kann.&lt;br /&gt;
&lt;br /&gt;
Jede Variable besitzt einen Datentyp. Der Datentyp legt fest:&lt;br /&gt;
&lt;br /&gt;
* welche Art von Wert gespeichert werden darf&lt;br /&gt;
* wie viel Speicher benötigt wird&lt;br /&gt;
* wie die gespeicherten Nullen und Einsen interpretiert werden&lt;br /&gt;
* welche Operationen mit dem Wert möglich sind&lt;br /&gt;
&lt;br /&gt;
{{Box|Merke|&lt;br /&gt;
Ein Datentyp sagt dem Computer, wie ein gespeicherter Wert zu verstehen ist.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Grundprinzip ==&lt;br /&gt;
&lt;br /&gt;
Computer speichern Daten intern als Bitfolgen, also als Reihen aus Nullen und Einsen.&lt;br /&gt;
&lt;br /&gt;
Ein und dieselbe Bitfolge kann je nach Datentyp unterschiedlich interpretiert werden:&lt;br /&gt;
&lt;br /&gt;
* als Ganzzahl&lt;br /&gt;
* als Kommazahl&lt;br /&gt;
* als Zeichen&lt;br /&gt;
* als Text&lt;br /&gt;
* als Wahrheitswert&lt;br /&gt;
&lt;br /&gt;
{{Box|Info|&lt;br /&gt;
Deshalb dürfen Datentypen nicht beliebig vermischt werden. Ein &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; und ein &amp;lt;code&amp;gt;double&amp;lt;/code&amp;gt; können zwar beide Zahlen darstellen, sie werden intern aber unterschiedlich gespeichert.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Ganze Zahlen ==&lt;br /&gt;
&lt;br /&gt;
Ganze Zahlen sind Zahlen ohne Nachkommastellen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Datentyp&lt;br /&gt;
! Wertebereich&lt;br /&gt;
! Variablengröße&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;&lt;br /&gt;
| -2.147.483.648 bis 2.147.483.647&lt;br /&gt;
| Ganze 32-Bit-Zahl mit Vorzeichen&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;long&amp;lt;/code&amp;gt;&lt;br /&gt;
| -9.223.372.036.854.775.808 bis 9.223.372.036.854.775.807&lt;br /&gt;
| Ganze 64-Bit-Zahl mit Vorzeichen&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;byte&amp;lt;/code&amp;gt;&lt;br /&gt;
| 0 bis 255&lt;br /&gt;
| Ganze 8-Bit-Zahl ohne Vorzeichen&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;sbyte&amp;lt;/code&amp;gt;&lt;br /&gt;
| -128 bis 127&lt;br /&gt;
| Ganze 8-Bit-Zahl mit Vorzeichen&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;char&amp;lt;/code&amp;gt;&lt;br /&gt;
| U+0000 bis U+FFFF&lt;br /&gt;
| 16-Bit-Unicode-Zeichen&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;short&amp;lt;/code&amp;gt;&lt;br /&gt;
| -32.768 bis 32.767&lt;br /&gt;
| Ganze 16-Bit-Zahl mit Vorzeichen&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ushort&amp;lt;/code&amp;gt;&lt;br /&gt;
| 0 bis 65.535&lt;br /&gt;
| Ganze 16-Bit-Zahl ohne Vorzeichen&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;uint&amp;lt;/code&amp;gt;&lt;br /&gt;
| 0 bis 4.294.967.295&lt;br /&gt;
| Vorzeichenlose 32-Bit-Ganzzahl&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ulong&amp;lt;/code&amp;gt;&lt;br /&gt;
| 0 bis 18.446.744.073.709.551.615&lt;br /&gt;
| Vorzeichenlose 64-Bit-Ganzzahl&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{Box|Merke|&lt;br /&gt;
&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; ist der Standard-Datentyp für ganze Zahlen in C#.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Gleitkommazahlen ==&lt;br /&gt;
&lt;br /&gt;
Gleitkommazahlen speichern Zahlen mit Nachkommastellen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Datentyp&lt;br /&gt;
! Wertebereich&lt;br /&gt;
! Genauigkeit / Größe&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;float&amp;lt;/code&amp;gt;&lt;br /&gt;
| ungefähr ±1,5 × 10&amp;lt;sup&amp;gt;-45&amp;lt;/sup&amp;gt; bis ±3,4 × 10&amp;lt;sup&amp;gt;38&amp;lt;/sup&amp;gt;&lt;br /&gt;
| ca. 7 Stellen / 4 Byte&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;double&amp;lt;/code&amp;gt;&lt;br /&gt;
| ungefähr ±5,0 × 10&amp;lt;sup&amp;gt;-324&amp;lt;/sup&amp;gt; bis ±1,7 × 10&amp;lt;sup&amp;gt;308&amp;lt;/sup&amp;gt;&lt;br /&gt;
| ca. 15 bis 16 Stellen / 8 Byte&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Wertebereich von float ==&lt;br /&gt;
&lt;br /&gt;
Der Datentyp &amp;lt;code&amp;gt;float&amp;lt;/code&amp;gt; kann sehr kleine und sehr große Kommazahlen speichern.&lt;br /&gt;
&lt;br /&gt;
* Der kleinste positive Wert liegt ungefähr bei &amp;lt;code&amp;gt;1,5 × 10^-45&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Das bedeutet: 1,5 multipliziert mit 10 hoch -45.&lt;br /&gt;
* Der größte Wert liegt ungefähr bei &amp;lt;code&amp;gt;3,4 × 10^38&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Das bedeutet: 3,4 multipliziert mit 10 hoch 38.&lt;br /&gt;
&lt;br /&gt;
{{Box|Achtung|&lt;br /&gt;
&amp;lt;code&amp;gt;float&amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt;double&amp;lt;/code&amp;gt; sind nicht für exakte Geldbeträge geeignet, weil Rundungsfehler auftreten können.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Fixkommazahlen ==&lt;br /&gt;
&lt;br /&gt;
Für besonders genaue Dezimalzahlen gibt es den Datentyp &amp;lt;code&amp;gt;decimal&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Datentyp&lt;br /&gt;
! Wertebereich&lt;br /&gt;
! Verwendung&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;decimal&amp;lt;/code&amp;gt;&lt;br /&gt;
| ungefähr ±7,9 × 10&amp;lt;sup&amp;gt;28&amp;lt;/sup&amp;gt;&lt;br /&gt;
| Geeignet für Geldbeträge und genaue Dezimalwerte&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Sonstige Datentypen ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Datentyp&lt;br /&gt;
! Wertebereich / Bedeutung&lt;br /&gt;
! Erklärung&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;bool&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; oder &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt;&lt;br /&gt;
| Wahrheitswert&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;char&amp;lt;/code&amp;gt;&lt;br /&gt;
| Unicode-Zeichen&lt;br /&gt;
| Einzelnes Zeichen&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt;&lt;br /&gt;
| Zeichenkette&lt;br /&gt;
| Text aus mehreren Zeichen&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Vier wichtige Datentypen im Unterricht ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Datentyp&lt;br /&gt;
! Bedeutung&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;&lt;br /&gt;
| Ganzzahl mit 32 Bit Speicherplatz&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;double&amp;lt;/code&amp;gt;&lt;br /&gt;
| Kommazahl mit 64 Bit Speicherplatz&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt;&lt;br /&gt;
| Zeichenkette mit 16 Bit Speicherbedarf pro Zeichen, UTF-16-Kodierung&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;bool&amp;lt;/code&amp;gt;&lt;br /&gt;
| Wahr/Falsch-Wert&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Beispiel: Unterschiedliche Darstellung der Zahl 3 ==&lt;br /&gt;
&lt;br /&gt;
Die Zahl bzw. das Zeichen &amp;lt;code&amp;gt;3&amp;lt;/code&amp;gt; kann je nach Datentyp unterschiedlich gespeichert werden.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Datentyp&lt;br /&gt;
! Wert&lt;br /&gt;
! Darstellung auf Bitebene&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;3&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;00000000 00000000 00000000 00000011&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;double&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;3.0&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;01000000 00001000 00000000 00000000 00000000 00000000 00000000 00000000&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;&amp;quot;3&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;00000000 00110011&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;bool&amp;lt;/code&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
| Nicht als Zahl 3 darstellbar, da &amp;lt;code&amp;gt;bool&amp;lt;/code&amp;gt; nur &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; oder &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt; speichern kann.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{Box|Merke|&lt;br /&gt;
Der Wert &amp;lt;code&amp;gt;3&amp;lt;/code&amp;gt;, der Wert &amp;lt;code&amp;gt;3.0&amp;lt;/code&amp;gt; und der Text &amp;lt;code&amp;gt;&amp;quot;3&amp;quot;&amp;lt;/code&amp;gt; sehen ähnlich aus, sind aber unterschiedliche Datentypen.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Beispiel in C# ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
int ganzeZahl = 3;&lt;br /&gt;
double kommaZahl = 3.0;&lt;br /&gt;
string text = &amp;quot;3&amp;quot;;&lt;br /&gt;
bool wahrheitswert = true;&lt;br /&gt;
&lt;br /&gt;
Console.WriteLine(ganzeZahl);&lt;br /&gt;
Console.WriteLine(kommaZahl);&lt;br /&gt;
Console.WriteLine(text);&lt;br /&gt;
Console.WriteLine(wahrheitswert);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Typische Fehler ==&lt;br /&gt;
&lt;br /&gt;
=== Fehler 1: Text und Zahl verwechseln ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
int zahl = &amp;quot;3&amp;quot;;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dieser Code ist falsch, weil &amp;lt;code&amp;gt;&amp;quot;3&amp;quot;&amp;lt;/code&amp;gt; ein Text ist.&lt;br /&gt;
&lt;br /&gt;
Richtig wäre:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
int zahl = 3;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Fehler 2: Kommazahl in int speichern ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
int zahl = 3.5;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dieser Code ist falsch, weil &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; keine Nachkommastellen speichern kann.&lt;br /&gt;
&lt;br /&gt;
Richtig wäre:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
double zahl = 3.5;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Fehler 3: bool falsch verwenden ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
bool wert = 3;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dieser Code ist falsch, weil &amp;lt;code&amp;gt;bool&amp;lt;/code&amp;gt; nur &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; oder &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt; speichern kann.&lt;br /&gt;
&lt;br /&gt;
Richtig wäre:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
bool wert = true;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Zusammenfassung ==&lt;br /&gt;
&lt;br /&gt;
Datentypen legen fest, wie Daten gespeichert und interpretiert werden.&lt;br /&gt;
&lt;br /&gt;
Die wichtigsten Grundtypen sind:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; für ganze Zahlen&lt;br /&gt;
* &amp;lt;code&amp;gt;double&amp;lt;/code&amp;gt; für Kommazahlen&lt;br /&gt;
* &amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt; für Texte&lt;br /&gt;
* &amp;lt;code&amp;gt;bool&amp;lt;/code&amp;gt; für Wahrheitswerte&lt;br /&gt;
&lt;br /&gt;
{{Box|Prüfungstipp|&lt;br /&gt;
Merke dir besonders den Unterschied zwischen &amp;lt;code&amp;gt;3&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;3.0&amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt;&amp;quot;3&amp;quot;&amp;lt;/code&amp;gt;.  &lt;br /&gt;
Sie sehen ähnlich aus, gehören aber zu unterschiedlichen Datentypen.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:CSharp]]&lt;br /&gt;
[[Kategorie:Programmierung]]&lt;br /&gt;
[[Kategorie:FISI]]&lt;/div&gt;</summary>
		<author><name>ChristianPayns</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.payns.duckdns.org/index.php?title=Datentypen&amp;diff=268</id>
		<title>Datentypen</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.payns.duckdns.org/index.php?title=Datentypen&amp;diff=268"/>
		<updated>2026-05-28T10:00:15Z</updated>

		<summary type="html">&lt;p&gt;ChristianPayns: Die Seite wurde neu angelegt: „  Damit ein Programm Daten verarbeiten kann, benötigen Sie Variablen. In Variablen werden Daten gespeichert., welche zur Laufzeit verarbeitet werden. Dafür bekommt die Variable einen Datentypen. Diese ist abhängig davon, was man speichern möchte.  Es gibt insgesamt 15 Datentypen in C#  Wertebereich von float 	• Der kleinste positive Wert, der gespeichert werden kann, ist ca. 1.5 × 10^−45, das bedeutet 1.5 multipliziert mit 10 hoch -45 (also eine…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
Damit ein Programm Daten verarbeiten kann, benötigen Sie Variablen. In Variablen werden Daten gespeichert., welche zur Laufzeit verarbeitet werden. Dafür bekommt die Variable einen Datentypen. Diese ist abhängig davon, was man speichern möchte. &lt;br /&gt;
Es gibt insgesamt 15 Datentypen in C#&lt;br /&gt;
&lt;br /&gt;
Wertebereich von float&lt;br /&gt;
	• Der kleinste positive Wert, der gespeichert werden kann, ist ca. 1.5 × 10^−45, das bedeutet 1.5 multipliziert mit 10 hoch -45 (also eine sehr kleine Zahl nahe bei 0).&lt;br /&gt;
	• Der größte Wert, der gespeichert werden kann, ist ca. 3.4 × 10^38, das bedeutet 3.4 multipliziert mit 10 hoch 38 (also eine sehr große Zahl).&lt;br /&gt;
&lt;br /&gt;
4 Bytes&lt;br /&gt;
&lt;br /&gt;
8 Bytes sind 64 Bit&lt;br /&gt;
&lt;br /&gt;
1 Byte oder oft 1 Bit&lt;br /&gt;
&lt;br /&gt;
Wichtig für Zukunft (Merken): &lt;br /&gt;
Datentypen legen also fest, wie genau eine Reihe von Nullen und Einsen interpretiert wird:&lt;br /&gt;
        • Als Ganzzahl (positiv und negativ),&lt;br /&gt;
        • als Kommazahl,&lt;br /&gt;
        • als Zeichen(kette) und&lt;br /&gt;
        • als &amp;quot;wahr/falsch&amp;quot;-Wert&lt;br /&gt;
&lt;br /&gt;
Dafür gibt es die vier gängigen Datentypen: (Im Unterricht)&lt;br /&gt;
&lt;br /&gt;
        int &lt;br /&gt;
        Ganzzahl mit 32 Bit Speicherplatz&lt;br /&gt;
        double &lt;br /&gt;
        Kommazahl mit 64 Bit Speicherplatz&lt;br /&gt;
        string &lt;br /&gt;
        Zeichenkette mit 16 Bit Speicherbedarf pro Zeichen, UTF-16-Kodierung&lt;br /&gt;
        bool&lt;br /&gt;
        wahr/falsch (theoretisch mit 1 Bit Speicherbedarf)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Wie sieht z.B. die Zahl (bzw. das Zeichen) 3 als Bitfolge in den jeweiligen Datentypen aus? (Grund warum man int und double nicht vermischen darf)&lt;br /&gt;
&lt;br /&gt;
Datentyp	Wert	Darstellung auf Bitebene&lt;br /&gt;
int	3	00000000 00000000 00000000 00000011&lt;br /&gt;
double	3.0	01000000 00001000 00000000 00000000 00000000 00000000 00000000 00000000&lt;br /&gt;
string	&amp;quot;3&amp;quot;	00000000 00110011&lt;br /&gt;
bool	-	(nicht darstellbar, weil nur wahr und falsch gespeichert werden können!) Ggf. 1 Bit oder 1 Byte&lt;/div&gt;</summary>
		<author><name>ChristianPayns</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.payns.duckdns.org/index.php?title=Begriffserl%C3%A4uterung&amp;diff=267</id>
		<title>Begriffserläuterung</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.payns.duckdns.org/index.php?title=Begriffserl%C3%A4uterung&amp;diff=267"/>
		<updated>2026-05-28T09:41:29Z</updated>

		<summary type="html">&lt;p&gt;ChristianPayns: Die Seite wurde neu angelegt: „&amp;lt;span class=&amp;quot;mw-ui-button mw-ui-progressive&amp;quot;&amp;gt;⬅️ Software zur Verwaltung von Daten anpassen&amp;lt;/span&amp;gt;  = Grundlagen der C#-Programmierung =  __TOC__  == Einführung ==  C# ist eine moderne objektorientierte Programmiersprache von Microsoft.   Sie wird häufig für:  * Desktop-Anwendungen * Webentwicklung * Spieleentwicklung * Cloud-Anwendungen * mobile Apps  verwendet.  {{Box|Info| C# arbeitet eng mit dem .NE…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Software zur Verwaltung von Daten anpassen|&amp;lt;span class=&amp;quot;mw-ui-button mw-ui-progressive&amp;quot;&amp;gt;⬅️ Software zur Verwaltung von Daten anpassen&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
= Grundlagen der C#-Programmierung =&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Einführung ==&lt;br /&gt;
&lt;br /&gt;
C# ist eine moderne objektorientierte Programmiersprache von Microsoft.  &lt;br /&gt;
Sie wird häufig für:&lt;br /&gt;
&lt;br /&gt;
* Desktop-Anwendungen&lt;br /&gt;
* Webentwicklung&lt;br /&gt;
* Spieleentwicklung&lt;br /&gt;
* Cloud-Anwendungen&lt;br /&gt;
* mobile Apps&lt;br /&gt;
&lt;br /&gt;
verwendet.&lt;br /&gt;
&lt;br /&gt;
{{Box|Info|&lt;br /&gt;
C# arbeitet eng mit dem .NET Framework bzw. .NET zusammen.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
= Wichtige Begriffe =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Begriff&lt;br /&gt;
! Beispiel&lt;br /&gt;
! Erklärung&lt;br /&gt;
|-&lt;br /&gt;
| Klasse&lt;br /&gt;
| &amp;lt;code&amp;gt;Program.cs&amp;lt;/code&amp;gt;&lt;br /&gt;
| Klassen strukturieren Programmcode und enthalten Methoden und Variablen.&lt;br /&gt;
|-&lt;br /&gt;
| Methode&lt;br /&gt;
| &amp;lt;code&amp;gt;static void Main()&amp;lt;/code&amp;gt;&lt;br /&gt;
| Methoden enthalten ausführbaren Programmcode.&lt;br /&gt;
|-&lt;br /&gt;
| Variable&lt;br /&gt;
| &amp;lt;code&amp;gt;int x;&amp;lt;/code&amp;gt;&lt;br /&gt;
| Speicherplatz für Werte im Arbeitsspeicher.&lt;br /&gt;
|-&lt;br /&gt;
| Datentyp&lt;br /&gt;
| &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;&lt;br /&gt;
| Bestimmt, welche Art von Daten gespeichert wird.&lt;br /&gt;
|-&lt;br /&gt;
| Variablendeklaration&lt;br /&gt;
| &amp;lt;code&amp;gt;int x;&amp;lt;/code&amp;gt;&lt;br /&gt;
| Erstellt eine Variable ohne Wert.&lt;br /&gt;
|-&lt;br /&gt;
| Variableninitialisierung&lt;br /&gt;
| &amp;lt;code&amp;gt;int x = 5;&amp;lt;/code&amp;gt;&lt;br /&gt;
| Erstellt eine Variable mit Wert.&lt;br /&gt;
|-&lt;br /&gt;
| Bedingung&lt;br /&gt;
| &amp;lt;code&amp;gt;(x == 5)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Prüft eine Aussage.&lt;br /&gt;
|-&lt;br /&gt;
| Scope&lt;br /&gt;
| &amp;lt;code&amp;gt;{ }&amp;lt;/code&amp;gt;&lt;br /&gt;
| Definiert den Geltungsbereich von Variablen.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
= Klassen =&lt;br /&gt;
&lt;br /&gt;
Klassen sind die Grundlage der objektorientierten Programmierung.&lt;br /&gt;
&lt;br /&gt;
Eine Klasse kann enthalten:&lt;br /&gt;
&lt;br /&gt;
* Methoden&lt;br /&gt;
* Variablen&lt;br /&gt;
* Eigenschaften&lt;br /&gt;
* Konstruktoren&lt;br /&gt;
&lt;br /&gt;
== Beispiel einer Klasse ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
class Program&lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Box|Merke|&lt;br /&gt;
In C# befindet sich fast jeder Programmcode innerhalb einer Klasse.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
= Methoden =&lt;br /&gt;
&lt;br /&gt;
Methoden enthalten Programmcode.&lt;br /&gt;
&lt;br /&gt;
== Beispiel ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
static void Main()&lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Methode &amp;lt;code&amp;gt;Main()&amp;lt;/code&amp;gt; ist der Einstiegspunkt des Programms.&lt;br /&gt;
&lt;br /&gt;
== Eigenschaften von Methoden ==&lt;br /&gt;
&lt;br /&gt;
* besitzen Klammern &amp;lt;code&amp;gt;()&amp;lt;/code&amp;gt;&lt;br /&gt;
* können Parameter erhalten&lt;br /&gt;
* können Werte zurückgeben&lt;br /&gt;
* enthalten Befehle&lt;br /&gt;
&lt;br /&gt;
== Beispiel mit Console.WriteLine() ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
Console.WriteLine(&amp;quot;Hallo Welt&amp;quot;);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
= Variablen =&lt;br /&gt;
&lt;br /&gt;
Variablen speichern Daten im Arbeitsspeicher.&lt;br /&gt;
&lt;br /&gt;
== Beispiel ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
int alter = 25;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Erklärung ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Bestandteil&lt;br /&gt;
! Bedeutung&lt;br /&gt;
|-&lt;br /&gt;
| int&lt;br /&gt;
| Datentyp&lt;br /&gt;
|-&lt;br /&gt;
| alter&lt;br /&gt;
| Variablenname&lt;br /&gt;
|-&lt;br /&gt;
| 25&lt;br /&gt;
| gespeicherter Wert&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
= Datentypen =&lt;br /&gt;
&lt;br /&gt;
Datentypen bestimmen die Art der gespeicherten Daten.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Datentyp&lt;br /&gt;
! Beschreibung&lt;br /&gt;
! Beispiel&lt;br /&gt;
|-&lt;br /&gt;
| int&lt;br /&gt;
| Ganze Zahlen&lt;br /&gt;
| 10&lt;br /&gt;
|-&lt;br /&gt;
| double&lt;br /&gt;
| Kommazahlen&lt;br /&gt;
| 5.7&lt;br /&gt;
|-&lt;br /&gt;
| string&lt;br /&gt;
| Texte&lt;br /&gt;
| &amp;quot;Hallo&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| char&lt;br /&gt;
| Einzelnes Zeichen&lt;br /&gt;
| &#039;A&#039;&lt;br /&gt;
|-&lt;br /&gt;
| bool&lt;br /&gt;
| Wahr/Falsch&lt;br /&gt;
| true&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{Box|Info|&lt;br /&gt;
Der Datentyp muss zum gespeicherten Wert passen.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
= Variablendeklaration =&lt;br /&gt;
&lt;br /&gt;
Bei der Deklaration wird eine Variable erstellt.&lt;br /&gt;
&lt;br /&gt;
== Beispiel ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
int zahl;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Variable besitzt noch keinen Wert.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
= Variableninitialisierung =&lt;br /&gt;
&lt;br /&gt;
Hier erhält die Variable direkt einen Wert.&lt;br /&gt;
&lt;br /&gt;
== Beispiel ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
int zahl = 10;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
= Bedingungen =&lt;br /&gt;
&lt;br /&gt;
Bedingungen prüfen Aussagen.&lt;br /&gt;
&lt;br /&gt;
== Beispiel ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
if (x == 5)&lt;br /&gt;
{&lt;br /&gt;
    Console.WriteLine(&amp;quot;x ist gleich 5&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Vergleichsoperatoren ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Operator&lt;br /&gt;
! Bedeutung&lt;br /&gt;
|-&lt;br /&gt;
| ==&lt;br /&gt;
| gleich&lt;br /&gt;
|-&lt;br /&gt;
| !=&lt;br /&gt;
| ungleich&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;&lt;br /&gt;
| größer&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;&lt;br /&gt;
| kleiner&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;=&lt;br /&gt;
| größer oder gleich&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;=&lt;br /&gt;
| kleiner oder gleich&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
= Geltungsbereich (Scope) =&lt;br /&gt;
&lt;br /&gt;
Der Scope wird durch geschweifte Klammern definiert.&lt;br /&gt;
&lt;br /&gt;
== Beispiel ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
if (true)&lt;br /&gt;
{&lt;br /&gt;
    int zahl = 5;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Variable &amp;lt;code&amp;gt;zahl&amp;lt;/code&amp;gt; existiert nur innerhalb der Klammern.&lt;br /&gt;
&lt;br /&gt;
{{Box|Merke|&lt;br /&gt;
Variablen sind nur innerhalb ihres Scopes gültig.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
= Konsolenbefehle =&lt;br /&gt;
&lt;br /&gt;
== Console.WriteLine() ==&lt;br /&gt;
&lt;br /&gt;
Gibt Text in der Konsole aus.&lt;br /&gt;
&lt;br /&gt;
=== Beispiel ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
Console.WriteLine(&amp;quot;Hallo Welt&amp;quot;);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Console.ReadLine() ==&lt;br /&gt;
&lt;br /&gt;
Liest eine komplette Zeile ein.&lt;br /&gt;
&lt;br /&gt;
Der Benutzer muss Enter drücken.&lt;br /&gt;
&lt;br /&gt;
=== Beispiel ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
Console.ReadLine();&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Console.Read() ==&lt;br /&gt;
&lt;br /&gt;
Liest ein einzelnes Zeichen als ASCII-/Unicode-Wert.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Console.ReadKey() ==&lt;br /&gt;
&lt;br /&gt;
Wartet auf einen Tastendruck.&lt;br /&gt;
&lt;br /&gt;
Der Benutzer muss Enter nicht drücken.&lt;br /&gt;
&lt;br /&gt;
=== Beispiel ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
Console.ReadKey();&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
= Kommentare =&lt;br /&gt;
&lt;br /&gt;
Kommentare dienen zur Erklärung des Codes.&lt;br /&gt;
&lt;br /&gt;
== Einzeilige Kommentare ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
// Das ist ein Kommentar&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Mehrzeilige Kommentare ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
/*&lt;br /&gt;
Mehrzeiliger&lt;br /&gt;
Kommentar&lt;br /&gt;
*/&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Box|Info|&lt;br /&gt;
Kommentare werden vom Compiler ignoriert.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
= Vollständiges Beispielprogramm =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
using System;&lt;br /&gt;
&lt;br /&gt;
namespace GrundlagenProgrammierung&lt;br /&gt;
{&lt;br /&gt;
    class Program&lt;br /&gt;
    {&lt;br /&gt;
        static void Main(string[] args)&lt;br /&gt;
        {&lt;br /&gt;
            // Begrüßung&lt;br /&gt;
            Console.WriteLine(&amp;quot;Hallo Welt&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
            // Variable&lt;br /&gt;
            int alter = 25;&lt;br /&gt;
&lt;br /&gt;
            // Ausgabe&lt;br /&gt;
            Console.WriteLine(&amp;quot;Alter: &amp;quot; + alter);&lt;br /&gt;
&lt;br /&gt;
            // Bedingung&lt;br /&gt;
            if (alter &amp;gt;= 18)&lt;br /&gt;
            {&lt;br /&gt;
                Console.WriteLine(&amp;quot;Volljährig&amp;quot;);&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
            // Eingabe warten&lt;br /&gt;
            Console.ReadLine();&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
= Erklärung des Beispielprogramms =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Code&lt;br /&gt;
! Erklärung&lt;br /&gt;
|-&lt;br /&gt;
| using System;&lt;br /&gt;
| Bindet Systemfunktionen ein.&lt;br /&gt;
|-&lt;br /&gt;
| namespace&lt;br /&gt;
| Organisiert Programmcode.&lt;br /&gt;
|-&lt;br /&gt;
| class Program&lt;br /&gt;
| Erstellt eine Klasse.&lt;br /&gt;
|-&lt;br /&gt;
| Main()&lt;br /&gt;
| Einstiegspunkt des Programms.&lt;br /&gt;
|-&lt;br /&gt;
| Console.WriteLine()&lt;br /&gt;
| Gibt Text aus.&lt;br /&gt;
|-&lt;br /&gt;
| if&lt;br /&gt;
| Führt Bedingungen aus.&lt;br /&gt;
|-&lt;br /&gt;
| Console.ReadLine()&lt;br /&gt;
| Wartet auf Benutzereingabe.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
= Wichtige Regeln in C# =&lt;br /&gt;
&lt;br /&gt;
* Jede Anweisung endet mit einem Semikolon &amp;lt;code&amp;gt;;&amp;lt;/code&amp;gt;&lt;br /&gt;
* Methoden besitzen Klammern &amp;lt;code&amp;gt;()&amp;lt;/code&amp;gt;&lt;br /&gt;
* Codeblöcke besitzen geschweifte Klammern &amp;lt;code&amp;gt;{ }&amp;lt;/code&amp;gt;&lt;br /&gt;
* Strings stehen in Anführungszeichen&lt;br /&gt;
* C# unterscheidet Groß- und Kleinschreibung&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
= Zusammenfassung =&lt;br /&gt;
&lt;br /&gt;
Die wichtigsten Grundlagen in C# sind:&lt;br /&gt;
&lt;br /&gt;
* Klassen&lt;br /&gt;
* Methoden&lt;br /&gt;
* Variablen&lt;br /&gt;
* Datentypen&lt;br /&gt;
* Bedingungen&lt;br /&gt;
* Scope&lt;br /&gt;
* Konsolenausgaben&lt;br /&gt;
&lt;br /&gt;
Diese Grundlagen bilden die Basis für die Programmierung mit C#.&lt;br /&gt;
&lt;br /&gt;
{{Box|Prüfungstipp|&lt;br /&gt;
Die Methode &amp;lt;code&amp;gt;Main()&amp;lt;/code&amp;gt; ist immer der Einstiegspunkt eines C#-Programms.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:CSharp]]&lt;br /&gt;
[[Kategorie:Programmierung]]&lt;br /&gt;
[[Kategorie:FISI]]&lt;/div&gt;</summary>
		<author><name>ChristianPayns</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.payns.duckdns.org/index.php?title=Installation&amp;diff=266</id>
		<title>Installation</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.payns.duckdns.org/index.php?title=Installation&amp;diff=266"/>
		<updated>2026-05-28T09:37:11Z</updated>

		<summary type="html">&lt;p&gt;ChristianPayns: Die Seite wurde neu angelegt: „&amp;lt;span class=&amp;quot;mw-ui-button mw-ui-progressive&amp;quot;&amp;gt;⬅️ Software zur Verwaltung von Daten anpassen&amp;lt;/span&amp;gt;  = Visual Studio: C# und .NET Framework einrichten =  == Benötigte Visual-Studio-Komponenten ==  Für einfache C#-Programme mit dem .NET Framework wird in Visual Studio folgende Arbeitslast benötigt:  * &amp;#039;&amp;#039;&amp;#039;.NET-Desktopentwicklung&amp;#039;&amp;#039;&amp;#039;  Diese Arbeitslast ist wichtig, damit Konsolenanwendungen, Windows Forms un…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Software zur Verwaltung von Daten anpassen|&amp;lt;span class=&amp;quot;mw-ui-button mw-ui-progressive&amp;quot;&amp;gt;⬅️ Software zur Verwaltung von Daten anpassen&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
= Visual Studio: C# und .NET Framework einrichten =&lt;br /&gt;
&lt;br /&gt;
== Benötigte Visual-Studio-Komponenten ==&lt;br /&gt;
&lt;br /&gt;
Für einfache C#-Programme mit dem .NET Framework wird in Visual Studio folgende Arbeitslast benötigt:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;.NET-Desktopentwicklung&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Diese Arbeitslast ist wichtig, damit Konsolenanwendungen, Windows Forms und WPF-Projekte erstellt werden können.&lt;br /&gt;
&lt;br /&gt;
Optional können zusätzlich installiert werden:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Entwicklung der Windows-Anwendung&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Plattformübergreifende .NET Core-Entwicklung&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;.NET Multi-Platform App UI-Entwicklung&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{{Box|Merke|&lt;br /&gt;
Für den Einstieg in C# reicht in der Regel die Arbeitslast &#039;&#039;&#039;.NET-Desktopentwicklung&#039;&#039;&#039; aus.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Neues Projekt erstellen ==&lt;br /&gt;
&lt;br /&gt;
Nach der Installation von Visual Studio wird ein neues Projekt erstellt.&lt;br /&gt;
&lt;br /&gt;
Vorgehensweise:&lt;br /&gt;
&lt;br /&gt;
# Visual Studio öffnen.&lt;br /&gt;
# Auf &#039;&#039;&#039;Neues Projekt erstellen&#039;&#039;&#039; klicken.&lt;br /&gt;
# In der Suchleiste &#039;&#039;&#039;.NET Konsole&#039;&#039;&#039; eingeben.&lt;br /&gt;
# Die Vorlage &#039;&#039;&#039;Konsolen-App (.NET Framework)&#039;&#039;&#039; auswählen.&lt;br /&gt;
# Auf &#039;&#039;&#039;Weiter&#039;&#039;&#039; klicken.&lt;br /&gt;
&lt;br /&gt;
== Projekt konfigurieren ==&lt;br /&gt;
&lt;br /&gt;
Im nächsten Schritt wird das Projekt eingerichtet.&lt;br /&gt;
&lt;br /&gt;
Wichtige Angaben:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Einstellung&lt;br /&gt;
! Bedeutung&lt;br /&gt;
|-&lt;br /&gt;
| Projektname&lt;br /&gt;
| Name des Programms&lt;br /&gt;
|-&lt;br /&gt;
| Ort&lt;br /&gt;
| Speicherort des Projekts&lt;br /&gt;
|-&lt;br /&gt;
| Projektmappenname&lt;br /&gt;
| Name der Projektmappe&lt;br /&gt;
|-&lt;br /&gt;
| Framework&lt;br /&gt;
| Version des verwendeten .NET Frameworks&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Der Projektname wird später im Quellcode als sogenannter &#039;&#039;&#039;Namespace&#039;&#039;&#039; verwendet.&lt;br /&gt;
&lt;br /&gt;
{{Box|Info|&lt;br /&gt;
Ein Namespace ist ein Namensraum. Er hilft dabei, Klassen und Programmteile logisch zu ordnen.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Was ist das .NET Framework? ==&lt;br /&gt;
&lt;br /&gt;
Das &#039;&#039;&#039;.NET Framework&#039;&#039;&#039; ist vergleichbar mit einem Baukasten.&lt;br /&gt;
&lt;br /&gt;
Es enthält verschiedene Werkzeuge und Bausteine, um Programme zu entwickeln, zu kompilieren und auszuführen.&lt;br /&gt;
&lt;br /&gt;
Mit dem .NET Framework können unter anderem folgende Anwendungen erstellt werden:&lt;br /&gt;
&lt;br /&gt;
* Konsolenprogramme&lt;br /&gt;
* Desktopprogramme&lt;br /&gt;
* Windows Forms Anwendungen&lt;br /&gt;
* WPF-Anwendungen&lt;br /&gt;
* Webanwendungen&lt;br /&gt;
&lt;br /&gt;
== Unterschied zwischen wichtigen Projektarten ==&lt;br /&gt;
&lt;br /&gt;
=== Konsolen-App (.NET Framework) ===&lt;br /&gt;
&lt;br /&gt;
Eine Konsolen-App ist ein einfaches Programm ohne grafische Benutzeroberfläche.&lt;br /&gt;
&lt;br /&gt;
Sie läuft in einem Textfenster, der sogenannten Konsole.&lt;br /&gt;
&lt;br /&gt;
Typische Einsatzbereiche:&lt;br /&gt;
&lt;br /&gt;
* einfache Übungen&lt;br /&gt;
* Rechenprogramme&lt;br /&gt;
* kleine Tools&lt;br /&gt;
* Grundlagen der Programmierung&lt;br /&gt;
&lt;br /&gt;
{{Box|Merke|&lt;br /&gt;
Für den Einstieg in C# wird häufig die Konsolen-App verwendet, weil man sich zuerst auf den Code konzentrieren kann.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Windows Forms App (.NET Framework) ===&lt;br /&gt;
&lt;br /&gt;
Eine Windows Forms App ist ein Programm mit grafischer Benutzeroberfläche.&lt;br /&gt;
&lt;br /&gt;
Sie eignet sich für klassische Windows-Programme mit:&lt;br /&gt;
&lt;br /&gt;
* Fenstern&lt;br /&gt;
* Buttons&lt;br /&gt;
* Textfeldern&lt;br /&gt;
* Menüs&lt;br /&gt;
* Formularen&lt;br /&gt;
&lt;br /&gt;
=== WPF-App (.NET Framework) ===&lt;br /&gt;
&lt;br /&gt;
Eine WPF-App ist ebenfalls eine Anwendung mit grafischer Oberfläche.&lt;br /&gt;
&lt;br /&gt;
WPF steht für &#039;&#039;&#039;Windows Presentation Foundation&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
WPF ist moderner als Windows Forms und trennt die Oberfläche stärker vom Programmcode.&lt;br /&gt;
&lt;br /&gt;
=== Klassenbibliothek (.NET Framework) ===&lt;br /&gt;
&lt;br /&gt;
Eine Klassenbibliothek ist kein eigenständiges Programm mit Benutzeroberfläche.&lt;br /&gt;
&lt;br /&gt;
Sie enthält wiederverwendbaren Code, der von anderen Programmen genutzt werden kann.&lt;br /&gt;
&lt;br /&gt;
Beispiele:&lt;br /&gt;
&lt;br /&gt;
* allgemeine Funktionen&lt;br /&gt;
* Berechnungsmethoden&lt;br /&gt;
* Datenbankfunktionen&lt;br /&gt;
* Hilfsklassen&lt;br /&gt;
&lt;br /&gt;
== Welche Projektvorlage wird genutzt? ==&lt;br /&gt;
&lt;br /&gt;
Für die Grundlagen der Programmierung wird meistens diese Vorlage genutzt:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Konsolen-App (.NET Framework)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Diese Vorlage ist geeignet, weil sie einfach aufgebaut ist und direkt mit C#-Code gearbeitet werden kann.&lt;br /&gt;
&lt;br /&gt;
== Projektmappen-Explorer ==&lt;br /&gt;
&lt;br /&gt;
Der Projektmappen-Explorer zeigt die Dateien und Ordner eines Projekts an.&lt;br /&gt;
&lt;br /&gt;
Dort kann man zum Beispiel:&lt;br /&gt;
&lt;br /&gt;
* Quellcodedateien öffnen&lt;br /&gt;
* Dateien hinzufügen&lt;br /&gt;
* Dateien löschen&lt;br /&gt;
* Projekte verwalten&lt;br /&gt;
* mehrere Projekte in einer Projektmappe organisieren&lt;br /&gt;
&lt;br /&gt;
{{Box|Info|&lt;br /&gt;
Eine Projektmappe kann ein oder mehrere Projekte enthalten.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Zusammenfassung ==&lt;br /&gt;
&lt;br /&gt;
Für den Einstieg in C# mit Visual Studio wird die Arbeitslast &#039;&#039;&#039;.NET-Desktopentwicklung&#039;&#039;&#039; installiert.&lt;br /&gt;
&lt;br /&gt;
Anschließend wird eine &#039;&#039;&#039;Konsolen-App (.NET Framework)&#039;&#039;&#039; erstellt. Diese Projektart ist besonders gut für Anfänger geeignet, weil sie ohne grafische Oberfläche arbeitet und den Fokus auf den Quellcode legt.&lt;br /&gt;
&lt;br /&gt;
{{Box|Prüfungstipp|&lt;br /&gt;
Konsolen-App = Programm ohne grafische Oberfläche.  &lt;br /&gt;
Windows Forms und WPF = Programme mit grafischer Oberfläche.  &lt;br /&gt;
Klassenbibliothek = Sammlung von wiederverwendbarem Code.&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>ChristianPayns</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.payns.duckdns.org/index.php?title=Einf%C3%BChrung&amp;diff=265</id>
		<title>Einführung</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.payns.duckdns.org/index.php?title=Einf%C3%BChrung&amp;diff=265"/>
		<updated>2026-05-28T09:34:30Z</updated>

		<summary type="html">&lt;p&gt;ChristianPayns: Die Seite wurde neu angelegt: „&amp;lt;span class=&amp;quot;mw-ui-button mw-ui-progressive&amp;quot;&amp;gt;⬅️ Software zur Verwaltung von Daten anpassen&amp;lt;/span&amp;gt;  = Wofür ist C# gut? Welche Berufe und welche Programme? =  C# Logo  == Info ==  &amp;#039;&amp;#039;&amp;#039;C#&amp;#039;&amp;#039;&amp;#039; wurde 2002 entwickelt und orientiert sich unter anderem an C++/C und Java.  C# ist eine &amp;#039;&amp;#039;&amp;#039;objektorientierte Programmiersprache&amp;#039;&amp;#039;&amp;#039;. Das bedeutet, dass Programme häufig aus sogenannt…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Software zur Verwaltung von Daten anpassen|&amp;lt;span class=&amp;quot;mw-ui-button mw-ui-progressive&amp;quot;&amp;gt;⬅️ Software zur Verwaltung von Daten anpassen&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
= Wofür ist C# gut? Welche Berufe und welche Programme? =&lt;br /&gt;
&lt;br /&gt;
[[Datei:C_Sharp_Logo_2023.png|mini|C# Logo]]&lt;br /&gt;
&lt;br /&gt;
== Info ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;C#&#039;&#039;&#039; wurde 2002 entwickelt und orientiert sich unter anderem an C++/C und Java.&lt;br /&gt;
&lt;br /&gt;
C# ist eine &#039;&#039;&#039;objektorientierte Programmiersprache&#039;&#039;&#039;. Das bedeutet, dass Programme häufig aus sogenannten Objekten aufgebaut werden. Diese Objekte enthalten Daten und Funktionen.&lt;br /&gt;
&lt;br /&gt;
C# ist besonders wichtig im Zusammenhang mit dem &#039;&#039;&#039;.NET Framework&#039;&#039;&#039; bzw. der modernen &#039;&#039;&#039;.NET-Plattform&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Was ist .NET? ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;.NET&#039;&#039;&#039; ist eine moderne und betriebssystemunabhängige Softwareentwicklungsplattform von Microsoft.&lt;br /&gt;
&lt;br /&gt;
Mit .NET können Anwendungen für verschiedene Bereiche entwickelt werden:&lt;br /&gt;
&lt;br /&gt;
* Windows-Anwendungen&lt;br /&gt;
* Webanwendungen&lt;br /&gt;
* mobile Apps&lt;br /&gt;
* Cloud-Anwendungen&lt;br /&gt;
* Spiele&lt;br /&gt;
* Anwendungen für Linux und macOS&lt;br /&gt;
&lt;br /&gt;
{{Box&lt;br /&gt;
|Typ=info&lt;br /&gt;
|Titel=Merke&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
C# ist die Programmiersprache.  &lt;br /&gt;
.NET ist die Plattform, auf der viele C#-Programme laufen.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Wie wird C# ausgeführt? ==&lt;br /&gt;
&lt;br /&gt;
C# wird nicht direkt wie Maschinensprache geschrieben. Der Quellcode wird zuerst übersetzt.&lt;br /&gt;
&lt;br /&gt;
Vereinfacht läuft es so ab:&lt;br /&gt;
&lt;br /&gt;
# Der Entwickler schreibt C#-Quellcode.&lt;br /&gt;
# Der Compiler übersetzt den Code in eine Zwischensprache.&lt;br /&gt;
# Diese Zwischensprache heißt &#039;&#039;&#039;IL&#039;&#039;&#039; = Intermediate Language.&lt;br /&gt;
# Zur Laufzeit wird der Code durch die &#039;&#039;&#039;CLR&#039;&#039;&#039; ausgeführt.&lt;br /&gt;
# Der Just-in-Time-Compiler wandelt den Code in Maschinencode um.&lt;br /&gt;
&lt;br /&gt;
{{Box|Info|&lt;br /&gt;
CLR bedeutet Common Language Runtime.  &lt;br /&gt;
Sie ist ein wichtiger Bestandteil von .NET und sorgt dafür, dass Programme ausgeführt werden können.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Was ist ein Compiler? ==&lt;br /&gt;
&lt;br /&gt;
Ein &#039;&#039;&#039;Compiler&#039;&#039;&#039; ist ein Programm, das Quellcode in eine andere Sprache übersetzt.&lt;br /&gt;
&lt;br /&gt;
Bei C# übersetzt der Compiler den Quellcode zuerst in eine Zwischensprache.&lt;br /&gt;
&lt;br /&gt;
Beispiel:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
C#-Quellcode → Compiler → Intermediate Language → Laufzeitumgebung → Maschinencode&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Was ist ein Interpreter? ==&lt;br /&gt;
&lt;br /&gt;
Ein &#039;&#039;&#039;Interpreter&#039;&#039;&#039; liest Quellcode ein, analysiert ihn und führt ihn direkt aus.&lt;br /&gt;
&lt;br /&gt;
Der Unterschied zum Compiler ist:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Compiler&lt;br /&gt;
! Interpreter&lt;br /&gt;
|-&lt;br /&gt;
| Übersetzt den Code vorher&lt;br /&gt;
| Führt den Code direkt aus&lt;br /&gt;
|-&lt;br /&gt;
| Erstellt oft eine ausführbare Datei&lt;br /&gt;
| Arbeitet meist zur Laufzeit&lt;br /&gt;
|-&lt;br /&gt;
| Häufig schneller bei der Ausführung&lt;br /&gt;
| Flexibler, aber oft langsamer&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Compiler und JIT bei C# ==&lt;br /&gt;
&lt;br /&gt;
Bei C# werden beide Konzepte kombiniert:&lt;br /&gt;
&lt;br /&gt;
* Der C#-Compiler übersetzt den Quellcode in eine Zwischensprache.&lt;br /&gt;
* Der Just-in-Time-Compiler übersetzt diese Zwischensprache zur Laufzeit in Maschinencode.&lt;br /&gt;
* Dadurch kann C# auf verschiedenen Systemen genutzt werden.&lt;br /&gt;
&lt;br /&gt;
{{Box|Prüfungstipp|&lt;br /&gt;
C# wird nicht direkt in Maschinencode geschrieben.  &lt;br /&gt;
Der Code wird zuerst in Intermediate Language übersetzt und später zur Laufzeit ausgeführt.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Wofür wird C# verwendet? ==&lt;br /&gt;
&lt;br /&gt;
=== Desktop-Anwendungen ===&lt;br /&gt;
&lt;br /&gt;
C# wird häufig für Windows-Programme verwendet.&lt;br /&gt;
&lt;br /&gt;
Beispiele:&lt;br /&gt;
&lt;br /&gt;
* Textverarbeitungsprogramme&lt;br /&gt;
* Kalenderprogramme&lt;br /&gt;
* Verwaltungssoftware&lt;br /&gt;
* interne Firmenprogramme&lt;br /&gt;
* Tools für IT-Abteilungen&lt;br /&gt;
&lt;br /&gt;
Typische Berufe:&lt;br /&gt;
&lt;br /&gt;
* Softwareentwickler&lt;br /&gt;
* Anwendungsentwickler&lt;br /&gt;
* Fachinformatiker Anwendungsentwicklung&lt;br /&gt;
&lt;br /&gt;
=== Webentwicklung ===&lt;br /&gt;
&lt;br /&gt;
Mit &#039;&#039;&#039;ASP.NET&#039;&#039;&#039; können Webseiten und Webanwendungen entwickelt werden.&lt;br /&gt;
&lt;br /&gt;
Beispiele:&lt;br /&gt;
&lt;br /&gt;
* Unternehmenswebseiten&lt;br /&gt;
* Online-Shops&lt;br /&gt;
* Kundenportale&lt;br /&gt;
* Managementsysteme&lt;br /&gt;
* Web-APIs&lt;br /&gt;
&lt;br /&gt;
Typische Berufe:&lt;br /&gt;
&lt;br /&gt;
* Webentwickler&lt;br /&gt;
* Backend-Entwickler&lt;br /&gt;
* Full-Stack-Entwickler&lt;br /&gt;
&lt;br /&gt;
=== Spieleentwicklung ===&lt;br /&gt;
&lt;br /&gt;
C# wird häufig in der Spieleentwicklung verwendet, besonders mit der &#039;&#039;&#039;Unity Engine&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Beispiele:&lt;br /&gt;
&lt;br /&gt;
* 2D-Spiele&lt;br /&gt;
* 3D-Spiele&lt;br /&gt;
* Konsolenspiele&lt;br /&gt;
* mobile Spiele&lt;br /&gt;
* Virtual-Reality-Anwendungen&lt;br /&gt;
&lt;br /&gt;
Typische Berufe:&lt;br /&gt;
&lt;br /&gt;
* Spieleentwickler&lt;br /&gt;
* Unity-Entwickler&lt;br /&gt;
* VR-Entwickler&lt;br /&gt;
&lt;br /&gt;
=== Mobile App-Entwicklung ===&lt;br /&gt;
&lt;br /&gt;
Mit .NET MAUI oder Xamarin können Apps für verschiedene Plattformen entwickelt werden.&lt;br /&gt;
&lt;br /&gt;
Beispiele:&lt;br /&gt;
&lt;br /&gt;
* Android-Apps&lt;br /&gt;
* iOS-Apps&lt;br /&gt;
* plattformübergreifende Apps&lt;br /&gt;
&lt;br /&gt;
Typische Berufe:&lt;br /&gt;
&lt;br /&gt;
* Mobile-App-Entwickler&lt;br /&gt;
* Cross-Plattform-Entwickler&lt;br /&gt;
&lt;br /&gt;
=== Cloud- und Backend-Entwicklung ===&lt;br /&gt;
&lt;br /&gt;
C# eignet sich gut für Backend-Dienste und Cloud-Anwendungen.&lt;br /&gt;
&lt;br /&gt;
Beispiele:&lt;br /&gt;
&lt;br /&gt;
* Web-APIs&lt;br /&gt;
* Datenbankzugriffe&lt;br /&gt;
* Microservices&lt;br /&gt;
* Benutzerverwaltung&lt;br /&gt;
* Anwendungen in Microsoft Azure&lt;br /&gt;
&lt;br /&gt;
Typische Berufe:&lt;br /&gt;
&lt;br /&gt;
* Backend-Entwickler&lt;br /&gt;
* Cloud-Entwickler&lt;br /&gt;
* DevOps-Engineer&lt;br /&gt;
&lt;br /&gt;
=== Künstliche Intelligenz und Datenanalyse ===&lt;br /&gt;
&lt;br /&gt;
C# wird im Bereich KI und Datenanalyse weniger häufig genutzt als Python, kann aber trotzdem verwendet werden.&lt;br /&gt;
&lt;br /&gt;
Beispiele:&lt;br /&gt;
&lt;br /&gt;
* einfache Machine-Learning-Anwendungen&lt;br /&gt;
* Bildanalyse&lt;br /&gt;
* Vorhersagemodelle&lt;br /&gt;
* Datenverarbeitung&lt;br /&gt;
&lt;br /&gt;
Typische Berufe:&lt;br /&gt;
&lt;br /&gt;
* KI-Entwickler&lt;br /&gt;
* Datenanalyst&lt;br /&gt;
* Softwareentwickler mit KI-Schwerpunkt&lt;br /&gt;
&lt;br /&gt;
== Typische Programme und Werkzeuge ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Programm / Werkzeug&lt;br /&gt;
! Verwendung&lt;br /&gt;
|-&lt;br /&gt;
| Visual Studio&lt;br /&gt;
| Entwicklungsumgebung für C# und .NET&lt;br /&gt;
|-&lt;br /&gt;
| Visual Studio Code&lt;br /&gt;
| Leichter Code-Editor&lt;br /&gt;
|-&lt;br /&gt;
| .NET SDK&lt;br /&gt;
| Werkzeugpaket zum Entwickeln und Ausführen von .NET-Programmen&lt;br /&gt;
|-&lt;br /&gt;
| Unity&lt;br /&gt;
| Spieleentwicklung mit C#&lt;br /&gt;
|-&lt;br /&gt;
| SQL Server&lt;br /&gt;
| Datenbankanbindung für C#-Programme&lt;br /&gt;
|-&lt;br /&gt;
| Git&lt;br /&gt;
| Versionsverwaltung für Quellcode&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Vorteile von C# ==&lt;br /&gt;
&lt;br /&gt;
* gut geeignet für Windows-Programme&lt;br /&gt;
* moderne und strukturierte Sprache&lt;br /&gt;
* starke Unterstützung durch Microsoft&lt;br /&gt;
* viele Einsatzbereiche&lt;br /&gt;
* gute Entwicklungsumgebungen&lt;br /&gt;
* geeignet für Anfänger und Profis&lt;br /&gt;
* objektorientierte Programmierung&lt;br /&gt;
* große Community&lt;br /&gt;
&lt;br /&gt;
== Nachteile von C# ==&lt;br /&gt;
&lt;br /&gt;
* viele Begriffe am Anfang schwer verständlich&lt;br /&gt;
* .NET-Grundlagen müssen zusätzlich gelernt werden&lt;br /&gt;
* für KI und Datenanalyse ist Python oft verbreiteter&lt;br /&gt;
* einige Bereiche sind stark Microsoft-orientiert&lt;br /&gt;
&lt;br /&gt;
== Zusammenfassung ==&lt;br /&gt;
&lt;br /&gt;
C# ist eine moderne Programmiersprache, die besonders häufig für Windows-Anwendungen, Webentwicklung, Spieleentwicklung, mobile Apps und Cloud-Anwendungen genutzt wird.&lt;br /&gt;
&lt;br /&gt;
Besonders wichtig ist der Zusammenhang mit .NET. C#-Programme werden zuerst in eine Zwischensprache übersetzt und anschließend zur Laufzeit ausgeführt.&lt;br /&gt;
&lt;br /&gt;
{{Box|Merke|&lt;br /&gt;
C# ist vielseitig einsetzbar.  &lt;br /&gt;
Für Fachinformatiker ist C# besonders interessant, wenn Programme, Tools, Webanwendungen oder interne Unternehmenssoftware entwickelt werden sollen.&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>ChristianPayns</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.payns.duckdns.org/index.php?title=Datei:C_Sharp_Logo_2023.png&amp;diff=264</id>
		<title>Datei:C Sharp Logo 2023.png</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.payns.duckdns.org/index.php?title=Datei:C_Sharp_Logo_2023.png&amp;diff=264"/>
		<updated>2026-05-28T09:33:16Z</updated>

		<summary type="html">&lt;p&gt;ChristianPayns: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>ChristianPayns</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.payns.duckdns.org/index.php?title=Software_zur_Verwaltung_von_Daten_anpassen&amp;diff=263</id>
		<title>Software zur Verwaltung von Daten anpassen</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.payns.duckdns.org/index.php?title=Software_zur_Verwaltung_von_Daten_anpassen&amp;diff=263"/>
		<updated>2026-05-28T07:10:45Z</updated>

		<summary type="html">&lt;p&gt;ChristianPayns: Die Seite wurde neu angelegt: „&amp;lt;span class=&amp;quot;mw-ui-button mw-ui-progressive&amp;quot;&amp;gt;⬅️ Kernqualifikation&amp;lt;/span&amp;gt;  == Einführung ==  &amp;lt;span class=&amp;quot;mw-ui-button mw-ui-progressive&amp;quot;&amp;gt;⬅️ Einführung&amp;lt;/span&amp;gt;  == Installation ==  &amp;lt;span class=&amp;quot;mw-ui-button mw-ui-progressive&amp;quot;&amp;gt;⬅️ Installation&amp;lt;/span&amp;gt;  == Begriffserläuterung ==  &amp;lt;span class=&amp;quot;mw-ui-button mw-ui-progressive&amp;quot;&amp;gt;⬅️ Begriffserläuterung&amp;lt;/span&amp;gt;  == Daten…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kernqualifikation|&amp;lt;span class=&amp;quot;mw-ui-button mw-ui-progressive&amp;quot;&amp;gt;⬅️ Kernqualifikation&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
== Einführung ==&lt;br /&gt;
&lt;br /&gt;
[[Einführung|&amp;lt;span class=&amp;quot;mw-ui-button mw-ui-progressive&amp;quot;&amp;gt;⬅️ Einführung&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
[[Installation|&amp;lt;span class=&amp;quot;mw-ui-button mw-ui-progressive&amp;quot;&amp;gt;⬅️ Installation&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
== Begriffserläuterung ==&lt;br /&gt;
&lt;br /&gt;
[[Begriffserläuterung|&amp;lt;span class=&amp;quot;mw-ui-button mw-ui-progressive&amp;quot;&amp;gt;⬅️ Begriffserläuterung&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
== Datentypen ==&lt;br /&gt;
&lt;br /&gt;
[[Datentypen|&amp;lt;span class=&amp;quot;mw-ui-button mw-ui-progressive&amp;quot;&amp;gt;⬅️ Datentypen&amp;lt;/span&amp;gt;]]&lt;/div&gt;</summary>
		<author><name>ChristianPayns</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.payns.duckdns.org/index.php?title=Kernqualifikation&amp;diff=262</id>
		<title>Kernqualifikation</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.payns.duckdns.org/index.php?title=Kernqualifikation&amp;diff=262"/>
		<updated>2026-05-28T07:02:27Z</updated>

		<summary type="html">&lt;p&gt;ChristianPayns: /* Software zur Verwaltung von Daten anpassen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Umschulung|&amp;lt;span class=&amp;quot;mw-ui-button mw-ui-progressive&amp;quot;&amp;gt;⬅️ Umschulung&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
= Einstieg in die Umschulung =&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
[[Einstieg in die Umschulung|&amp;lt;span class=&amp;quot;mw-ui-button mw-ui-progressive&amp;quot;&amp;gt;⬅️ Einstieg in die Umschulung&amp;lt;/span&amp;gt;]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
= Das Unternehmen und die eigene Rolle im Betrieb =&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
[[IT.I Das Unternehmen und die eigene Rolle im Betrieb|&amp;lt;span class=&amp;quot;mw-ui-button mw-ui-progressive&amp;quot;&amp;gt;⬅️ IT.I Das Unternehmen und die eigene Rolle im Betrieb&amp;lt;/span&amp;gt;]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
[[Das Unternehmen und die eigene Rolle im Betrieb|&amp;lt;span class=&amp;quot;mw-ui-button mw-ui-progressive&amp;quot;&amp;gt;⬅️ Das Unternehmen und die eigene Rolle im Betrieb&amp;lt;/span&amp;gt;]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
= Arbeitsplätze nach Kundenwunsch ausstatten =&lt;br /&gt;
&lt;br /&gt;
[[Arbeitsplätze nach Kundenwunsch ausstatten|&amp;lt;span class=&amp;quot;mw-ui-button mw-ui-progressive&amp;quot;&amp;gt;⬅️  Arbeitsplätze nach Kundenwunsch ausstatten&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
= Clients in Netzwerke einbinden =&lt;br /&gt;
&lt;br /&gt;
[[Clients in Netzwerke einbinden|&amp;lt;span class=&amp;quot;mw-ui-button mw-ui-progressive&amp;quot;&amp;gt;⬅️ Clients in Netzwerke einbinden&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
= Schutzbedarfsanalyse im eigenen Arbeitsbereich durchführen =&lt;br /&gt;
&lt;br /&gt;
[[Schutzbedarfsanalyse im eigenen Arbeitsbereich durchführen|&amp;lt;span class=&amp;quot;mw-ui-button mw-ui-progressive&amp;quot;&amp;gt;⬅️ Schutzbedarfsanalyse im eigenen Arbeitsbereich durchführen&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
= Support- und Serviceanfragen bearbeiten =&lt;br /&gt;
&lt;br /&gt;
[[Support- und Serviceanfragen bearbeiten|&amp;lt;span class=&amp;quot;mw-ui-button mw-ui-progressive&amp;quot;&amp;gt;⬅️ Support- und Serviceanfragen bearbeiten&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
= Software zur Verwaltung von Daten anpassen =&lt;br /&gt;
&lt;br /&gt;
[[Software zur Verwaltung von Daten anpassen|&amp;lt;span class=&amp;quot;mw-ui-button mw-ui-progressive&amp;quot;&amp;gt;⬅️ Software zur Verwaltung von Daten anpassen&amp;lt;/span&amp;gt;]]&lt;/div&gt;</summary>
		<author><name>ChristianPayns</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.payns.duckdns.org/index.php?title=Kernqualifikation&amp;diff=261</id>
		<title>Kernqualifikation</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.payns.duckdns.org/index.php?title=Kernqualifikation&amp;diff=261"/>
		<updated>2026-05-28T06:54:34Z</updated>

		<summary type="html">&lt;p&gt;ChristianPayns: /* Software zur Verwolung von Daten Anpassen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Umschulung|&amp;lt;span class=&amp;quot;mw-ui-button mw-ui-progressive&amp;quot;&amp;gt;⬅️ Umschulung&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
= Einstieg in die Umschulung =&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
[[Einstieg in die Umschulung|&amp;lt;span class=&amp;quot;mw-ui-button mw-ui-progressive&amp;quot;&amp;gt;⬅️ Einstieg in die Umschulung&amp;lt;/span&amp;gt;]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
= Das Unternehmen und die eigene Rolle im Betrieb =&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
[[IT.I Das Unternehmen und die eigene Rolle im Betrieb|&amp;lt;span class=&amp;quot;mw-ui-button mw-ui-progressive&amp;quot;&amp;gt;⬅️ IT.I Das Unternehmen und die eigene Rolle im Betrieb&amp;lt;/span&amp;gt;]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
[[Das Unternehmen und die eigene Rolle im Betrieb|&amp;lt;span class=&amp;quot;mw-ui-button mw-ui-progressive&amp;quot;&amp;gt;⬅️ Das Unternehmen und die eigene Rolle im Betrieb&amp;lt;/span&amp;gt;]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
= Arbeitsplätze nach Kundenwunsch ausstatten =&lt;br /&gt;
&lt;br /&gt;
[[Arbeitsplätze nach Kundenwunsch ausstatten|&amp;lt;span class=&amp;quot;mw-ui-button mw-ui-progressive&amp;quot;&amp;gt;⬅️  Arbeitsplätze nach Kundenwunsch ausstatten&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
= Clients in Netzwerke einbinden =&lt;br /&gt;
&lt;br /&gt;
[[Clients in Netzwerke einbinden|&amp;lt;span class=&amp;quot;mw-ui-button mw-ui-progressive&amp;quot;&amp;gt;⬅️ Clients in Netzwerke einbinden&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
= Schutzbedarfsanalyse im eigenen Arbeitsbereich durchführen =&lt;br /&gt;
&lt;br /&gt;
[[Schutzbedarfsanalyse im eigenen Arbeitsbereich durchführen|&amp;lt;span class=&amp;quot;mw-ui-button mw-ui-progressive&amp;quot;&amp;gt;⬅️ Schutzbedarfsanalyse im eigenen Arbeitsbereich durchführen&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
= Support- und Serviceanfragen bearbeiten =&lt;br /&gt;
&lt;br /&gt;
[[Support- und Serviceanfragen bearbeiten|&amp;lt;span class=&amp;quot;mw-ui-button mw-ui-progressive&amp;quot;&amp;gt;⬅️ Support- und Serviceanfragen bearbeiten&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
= Software zur Verwaltung von Daten anpassen =&lt;br /&gt;
&lt;br /&gt;
[[Software zur Verwaltung von Daten anpassen|&amp;lt;span class=&amp;quot;mw-ui-button mw-ui-progressive&amp;quot;&amp;gt;⬅️ Software zur Verwolung von Daten Anpassen&amp;lt;/span&amp;gt;]]&lt;/div&gt;</summary>
		<author><name>ChristianPayns</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.payns.duckdns.org/index.php?title=Kernqualifikation&amp;diff=260</id>
		<title>Kernqualifikation</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.payns.duckdns.org/index.php?title=Kernqualifikation&amp;diff=260"/>
		<updated>2026-05-28T06:53:22Z</updated>

		<summary type="html">&lt;p&gt;ChristianPayns: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Umschulung|&amp;lt;span class=&amp;quot;mw-ui-button mw-ui-progressive&amp;quot;&amp;gt;⬅️ Umschulung&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
= Einstieg in die Umschulung =&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
[[Einstieg in die Umschulung|&amp;lt;span class=&amp;quot;mw-ui-button mw-ui-progressive&amp;quot;&amp;gt;⬅️ Einstieg in die Umschulung&amp;lt;/span&amp;gt;]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
= Das Unternehmen und die eigene Rolle im Betrieb =&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
[[IT.I Das Unternehmen und die eigene Rolle im Betrieb|&amp;lt;span class=&amp;quot;mw-ui-button mw-ui-progressive&amp;quot;&amp;gt;⬅️ IT.I Das Unternehmen und die eigene Rolle im Betrieb&amp;lt;/span&amp;gt;]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
[[Das Unternehmen und die eigene Rolle im Betrieb|&amp;lt;span class=&amp;quot;mw-ui-button mw-ui-progressive&amp;quot;&amp;gt;⬅️ Das Unternehmen und die eigene Rolle im Betrieb&amp;lt;/span&amp;gt;]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
= Arbeitsplätze nach Kundenwunsch ausstatten =&lt;br /&gt;
&lt;br /&gt;
[[Arbeitsplätze nach Kundenwunsch ausstatten|&amp;lt;span class=&amp;quot;mw-ui-button mw-ui-progressive&amp;quot;&amp;gt;⬅️  Arbeitsplätze nach Kundenwunsch ausstatten&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
= Clients in Netzwerke einbinden =&lt;br /&gt;
&lt;br /&gt;
[[Clients in Netzwerke einbinden|&amp;lt;span class=&amp;quot;mw-ui-button mw-ui-progressive&amp;quot;&amp;gt;⬅️ Clients in Netzwerke einbinden&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
= Schutzbedarfsanalyse im eigenen Arbeitsbereich durchführen =&lt;br /&gt;
&lt;br /&gt;
[[Schutzbedarfsanalyse im eigenen Arbeitsbereich durchführen|&amp;lt;span class=&amp;quot;mw-ui-button mw-ui-progressive&amp;quot;&amp;gt;⬅️ Schutzbedarfsanalyse im eigenen Arbeitsbereich durchführen&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
= Support- und Serviceanfragen bearbeiten =&lt;br /&gt;
&lt;br /&gt;
[[Support- und Serviceanfragen bearbeiten|&amp;lt;span class=&amp;quot;mw-ui-button mw-ui-progressive&amp;quot;&amp;gt;⬅️ Support- und Serviceanfragen bearbeiten&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
= Software zur Verwolung von Daten Anpassen =&lt;br /&gt;
&lt;br /&gt;
[[Software zur Verwolung von Daten Anpassen|&amp;lt;span class=&amp;quot;mw-ui-button mw-ui-progressive&amp;quot;&amp;gt;⬅️ Software zur Verwolung von Daten Anpassen&amp;lt;/span&amp;gt;]]&lt;/div&gt;</summary>
		<author><name>ChristianPayns</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.payns.duckdns.org/index.php?title=IT-Dienstleistungen_Lebenszyklus&amp;diff=259</id>
		<title>IT-Dienstleistungen Lebenszyklus</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.payns.duckdns.org/index.php?title=IT-Dienstleistungen_Lebenszyklus&amp;diff=259"/>
		<updated>2026-05-21T06:33:42Z</updated>

		<summary type="html">&lt;p&gt;ChristianPayns: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Support- und Serviceanfragen bearbeiten|&amp;lt;span class=&amp;quot;mw-ui-button mw-ui-progressive&amp;quot;&amp;gt;⬅️ Support- und Serviceanfragen bearbeiten&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
{{Box|type=info|title=IT.VI – Support- und Serviceanfragen bearbeiten|&lt;br /&gt;
Dieses Lernfeld behandelt die strukturierte Bearbeitung von IT-Serviceanfragen mithilfe des IMAC/R/D-Lebenszyklus.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Einstieg ==&lt;br /&gt;
&lt;br /&gt;
Ein Kunde braucht neue PCs.  &lt;br /&gt;
Ein anderer zieht mit seinem Büro um.  &lt;br /&gt;
Ein dritter möchte eine neue Software installieren.  &lt;br /&gt;
Ein weiterer klagt über zu wenig Festplattenkapazität.  &lt;br /&gt;
Ein letzter kann sich nicht mehr im System anmelden.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Leitfrage:&#039;&#039;&#039; Wie behalten IT-Abteilungen bei vielen Support- und Serviceanfragen den Überblick?&lt;br /&gt;
&lt;br /&gt;
== Lernziele ==&lt;br /&gt;
&lt;br /&gt;
Nach dieser Einheit können Sie:&lt;br /&gt;
&lt;br /&gt;
* den IMAC/R/D-Lebenszyklus beschreiben&lt;br /&gt;
* die einzelnen Phasen konkreten IT-Dienstleistungen zuordnen&lt;br /&gt;
* reale Unternehmensbeispiele auf den Lebenszyklus übertragen&lt;br /&gt;
* Support- und Serviceanfragen strukturierter einordnen&lt;br /&gt;
&lt;br /&gt;
== Der IMAC/R/D-Lebenszyklus ==&lt;br /&gt;
&lt;br /&gt;
IMAC/R/D beschreibt typische Phasen im Lebenszyklus von IT-Dienstleistungen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Phase&lt;br /&gt;
! Bedeutung&lt;br /&gt;
! Typische Tätigkeiten&lt;br /&gt;
! Beispiel&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Install&#039;&#039;&#039;&lt;br /&gt;
| Installation und Einrichtung&lt;br /&gt;
| Aufbau, Konfiguration und Bereitstellung von Hard- und Software&lt;br /&gt;
| Neuer Arbeitsplatz-PC wird eingerichtet&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Move&#039;&#039;&#039;&lt;br /&gt;
| Umzug oder Standortwechsel&lt;br /&gt;
| Transport, Neuinstallation, Rechteanpassung&lt;br /&gt;
| Abteilung zieht in ein anderes Büro&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Add&#039;&#039;&#039;&lt;br /&gt;
| Hinzufügen zusätzlicher Komponenten&lt;br /&gt;
| Neue Software, zusätzliche Hardware, Rechteerweiterung&lt;br /&gt;
| Netzwerkdrucker wird hinzugefügt&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Change&#039;&#039;&#039;&lt;br /&gt;
| Änderungen an bestehenden Systemen&lt;br /&gt;
| Updates, Anpassungen, Sicherheitsänderungen&lt;br /&gt;
| Sicherheitsupdate wird installiert&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Remove&#039;&#039;&#039;&lt;br /&gt;
| Entfernen alter Systeme&lt;br /&gt;
| Deinstallation, Datensicherung, Demontage&lt;br /&gt;
| Alte Software wird entfernt&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Dispose&#039;&#039;&#039;&lt;br /&gt;
| Entsorgung und Recycling&lt;br /&gt;
| Datenvernichtung, fachgerechte Entsorgung&lt;br /&gt;
| Alte Festplatten werden sicher gelöscht&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Bedeutung für den IT-Service ==&lt;br /&gt;
&lt;br /&gt;
{{Box|type=merke|title=Merke|&lt;br /&gt;
Der IMAC/R/D-Zyklus hilft dabei, IT-Prozesse übersichtlich zu strukturieren und nachvollziehbar zu dokumentieren.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Der Lebenszyklus ist wichtig, weil:&lt;br /&gt;
&lt;br /&gt;
* komplexe IT-Prozesse besser planbar werden&lt;br /&gt;
* Verantwortlichkeiten klarer zugeordnet werden können&lt;br /&gt;
* Supportanfragen schneller eingeordnet werden&lt;br /&gt;
* Dokumentation und Nachvollziehbarkeit verbessert werden&lt;br /&gt;
* Qualität und Effizienz im IT-Service steigen&lt;br /&gt;
* Sicherheitsrisiken durch strukturierte Abläufe reduziert werden&lt;br /&gt;
&lt;br /&gt;
== Praxisbeispiel ==&lt;br /&gt;
&lt;br /&gt;
Ein Unternehmen richtet neue Arbeitsplätze ein.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Situation&lt;br /&gt;
! Passende Phase&lt;br /&gt;
! Begründung&lt;br /&gt;
|-&lt;br /&gt;
| Neue PCs werden aufgebaut&lt;br /&gt;
| Install&lt;br /&gt;
| Systeme werden erstmalig eingerichtet&lt;br /&gt;
|-&lt;br /&gt;
| Eine Abteilung zieht in ein anderes Gebäude&lt;br /&gt;
| Move&lt;br /&gt;
| IT-Systeme müssen verlegt und neu angebunden werden&lt;br /&gt;
|-&lt;br /&gt;
| Zusätzliche Software wird installiert&lt;br /&gt;
| Add&lt;br /&gt;
| Bestehende Systeme werden erweitert&lt;br /&gt;
|-&lt;br /&gt;
| Sicherheitsrichtlinien werden angepasst&lt;br /&gt;
| Change&lt;br /&gt;
| Bestehende Konfigurationen werden verändert&lt;br /&gt;
|-&lt;br /&gt;
| Alte Geräte werden aus dem Betrieb genommen&lt;br /&gt;
| Remove&lt;br /&gt;
| Systeme werden entfernt&lt;br /&gt;
|-&lt;br /&gt;
| Festplatten werden datenschutzkonform vernichtet&lt;br /&gt;
| Dispose&lt;br /&gt;
| Hardware wird sicher entsorgt&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Trainingsfragen ==&lt;br /&gt;
&lt;br /&gt;
=== Aufgabe 1 ===&lt;br /&gt;
&lt;br /&gt;
Ordnen Sie die folgenden Tätigkeiten der passenden IMAC/R/D-Phase zu:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Tätigkeit&lt;br /&gt;
! Phase&lt;br /&gt;
|-&lt;br /&gt;
| Ein Laptop wird neu eingerichtet.&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Alte Server werden datensicher entsorgt.&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Eine Software erhält ein Sicherheitsupdate.&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Ein Unternehmen bezieht neue Büros.&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Zusätzliche Drucker werden im Netzwerk hinzugefügt.&lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Aufgabe 2 ===&lt;br /&gt;
&lt;br /&gt;
Erklären Sie in eigenen Worten, warum der IMAC/R/D-Lebenszyklus für IT-Dienstleister wichtig ist.&lt;br /&gt;
&lt;br /&gt;
=== Aufgabe 3 ===&lt;br /&gt;
&lt;br /&gt;
Nennen Sie ein Beispiel aus Ihrem Ausbildungsbetrieb oder einem bekannten Unternehmen, das einer oder mehreren IMAC/R/D-Phasen zugeordnet werden kann.&lt;br /&gt;
&lt;br /&gt;
== Lösungen ==&lt;br /&gt;
&lt;br /&gt;
=== Lösung zu Aufgabe 1 ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Tätigkeit&lt;br /&gt;
! Phase&lt;br /&gt;
|-&lt;br /&gt;
| Ein Laptop wird neu eingerichtet.&lt;br /&gt;
| Install&lt;br /&gt;
|-&lt;br /&gt;
| Alte Server werden datensicher entsorgt.&lt;br /&gt;
| Dispose&lt;br /&gt;
|-&lt;br /&gt;
| Eine Software erhält ein Sicherheitsupdate.&lt;br /&gt;
| Change&lt;br /&gt;
|-&lt;br /&gt;
| Ein Unternehmen bezieht neue Büros.&lt;br /&gt;
| Move&lt;br /&gt;
|-&lt;br /&gt;
| Zusätzliche Drucker werden im Netzwerk hinzugefügt.&lt;br /&gt;
| Add&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Lösung zu Aufgabe 2 ===&lt;br /&gt;
&lt;br /&gt;
Der Lebenszyklus schafft Struktur, hilft bei der Planung von Ressourcen und verbessert die Nachvollziehbarkeit von IT-Prozessen. Dadurch können Support- und Serviceanfragen schneller bearbeitet und besser dokumentiert werden.&lt;br /&gt;
&lt;br /&gt;
=== Lösung zu Aufgabe 3 ===&lt;br /&gt;
&lt;br /&gt;
Beispiel: In einem Unternehmen werden regelmäßig neue Arbeitsplätze eingerichtet. Das gehört zur Phase &#039;&#039;&#039;Install&#039;&#039;&#039;. Wenn alte Hardware entfernt und fachgerecht entsorgt wird, gehört dies zu &#039;&#039;&#039;Remove&#039;&#039;&#039; und &#039;&#039;&#039;Dispose&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Transferaufgaben ==&lt;br /&gt;
&lt;br /&gt;
=== Transferfrage 1 ===&lt;br /&gt;
&lt;br /&gt;
Analysieren Sie einen Ihnen bekannten Betrieb:&lt;br /&gt;
&lt;br /&gt;
* Welche IT-Dienstleistungen kommen dort vor?&lt;br /&gt;
* In welche IMAC/R/D-Phase passen diese Dienstleistungen?&lt;br /&gt;
&lt;br /&gt;
=== Transferfrage 2 ===&lt;br /&gt;
&lt;br /&gt;
Wie würde sich die Qualität und Effizienz einer IT-Abteilung verändern, wenn der IMAC/R/D-Prozess nicht strukturiert dokumentiert wird?&lt;br /&gt;
&lt;br /&gt;
=== Kooperationsaufgabe ===&lt;br /&gt;
&lt;br /&gt;
Erstellen Sie gemeinsam ein Poster oder digitales Schaubild, das den IMAC/R/D-Zyklus mit konkreten Beispielen aus Betrieb oder Alltag veranschaulicht.&lt;br /&gt;
&lt;br /&gt;
Beispiele:&lt;br /&gt;
&lt;br /&gt;
* Install = Einrichtung neuer PCs&lt;br /&gt;
* Move = IT-Umzug bei Standortwechsel&lt;br /&gt;
* Add = neue Software oder neue Geräte&lt;br /&gt;
* Change = Sicherheitsupdate&lt;br /&gt;
* Remove = Deinstallation alter Systeme&lt;br /&gt;
* Dispose = Entsorgung und Datenvernichtung&lt;br /&gt;
&lt;br /&gt;
== Zusammenfassung ==&lt;br /&gt;
&lt;br /&gt;
{{Box|type=erfolg|title=Das Wichtigste auf einen Blick|&lt;br /&gt;
* Der IMAC/R/D-Zyklus beschreibt den Lebenszyklus von IT-Dienstleistungen.&lt;br /&gt;
* Die Phasen lauten: Install, Move, Add, Change, Remove, Dispose.&lt;br /&gt;
* Jede Phase hat eigene Aufgaben und Verantwortlichkeiten.&lt;br /&gt;
* Der Zyklus hilft, IT-Prozesse zu strukturieren und zu dokumentieren.&lt;br /&gt;
* Gute Dokumentation verbessert Qualität, Sicherheit und Effizienz im IT-Service.&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>ChristianPayns</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.payns.duckdns.org/index.php?title=Voraussetzungen_eines_IT-Service-Mitarbeiters&amp;diff=258</id>
		<title>Voraussetzungen eines IT-Service-Mitarbeiters</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.payns.duckdns.org/index.php?title=Voraussetzungen_eines_IT-Service-Mitarbeiters&amp;diff=258"/>
		<updated>2026-05-21T06:29:12Z</updated>

		<summary type="html">&lt;p&gt;ChristianPayns: Die Seite wurde neu angelegt: „&amp;lt;span class=&amp;quot;mw-ui-button mw-ui-progressive&amp;quot;&amp;gt;⬅️ Support- und Serviceanfragen bearbeiten&amp;lt;/span&amp;gt;“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Support- und Serviceanfragen bearbeiten|&amp;lt;span class=&amp;quot;mw-ui-button mw-ui-progressive&amp;quot;&amp;gt;⬅️ Support- und Serviceanfragen bearbeiten&amp;lt;/span&amp;gt;]]&lt;/div&gt;</summary>
		<author><name>ChristianPayns</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.payns.duckdns.org/index.php?title=IT-Dienstleistungsmanagement_(ITSM)&amp;diff=257</id>
		<title>IT-Dienstleistungsmanagement (ITSM)</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.payns.duckdns.org/index.php?title=IT-Dienstleistungsmanagement_(ITSM)&amp;diff=257"/>
		<updated>2026-05-21T06:28:36Z</updated>

		<summary type="html">&lt;p&gt;ChristianPayns: Die Seite wurde neu angelegt: „&amp;lt;span class=&amp;quot;mw-ui-button mw-ui-progressive&amp;quot;&amp;gt;⬅️ Support- und Serviceanfragen bearbeiten&amp;lt;/span&amp;gt;“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Support- und Serviceanfragen bearbeiten|&amp;lt;span class=&amp;quot;mw-ui-button mw-ui-progressive&amp;quot;&amp;gt;⬅️ Support- und Serviceanfragen bearbeiten&amp;lt;/span&amp;gt;]]&lt;/div&gt;</summary>
		<author><name>ChristianPayns</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.payns.duckdns.org/index.php?title=IT-Dienstleistungsarten_unterscheiden&amp;diff=256</id>
		<title>IT-Dienstleistungsarten unterscheiden</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.payns.duckdns.org/index.php?title=IT-Dienstleistungsarten_unterscheiden&amp;diff=256"/>
		<updated>2026-05-21T06:28:08Z</updated>

		<summary type="html">&lt;p&gt;ChristianPayns: Die Seite wurde neu angelegt: „&amp;lt;span class=&amp;quot;mw-ui-button mw-ui-progressive&amp;quot;&amp;gt;⬅️ Support- und Serviceanfragen bearbeiten&amp;lt;/span&amp;gt;“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Support- und Serviceanfragen bearbeiten|&amp;lt;span class=&amp;quot;mw-ui-button mw-ui-progressive&amp;quot;&amp;gt;⬅️ Support- und Serviceanfragen bearbeiten&amp;lt;/span&amp;gt;]]&lt;/div&gt;</summary>
		<author><name>ChristianPayns</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.payns.duckdns.org/index.php?title=IT-Dienstleistungen_Lebenszyklus&amp;diff=255</id>
		<title>IT-Dienstleistungen Lebenszyklus</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.payns.duckdns.org/index.php?title=IT-Dienstleistungen_Lebenszyklus&amp;diff=255"/>
		<updated>2026-05-21T06:27:42Z</updated>

		<summary type="html">&lt;p&gt;ChristianPayns: Die Seite wurde neu angelegt: „&amp;lt;span class=&amp;quot;mw-ui-button mw-ui-progressive&amp;quot;&amp;gt;⬅️ Support- und Serviceanfragen bearbeiten&amp;lt;/span&amp;gt;“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Support- und Serviceanfragen bearbeiten|&amp;lt;span class=&amp;quot;mw-ui-button mw-ui-progressive&amp;quot;&amp;gt;⬅️ Support- und Serviceanfragen bearbeiten&amp;lt;/span&amp;gt;]]&lt;/div&gt;</summary>
		<author><name>ChristianPayns</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.payns.duckdns.org/index.php?title=Support-_und_Serviceanfragen_bearbeiten&amp;diff=254</id>
		<title>Support- und Serviceanfragen bearbeiten</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.payns.duckdns.org/index.php?title=Support-_und_Serviceanfragen_bearbeiten&amp;diff=254"/>
		<updated>2026-05-21T06:26:06Z</updated>

		<summary type="html">&lt;p&gt;ChristianPayns: Die Seite wurde neu angelegt: „&amp;lt;span class=&amp;quot;mw-ui-button mw-ui-progressive&amp;quot;&amp;gt;⬅️ Kernqualifikation&amp;lt;/span&amp;gt;  == IT-Dienstleistungen Lebenszyklus ==  &amp;lt;span class=&amp;quot;mw-ui-button mw-ui-progressive&amp;quot;&amp;gt;⬅️ IT-Dienstleistungen Lebenszyklus&amp;lt;/span&amp;gt;  == IT-Dienstleistungsarten unterscheiden ==  &amp;lt;span class=&amp;quot;mw-ui-button mw-ui-progressive&amp;quot;&amp;gt;⬅️ IT-Dienstleistungsarten unterscheiden&amp;lt;/span&amp;gt;  == I…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kernqualifikation|&amp;lt;span class=&amp;quot;mw-ui-button mw-ui-progressive&amp;quot;&amp;gt;⬅️ Kernqualifikation&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
== IT-Dienstleistungen Lebenszyklus ==&lt;br /&gt;
&lt;br /&gt;
[[IT-Dienstleistungen Lebenszyklus|&amp;lt;span class=&amp;quot;mw-ui-button mw-ui-progressive&amp;quot;&amp;gt;⬅️ IT-Dienstleistungen Lebenszyklus&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
== IT-Dienstleistungsarten unterscheiden ==&lt;br /&gt;
&lt;br /&gt;
[[IT-Dienstleistungsarten unterscheiden|&amp;lt;span class=&amp;quot;mw-ui-button mw-ui-progressive&amp;quot;&amp;gt;⬅️ IT-Dienstleistungsarten unterscheiden&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
== IT-Dienstleistungsmanagement (ITSM) ==&lt;br /&gt;
&lt;br /&gt;
[[IT-Dienstleistungsmanagement (ITSM)|&amp;lt;span class=&amp;quot;mw-ui-button mw-ui-progressive&amp;quot;&amp;gt;⬅️ IT-Dienstleistungsmanagement (ITSM)&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
== Voraussetzungen eines IT-Service-Mitarbeiters ==&lt;br /&gt;
&lt;br /&gt;
[[Voraussetzungen eines IT-Service-Mitarbeiters|&amp;lt;span class=&amp;quot;mw-ui-button mw-ui-progressive&amp;quot;&amp;gt;⬅️ Voraussetzungen eines IT-Service-Mitarbeiters&amp;lt;/span&amp;gt;]]&lt;/div&gt;</summary>
		<author><name>ChristianPayns</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.payns.duckdns.org/index.php?title=Kernqualifikation&amp;diff=253</id>
		<title>Kernqualifikation</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.payns.duckdns.org/index.php?title=Kernqualifikation&amp;diff=253"/>
		<updated>2026-05-21T06:19:54Z</updated>

		<summary type="html">&lt;p&gt;ChristianPayns: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Umschulung|&amp;lt;span class=&amp;quot;mw-ui-button mw-ui-progressive&amp;quot;&amp;gt;⬅️ Umschulung&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
= Einstieg in die Umschulung =&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
[[Einstieg in die Umschulung|&amp;lt;span class=&amp;quot;mw-ui-button mw-ui-progressive&amp;quot;&amp;gt;⬅️ Einstieg in die Umschulung&amp;lt;/span&amp;gt;]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
= Das Unternehmen und die eigene Rolle im Betrieb =&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
[[IT.I Das Unternehmen und die eigene Rolle im Betrieb|&amp;lt;span class=&amp;quot;mw-ui-button mw-ui-progressive&amp;quot;&amp;gt;⬅️ IT.I Das Unternehmen und die eigene Rolle im Betrieb&amp;lt;/span&amp;gt;]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
[[Das Unternehmen und die eigene Rolle im Betrieb|&amp;lt;span class=&amp;quot;mw-ui-button mw-ui-progressive&amp;quot;&amp;gt;⬅️ Das Unternehmen und die eigene Rolle im Betrieb&amp;lt;/span&amp;gt;]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
= Arbeitsplätze nach Kundenwunsch ausstatten =&lt;br /&gt;
&lt;br /&gt;
[[Arbeitsplätze nach Kundenwunsch ausstatten|&amp;lt;span class=&amp;quot;mw-ui-button mw-ui-progressive&amp;quot;&amp;gt;⬅️  Arbeitsplätze nach Kundenwunsch ausstatten&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
= Clients in Netzwerke einbinden =&lt;br /&gt;
&lt;br /&gt;
[[Clients in Netzwerke einbinden|&amp;lt;span class=&amp;quot;mw-ui-button mw-ui-progressive&amp;quot;&amp;gt;⬅️ Clients in Netzwerke einbinden&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
= Schutzbedarfsanalyse im eigenen Arbeitsbereich durchführen =&lt;br /&gt;
&lt;br /&gt;
[[Schutzbedarfsanalyse im eigenen Arbeitsbereich durchführen|&amp;lt;span class=&amp;quot;mw-ui-button mw-ui-progressive&amp;quot;&amp;gt;⬅️ Schutzbedarfsanalyse im eigenen Arbeitsbereich durchführen&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
= Support- und Serviceanfragen bearbeiten =&lt;br /&gt;
&lt;br /&gt;
[[Support- und Serviceanfragen bearbeiten|&amp;lt;span class=&amp;quot;mw-ui-button mw-ui-progressive&amp;quot;&amp;gt;⬅️ Support- und Serviceanfragen bearbeiten&amp;lt;/span&amp;gt;]]&lt;/div&gt;</summary>
		<author><name>ChristianPayns</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.payns.duckdns.org/index.php?title=Schutzziele&amp;diff=252</id>
		<title>Schutzziele</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.payns.duckdns.org/index.php?title=Schutzziele&amp;diff=252"/>
		<updated>2026-05-18T12:00:01Z</updated>

		<summary type="html">&lt;p&gt;ChristianPayns: Die Seite wurde neu angelegt: „Schutzziele sind die grundlegenden Ziele zum Schutz von Daten und IT-Systemen. Sie beschreiben, welche Eigenschaften Informationen und Systeme besitzen müssen, um sicher zu sein.  {{Box|typ=info|titel=Definition| Schutzziele beschreiben, welche Anforderungen an Daten und Systeme gestellt werden, damit diese vor Verlust, Manipulation oder unberechtigtem Zugriff geschützt sind. }}  == Die drei klassischen Schutzziele ==  {| class=&amp;quot;wikitable&amp;quot; ! Schutzziel…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Schutzziele sind die grundlegenden Ziele zum Schutz von Daten und IT-Systemen. Sie beschreiben, welche Eigenschaften Informationen und Systeme besitzen müssen, um sicher zu sein.&lt;br /&gt;
&lt;br /&gt;
{{Box|typ=info|titel=Definition|&lt;br /&gt;
Schutzziele beschreiben, welche Anforderungen an Daten und Systeme gestellt werden, damit diese vor Verlust, Manipulation oder unberechtigtem Zugriff geschützt sind.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Die drei klassischen Schutzziele ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Schutzziel&lt;br /&gt;
! Bedeutung&lt;br /&gt;
! Beispiel&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Vertraulichkeit&#039;&#039;&#039;&lt;br /&gt;
| Nur berechtigte Personen dürfen auf Daten zugreifen.&lt;br /&gt;
| Personalakten dürfen nur von autorisierten Mitarbeitenden eingesehen werden.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Integrität&#039;&#039;&#039;&lt;br /&gt;
| Daten müssen richtig, vollständig und unverändert bleiben.&lt;br /&gt;
| Eine Rechnung darf nicht unbemerkt verändert werden.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Verfügbarkeit&#039;&#039;&#039;&lt;br /&gt;
| Daten und Systeme müssen bei Bedarf nutzbar und erreichbar sein.&lt;br /&gt;
| Ein Server muss erreichbar sein, wenn Mitarbeitende ihn benötigen.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Erweiterte Schutzziele ==&lt;br /&gt;
&lt;br /&gt;
Neben den drei klassischen Schutzzielen gibt es weitere ergänzende Schutzziele.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Schutzziel&lt;br /&gt;
! Bedeutung&lt;br /&gt;
! Beispiel&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Authentizität&#039;&#039;&#039;&lt;br /&gt;
| Die Echtheit einer Person oder Information muss nachweisbar sein.&lt;br /&gt;
| Anmeldung über Benutzername und Passwort.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Verbindlichkeit (Nichtabstreitbarkeit)&#039;&#039;&#039;&lt;br /&gt;
| Eine Handlung kann später nicht abgestritten werden.&lt;br /&gt;
| Digitale Signatur einer Bestellung.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Zurechenbarkeit&#039;&#039;&#039;&lt;br /&gt;
| Es muss nachvollziehbar sein, wer eine Handlung durchgeführt hat.&lt;br /&gt;
| Protokollierung einer Dateiänderung.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Schutzziele im Datenschutz ==&lt;br /&gt;
&lt;br /&gt;
Im Datenschutz stehen insbesondere folgende Schutzziele im Mittelpunkt:&lt;br /&gt;
&lt;br /&gt;
* Vertraulichkeit&lt;br /&gt;
* Integrität&lt;br /&gt;
* Verfügbarkeit&lt;br /&gt;
&lt;br /&gt;
Diese Schutzziele sind eng mit der Datensicherheit verbunden.&lt;br /&gt;
&lt;br /&gt;
{{Box|typ=merke|titel=Merke|&lt;br /&gt;
Die richtigen Daten müssen:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;geheim bleiben&#039;&#039;&#039; → Vertraulichkeit&lt;br /&gt;
* &#039;&#039;&#039;richtig bleiben&#039;&#039;&#039; → Integrität&lt;br /&gt;
* &#039;&#039;&#039;verfügbar bleiben&#039;&#039;&#039; → Verfügbarkeit&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Zusammenfassung ==&lt;br /&gt;
&lt;br /&gt;
Schutzziele legen fest, welche Eigenschaften Daten und IT-Systeme besitzen müssen, damit sie sicher und geschützt sind.&lt;/div&gt;</summary>
		<author><name>ChristianPayns</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.payns.duckdns.org/index.php?title=Schutzbedarfsanalyse_im_eigenen_Arbeitsbereich_durchf%C3%BChren&amp;diff=251</id>
		<title>Schutzbedarfsanalyse im eigenen Arbeitsbereich durchführen</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.payns.duckdns.org/index.php?title=Schutzbedarfsanalyse_im_eigenen_Arbeitsbereich_durchf%C3%BChren&amp;diff=251"/>
		<updated>2026-05-18T11:58:14Z</updated>

		<summary type="html">&lt;p&gt;ChristianPayns: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kernqualifikation|&amp;lt;span class=&amp;quot;mw-ui-button mw-ui-progressive&amp;quot;&amp;gt;⬅️ Zu Kernqualifikation&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;infokasten infokasten-merke&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;infokasten-titel&amp;quot;&amp;gt;ℹ️&#039;&#039;&#039;Weiterführende Infos&#039;&#039;&#039; &amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;infokasten-inhalt&amp;quot;&amp;gt;&lt;br /&gt;
    ℹ️ BiBox-Link: IT-Berufe&amp;lt;b&amp;gt; Jürgen Gratzke (Hrsg.) (2024), Westermann IT-Berufe: BiBox - Das digitale Unterrichtssystem Grundstufe Lernfelder 1-5, 2. Aufl., Köln. Seite 401 - 466&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Modulbeschreibung =&lt;br /&gt;
&lt;br /&gt;
[[Modulbeschreibung|&amp;lt;span class=&amp;quot;mw-ui-button mw-ui-progressive&amp;quot;&amp;gt;⬅️ Modulbeschreibung&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
= Geschichte Datenschutz =&lt;br /&gt;
&lt;br /&gt;
[[Geschichte Datenschutz|&amp;lt;span class=&amp;quot;mw-ui-button mw-ui-progressive&amp;quot;&amp;gt;⬅️ Geschichte Datenschutz&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
== Aufgabe ==&lt;br /&gt;
&lt;br /&gt;
[[Geschichte und Anfänge des Datenschutzes|&amp;lt;span class=&amp;quot;mw-ui-button mw-ui-progressive&amp;quot;&amp;gt;⬅️ Geschichte und Anfänge des Datenschutzes&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
= Datenschutz &amp;amp; Datensicherheit =&lt;br /&gt;
&lt;br /&gt;
[[Datenschutz &amp;amp; Datensicherheit|&amp;lt;span class=&amp;quot;mw-ui-button mw-ui-progressive&amp;quot;&amp;gt;⬅️ Datenschutz &amp;amp; Datensicherheit&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
= Recht auf informationelle Selbstbestimmung =&lt;br /&gt;
&lt;br /&gt;
[[Recht auf informationelle Selbstbestimmung|&amp;lt;span class=&amp;quot;mw-ui-button mw-ui-progressive&amp;quot;&amp;gt;⬅️ Recht auf informationelle Selbstbestimmung&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
= Grundsätze der Datenverarbeitung nach Atr. 5 DSGVO =&lt;br /&gt;
&lt;br /&gt;
[[Grundsätze der Datenverarbeitung nach Atr. 5 DSGVO|&amp;lt;span class=&amp;quot;mw-ui-button mw-ui-progressive&amp;quot;&amp;gt;⬅️ Grundsätze der Datenverarbeitung nach Atr. 5 DSGVO&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
= Geltungsbereich DSGVO =&lt;br /&gt;
&lt;br /&gt;
[[Geltungsbereich DSGVO|&amp;lt;span class=&amp;quot;mw-ui-button mw-ui-progressive&amp;quot;&amp;gt;⬅️ Geltungsbereich DSGVO&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
= Privacy by Design &amp;amp;&amp;amp; Default =&lt;br /&gt;
&lt;br /&gt;
[[Privacy by Design &amp;amp;&amp;amp; Default|&amp;lt;span class=&amp;quot;mw-ui-button mw-ui-progressive&amp;quot;&amp;gt;⬅️ Privacy by Design &amp;amp;&amp;amp; Default&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
= Datenschutzbeauftragter &amp;amp; Aufgaben =&lt;br /&gt;
&lt;br /&gt;
[[Datenschutzbeauftragter &amp;amp; Aufgaben|&amp;lt;span class=&amp;quot;mw-ui-button mw-ui-progressive&amp;quot;&amp;gt;⬅️ Datenschutzbeauftragter &amp;amp; Aufgaben&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
= Schutzziele =&lt;br /&gt;
&lt;br /&gt;
[[Schutzziele|&amp;lt;span class=&amp;quot;mw-ui-button mw-ui-progressive&amp;quot;&amp;gt;⬅️ Schutzziele&amp;lt;/span&amp;gt;]]&lt;/div&gt;</summary>
		<author><name>ChristianPayns</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.payns.duckdns.org/index.php?title=Datenschutzbeauftragter_%26_Aufgaben&amp;diff=250</id>
		<title>Datenschutzbeauftragter &amp; Aufgaben</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.payns.duckdns.org/index.php?title=Datenschutzbeauftragter_%26_Aufgaben&amp;diff=250"/>
		<updated>2026-05-18T11:54:40Z</updated>

		<summary type="html">&lt;p&gt;ChristianPayns: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Schutzbedarfsanalyse im eigenen Arbeitsbereich durchführen|&amp;lt;span class=&amp;quot;mw-ui-button mw-ui-progressive&amp;quot;&amp;gt;⬅️ Schutzbedarfsanalyse im eigenen Arbeitsbereich durchführen&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
Art. 39 DSGVO Aufgaben des Datenschutzbeauftragten&lt;br /&gt;
&lt;br /&gt;
	1. Dem Datenschutzbeauftragten obliegen zumindest folgende Aufgaben: &lt;br /&gt;
		1. Unterrichtung und Beratung des Verantwortlichen oder des Auftragsverarbeiters und der Beschäftigten, die Verarbeitungen durchführen, hinsichtlich ihrer Pflichten nach dieser Verordnung sowie nach sonstigen Datenschutzvorschriften der Union bzw. der Mitgliedstaaten; (Schulungen)&lt;br /&gt;
		&lt;br /&gt;
		2. Überwachung der Einhaltung dieser Verordnung, anderer Datenschutzvorschriften der Union bzw. der Mitgliedstaaten sowie der Strategien des Verantwortlichen oder des Auftragsverarbeiters für den Schutz personenbezogener Daten einschließlich der Zuweisung von Zuständigkeiten, der Sensibilisierung und Schulung der an den Verarbeitungsvorgängen beteiligten Mitarbeiter und der diesbezüglichen Überprüfungen; Überwachungsfunktion&lt;br /&gt;
		&lt;br /&gt;
		3. Beratung – auf Anfrage – im Zusammenhang mit der Datenschutz-Folgenabschätzung und Überwachung ihrer Durchführung gemäß Artikel 35;&lt;br /&gt;
		&lt;br /&gt;
		4. Zusammenarbeit mit der Aufsichtsbehörde;&lt;br /&gt;
		&lt;br /&gt;
		5. Tätigkeit als Anlaufstelle für die Aufsichtsbehörde in mit der Verarbeitung zusammenhängenden Fragen, einschließlich der vorherigen Konsultation gemäß Artikel 36, und gegebenenfalls Beratung zu allen sonstigen Fragen.&lt;br /&gt;
		&lt;br /&gt;
	2. Der Datenschutzbeauftragte trägt bei der Erfüllung seiner Aufgaben dem mit den Verarbeitungsvorgängen verbundenen Risiko gebührend Rechnung, wobei er die Art, den Umfang, die Umstände und die Zwecke der Verarbeitung berücksichtigt.&lt;/div&gt;</summary>
		<author><name>ChristianPayns</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.payns.duckdns.org/index.php?title=Datenschutzbeauftragter_%26_Aufgaben&amp;diff=249</id>
		<title>Datenschutzbeauftragter &amp; Aufgaben</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.payns.duckdns.org/index.php?title=Datenschutzbeauftragter_%26_Aufgaben&amp;diff=249"/>
		<updated>2026-05-18T11:49:23Z</updated>

		<summary type="html">&lt;p&gt;ChristianPayns: Die Seite wurde neu angelegt: „Art. 39 DSGVO Aufgaben des Datenschutzbeauftragten  	1. Dem Datenschutzbeauftragten obliegen zumindest folgende Aufgaben:  		1. Unterrichtung und Beratung des Verantwortlichen oder des Auftragsverarbeiters und der Beschäftigten, die Verarbeitungen durchführen, hinsichtlich ihrer Pflichten nach dieser Verordnung sowie nach sonstigen Datenschutzvorschriften der Union bzw. der Mitgliedstaaten; (Schulungen) 		 		2. Überwachung der Einhaltung dieser Verordn…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Art. 39 DSGVO Aufgaben des Datenschutzbeauftragten&lt;br /&gt;
&lt;br /&gt;
	1. Dem Datenschutzbeauftragten obliegen zumindest folgende Aufgaben: &lt;br /&gt;
		1. Unterrichtung und Beratung des Verantwortlichen oder des Auftragsverarbeiters und der Beschäftigten, die Verarbeitungen durchführen, hinsichtlich ihrer Pflichten nach dieser Verordnung sowie nach sonstigen Datenschutzvorschriften der Union bzw. der Mitgliedstaaten; (Schulungen)&lt;br /&gt;
		&lt;br /&gt;
		2. Überwachung der Einhaltung dieser Verordnung, anderer Datenschutzvorschriften der Union bzw. der Mitgliedstaaten sowie der Strategien des Verantwortlichen oder des Auftragsverarbeiters für den Schutz personenbezogener Daten einschließlich der Zuweisung von Zuständigkeiten, der Sensibilisierung und Schulung der an den Verarbeitungsvorgängen beteiligten Mitarbeiter und der diesbezüglichen Überprüfungen; Überwachungsfunktion&lt;br /&gt;
		&lt;br /&gt;
		3. Beratung – auf Anfrage – im Zusammenhang mit der Datenschutz-Folgenabschätzung und Überwachung ihrer Durchführung gemäß Artikel 35;&lt;br /&gt;
		&lt;br /&gt;
		4. Zusammenarbeit mit der Aufsichtsbehörde;&lt;br /&gt;
		&lt;br /&gt;
		5. Tätigkeit als Anlaufstelle für die Aufsichtsbehörde in mit der Verarbeitung zusammenhängenden Fragen, einschließlich der vorherigen Konsultation gemäß Artikel 36, und gegebenenfalls Beratung zu allen sonstigen Fragen.&lt;br /&gt;
		&lt;br /&gt;
	2. Der Datenschutzbeauftragte trägt bei der Erfüllung seiner Aufgaben dem mit den Verarbeitungsvorgängen verbundenen Risiko gebührend Rechnung, wobei er die Art, den Umfang, die Umstände und die Zwecke der Verarbeitung berücksichtigt.&lt;/div&gt;</summary>
		<author><name>ChristianPayns</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.payns.duckdns.org/index.php?title=Schutzbedarfsanalyse_im_eigenen_Arbeitsbereich_durchf%C3%BChren&amp;diff=248</id>
		<title>Schutzbedarfsanalyse im eigenen Arbeitsbereich durchführen</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.payns.duckdns.org/index.php?title=Schutzbedarfsanalyse_im_eigenen_Arbeitsbereich_durchf%C3%BChren&amp;diff=248"/>
		<updated>2026-05-18T11:48:44Z</updated>

		<summary type="html">&lt;p&gt;ChristianPayns: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kernqualifikation|&amp;lt;span class=&amp;quot;mw-ui-button mw-ui-progressive&amp;quot;&amp;gt;⬅️ Zu Kernqualifikation&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;infokasten infokasten-merke&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;infokasten-titel&amp;quot;&amp;gt;ℹ️&#039;&#039;&#039;Weiterführende Infos&#039;&#039;&#039; &amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;infokasten-inhalt&amp;quot;&amp;gt;&lt;br /&gt;
    ℹ️ BiBox-Link: IT-Berufe&amp;lt;b&amp;gt; Jürgen Gratzke (Hrsg.) (2024), Westermann IT-Berufe: BiBox - Das digitale Unterrichtssystem Grundstufe Lernfelder 1-5, 2. Aufl., Köln. Seite 401 - 466&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Modulbeschreibung =&lt;br /&gt;
&lt;br /&gt;
[[Modulbeschreibung|&amp;lt;span class=&amp;quot;mw-ui-button mw-ui-progressive&amp;quot;&amp;gt;⬅️ Modulbeschreibung&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
= Geschichte Datenschutz =&lt;br /&gt;
&lt;br /&gt;
[[Geschichte Datenschutz|&amp;lt;span class=&amp;quot;mw-ui-button mw-ui-progressive&amp;quot;&amp;gt;⬅️ Geschichte Datenschutz&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
== Aufgabe ==&lt;br /&gt;
&lt;br /&gt;
[[Geschichte und Anfänge des Datenschutzes|&amp;lt;span class=&amp;quot;mw-ui-button mw-ui-progressive&amp;quot;&amp;gt;⬅️ Geschichte und Anfänge des Datenschutzes&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
= Datenschutz &amp;amp; Datensicherheit =&lt;br /&gt;
&lt;br /&gt;
[[Datenschutz &amp;amp; Datensicherheit|&amp;lt;span class=&amp;quot;mw-ui-button mw-ui-progressive&amp;quot;&amp;gt;⬅️ Datenschutz &amp;amp; Datensicherheit&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
= Recht auf informationelle Selbstbestimmung =&lt;br /&gt;
&lt;br /&gt;
[[Recht auf informationelle Selbstbestimmung|&amp;lt;span class=&amp;quot;mw-ui-button mw-ui-progressive&amp;quot;&amp;gt;⬅️ Recht auf informationelle Selbstbestimmung&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
= Grundsätze der Datenverarbeitung nach Atr. 5 DSGVO =&lt;br /&gt;
&lt;br /&gt;
[[Grundsätze der Datenverarbeitung nach Atr. 5 DSGVO|&amp;lt;span class=&amp;quot;mw-ui-button mw-ui-progressive&amp;quot;&amp;gt;⬅️ Grundsätze der Datenverarbeitung nach Atr. 5 DSGVO&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
= Geltungsbereich DSGVO =&lt;br /&gt;
&lt;br /&gt;
[[Geltungsbereich DSGVO|&amp;lt;span class=&amp;quot;mw-ui-button mw-ui-progressive&amp;quot;&amp;gt;⬅️ Geltungsbereich DSGVO&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
= Privacy by Design &amp;amp;&amp;amp; Default =&lt;br /&gt;
&lt;br /&gt;
[[Privacy by Design &amp;amp;&amp;amp; Default|&amp;lt;span class=&amp;quot;mw-ui-button mw-ui-progressive&amp;quot;&amp;gt;⬅️ Privacy by Design &amp;amp;&amp;amp; Default&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
= Datenschutzbeauftragter &amp;amp; Aufgaben =&lt;br /&gt;
&lt;br /&gt;
[[Datenschutzbeauftragter &amp;amp; Aufgaben|&amp;lt;span class=&amp;quot;mw-ui-button mw-ui-progressive&amp;quot;&amp;gt;⬅️ Datenschutzbeauftragter &amp;amp; Aufgaben&amp;lt;/span&amp;gt;]]&lt;/div&gt;</summary>
		<author><name>ChristianPayns</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.payns.duckdns.org/index.php?title=Netzwerkarchitekturen_%26_IP-Adressen&amp;diff=247</id>
		<title>Netzwerkarchitekturen &amp; IP-Adressen</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.payns.duckdns.org/index.php?title=Netzwerkarchitekturen_%26_IP-Adressen&amp;diff=247"/>
		<updated>2026-05-04T12:42:47Z</updated>

		<summary type="html">&lt;p&gt;ChristianPayns: Die Seite wurde neu angelegt: „Jedes Mal, wenn Sie eine Webseite aufrufen, eine E-Mail senden oder eine Datei in der Cloud speichern, kommunizieren Geräte über ein Netzwerk miteinander. Aber wie ist dieses Netzwerk aufgebaut? Wer spricht mit wem — und wer hat die Kontrolle? In dieser Lerneinheit klären wir die zwei grundlegenden Netzwerkmodelle, ihre Sicherheitsrisiken und die Grundlagen der IP-Adressierung.  {{Box |Typ=info |Titel= Was Sie schon wissen sollten | * Was ein Netzwer…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Jedes Mal, wenn Sie eine Webseite aufrufen, eine E-Mail senden oder eine Datei in der Cloud speichern, kommunizieren Geräte über ein Netzwerk miteinander. Aber wie ist dieses Netzwerk aufgebaut? Wer spricht mit wem — und wer hat die Kontrolle? In dieser Lerneinheit klären wir die zwei grundlegenden Netzwerkmodelle, ihre Sicherheitsrisiken und die Grundlagen der IP-Adressierung.&lt;br /&gt;
&lt;br /&gt;
{{Box&lt;br /&gt;
|Typ=info&lt;br /&gt;
|Titel= Was Sie schon wissen sollten&lt;br /&gt;
|&lt;br /&gt;
* Was ein Netzwerk grundsätzlich ist (zwei oder mehr verbundene Geräte)&lt;br /&gt;
* Dass das Internet aus vielen verbundenen Netzwerken besteht&lt;br /&gt;
* Grundlegende Begriffe: Router, Switch, IP-Adresse (grob)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Das Client-Server-Modell =&lt;br /&gt;
&lt;br /&gt;
[[Das Client-Server-Modell|&amp;lt;span class=&amp;quot;mw-ui-button mw-ui-progressive&amp;quot;&amp;gt;⬅️ Das Client-Server-Modell&amp;lt;/span&amp;gt;]]&lt;/div&gt;</summary>
		<author><name>ChristianPayns</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.payns.duckdns.org/index.php?title=Clients_in_Netzwerke_einbinden&amp;diff=246</id>
		<title>Clients in Netzwerke einbinden</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.payns.duckdns.org/index.php?title=Clients_in_Netzwerke_einbinden&amp;diff=246"/>
		<updated>2026-05-04T12:42:06Z</updated>

		<summary type="html">&lt;p&gt;ChristianPayns: /* Das Client-Server-Modell */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kernqualifikation|&amp;lt;span class=&amp;quot;mw-ui-button mw-ui-progressive&amp;quot;&amp;gt;⬅️ Kernqualifikation&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
[[Datei:Abbil.3.png|center|500pxx500px]]&lt;br /&gt;
&lt;br /&gt;
Weiterführende Infos ℹ️ &lt;br /&gt;
 &lt;br /&gt;
ℹ️ BiBox-Link:  [https://bildungundberuf.sharepoint.com/sites/team1932000121/_layouts/Doc.aspx?sourcedoc={8CCD529A-7827-402E-9AAA-96C4F65803EF}&amp;amp;wd=target%2803_Kursmaterial%2F01_Kernqualifikation%2FIT.III%20Clients%20in%20Netzwerke%20einbinden.one%7C169BE8C1-047F-47D4-B9DC IT-Berufe]&lt;br /&gt;
&lt;br /&gt;
Jürgen Gratzke (Hrsg.) (2024), Westermann IT-Berufe: BiBox - Das digitale Unterrichtssystem Grundstufe Lernfelder 1-5, 2. Aufl., Köln. Seite 280 - 399&lt;br /&gt;
&lt;br /&gt;
Bildquelle: &lt;br /&gt;
Seite 294&lt;br /&gt;
&lt;br /&gt;
= Netzwerktechnik: Einführung =&lt;br /&gt;
&lt;br /&gt;
[[Netzwerktechnik: Einführung|&amp;lt;span class=&amp;quot;mw-ui-button mw-ui-progressive&amp;quot;&amp;gt;⬅️ Netzwerktechnik: Einführung&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
[[Dein Heimnetzwerk verstehen|&amp;lt;span class=&amp;quot;mw-ui-button mw-ui-progressive&amp;quot;&amp;gt;⬅️ Dein Heimnetzwerk verstehen&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
= Das Client-Server-Modell =&lt;br /&gt;
&lt;br /&gt;
[[Netzwerkarchitekturen &amp;amp; IP-Adressen|&amp;lt;span class=&amp;quot;mw-ui-button mw-ui-progressive&amp;quot;&amp;gt;⬅️ Netzwerkarchitekturen &amp;amp; IP-Adressen&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
[[Das Client-Server-Modell|&amp;lt;span class=&amp;quot;mw-ui-button mw-ui-progressive&amp;quot;&amp;gt;⬅️ Das Client-Server-Modell&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
= Grundlagen Netzwerktechnik =&lt;br /&gt;
&lt;br /&gt;
[[Grundlagen Netzwerktechnik|&amp;lt;span class=&amp;quot;mw-ui-button mw-ui-progressive&amp;quot;&amp;gt;⬅️ Grundlagen Netzwerktechnik&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
= Netzwerktechnik =&lt;br /&gt;
&lt;br /&gt;
[[Netzwerktechnik|&amp;lt;span class=&amp;quot;mw-ui-button mw-ui-progressive&amp;quot;&amp;gt;⬅️ Netzwerktechnik&amp;lt;/span&amp;gt;]]&lt;/div&gt;</summary>
		<author><name>ChristianPayns</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.payns.duckdns.org/index.php?title=Clients_in_Netzwerke_einbinden&amp;diff=245</id>
		<title>Clients in Netzwerke einbinden</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.payns.duckdns.org/index.php?title=Clients_in_Netzwerke_einbinden&amp;diff=245"/>
		<updated>2026-05-04T12:29:37Z</updated>

		<summary type="html">&lt;p&gt;ChristianPayns: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kernqualifikation|&amp;lt;span class=&amp;quot;mw-ui-button mw-ui-progressive&amp;quot;&amp;gt;⬅️ Kernqualifikation&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
[[Datei:Abbil.3.png|center|500pxx500px]]&lt;br /&gt;
&lt;br /&gt;
Weiterführende Infos ℹ️ &lt;br /&gt;
 &lt;br /&gt;
ℹ️ BiBox-Link:  [https://bildungundberuf.sharepoint.com/sites/team1932000121/_layouts/Doc.aspx?sourcedoc={8CCD529A-7827-402E-9AAA-96C4F65803EF}&amp;amp;wd=target%2803_Kursmaterial%2F01_Kernqualifikation%2FIT.III%20Clients%20in%20Netzwerke%20einbinden.one%7C169BE8C1-047F-47D4-B9DC IT-Berufe]&lt;br /&gt;
&lt;br /&gt;
Jürgen Gratzke (Hrsg.) (2024), Westermann IT-Berufe: BiBox - Das digitale Unterrichtssystem Grundstufe Lernfelder 1-5, 2. Aufl., Köln. Seite 280 - 399&lt;br /&gt;
&lt;br /&gt;
Bildquelle: &lt;br /&gt;
Seite 294&lt;br /&gt;
&lt;br /&gt;
= Netzwerktechnik: Einführung =&lt;br /&gt;
&lt;br /&gt;
[[Netzwerktechnik: Einführung|&amp;lt;span class=&amp;quot;mw-ui-button mw-ui-progressive&amp;quot;&amp;gt;⬅️ Netzwerktechnik: Einführung&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
[[Dein Heimnetzwerk verstehen|&amp;lt;span class=&amp;quot;mw-ui-button mw-ui-progressive&amp;quot;&amp;gt;⬅️ Dein Heimnetzwerk verstehen&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
= Das Client-Server-Modell =&lt;br /&gt;
&lt;br /&gt;
[[Das Client-Server-Modell|&amp;lt;span class=&amp;quot;mw-ui-button mw-ui-progressive&amp;quot;&amp;gt;⬅️ Das Client-Server-Modell&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
[[Netzwerkarchitekturen &amp;amp; IP-Adressen|&amp;lt;span class=&amp;quot;mw-ui-button mw-ui-progressive&amp;quot;&amp;gt;⬅️ Netzwerkarchitekturen &amp;amp; IP-Adressen&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
= Grundlagen Netzwerktechnik =&lt;br /&gt;
&lt;br /&gt;
[[Grundlagen Netzwerktechnik|&amp;lt;span class=&amp;quot;mw-ui-button mw-ui-progressive&amp;quot;&amp;gt;⬅️ Grundlagen Netzwerktechnik&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
= Netzwerktechnik =&lt;br /&gt;
&lt;br /&gt;
[[Netzwerktechnik|&amp;lt;span class=&amp;quot;mw-ui-button mw-ui-progressive&amp;quot;&amp;gt;⬅️ Netzwerktechnik&amp;lt;/span&amp;gt;]]&lt;/div&gt;</summary>
		<author><name>ChristianPayns</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.payns.duckdns.org/index.php?title=Clients_in_Netzwerke_einbinden&amp;diff=244</id>
		<title>Clients in Netzwerke einbinden</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.payns.duckdns.org/index.php?title=Clients_in_Netzwerke_einbinden&amp;diff=244"/>
		<updated>2026-05-04T12:28:07Z</updated>

		<summary type="html">&lt;p&gt;ChristianPayns: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kernqualifikation|&amp;lt;span class=&amp;quot;mw-ui-button mw-ui-progressive&amp;quot;&amp;gt;⬅️ Kernqualifikation&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
[[Datei:Abbil.3.png|center|500pxx500px]]&lt;br /&gt;
&lt;br /&gt;
Weiterführende Infos ℹ️ &lt;br /&gt;
 &lt;br /&gt;
ℹ️ BiBox-Link:  [https://bildungundberuf.sharepoint.com/sites/team1932000121/_layouts/Doc.aspx?sourcedoc={8CCD529A-7827-402E-9AAA-96C4F65803EF}&amp;amp;wd=target%2803_Kursmaterial%2F01_Kernqualifikation%2FIT.III%20Clients%20in%20Netzwerke%20einbinden.one%7C169BE8C1-047F-47D4-B9DC IT-Berufe]&lt;br /&gt;
&lt;br /&gt;
Jürgen Gratzke (Hrsg.) (2024), Westermann IT-Berufe: BiBox - Das digitale Unterrichtssystem Grundstufe Lernfelder 1-5, 2. Aufl., Köln. Seite 280 - 399&lt;br /&gt;
&lt;br /&gt;
Bildquelle: &lt;br /&gt;
Seite 294&lt;br /&gt;
&lt;br /&gt;
= Netzwerktechnik: Einführung =&lt;br /&gt;
&lt;br /&gt;
[[Netzwerktechnik: Einführung|&amp;lt;span class=&amp;quot;mw-ui-button mw-ui-progressive&amp;quot;&amp;gt;⬅️ Netzwerktechnik: Einführung&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
[[Dein Heimnetzwerk verstehen|&amp;lt;span class=&amp;quot;mw-ui-button mw-ui-progressive&amp;quot;&amp;gt;⬅️ Dein Heimnetzwerk verstehen&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
= Das Client-Server-Modell =&lt;br /&gt;
&lt;br /&gt;
[[Das Client-Server-Modell|&amp;lt;span class=&amp;quot;mw-ui-button mw-ui-progressive&amp;quot;&amp;gt;⬅️ Das Client-Server-Modell&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
= Grundlagen Netzwerktechnik =&lt;br /&gt;
&lt;br /&gt;
[[Grundlagen Netzwerktechnik|&amp;lt;span class=&amp;quot;mw-ui-button mw-ui-progressive&amp;quot;&amp;gt;⬅️ Grundlagen Netzwerktechnik&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
= Netzwerktechnik =&lt;br /&gt;
&lt;br /&gt;
[[Netzwerktechnik|&amp;lt;span class=&amp;quot;mw-ui-button mw-ui-progressive&amp;quot;&amp;gt;⬅️ Netzwerktechnik&amp;lt;/span&amp;gt;]]&lt;/div&gt;</summary>
		<author><name>ChristianPayns</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.payns.duckdns.org/index.php?title=Netzwerktechnik&amp;diff=243</id>
		<title>Netzwerktechnik</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.payns.duckdns.org/index.php?title=Netzwerktechnik&amp;diff=243"/>
		<updated>2026-04-29T08:59:26Z</updated>

		<summary type="html">&lt;p&gt;ChristianPayns: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Clients in Netzwerke einbinden|&amp;lt;span class=&amp;quot;mw-ui-button mw-ui-progressive&amp;quot;&amp;gt;⬅️ Clients in Netzwerke einbinden&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= IPv4 Grundlagen — Adressen, Adressräume, Diagnose =&lt;br /&gt;
&lt;br /&gt;
== Warum brauchen wir überhaupt IP-Adressen? ==&lt;br /&gt;
{{Box&lt;br /&gt;
|Typ=light&lt;br /&gt;
|Titel=Warum brauchen wir überhaupt IP-Adressen?&lt;br /&gt;
|&lt;br /&gt;
Bevor wir uns das Format einer IP-Adresse ansehen, stellen wir die wichtigere Frage: Warum gibt es sie überhaupt? Die Antwort liegt im Grundproblem jeder Kommunikation — egal ob im Postwesen, im Telefonnetz oder in einem Computernetz.&lt;br /&gt;
Das Grundproblem: Wer spricht mit wem?&lt;br /&gt;
Bei TechShop24 möchte ein Mitarbeiter aus dem Vertrieb auf den Lager-PC zugreifen, um eine aktuelle Lieferliste zu öffnen. Beide Rechner stehen im selben Firmennetz — aber wie findet das Datenpaket aus dem Vertriebsbüro genau diesen einen Lager-PC unter den rund 80 anderen Geräten im Netz?&lt;br /&gt;
Im Netzwerk laufen alle Pakete über dieselbe Verkabelung. Jeder Switch und jeder Router muss anhand jedes einzelnen Pakets entscheiden: Gehört das hierhin oder dorthin? Damit das funktioniert, muss in jedem Paket eine eindeutige Zieladresse stehen. Genau das ist die Aufgabe der IP-Adresse.&lt;br /&gt;
&lt;br /&gt;
{{Box&lt;br /&gt;
|Typ=success&lt;br /&gt;
|Titel=Analogie: Hausnummern in einer Straße&lt;br /&gt;
|&lt;br /&gt;
Damit ein Brief beim richtigen Empfänger landet, braucht er Stadt, Straße und Hausnummer. Ohne diese Information weiß der Postbote nicht, wohin er ihn tragen soll — auch wenn er den Brief selbst in der Hand hält.&lt;br /&gt;
&lt;br /&gt;
Im Netzwerk ist es genauso: Jedes Datenpaket trägt eine Zieladresse (die IP-Adresse des Empfängers). Würden zwei Häuser in derselben Straße die gleiche Hausnummer tragen, käme die Post bei einem von beiden falsch an. Genauso darf eine IP-Adresse in einem Netzwerk nur einmal vergeben sein — sonst entsteht ein IP-Konflikt und die Kommunikation bricht zusammen.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Box&lt;br /&gt;
|Typ=info&lt;br /&gt;
|Titel=IP-Adresse&lt;br /&gt;
|&lt;br /&gt;
Eine eindeutige numerische Kennung, mit der ein Gerät in einem IP-Netzwerk angesprochen werden kann. Sie übernimmt im Netzwerk die Rolle einer Postanschrift: Jedes Datenpaket trägt sie als Ziel- und Absenderangabe mit sich.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== So sieht das in der Praxis aus ===&lt;br /&gt;
&lt;br /&gt;
Das folgende Diagramm zeigt einen kleinen Ausschnitt aus dem Büronetz von TechShop24. Vier Geräte hängen an einem Switch — und jedes hat eine eigene, eindeutige IP-Adresse. Wenn der Vertriebs-PC die Datei Lieferliste.xlsx vom Lager-PC laden möchte, wird ein Paket mit der Zieladresse 192.168.1.20 auf den Weg geschickt. Der Switch sieht die Adresse, weiß genau, an welchem seiner Ports der Lager-PC hängt, und leitet das Paket dorthin weiter.&lt;br /&gt;
&lt;br /&gt;
[[Datei:Abbil.8.png|center|1000px]]&lt;br /&gt;
&lt;br /&gt;
{{Box&lt;br /&gt;
|Typ=success&lt;br /&gt;
|Titel=Merke&lt;br /&gt;
|&lt;br /&gt;
Jedes Gerät in einem IP-Netzwerk braucht eine eindeutige IP-Adresse, damit Datenpakete ihr Ziel finden. Doppelte Adressen führen zum IP-Konflikt, bei dem die Kommunikation für eines oder beide Geräte aussetzt.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Box&lt;br /&gt;
|Typ=light&lt;br /&gt;
|Titel=Vertiefung:Was passiert eigentlich bei einem IP-Konflikt?&lt;br /&gt;
|&lt;br /&gt;
Wenn zwei Geräte versehentlich dieselbe IP haben (z. B. weil jemand neben dem DHCP-Server noch eine statische IP fest eingetragen hat), schicken beide auf eingehende Pakete eine Antwort. Der Absender bekommt dann zwei widersprüchliche Antworten zurück — die Verbindung wird instabil, manche Pakete kommen an, andere nicht.&lt;br /&gt;
&lt;br /&gt;
Windows zeigt in solchen Fällen die Meldung „Ein anderer Computer in diesem Netzwerk hat dieselbe IP-Adresse&amp;quot;. Die Lösung: einer der beiden bekommt eine neue Adresse. In der Praxis vergibt man kritische statische IPs nur außerhalb des DHCP-Pools, z. B. die 192.168.1.2 – 192.168.1.49 für statisch vergebene Server-IPs und ab 192.168.1.50 aufwärts den DHCP-Pool.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Box&lt;br /&gt;
|Typ=light&lt;br /&gt;
|Titel=Vertiefung: Warum reicht nicht der Gerätename?&lt;br /&gt;
|&lt;br /&gt;
Berechtigte Frage: Warum gibt es nicht einfach einen Computernamen wie „Lager-PC&amp;quot; als Adresse? Tatsächlich gibt es solche Namen — aber unter der Haube müssen sie immer in eine numerische IP übersetzt werden. Genau dafür gibt es DNS (Domain Name System). Wenn Sie www.daa.de in den Browser tippen, fragt Ihr Rechner zuerst einen DNS-Server: „Welche IP gehört zu diesem Namen?&amp;quot; — und kommuniziert dann mit der IP, nicht mit dem Namen.&lt;br /&gt;
&lt;br /&gt;
Der Grund: Numerische Adressen sind viel schneller zu verarbeiten und einfacher in Routing-Tabellen abzubilden. Namen sind komfortabel für Menschen, IP-Adressen sind effizient für Maschinen.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Box&lt;br /&gt;
|Typ=light&lt;br /&gt;
|Titel=Reflexion&lt;br /&gt;
|&lt;br /&gt;
Schauen Sie Ihren Router zuhause an: Wie viele Geräte sind aktuell verbunden? (Tipp: Im Router-Webinterface, oft erreichbar über &amp;lt;code&amp;gt;http://fritz.box&amp;lt;/code&amp;gt; oder &amp;lt;code&amp;gt;http://192.168.1.1.)&amp;lt;/code&amp;gt; Was würde passieren, wenn zwei dieser Geräte zufällig die gleiche IP-Adresse hätten?&lt;br /&gt;
}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Aufbau einer IPv4-Adresse ==&lt;br /&gt;
&lt;br /&gt;
{{Box&lt;br /&gt;
|Typ=light&lt;br /&gt;
|Titel=Aufbau einer IPv4-Adresse&lt;br /&gt;
|&lt;br /&gt;
Jetzt schauen wir uns an, wie eine IP-Adresse aufgebaut ist. IPv4 steht für Internet Protocol Version 4. Es ist das Protokoll, das seit 1981 die Adressierung im Internet regelt — und auch in nahezu jedem Heim- und Firmennetz dieser Welt zum Einsatz kommt.&lt;br /&gt;
&#039;&#039;&#039;Was bedeutet „32 Bit&amp;quot; eigentlich?&#039;&#039;&#039;&lt;br /&gt;
Eine IPv4-Adresse ist im Kern eine 32-stellige Binärzahl — also eine Folge aus 32 Nullen und Einsen. Jede dieser Stellen heißt Bit (kurz für „binary digit&amp;quot;). Die Designer von IP haben sich 1981 für genau 32 Bit entschieden, weil das einen Adressraum von 232 ≈ 4,3 Milliarden möglichen Adressen ergibt. Zur damaligen Zeit galt das als verschwenderisch großzügig — die ganze Welt kannte nur ein paar tausend vernetzte Computer.&lt;br /&gt;
Heute wissen wir: 4,3 Milliarden Adressen reichen nicht, um jedes Smartphone, jeden Drucker und jeden Smart-Toaster der Welt direkt im Internet anzusprechen. Genau deshalb gibt es Tricks wie NAT und private Adressbereiche, die wir in den späteren Slides ansehen.&lt;br /&gt;
&lt;br /&gt;
{{Box&lt;br /&gt;
|Typ=info&lt;br /&gt;
|Titel=Bit&lt;br /&gt;
|&lt;br /&gt;
Die kleinste digitale Informationseinheit. Ein Bit kann genau zwei Zustände annehmen: 0 oder 1. Acht Bit zusammen bilden ein Byte oder ein Oktett.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Box&lt;br /&gt;
|Typ=info&lt;br /&gt;
|Titel=Oktett&lt;br /&gt;
|&lt;br /&gt;
Eine Gruppe von 8 Bit. Eine IPv4-Adresse besteht aus genau vier Oktetten, durch Punkte getrennt. Pro Oktett sind 28 -&amp;gt; 256 Werte möglich (von 0 bis 255). Der Begriff stammt vom lateinischen octo -&amp;gt; acht.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Box&lt;br /&gt;
|Typ=info&lt;br /&gt;
|Titel=Client-Server-Modell&lt;br /&gt;
|Text=&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;margin:auto;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Eigenschaft&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Wert&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Adresslänge&#039;&#039;&#039;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;32 Bit (entspricht 4 Byte)&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Schreibweise für Menschen&#039;&#039;&#039;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Vier Dezimalzahlen, durch Punkte getrennt (z. B. 192.168.1.100)&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Wertebereich pro Oktett&#039;&#039;&#039;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0 bis 255 (also 256 mögliche Werte)&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Theoretischer Adressraum&#039;&#039;&#039;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;2³² ≈ 4.294.967.296 Adressen&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Standardisiert in&#039;&#039;&#039;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;RFC 791 (September 1981)&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Nachfolger&#039;&#039;&#039;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;IPv6 (128 Bit, 2&amp;lt;sup&amp;gt;128&amp;lt;/sup&amp;gt; Adressen — eine fast unvorstellbar große Zahl)&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Wie liest man eine IPv4-Adresse?&lt;br /&gt;
Sie sehen die Adresse 192.168.1.100? Was Sie da lesen, sind vier separate Zahlen, die durch Punkte getrennt sind. Jede dieser vier Zahlen ist ein Oktett — also ein 8-Bit-Block. Die Punkte selbst gehören technisch nicht zur Adresse, sie sind nur Trennzeichen für die menschliche Lesbarkeit.&lt;br /&gt;
&lt;br /&gt;
[[Datei:Abbil.9.png|center|1000px]]&lt;br /&gt;
&lt;br /&gt;
{{Box&lt;br /&gt;
|Typ=info&lt;br /&gt;
|Titel=Wertebereich pro Oktett&lt;br /&gt;
|&lt;br /&gt;
Eine Adresse wie 192.168.1.300 ist formal ungültig: Mehr als 255 lässt sich in 8 Bit nicht darstellen (255 -&amp;gt; 11111111). In freien Aufgaben fällt das selten als Falle auf — niemand schreibt versehentlich 300. Wirklich wichtig wird die 8-Bit-Grenze später beim Subnetting (IT-III.03), wenn Sie Subnetzmasken berechnen und Hostzahlen pro Subnetz ableiten. Dort lohnt es sich, die Wertigkeiten 128 64 32 16 8 4 2 1 wirklich im Kopf zu haben.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Box&lt;br /&gt;
|Typ=success&lt;br /&gt;
|Titel=Merke&lt;br /&gt;
|&lt;br /&gt;
Eine IPv4-Adresse ist eine 32-Bit-Zahl. Die Punkt-Schreibweise mit vier Zahlen zwischen 0 und 255 ist nur eine Lese-Hilfe für uns Menschen — der Rechner sieht intern immer 32 Nullen und Einsen am Stück.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Box&lt;br /&gt;
|Typ=light&lt;br /&gt;
|Titel=Vertiefung: Wer hat IP eigentlich erfunden?&lt;br /&gt;
|&lt;br /&gt;
Vint Cerf und Bob Kahn entwickelten ab 1973 im Auftrag der US-Verteidigungsbehörde DARPA die Vorläufer von TCP/IP. Ziel war ein ausfallsicheres Netz, das auch dann noch funktioniert, wenn Teile davon zerstört sind — Kontext war der Kalte Krieg.&lt;br /&gt;
&lt;br /&gt;
Aus diesem Forschungsnetz (ARPANET) wurde später das Internet — und IPv4 ist bis heute das wichtigste Adressierungsprotokoll. Beide erhielten 2004 den Turing-Award (so etwas wie der „Nobelpreis der Informatik&amp;quot;) für diese Arbeit.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Box&lt;br /&gt;
|Typ=light&lt;br /&gt;
|Titel=Vertiefungen: Was ist mit IPv6&lt;br /&gt;
|&lt;br /&gt;
IPv6 ist der offizielle Nachfolger von IPv4 und nutzt 128-Bit-Adressen — das sind 2128 ≈ 340 Sextillionen mögliche Adressen. Das wäre genug, um jeden Sandkorn-großen Punkt der Erdoberfläche mit einer eigenen IP zu versorgen.&lt;br /&gt;
&lt;br /&gt;
Trotzdem ist IPv4 nach wie vor allgegenwärtig: Praktisch jedes Heim- und Firmennetz arbeitet intern mit IPv4. IPv6 wird parallel betrieben und ist heute besonders bei Mobilfunkanbietern und großen Cloud-Providern verbreitet. Sie werden in dieser Lerneinheit ausschließlich IPv4 betrachten — IPv6 ist Stoff einer eigenen Einheit.&lt;br /&gt;
}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Dezimal ↔ Binär — drei Beispiele Schritt für Schritt ==&lt;br /&gt;
&lt;br /&gt;
{{Box&lt;br /&gt;
|Typ=success&lt;br /&gt;
|Titel= Dezimal ↔ Binär — drei Beispiele Schritt für Schritt&lt;br /&gt;
|&lt;br /&gt;
Jetzt rechnen wir konkret um. Das Verfahren ist immer dasselbe: Sie schreiben sich die Stellenwerte 128 64 32 16 8 4 2 1 auf und prüfen für jede Stelle: Passt diese Wertigkeit noch in den verbleibenden Rest? Wenn ja → Bit auf 1 setzen, Wertigkeit abziehen. Wenn nein → Bit auf 0 lassen, weitermachen.&lt;br /&gt;
&lt;br /&gt;
{{Box&lt;br /&gt;
|Typ=light&lt;br /&gt;
|Titel=Beispiel 1: 192 in Binär umrechnen&lt;br /&gt;
|Text=&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;margin:auto;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Schritt&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Frage&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Aktiont&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Rest&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Passt 128 in 192?&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Ja → Bit setzen, 192 − 128 = 64&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;code&amp;gt;64&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;2&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Passt 64 in 64?&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Ja → Bit setzen, 64 − 64 = 0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;code&amp;gt;64&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;3&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Passt 32 in 0?&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Nein → Bit bleibt 0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;4&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Passt 16 in 0?&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Nein → Bit bleibt 0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;5-8&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Passt 8/4/2/1 in 0?&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Alle nein → alle bleiben 0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Datei:Abbil.10.png|center|1000]]&lt;br /&gt;
&lt;br /&gt;
{{Box&lt;br /&gt;
|Typ=light&lt;br /&gt;
|Titel=Beispiel 2: 168 in Binär umrechnen&lt;br /&gt;
|Text=&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;margin:auto;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Schritt&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Frage&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Aktiont&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Rest&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Passt 128 in 168?&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Ja → Bit setzen, 168 − 128 = 40&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;code&amp;gt;40&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;2&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Passt 64 in 40?&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Nein → Bit bleibt 0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;code&amp;gt;40&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;3&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Passt 32 in 40?&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Ja → Bit setzen, 40 − 32 = 8&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;code&amp;gt;8&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;4&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Passt 16 in 8?&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Nein → Bit bleibt 0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;5&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Passt 8 in 8?&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Ja → Bit setzen, 8 − 8 = 0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;6-8&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Passt 4/2/1 in 0?&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Alle nein → alle bleiben 0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ergebnis: &amp;lt;code&amp;gt;101000&amp;lt;/code&amp;gt;. Probe 128 + 32 + 8 -&amp;gt;168. Stimmt!&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Box&lt;br /&gt;
|Typ=light&lt;br /&gt;
|Titel=Beispiel 3: 100 in Binär umrechnen&lt;br /&gt;
|Text=&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;margin:auto;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Schritt&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Frage&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Aktiont&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Rest&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Passt 128 in 100?&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Nein → Bit bleibt 0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;code&amp;gt;100&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;2&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Passt 64 in 100?&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Ja → Bit setzen, 100 − 64 = 36&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;code&amp;gt;36&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;3&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Passt 32 in 36?&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Ja → Bit setzen, 36 − 32 = 4&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;code&amp;gt;4&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;4&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Passt 16 in 4?&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Nein → Bit bleibt 0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;code&amp;gt;4&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;5&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Passt 8 in 4?&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Alle nein → alle bleiben 0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;code&amp;gt;4&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;6&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Passt 4 in 4?&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Ja → Bit setzen, 4 − 4 = 0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;7-8&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Passt 2/1 in 0?&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Alle nein → alle bleiben 0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ergebnis: &amp;lt;code&amp;gt;01100100&amp;lt;/code&amp;gt;. Probe: 64 + 32 + 4 -&amp;gt; 100. Stimmt!&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Box&lt;br /&gt;
|Typ=light&lt;br /&gt;
|Titel=Die komplette Adresse 192.168.1.100 als 32-Bit-Folge&lt;br /&gt;
|Text=&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;margin:auto;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Dezimal&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Binär&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Rechenweg&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;code&amp;gt;192&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;code&amp;gt;11000000&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;128 + 64&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;code&amp;gt;168&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;code&amp;gt;10101000&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;128 + 32 + 8&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;code&amp;gt;00000001&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;code&amp;gt;100&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;code&amp;gt;01100100&amp;lt;/code&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;64+32+4&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Box&lt;br /&gt;
|Typ=success&lt;br /&gt;
|Titel= Schnell-Check für jede Umrechnung&lt;br /&gt;
|&lt;br /&gt;
Zählen Sie die Wertigkeiten der gesetzten Bits zusammen — das Ergebnis muss exakt Ihre Ausgangszahl ergeben. Wenn nicht, haben Sie sich irgendwo verrechnet. Für die andere Richtung (Binär → Dezimal) addieren Sie einfach alle Wertigkeiten der gesetzten Bits.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Box&lt;br /&gt;
|Typ=success&lt;br /&gt;
|Titel= Merke&lt;br /&gt;
|&lt;br /&gt;
Umrechnung Dezimal → Binär: Stellenwerte 128 64 32 16 8 4 2 1 hinschreiben, von links nach rechts „passt rein?&amp;quot; prüfen, bei Ja Bit auf 1 und Wertigkeit abziehen.&lt;br /&gt;
}}&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>ChristianPayns</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.payns.duckdns.org/index.php?title=Datei:Abbil.10.png&amp;diff=242</id>
		<title>Datei:Abbil.10.png</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.payns.duckdns.org/index.php?title=Datei:Abbil.10.png&amp;diff=242"/>
		<updated>2026-04-29T08:21:47Z</updated>

		<summary type="html">&lt;p&gt;ChristianPayns: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>ChristianPayns</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.payns.duckdns.org/index.php?title=Netzwerktechnik&amp;diff=241</id>
		<title>Netzwerktechnik</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.payns.duckdns.org/index.php?title=Netzwerktechnik&amp;diff=241"/>
		<updated>2026-04-29T08:04:48Z</updated>

		<summary type="html">&lt;p&gt;ChristianPayns: /* Warum brauchen wir überhaupt IP-Adressen? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Clients in Netzwerke einbinden|&amp;lt;span class=&amp;quot;mw-ui-button mw-ui-progressive&amp;quot;&amp;gt;⬅️ Clients in Netzwerke einbinden&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= IPv4 Grundlagen — Adressen, Adressräume, Diagnose =&lt;br /&gt;
&lt;br /&gt;
== Warum brauchen wir überhaupt IP-Adressen? ==&lt;br /&gt;
{{Box&lt;br /&gt;
|Typ=light&lt;br /&gt;
|Titel=Warum brauchen wir überhaupt IP-Adressen?&lt;br /&gt;
|&lt;br /&gt;
Bevor wir uns das Format einer IP-Adresse ansehen, stellen wir die wichtigere Frage: Warum gibt es sie überhaupt? Die Antwort liegt im Grundproblem jeder Kommunikation — egal ob im Postwesen, im Telefonnetz oder in einem Computernetz.&lt;br /&gt;
Das Grundproblem: Wer spricht mit wem?&lt;br /&gt;
Bei TechShop24 möchte ein Mitarbeiter aus dem Vertrieb auf den Lager-PC zugreifen, um eine aktuelle Lieferliste zu öffnen. Beide Rechner stehen im selben Firmennetz — aber wie findet das Datenpaket aus dem Vertriebsbüro genau diesen einen Lager-PC unter den rund 80 anderen Geräten im Netz?&lt;br /&gt;
Im Netzwerk laufen alle Pakete über dieselbe Verkabelung. Jeder Switch und jeder Router muss anhand jedes einzelnen Pakets entscheiden: Gehört das hierhin oder dorthin? Damit das funktioniert, muss in jedem Paket eine eindeutige Zieladresse stehen. Genau das ist die Aufgabe der IP-Adresse.&lt;br /&gt;
&lt;br /&gt;
{{Box&lt;br /&gt;
|Typ=success&lt;br /&gt;
|Titel=Analogie: Hausnummern in einer Straße&lt;br /&gt;
|&lt;br /&gt;
Damit ein Brief beim richtigen Empfänger landet, braucht er Stadt, Straße und Hausnummer. Ohne diese Information weiß der Postbote nicht, wohin er ihn tragen soll — auch wenn er den Brief selbst in der Hand hält.&lt;br /&gt;
&lt;br /&gt;
Im Netzwerk ist es genauso: Jedes Datenpaket trägt eine Zieladresse (die IP-Adresse des Empfängers). Würden zwei Häuser in derselben Straße die gleiche Hausnummer tragen, käme die Post bei einem von beiden falsch an. Genauso darf eine IP-Adresse in einem Netzwerk nur einmal vergeben sein — sonst entsteht ein IP-Konflikt und die Kommunikation bricht zusammen.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Box&lt;br /&gt;
|Typ=info&lt;br /&gt;
|Titel=IP-Adresse&lt;br /&gt;
|&lt;br /&gt;
Eine eindeutige numerische Kennung, mit der ein Gerät in einem IP-Netzwerk angesprochen werden kann. Sie übernimmt im Netzwerk die Rolle einer Postanschrift: Jedes Datenpaket trägt sie als Ziel- und Absenderangabe mit sich.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== So sieht das in der Praxis aus ===&lt;br /&gt;
&lt;br /&gt;
Das folgende Diagramm zeigt einen kleinen Ausschnitt aus dem Büronetz von TechShop24. Vier Geräte hängen an einem Switch — und jedes hat eine eigene, eindeutige IP-Adresse. Wenn der Vertriebs-PC die Datei Lieferliste.xlsx vom Lager-PC laden möchte, wird ein Paket mit der Zieladresse 192.168.1.20 auf den Weg geschickt. Der Switch sieht die Adresse, weiß genau, an welchem seiner Ports der Lager-PC hängt, und leitet das Paket dorthin weiter.&lt;br /&gt;
&lt;br /&gt;
[[Datei:Abbil.8.png|center|1000px]]&lt;br /&gt;
&lt;br /&gt;
{{Box&lt;br /&gt;
|Typ=success&lt;br /&gt;
|Titel=Merke&lt;br /&gt;
|&lt;br /&gt;
Jedes Gerät in einem IP-Netzwerk braucht eine eindeutige IP-Adresse, damit Datenpakete ihr Ziel finden. Doppelte Adressen führen zum IP-Konflikt, bei dem die Kommunikation für eines oder beide Geräte aussetzt.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Box&lt;br /&gt;
|Typ=light&lt;br /&gt;
|Titel=Vertiefung:Was passiert eigentlich bei einem IP-Konflikt?&lt;br /&gt;
|&lt;br /&gt;
Wenn zwei Geräte versehentlich dieselbe IP haben (z. B. weil jemand neben dem DHCP-Server noch eine statische IP fest eingetragen hat), schicken beide auf eingehende Pakete eine Antwort. Der Absender bekommt dann zwei widersprüchliche Antworten zurück — die Verbindung wird instabil, manche Pakete kommen an, andere nicht.&lt;br /&gt;
&lt;br /&gt;
Windows zeigt in solchen Fällen die Meldung „Ein anderer Computer in diesem Netzwerk hat dieselbe IP-Adresse&amp;quot;. Die Lösung: einer der beiden bekommt eine neue Adresse. In der Praxis vergibt man kritische statische IPs nur außerhalb des DHCP-Pools, z. B. die 192.168.1.2 – 192.168.1.49 für statisch vergebene Server-IPs und ab 192.168.1.50 aufwärts den DHCP-Pool.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Box&lt;br /&gt;
|Typ=light&lt;br /&gt;
|Titel=Vertiefung: Warum reicht nicht der Gerätename?&lt;br /&gt;
|&lt;br /&gt;
Berechtigte Frage: Warum gibt es nicht einfach einen Computernamen wie „Lager-PC&amp;quot; als Adresse? Tatsächlich gibt es solche Namen — aber unter der Haube müssen sie immer in eine numerische IP übersetzt werden. Genau dafür gibt es DNS (Domain Name System). Wenn Sie www.daa.de in den Browser tippen, fragt Ihr Rechner zuerst einen DNS-Server: „Welche IP gehört zu diesem Namen?&amp;quot; — und kommuniziert dann mit der IP, nicht mit dem Namen.&lt;br /&gt;
&lt;br /&gt;
Der Grund: Numerische Adressen sind viel schneller zu verarbeiten und einfacher in Routing-Tabellen abzubilden. Namen sind komfortabel für Menschen, IP-Adressen sind effizient für Maschinen.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Box&lt;br /&gt;
|Typ=light&lt;br /&gt;
|Titel=Reflexion&lt;br /&gt;
|&lt;br /&gt;
Schauen Sie Ihren Router zuhause an: Wie viele Geräte sind aktuell verbunden? (Tipp: Im Router-Webinterface, oft erreichbar über &amp;lt;code&amp;gt;http://fritz.box&amp;lt;/code&amp;gt; oder &amp;lt;code&amp;gt;http://192.168.1.1.)&amp;lt;/code&amp;gt; Was würde passieren, wenn zwei dieser Geräte zufällig die gleiche IP-Adresse hätten?&lt;br /&gt;
}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Aufbau einer IPv4-Adresse ==&lt;br /&gt;
&lt;br /&gt;
{{Box&lt;br /&gt;
|Typ=light&lt;br /&gt;
|Titel=Aufbau einer IPv4-Adresse&lt;br /&gt;
|&lt;br /&gt;
Jetzt schauen wir uns an, wie eine IP-Adresse aufgebaut ist. IPv4 steht für Internet Protocol Version 4. Es ist das Protokoll, das seit 1981 die Adressierung im Internet regelt — und auch in nahezu jedem Heim- und Firmennetz dieser Welt zum Einsatz kommt.&lt;br /&gt;
&#039;&#039;&#039;Was bedeutet „32 Bit&amp;quot; eigentlich?&#039;&#039;&#039;&lt;br /&gt;
Eine IPv4-Adresse ist im Kern eine 32-stellige Binärzahl — also eine Folge aus 32 Nullen und Einsen. Jede dieser Stellen heißt Bit (kurz für „binary digit&amp;quot;). Die Designer von IP haben sich 1981 für genau 32 Bit entschieden, weil das einen Adressraum von 232 ≈ 4,3 Milliarden möglichen Adressen ergibt. Zur damaligen Zeit galt das als verschwenderisch großzügig — die ganze Welt kannte nur ein paar tausend vernetzte Computer.&lt;br /&gt;
Heute wissen wir: 4,3 Milliarden Adressen reichen nicht, um jedes Smartphone, jeden Drucker und jeden Smart-Toaster der Welt direkt im Internet anzusprechen. Genau deshalb gibt es Tricks wie NAT und private Adressbereiche, die wir in den späteren Slides ansehen.&lt;br /&gt;
&lt;br /&gt;
{{Box&lt;br /&gt;
|Typ=info&lt;br /&gt;
|Titel=Bit&lt;br /&gt;
|&lt;br /&gt;
Die kleinste digitale Informationseinheit. Ein Bit kann genau zwei Zustände annehmen: 0 oder 1. Acht Bit zusammen bilden ein Byte oder ein Oktett.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Box&lt;br /&gt;
|Typ=info&lt;br /&gt;
|Titel=Oktett&lt;br /&gt;
|&lt;br /&gt;
Eine Gruppe von 8 Bit. Eine IPv4-Adresse besteht aus genau vier Oktetten, durch Punkte getrennt. Pro Oktett sind 28 -&amp;gt; 256 Werte möglich (von 0 bis 255). Der Begriff stammt vom lateinischen octo -&amp;gt; acht.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Box&lt;br /&gt;
|Typ=info&lt;br /&gt;
|Titel=Client-Server-Modell&lt;br /&gt;
|Text=&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;margin:auto;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Eigenschaft&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Wert&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Adresslänge&#039;&#039;&#039;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;32 Bit (entspricht 4 Byte)&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Schreibweise für Menschen&#039;&#039;&#039;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Vier Dezimalzahlen, durch Punkte getrennt (z. B. 192.168.1.100)&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Wertebereich pro Oktett&#039;&#039;&#039;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0 bis 255 (also 256 mögliche Werte)&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Theoretischer Adressraum&#039;&#039;&#039;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;2³² ≈ 4.294.967.296 Adressen&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Standardisiert in&#039;&#039;&#039;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;RFC 791 (September 1981)&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Nachfolger&#039;&#039;&#039;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;IPv6 (128 Bit, 2&amp;lt;sup&amp;gt;128&amp;lt;/sup&amp;gt; Adressen — eine fast unvorstellbar große Zahl)&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Wie liest man eine IPv4-Adresse?&lt;br /&gt;
Sie sehen die Adresse 192.168.1.100? Was Sie da lesen, sind vier separate Zahlen, die durch Punkte getrennt sind. Jede dieser vier Zahlen ist ein Oktett — also ein 8-Bit-Block. Die Punkte selbst gehören technisch nicht zur Adresse, sie sind nur Trennzeichen für die menschliche Lesbarkeit.&lt;br /&gt;
&lt;br /&gt;
[[Datei:Abbil.9.png|center|1000px]]&lt;br /&gt;
&lt;br /&gt;
{{Box&lt;br /&gt;
|Typ=info&lt;br /&gt;
|Titel=Wertebereich pro Oktett&lt;br /&gt;
|&lt;br /&gt;
Eine Adresse wie 192.168.1.300 ist formal ungültig: Mehr als 255 lässt sich in 8 Bit nicht darstellen (255 -&amp;gt; 11111111). In freien Aufgaben fällt das selten als Falle auf — niemand schreibt versehentlich 300. Wirklich wichtig wird die 8-Bit-Grenze später beim Subnetting (IT-III.03), wenn Sie Subnetzmasken berechnen und Hostzahlen pro Subnetz ableiten. Dort lohnt es sich, die Wertigkeiten 128 64 32 16 8 4 2 1 wirklich im Kopf zu haben.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Box&lt;br /&gt;
|Typ=success&lt;br /&gt;
|Titel=Merke&lt;br /&gt;
|&lt;br /&gt;
Eine IPv4-Adresse ist eine 32-Bit-Zahl. Die Punkt-Schreibweise mit vier Zahlen zwischen 0 und 255 ist nur eine Lese-Hilfe für uns Menschen — der Rechner sieht intern immer 32 Nullen und Einsen am Stück.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Box&lt;br /&gt;
|Typ=light&lt;br /&gt;
|Titel=Vertiefung: Wer hat IP eigentlich erfunden?&lt;br /&gt;
|&lt;br /&gt;
Vint Cerf und Bob Kahn entwickelten ab 1973 im Auftrag der US-Verteidigungsbehörde DARPA die Vorläufer von TCP/IP. Ziel war ein ausfallsicheres Netz, das auch dann noch funktioniert, wenn Teile davon zerstört sind — Kontext war der Kalte Krieg.&lt;br /&gt;
&lt;br /&gt;
Aus diesem Forschungsnetz (ARPANET) wurde später das Internet — und IPv4 ist bis heute das wichtigste Adressierungsprotokoll. Beide erhielten 2004 den Turing-Award (so etwas wie der „Nobelpreis der Informatik&amp;quot;) für diese Arbeit.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Box&lt;br /&gt;
|Typ=light&lt;br /&gt;
|Titel=Vertiefungen: Was ist mit IPv6&lt;br /&gt;
|&lt;br /&gt;
IPv6 ist der offizielle Nachfolger von IPv4 und nutzt 128-Bit-Adressen — das sind 2128 ≈ 340 Sextillionen mögliche Adressen. Das wäre genug, um jeden Sandkorn-großen Punkt der Erdoberfläche mit einer eigenen IP zu versorgen.&lt;br /&gt;
&lt;br /&gt;
Trotzdem ist IPv4 nach wie vor allgegenwärtig: Praktisch jedes Heim- und Firmennetz arbeitet intern mit IPv4. IPv6 wird parallel betrieben und ist heute besonders bei Mobilfunkanbietern und großen Cloud-Providern verbreitet. Sie werden in dieser Lerneinheit ausschließlich IPv4 betrachten — IPv6 ist Stoff einer eigenen Einheit.&lt;br /&gt;
}}&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>ChristianPayns</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.payns.duckdns.org/index.php?title=Netzwerktechnik&amp;diff=240</id>
		<title>Netzwerktechnik</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.payns.duckdns.org/index.php?title=Netzwerktechnik&amp;diff=240"/>
		<updated>2026-04-29T08:04:15Z</updated>

		<summary type="html">&lt;p&gt;ChristianPayns: /* Warum brauchen wir überhaupt IP-Adressen? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Clients in Netzwerke einbinden|&amp;lt;span class=&amp;quot;mw-ui-button mw-ui-progressive&amp;quot;&amp;gt;⬅️ Clients in Netzwerke einbinden&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= IPv4 Grundlagen — Adressen, Adressräume, Diagnose =&lt;br /&gt;
&lt;br /&gt;
== Warum brauchen wir überhaupt IP-Adressen? ==&lt;br /&gt;
{{Box&lt;br /&gt;
|Typ=light&lt;br /&gt;
|Titel=Warum brauchen wir überhaupt IP-Adressen?&lt;br /&gt;
|&lt;br /&gt;
Bevor wir uns das Format einer IP-Adresse ansehen, stellen wir die wichtigere Frage: Warum gibt es sie überhaupt? Die Antwort liegt im Grundproblem jeder Kommunikation — egal ob im Postwesen, im Telefonnetz oder in einem Computernetz.&lt;br /&gt;
Das Grundproblem: Wer spricht mit wem?&lt;br /&gt;
Bei TechShop24 möchte ein Mitarbeiter aus dem Vertrieb auf den Lager-PC zugreifen, um eine aktuelle Lieferliste zu öffnen. Beide Rechner stehen im selben Firmennetz — aber wie findet das Datenpaket aus dem Vertriebsbüro genau diesen einen Lager-PC unter den rund 80 anderen Geräten im Netz?&lt;br /&gt;
Im Netzwerk laufen alle Pakete über dieselbe Verkabelung. Jeder Switch und jeder Router muss anhand jedes einzelnen Pakets entscheiden: Gehört das hierhin oder dorthin? Damit das funktioniert, muss in jedem Paket eine eindeutige Zieladresse stehen. Genau das ist die Aufgabe der IP-Adresse.&lt;br /&gt;
&lt;br /&gt;
{{Box&lt;br /&gt;
|Typ=success&lt;br /&gt;
|Titel=Analogie: Hausnummern in einer Straße&lt;br /&gt;
|&lt;br /&gt;
Damit ein Brief beim richtigen Empfänger landet, braucht er Stadt, Straße und Hausnummer. Ohne diese Information weiß der Postbote nicht, wohin er ihn tragen soll — auch wenn er den Brief selbst in der Hand hält.&lt;br /&gt;
&lt;br /&gt;
Im Netzwerk ist es genauso: Jedes Datenpaket trägt eine Zieladresse (die IP-Adresse des Empfängers). Würden zwei Häuser in derselben Straße die gleiche Hausnummer tragen, käme die Post bei einem von beiden falsch an. Genauso darf eine IP-Adresse in einem Netzwerk nur einmal vergeben sein — sonst entsteht ein IP-Konflikt und die Kommunikation bricht zusammen.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Box&lt;br /&gt;
|Typ=info&lt;br /&gt;
|Titel=IP-Adresse&lt;br /&gt;
|&lt;br /&gt;
Eine eindeutige numerische Kennung, mit der ein Gerät in einem IP-Netzwerk angesprochen werden kann. Sie übernimmt im Netzwerk die Rolle einer Postanschrift: Jedes Datenpaket trägt sie als Ziel- und Absenderangabe mit sich.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== So sieht das in der Praxis aus ===&lt;br /&gt;
&lt;br /&gt;
Das folgende Diagramm zeigt einen kleinen Ausschnitt aus dem Büronetz von TechShop24. Vier Geräte hängen an einem Switch — und jedes hat eine eigene, eindeutige IP-Adresse. Wenn der Vertriebs-PC die Datei Lieferliste.xlsx vom Lager-PC laden möchte, wird ein Paket mit der Zieladresse 192.168.1.20 auf den Weg geschickt. Der Switch sieht die Adresse, weiß genau, an welchem seiner Ports der Lager-PC hängt, und leitet das Paket dorthin weiter.&lt;br /&gt;
&lt;br /&gt;
[[Datei:Abbil.8.png|center|500px]]&lt;br /&gt;
&lt;br /&gt;
{{Box&lt;br /&gt;
|Typ=success&lt;br /&gt;
|Titel=Merke&lt;br /&gt;
|&lt;br /&gt;
Jedes Gerät in einem IP-Netzwerk braucht eine eindeutige IP-Adresse, damit Datenpakete ihr Ziel finden. Doppelte Adressen führen zum IP-Konflikt, bei dem die Kommunikation für eines oder beide Geräte aussetzt.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Box&lt;br /&gt;
|Typ=light&lt;br /&gt;
|Titel=Vertiefung:Was passiert eigentlich bei einem IP-Konflikt?&lt;br /&gt;
|&lt;br /&gt;
Wenn zwei Geräte versehentlich dieselbe IP haben (z. B. weil jemand neben dem DHCP-Server noch eine statische IP fest eingetragen hat), schicken beide auf eingehende Pakete eine Antwort. Der Absender bekommt dann zwei widersprüchliche Antworten zurück — die Verbindung wird instabil, manche Pakete kommen an, andere nicht.&lt;br /&gt;
&lt;br /&gt;
Windows zeigt in solchen Fällen die Meldung „Ein anderer Computer in diesem Netzwerk hat dieselbe IP-Adresse&amp;quot;. Die Lösung: einer der beiden bekommt eine neue Adresse. In der Praxis vergibt man kritische statische IPs nur außerhalb des DHCP-Pools, z. B. die 192.168.1.2 – 192.168.1.49 für statisch vergebene Server-IPs und ab 192.168.1.50 aufwärts den DHCP-Pool.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Box&lt;br /&gt;
|Typ=light&lt;br /&gt;
|Titel=Vertiefung: Warum reicht nicht der Gerätename?&lt;br /&gt;
|&lt;br /&gt;
Berechtigte Frage: Warum gibt es nicht einfach einen Computernamen wie „Lager-PC&amp;quot; als Adresse? Tatsächlich gibt es solche Namen — aber unter der Haube müssen sie immer in eine numerische IP übersetzt werden. Genau dafür gibt es DNS (Domain Name System). Wenn Sie www.daa.de in den Browser tippen, fragt Ihr Rechner zuerst einen DNS-Server: „Welche IP gehört zu diesem Namen?&amp;quot; — und kommuniziert dann mit der IP, nicht mit dem Namen.&lt;br /&gt;
&lt;br /&gt;
Der Grund: Numerische Adressen sind viel schneller zu verarbeiten und einfacher in Routing-Tabellen abzubilden. Namen sind komfortabel für Menschen, IP-Adressen sind effizient für Maschinen.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Box&lt;br /&gt;
|Typ=light&lt;br /&gt;
|Titel=Reflexion&lt;br /&gt;
|&lt;br /&gt;
Schauen Sie Ihren Router zuhause an: Wie viele Geräte sind aktuell verbunden? (Tipp: Im Router-Webinterface, oft erreichbar über &amp;lt;code&amp;gt;http://fritz.box&amp;lt;/code&amp;gt; oder &amp;lt;code&amp;gt;http://192.168.1.1.)&amp;lt;/code&amp;gt; Was würde passieren, wenn zwei dieser Geräte zufällig die gleiche IP-Adresse hätten?&lt;br /&gt;
}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Aufbau einer IPv4-Adresse ==&lt;br /&gt;
&lt;br /&gt;
{{Box&lt;br /&gt;
|Typ=light&lt;br /&gt;
|Titel=Aufbau einer IPv4-Adresse&lt;br /&gt;
|&lt;br /&gt;
Jetzt schauen wir uns an, wie eine IP-Adresse aufgebaut ist. IPv4 steht für Internet Protocol Version 4. Es ist das Protokoll, das seit 1981 die Adressierung im Internet regelt — und auch in nahezu jedem Heim- und Firmennetz dieser Welt zum Einsatz kommt.&lt;br /&gt;
&#039;&#039;&#039;Was bedeutet „32 Bit&amp;quot; eigentlich?&#039;&#039;&#039;&lt;br /&gt;
Eine IPv4-Adresse ist im Kern eine 32-stellige Binärzahl — also eine Folge aus 32 Nullen und Einsen. Jede dieser Stellen heißt Bit (kurz für „binary digit&amp;quot;). Die Designer von IP haben sich 1981 für genau 32 Bit entschieden, weil das einen Adressraum von 232 ≈ 4,3 Milliarden möglichen Adressen ergibt. Zur damaligen Zeit galt das als verschwenderisch großzügig — die ganze Welt kannte nur ein paar tausend vernetzte Computer.&lt;br /&gt;
Heute wissen wir: 4,3 Milliarden Adressen reichen nicht, um jedes Smartphone, jeden Drucker und jeden Smart-Toaster der Welt direkt im Internet anzusprechen. Genau deshalb gibt es Tricks wie NAT und private Adressbereiche, die wir in den späteren Slides ansehen.&lt;br /&gt;
&lt;br /&gt;
{{Box&lt;br /&gt;
|Typ=info&lt;br /&gt;
|Titel=Bit&lt;br /&gt;
|&lt;br /&gt;
Die kleinste digitale Informationseinheit. Ein Bit kann genau zwei Zustände annehmen: 0 oder 1. Acht Bit zusammen bilden ein Byte oder ein Oktett.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Box&lt;br /&gt;
|Typ=info&lt;br /&gt;
|Titel=Oktett&lt;br /&gt;
|&lt;br /&gt;
Eine Gruppe von 8 Bit. Eine IPv4-Adresse besteht aus genau vier Oktetten, durch Punkte getrennt. Pro Oktett sind 28 -&amp;gt; 256 Werte möglich (von 0 bis 255). Der Begriff stammt vom lateinischen octo -&amp;gt; acht.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Box&lt;br /&gt;
|Typ=info&lt;br /&gt;
|Titel=Client-Server-Modell&lt;br /&gt;
|Text=&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;margin:auto;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Eigenschaft&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Wert&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Adresslänge&#039;&#039;&#039;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;32 Bit (entspricht 4 Byte)&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Schreibweise für Menschen&#039;&#039;&#039;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Vier Dezimalzahlen, durch Punkte getrennt (z. B. 192.168.1.100)&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Wertebereich pro Oktett&#039;&#039;&#039;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0 bis 255 (also 256 mögliche Werte)&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Theoretischer Adressraum&#039;&#039;&#039;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;2³² ≈ 4.294.967.296 Adressen&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Standardisiert in&#039;&#039;&#039;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;RFC 791 (September 1981)&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Nachfolger&#039;&#039;&#039;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;IPv6 (128 Bit, 2&amp;lt;sup&amp;gt;128&amp;lt;/sup&amp;gt; Adressen — eine fast unvorstellbar große Zahl)&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Wie liest man eine IPv4-Adresse?&lt;br /&gt;
Sie sehen die Adresse 192.168.1.100? Was Sie da lesen, sind vier separate Zahlen, die durch Punkte getrennt sind. Jede dieser vier Zahlen ist ein Oktett — also ein 8-Bit-Block. Die Punkte selbst gehören technisch nicht zur Adresse, sie sind nur Trennzeichen für die menschliche Lesbarkeit.&lt;br /&gt;
&lt;br /&gt;
[[Datei:Abbil.9.png|center|1000px]]&lt;br /&gt;
&lt;br /&gt;
{{Box&lt;br /&gt;
|Typ=info&lt;br /&gt;
|Titel=Wertebereich pro Oktett&lt;br /&gt;
|&lt;br /&gt;
Eine Adresse wie 192.168.1.300 ist formal ungültig: Mehr als 255 lässt sich in 8 Bit nicht darstellen (255 -&amp;gt; 11111111). In freien Aufgaben fällt das selten als Falle auf — niemand schreibt versehentlich 300. Wirklich wichtig wird die 8-Bit-Grenze später beim Subnetting (IT-III.03), wenn Sie Subnetzmasken berechnen und Hostzahlen pro Subnetz ableiten. Dort lohnt es sich, die Wertigkeiten 128 64 32 16 8 4 2 1 wirklich im Kopf zu haben.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Box&lt;br /&gt;
|Typ=success&lt;br /&gt;
|Titel=Merke&lt;br /&gt;
|&lt;br /&gt;
Eine IPv4-Adresse ist eine 32-Bit-Zahl. Die Punkt-Schreibweise mit vier Zahlen zwischen 0 und 255 ist nur eine Lese-Hilfe für uns Menschen — der Rechner sieht intern immer 32 Nullen und Einsen am Stück.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Box&lt;br /&gt;
|Typ=light&lt;br /&gt;
|Titel=Vertiefung: Wer hat IP eigentlich erfunden?&lt;br /&gt;
|&lt;br /&gt;
Vint Cerf und Bob Kahn entwickelten ab 1973 im Auftrag der US-Verteidigungsbehörde DARPA die Vorläufer von TCP/IP. Ziel war ein ausfallsicheres Netz, das auch dann noch funktioniert, wenn Teile davon zerstört sind — Kontext war der Kalte Krieg.&lt;br /&gt;
&lt;br /&gt;
Aus diesem Forschungsnetz (ARPANET) wurde später das Internet — und IPv4 ist bis heute das wichtigste Adressierungsprotokoll. Beide erhielten 2004 den Turing-Award (so etwas wie der „Nobelpreis der Informatik&amp;quot;) für diese Arbeit.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Box&lt;br /&gt;
|Typ=light&lt;br /&gt;
|Titel=Vertiefungen: Was ist mit IPv6&lt;br /&gt;
|&lt;br /&gt;
IPv6 ist der offizielle Nachfolger von IPv4 und nutzt 128-Bit-Adressen — das sind 2128 ≈ 340 Sextillionen mögliche Adressen. Das wäre genug, um jeden Sandkorn-großen Punkt der Erdoberfläche mit einer eigenen IP zu versorgen.&lt;br /&gt;
&lt;br /&gt;
Trotzdem ist IPv4 nach wie vor allgegenwärtig: Praktisch jedes Heim- und Firmennetz arbeitet intern mit IPv4. IPv6 wird parallel betrieben und ist heute besonders bei Mobilfunkanbietern und großen Cloud-Providern verbreitet. Sie werden in dieser Lerneinheit ausschließlich IPv4 betrachten — IPv6 ist Stoff einer eigenen Einheit.&lt;br /&gt;
}}&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>ChristianPayns</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.payns.duckdns.org/index.php?title=Netzwerktechnik&amp;diff=239</id>
		<title>Netzwerktechnik</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.payns.duckdns.org/index.php?title=Netzwerktechnik&amp;diff=239"/>
		<updated>2026-04-29T08:02:09Z</updated>

		<summary type="html">&lt;p&gt;ChristianPayns: /* Aufbau einer IPv4-Adresse */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Clients in Netzwerke einbinden|&amp;lt;span class=&amp;quot;mw-ui-button mw-ui-progressive&amp;quot;&amp;gt;⬅️ Clients in Netzwerke einbinden&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= IPv4 Grundlagen — Adressen, Adressräume, Diagnose =&lt;br /&gt;
&lt;br /&gt;
== Warum brauchen wir überhaupt IP-Adressen? ==&lt;br /&gt;
Bevor wir uns das Format einer IP-Adresse ansehen, stellen wir die wichtigere Frage: Warum gibt es sie überhaupt? Die Antwort liegt im Grundproblem jeder Kommunikation — egal ob im Postwesen, im Telefonnetz oder in einem Computernetz.&lt;br /&gt;
Das Grundproblem: Wer spricht mit wem?&lt;br /&gt;
Bei TechShop24 möchte ein Mitarbeiter aus dem Vertrieb auf den Lager-PC zugreifen, um eine aktuelle Lieferliste zu öffnen. Beide Rechner stehen im selben Firmennetz — aber wie findet das Datenpaket aus dem Vertriebsbüro genau diesen einen Lager-PC unter den rund 80 anderen Geräten im Netz?&lt;br /&gt;
Im Netzwerk laufen alle Pakete über dieselbe Verkabelung. Jeder Switch und jeder Router muss anhand jedes einzelnen Pakets entscheiden: Gehört das hierhin oder dorthin? Damit das funktioniert, muss in jedem Paket eine eindeutige Zieladresse stehen. Genau das ist die Aufgabe der IP-Adresse.&lt;br /&gt;
&lt;br /&gt;
{{Box&lt;br /&gt;
|Typ=success&lt;br /&gt;
|Titel=Analogie: Hausnummern in einer Straße&lt;br /&gt;
|&lt;br /&gt;
Damit ein Brief beim richtigen Empfänger landet, braucht er Stadt, Straße und Hausnummer. Ohne diese Information weiß der Postbote nicht, wohin er ihn tragen soll — auch wenn er den Brief selbst in der Hand hält.&lt;br /&gt;
&lt;br /&gt;
Im Netzwerk ist es genauso: Jedes Datenpaket trägt eine Zieladresse (die IP-Adresse des Empfängers). Würden zwei Häuser in derselben Straße die gleiche Hausnummer tragen, käme die Post bei einem von beiden falsch an. Genauso darf eine IP-Adresse in einem Netzwerk nur einmal vergeben sein — sonst entsteht ein IP-Konflikt und die Kommunikation bricht zusammen.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Box&lt;br /&gt;
|Typ=info&lt;br /&gt;
|Titel=IP-Adresse&lt;br /&gt;
|&lt;br /&gt;
Eine eindeutige numerische Kennung, mit der ein Gerät in einem IP-Netzwerk angesprochen werden kann. Sie übernimmt im Netzwerk die Rolle einer Postanschrift: Jedes Datenpaket trägt sie als Ziel- und Absenderangabe mit sich.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== So sieht das in der Praxis aus ===&lt;br /&gt;
&lt;br /&gt;
Das folgende Diagramm zeigt einen kleinen Ausschnitt aus dem Büronetz von TechShop24. Vier Geräte hängen an einem Switch — und jedes hat eine eigene, eindeutige IP-Adresse. Wenn der Vertriebs-PC die Datei Lieferliste.xlsx vom Lager-PC laden möchte, wird ein Paket mit der Zieladresse 192.168.1.20 auf den Weg geschickt. Der Switch sieht die Adresse, weiß genau, an welchem seiner Ports der Lager-PC hängt, und leitet das Paket dorthin weiter.&lt;br /&gt;
&lt;br /&gt;
[[Datei:Abbil.8.png|center|500px]]&lt;br /&gt;
&lt;br /&gt;
{{Box&lt;br /&gt;
|Typ=success&lt;br /&gt;
|Titel=Merke&lt;br /&gt;
|&lt;br /&gt;
Jedes Gerät in einem IP-Netzwerk braucht eine eindeutige IP-Adresse, damit Datenpakete ihr Ziel finden. Doppelte Adressen führen zum IP-Konflikt, bei dem die Kommunikation für eines oder beide Geräte aussetzt.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Box&lt;br /&gt;
|Typ=light&lt;br /&gt;
|Titel=Vertiefung:Was passiert eigentlich bei einem IP-Konflikt?&lt;br /&gt;
|&lt;br /&gt;
Wenn zwei Geräte versehentlich dieselbe IP haben (z. B. weil jemand neben dem DHCP-Server noch eine statische IP fest eingetragen hat), schicken beide auf eingehende Pakete eine Antwort. Der Absender bekommt dann zwei widersprüchliche Antworten zurück — die Verbindung wird instabil, manche Pakete kommen an, andere nicht.&lt;br /&gt;
&lt;br /&gt;
Windows zeigt in solchen Fällen die Meldung „Ein anderer Computer in diesem Netzwerk hat dieselbe IP-Adresse&amp;quot;. Die Lösung: einer der beiden bekommt eine neue Adresse. In der Praxis vergibt man kritische statische IPs nur außerhalb des DHCP-Pools, z. B. die 192.168.1.2 – 192.168.1.49 für statisch vergebene Server-IPs und ab 192.168.1.50 aufwärts den DHCP-Pool.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Box&lt;br /&gt;
|Typ=light&lt;br /&gt;
|Titel=Vertiefung: Warum reicht nicht der Gerätename?&lt;br /&gt;
|&lt;br /&gt;
Berechtigte Frage: Warum gibt es nicht einfach einen Computernamen wie „Lager-PC&amp;quot; als Adresse? Tatsächlich gibt es solche Namen — aber unter der Haube müssen sie immer in eine numerische IP übersetzt werden. Genau dafür gibt es DNS (Domain Name System). Wenn Sie www.daa.de in den Browser tippen, fragt Ihr Rechner zuerst einen DNS-Server: „Welche IP gehört zu diesem Namen?&amp;quot; — und kommuniziert dann mit der IP, nicht mit dem Namen.&lt;br /&gt;
&lt;br /&gt;
Der Grund: Numerische Adressen sind viel schneller zu verarbeiten und einfacher in Routing-Tabellen abzubilden. Namen sind komfortabel für Menschen, IP-Adressen sind effizient für Maschinen.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Box&lt;br /&gt;
|Typ=light&lt;br /&gt;
|Titel=Reflexion&lt;br /&gt;
|&lt;br /&gt;
Schauen Sie Ihren Router zuhause an: Wie viele Geräte sind aktuell verbunden? (Tipp: Im Router-Webinterface, oft erreichbar über &amp;lt;code&amp;gt;http://fritz.box&amp;lt;/code&amp;gt; oder &amp;lt;code&amp;gt;http://192.168.1.1.)&amp;lt;/code&amp;gt; Was würde passieren, wenn zwei dieser Geräte zufällig die gleiche IP-Adresse hätten?&lt;br /&gt;
}}&lt;br /&gt;
== Aufbau einer IPv4-Adresse ==&lt;br /&gt;
&lt;br /&gt;
{{Box&lt;br /&gt;
|Typ=light&lt;br /&gt;
|Titel=Aufbau einer IPv4-Adresse&lt;br /&gt;
|&lt;br /&gt;
Jetzt schauen wir uns an, wie eine IP-Adresse aufgebaut ist. IPv4 steht für Internet Protocol Version 4. Es ist das Protokoll, das seit 1981 die Adressierung im Internet regelt — und auch in nahezu jedem Heim- und Firmennetz dieser Welt zum Einsatz kommt.&lt;br /&gt;
&#039;&#039;&#039;Was bedeutet „32 Bit&amp;quot; eigentlich?&#039;&#039;&#039;&lt;br /&gt;
Eine IPv4-Adresse ist im Kern eine 32-stellige Binärzahl — also eine Folge aus 32 Nullen und Einsen. Jede dieser Stellen heißt Bit (kurz für „binary digit&amp;quot;). Die Designer von IP haben sich 1981 für genau 32 Bit entschieden, weil das einen Adressraum von 232 ≈ 4,3 Milliarden möglichen Adressen ergibt. Zur damaligen Zeit galt das als verschwenderisch großzügig — die ganze Welt kannte nur ein paar tausend vernetzte Computer.&lt;br /&gt;
Heute wissen wir: 4,3 Milliarden Adressen reichen nicht, um jedes Smartphone, jeden Drucker und jeden Smart-Toaster der Welt direkt im Internet anzusprechen. Genau deshalb gibt es Tricks wie NAT und private Adressbereiche, die wir in den späteren Slides ansehen.&lt;br /&gt;
&lt;br /&gt;
{{Box&lt;br /&gt;
|Typ=info&lt;br /&gt;
|Titel=Bit&lt;br /&gt;
|&lt;br /&gt;
Die kleinste digitale Informationseinheit. Ein Bit kann genau zwei Zustände annehmen: 0 oder 1. Acht Bit zusammen bilden ein Byte oder ein Oktett.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Box&lt;br /&gt;
|Typ=info&lt;br /&gt;
|Titel=Oktett&lt;br /&gt;
|&lt;br /&gt;
Eine Gruppe von 8 Bit. Eine IPv4-Adresse besteht aus genau vier Oktetten, durch Punkte getrennt. Pro Oktett sind 28 -&amp;gt; 256 Werte möglich (von 0 bis 255). Der Begriff stammt vom lateinischen octo -&amp;gt; acht.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Box&lt;br /&gt;
|Typ=info&lt;br /&gt;
|Titel=Client-Server-Modell&lt;br /&gt;
|Text=&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable&amp;quot; style=&amp;quot;margin:auto;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Eigenschaft&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Wert&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Adresslänge&#039;&#039;&#039;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;32 Bit (entspricht 4 Byte)&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Schreibweise für Menschen&#039;&#039;&#039;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Vier Dezimalzahlen, durch Punkte getrennt (z. B. 192.168.1.100)&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Wertebereich pro Oktett&#039;&#039;&#039;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0 bis 255 (also 256 mögliche Werte)&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Theoretischer Adressraum&#039;&#039;&#039;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;2³² ≈ 4.294.967.296 Adressen&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Standardisiert in&#039;&#039;&#039;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;RFC 791 (September 1981)&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Nachfolger&#039;&#039;&#039;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;IPv6 (128 Bit, 2&amp;lt;sup&amp;gt;128&amp;lt;/sup&amp;gt; Adressen — eine fast unvorstellbar große Zahl)&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Wie liest man eine IPv4-Adresse?&lt;br /&gt;
Sie sehen die Adresse 192.168.1.100? Was Sie da lesen, sind vier separate Zahlen, die durch Punkte getrennt sind. Jede dieser vier Zahlen ist ein Oktett — also ein 8-Bit-Block. Die Punkte selbst gehören technisch nicht zur Adresse, sie sind nur Trennzeichen für die menschliche Lesbarkeit.&lt;br /&gt;
&lt;br /&gt;
[[Datei:Abbil.9.png|center|1000px]]&lt;br /&gt;
&lt;br /&gt;
{{Box&lt;br /&gt;
|Typ=info&lt;br /&gt;
|Titel=Wertebereich pro Oktett&lt;br /&gt;
|&lt;br /&gt;
Eine Adresse wie 192.168.1.300 ist formal ungültig: Mehr als 255 lässt sich in 8 Bit nicht darstellen (255 -&amp;gt; 11111111). In freien Aufgaben fällt das selten als Falle auf — niemand schreibt versehentlich 300. Wirklich wichtig wird die 8-Bit-Grenze später beim Subnetting (IT-III.03), wenn Sie Subnetzmasken berechnen und Hostzahlen pro Subnetz ableiten. Dort lohnt es sich, die Wertigkeiten 128 64 32 16 8 4 2 1 wirklich im Kopf zu haben.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Box&lt;br /&gt;
|Typ=success&lt;br /&gt;
|Titel=Merke&lt;br /&gt;
|&lt;br /&gt;
Eine IPv4-Adresse ist eine 32-Bit-Zahl. Die Punkt-Schreibweise mit vier Zahlen zwischen 0 und 255 ist nur eine Lese-Hilfe für uns Menschen — der Rechner sieht intern immer 32 Nullen und Einsen am Stück.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Box&lt;br /&gt;
|Typ=light&lt;br /&gt;
|Titel=Vertiefung: Wer hat IP eigentlich erfunden?&lt;br /&gt;
|&lt;br /&gt;
Vint Cerf und Bob Kahn entwickelten ab 1973 im Auftrag der US-Verteidigungsbehörde DARPA die Vorläufer von TCP/IP. Ziel war ein ausfallsicheres Netz, das auch dann noch funktioniert, wenn Teile davon zerstört sind — Kontext war der Kalte Krieg.&lt;br /&gt;
&lt;br /&gt;
Aus diesem Forschungsnetz (ARPANET) wurde später das Internet — und IPv4 ist bis heute das wichtigste Adressierungsprotokoll. Beide erhielten 2004 den Turing-Award (so etwas wie der „Nobelpreis der Informatik&amp;quot;) für diese Arbeit.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Box&lt;br /&gt;
|Typ=light&lt;br /&gt;
|Titel=Vertiefungen: Was ist mit IPv6&lt;br /&gt;
|&lt;br /&gt;
IPv6 ist der offizielle Nachfolger von IPv4 und nutzt 128-Bit-Adressen — das sind 2128 ≈ 340 Sextillionen mögliche Adressen. Das wäre genug, um jeden Sandkorn-großen Punkt der Erdoberfläche mit einer eigenen IP zu versorgen.&lt;br /&gt;
&lt;br /&gt;
Trotzdem ist IPv4 nach wie vor allgegenwärtig: Praktisch jedes Heim- und Firmennetz arbeitet intern mit IPv4. IPv6 wird parallel betrieben und ist heute besonders bei Mobilfunkanbietern und großen Cloud-Providern verbreitet. Sie werden in dieser Lerneinheit ausschließlich IPv4 betrachten — IPv6 ist Stoff einer eigenen Einheit.&lt;br /&gt;
}}&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>ChristianPayns</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.payns.duckdns.org/index.php?title=Datei:Abbil.9.png&amp;diff=238</id>
		<title>Datei:Abbil.9.png</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.payns.duckdns.org/index.php?title=Datei:Abbil.9.png&amp;diff=238"/>
		<updated>2026-04-29T07:58:24Z</updated>

		<summary type="html">&lt;p&gt;ChristianPayns: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>ChristianPayns</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.payns.duckdns.org/index.php?title=Netzwerktechnik&amp;diff=237</id>
		<title>Netzwerktechnik</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.payns.duckdns.org/index.php?title=Netzwerktechnik&amp;diff=237"/>
		<updated>2026-04-29T07:14:59Z</updated>

		<summary type="html">&lt;p&gt;ChristianPayns: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Clients in Netzwerke einbinden|&amp;lt;span class=&amp;quot;mw-ui-button mw-ui-progressive&amp;quot;&amp;gt;⬅️ Clients in Netzwerke einbinden&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= IPv4 Grundlagen — Adressen, Adressräume, Diagnose =&lt;br /&gt;
&lt;br /&gt;
== Warum brauchen wir überhaupt IP-Adressen? ==&lt;br /&gt;
Bevor wir uns das Format einer IP-Adresse ansehen, stellen wir die wichtigere Frage: Warum gibt es sie überhaupt? Die Antwort liegt im Grundproblem jeder Kommunikation — egal ob im Postwesen, im Telefonnetz oder in einem Computernetz.&lt;br /&gt;
Das Grundproblem: Wer spricht mit wem?&lt;br /&gt;
Bei TechShop24 möchte ein Mitarbeiter aus dem Vertrieb auf den Lager-PC zugreifen, um eine aktuelle Lieferliste zu öffnen. Beide Rechner stehen im selben Firmennetz — aber wie findet das Datenpaket aus dem Vertriebsbüro genau diesen einen Lager-PC unter den rund 80 anderen Geräten im Netz?&lt;br /&gt;
Im Netzwerk laufen alle Pakete über dieselbe Verkabelung. Jeder Switch und jeder Router muss anhand jedes einzelnen Pakets entscheiden: Gehört das hierhin oder dorthin? Damit das funktioniert, muss in jedem Paket eine eindeutige Zieladresse stehen. Genau das ist die Aufgabe der IP-Adresse.&lt;br /&gt;
&lt;br /&gt;
{{Box&lt;br /&gt;
|Typ=success&lt;br /&gt;
|Titel=Analogie: Hausnummern in einer Straße&lt;br /&gt;
|&lt;br /&gt;
Damit ein Brief beim richtigen Empfänger landet, braucht er Stadt, Straße und Hausnummer. Ohne diese Information weiß der Postbote nicht, wohin er ihn tragen soll — auch wenn er den Brief selbst in der Hand hält.&lt;br /&gt;
&lt;br /&gt;
Im Netzwerk ist es genauso: Jedes Datenpaket trägt eine Zieladresse (die IP-Adresse des Empfängers). Würden zwei Häuser in derselben Straße die gleiche Hausnummer tragen, käme die Post bei einem von beiden falsch an. Genauso darf eine IP-Adresse in einem Netzwerk nur einmal vergeben sein — sonst entsteht ein IP-Konflikt und die Kommunikation bricht zusammen.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Box&lt;br /&gt;
|Typ=info&lt;br /&gt;
|Titel=IP-Adresse&lt;br /&gt;
|&lt;br /&gt;
Eine eindeutige numerische Kennung, mit der ein Gerät in einem IP-Netzwerk angesprochen werden kann. Sie übernimmt im Netzwerk die Rolle einer Postanschrift: Jedes Datenpaket trägt sie als Ziel- und Absenderangabe mit sich.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== So sieht das in der Praxis aus ===&lt;br /&gt;
&lt;br /&gt;
Das folgende Diagramm zeigt einen kleinen Ausschnitt aus dem Büronetz von TechShop24. Vier Geräte hängen an einem Switch — und jedes hat eine eigene, eindeutige IP-Adresse. Wenn der Vertriebs-PC die Datei Lieferliste.xlsx vom Lager-PC laden möchte, wird ein Paket mit der Zieladresse 192.168.1.20 auf den Weg geschickt. Der Switch sieht die Adresse, weiß genau, an welchem seiner Ports der Lager-PC hängt, und leitet das Paket dorthin weiter.&lt;br /&gt;
&lt;br /&gt;
[[Datei:Abbil.8.png|center|500px]]&lt;br /&gt;
&lt;br /&gt;
{{Box&lt;br /&gt;
|Typ=success&lt;br /&gt;
|Titel=Merke&lt;br /&gt;
|&lt;br /&gt;
Jedes Gerät in einem IP-Netzwerk braucht eine eindeutige IP-Adresse, damit Datenpakete ihr Ziel finden. Doppelte Adressen führen zum IP-Konflikt, bei dem die Kommunikation für eines oder beide Geräte aussetzt.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Box&lt;br /&gt;
|Typ=light&lt;br /&gt;
|Titel=Vertiefung:Was passiert eigentlich bei einem IP-Konflikt?&lt;br /&gt;
|&lt;br /&gt;
Wenn zwei Geräte versehentlich dieselbe IP haben (z. B. weil jemand neben dem DHCP-Server noch eine statische IP fest eingetragen hat), schicken beide auf eingehende Pakete eine Antwort. Der Absender bekommt dann zwei widersprüchliche Antworten zurück — die Verbindung wird instabil, manche Pakete kommen an, andere nicht.&lt;br /&gt;
&lt;br /&gt;
Windows zeigt in solchen Fällen die Meldung „Ein anderer Computer in diesem Netzwerk hat dieselbe IP-Adresse&amp;quot;. Die Lösung: einer der beiden bekommt eine neue Adresse. In der Praxis vergibt man kritische statische IPs nur außerhalb des DHCP-Pools, z. B. die 192.168.1.2 – 192.168.1.49 für statisch vergebene Server-IPs und ab 192.168.1.50 aufwärts den DHCP-Pool.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Box&lt;br /&gt;
|Typ=light&lt;br /&gt;
|Titel=Vertiefung: Warum reicht nicht der Gerätename?&lt;br /&gt;
|&lt;br /&gt;
Berechtigte Frage: Warum gibt es nicht einfach einen Computernamen wie „Lager-PC&amp;quot; als Adresse? Tatsächlich gibt es solche Namen — aber unter der Haube müssen sie immer in eine numerische IP übersetzt werden. Genau dafür gibt es DNS (Domain Name System). Wenn Sie www.daa.de in den Browser tippen, fragt Ihr Rechner zuerst einen DNS-Server: „Welche IP gehört zu diesem Namen?&amp;quot; — und kommuniziert dann mit der IP, nicht mit dem Namen.&lt;br /&gt;
&lt;br /&gt;
Der Grund: Numerische Adressen sind viel schneller zu verarbeiten und einfacher in Routing-Tabellen abzubilden. Namen sind komfortabel für Menschen, IP-Adressen sind effizient für Maschinen.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Box&lt;br /&gt;
|Typ=light&lt;br /&gt;
|Titel=Reflexion&lt;br /&gt;
|&lt;br /&gt;
Schauen Sie Ihren Router zuhause an: Wie viele Geräte sind aktuell verbunden? (Tipp: Im Router-Webinterface, oft erreichbar über &amp;lt;code&amp;gt;http://fritz.box&amp;lt;/code&amp;gt; oder &amp;lt;code&amp;gt;http://192.168.1.1.)&amp;lt;/code&amp;gt; Was würde passieren, wenn zwei dieser Geräte zufällig die gleiche IP-Adresse hätten?&lt;br /&gt;
}}&lt;br /&gt;
== Aufbau einer IPv4-Adresse ==&lt;br /&gt;
&lt;br /&gt;
{{Box&lt;br /&gt;
|Typ=info&lt;br /&gt;
|Titel=Aufbau einer IPv4-Adresse&lt;br /&gt;
|&lt;br /&gt;
Jetzt schauen wir uns an, wie eine IP-Adresse aufgebaut ist. IPv4 steht für Internet Protocol Version 4. Es ist das Protokoll, das seit 1981 die Adressierung im Internet regelt — und auch in nahezu jedem Heim- und Firmennetz dieser Welt zum Einsatz kommt.&lt;br /&gt;
&#039;&#039;&#039;Was bedeutet „32 Bit&amp;quot; eigentlich?&#039;&#039;&#039;&lt;br /&gt;
Eine IPv4-Adresse ist im Kern eine 32-stellige Binärzahl — also eine Folge aus 32 Nullen und Einsen. Jede dieser Stellen heißt Bit (kurz für „binary digit&amp;quot;). Die Designer von IP haben sich 1981 für genau 32 Bit entschieden, weil das einen Adressraum von 232 ≈ 4,3 Milliarden möglichen Adressen ergibt. Zur damaligen Zeit galt das als verschwenderisch großzügig — die ganze Welt kannte nur ein paar tausend vernetzte Computer.&lt;br /&gt;
Heute wissen wir: 4,3 Milliarden Adressen reichen nicht, um jedes Smartphone, jeden Drucker und jeden Smart-Toaster der Welt direkt im Internet anzusprechen. Genau deshalb gibt es Tricks wie NAT und private Adressbereiche, die wir in den späteren Slides ansehen.&lt;br /&gt;
&lt;br /&gt;
{{Box&lt;br /&gt;
|Typ=info&lt;br /&gt;
|Titel=Bit&lt;br /&gt;
|&lt;br /&gt;
Die kleinste digitale Informationseinheit. Ein Bit kann genau zwei Zustände annehmen: 0 oder 1. Acht Bit zusammen bilden ein Byte oder ein Oktett.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Box&lt;br /&gt;
|Typ=info&lt;br /&gt;
|Titel=Oktett&lt;br /&gt;
|&lt;br /&gt;
Eine Gruppe von 8 Bit. Eine IPv4-Adresse besteht aus genau vier Oktetten, durch Punkte getrennt. Pro Oktett sind 28 -&amp;gt; 256 Werte möglich (von 0 bis 255). Der Begriff stammt vom lateinischen octo -&amp;gt; acht.&lt;br /&gt;
}}&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>ChristianPayns</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.payns.duckdns.org/index.php?title=Netzwerktechnik&amp;diff=236</id>
		<title>Netzwerktechnik</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.payns.duckdns.org/index.php?title=Netzwerktechnik&amp;diff=236"/>
		<updated>2026-04-29T06:56:21Z</updated>

		<summary type="html">&lt;p&gt;ChristianPayns: /* Warum brauchen wir überhaupt IP-Adressen? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Clients in Netzwerke einbinden|&amp;lt;span class=&amp;quot;mw-ui-button mw-ui-progressive&amp;quot;&amp;gt;⬅️ Clients in Netzwerke einbinden&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= IPv4 Grundlagen — Adressen, Adressräume, Diagnose =&lt;br /&gt;
&lt;br /&gt;
== Warum brauchen wir überhaupt IP-Adressen? ==&lt;br /&gt;
Bevor wir uns das Format einer IP-Adresse ansehen, stellen wir die wichtigere Frage: Warum gibt es sie überhaupt? Die Antwort liegt im Grundproblem jeder Kommunikation — egal ob im Postwesen, im Telefonnetz oder in einem Computernetz.&lt;br /&gt;
Das Grundproblem: Wer spricht mit wem?&lt;br /&gt;
Bei TechShop24 möchte ein Mitarbeiter aus dem Vertrieb auf den Lager-PC zugreifen, um eine aktuelle Lieferliste zu öffnen. Beide Rechner stehen im selben Firmennetz — aber wie findet das Datenpaket aus dem Vertriebsbüro genau diesen einen Lager-PC unter den rund 80 anderen Geräten im Netz?&lt;br /&gt;
Im Netzwerk laufen alle Pakete über dieselbe Verkabelung. Jeder Switch und jeder Router muss anhand jedes einzelnen Pakets entscheiden: Gehört das hierhin oder dorthin? Damit das funktioniert, muss in jedem Paket eine eindeutige Zieladresse stehen. Genau das ist die Aufgabe der IP-Adresse.&lt;br /&gt;
&lt;br /&gt;
{{Box&lt;br /&gt;
|Typ=success&lt;br /&gt;
|Titel=Analogie: Hausnummern in einer Straße&lt;br /&gt;
|&lt;br /&gt;
Damit ein Brief beim richtigen Empfänger landet, braucht er Stadt, Straße und Hausnummer. Ohne diese Information weiß der Postbote nicht, wohin er ihn tragen soll — auch wenn er den Brief selbst in der Hand hält.&lt;br /&gt;
&lt;br /&gt;
Im Netzwerk ist es genauso: Jedes Datenpaket trägt eine Zieladresse (die IP-Adresse des Empfängers). Würden zwei Häuser in derselben Straße die gleiche Hausnummer tragen, käme die Post bei einem von beiden falsch an. Genauso darf eine IP-Adresse in einem Netzwerk nur einmal vergeben sein — sonst entsteht ein IP-Konflikt und die Kommunikation bricht zusammen.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Box&lt;br /&gt;
|Typ=info&lt;br /&gt;
|Titel=IP-Adresse&lt;br /&gt;
|&lt;br /&gt;
Eine eindeutige numerische Kennung, mit der ein Gerät in einem IP-Netzwerk angesprochen werden kann. Sie übernimmt im Netzwerk die Rolle einer Postanschrift: Jedes Datenpaket trägt sie als Ziel- und Absenderangabe mit sich.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== So sieht das in der Praxis aus ===&lt;br /&gt;
&lt;br /&gt;
Das folgende Diagramm zeigt einen kleinen Ausschnitt aus dem Büronetz von TechShop24. Vier Geräte hängen an einem Switch — und jedes hat eine eigene, eindeutige IP-Adresse. Wenn der Vertriebs-PC die Datei Lieferliste.xlsx vom Lager-PC laden möchte, wird ein Paket mit der Zieladresse 192.168.1.20 auf den Weg geschickt. Der Switch sieht die Adresse, weiß genau, an welchem seiner Ports der Lager-PC hängt, und leitet das Paket dorthin weiter.&lt;br /&gt;
&lt;br /&gt;
[[Datei:Abbil.8.png|center|500px]]&lt;br /&gt;
&lt;br /&gt;
{{Box&lt;br /&gt;
|Typ=success&lt;br /&gt;
|Titel=Merke&lt;br /&gt;
|&lt;br /&gt;
Jedes Gerät in einem IP-Netzwerk braucht eine eindeutige IP-Adresse, damit Datenpakete ihr Ziel finden. Doppelte Adressen führen zum IP-Konflikt, bei dem die Kommunikation für eines oder beide Geräte aussetzt.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Box&lt;br /&gt;
|Typ=light&lt;br /&gt;
|Titel=Vertiefung:Was passiert eigentlich bei einem IP-Konflikt?&lt;br /&gt;
|&lt;br /&gt;
Wenn zwei Geräte versehentlich dieselbe IP haben (z. B. weil jemand neben dem DHCP-Server noch eine statische IP fest eingetragen hat), schicken beide auf eingehende Pakete eine Antwort. Der Absender bekommt dann zwei widersprüchliche Antworten zurück — die Verbindung wird instabil, manche Pakete kommen an, andere nicht.&lt;br /&gt;
&lt;br /&gt;
Windows zeigt in solchen Fällen die Meldung „Ein anderer Computer in diesem Netzwerk hat dieselbe IP-Adresse&amp;quot;. Die Lösung: einer der beiden bekommt eine neue Adresse. In der Praxis vergibt man kritische statische IPs nur außerhalb des DHCP-Pools, z. B. die 192.168.1.2 – 192.168.1.49 für statisch vergebene Server-IPs und ab 192.168.1.50 aufwärts den DHCP-Pool.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Box&lt;br /&gt;
|Typ=light&lt;br /&gt;
|Titel=Vertiefung: Warum reicht nicht der Gerätename?&lt;br /&gt;
|&lt;br /&gt;
Berechtigte Frage: Warum gibt es nicht einfach einen Computernamen wie „Lager-PC&amp;quot; als Adresse? Tatsächlich gibt es solche Namen — aber unter der Haube müssen sie immer in eine numerische IP übersetzt werden. Genau dafür gibt es DNS (Domain Name System). Wenn Sie www.daa.de in den Browser tippen, fragt Ihr Rechner zuerst einen DNS-Server: „Welche IP gehört zu diesem Namen?&amp;quot; — und kommuniziert dann mit der IP, nicht mit dem Namen.&lt;br /&gt;
&lt;br /&gt;
Der Grund: Numerische Adressen sind viel schneller zu verarbeiten und einfacher in Routing-Tabellen abzubilden. Namen sind komfortabel für Menschen, IP-Adressen sind effizient für Maschinen.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Box&lt;br /&gt;
|Typ=light&lt;br /&gt;
|Titel=Reflexion&lt;br /&gt;
|&lt;br /&gt;
Schauen Sie Ihren Router zuhause an: Wie viele Geräte sind aktuell verbunden? (Tipp: Im Router-Webinterface, oft erreichbar über &amp;lt;code&amp;gt;http://fritz.box&amp;lt;/code&amp;gt; oder &amp;lt;code&amp;gt;http://192.168.1.1.)&amp;lt;/code&amp;gt; Was würde passieren, wenn zwei dieser Geräte zufällig die gleiche IP-Adresse hätten?&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>ChristianPayns</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.payns.duckdns.org/index.php?title=Datei:Abbil.8.png&amp;diff=235</id>
		<title>Datei:Abbil.8.png</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.payns.duckdns.org/index.php?title=Datei:Abbil.8.png&amp;diff=235"/>
		<updated>2026-04-29T06:47:05Z</updated>

		<summary type="html">&lt;p&gt;ChristianPayns: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>ChristianPayns</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.payns.duckdns.org/index.php?title=Netzwerktechnik&amp;diff=234</id>
		<title>Netzwerktechnik</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.payns.duckdns.org/index.php?title=Netzwerktechnik&amp;diff=234"/>
		<updated>2026-04-29T06:46:55Z</updated>

		<summary type="html">&lt;p&gt;ChristianPayns: /* Warum brauchen wir überhaupt IP-Adressen? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Clients in Netzwerke einbinden|&amp;lt;span class=&amp;quot;mw-ui-button mw-ui-progressive&amp;quot;&amp;gt;⬅️ Clients in Netzwerke einbinden&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= IPv4 Grundlagen — Adressen, Adressräume, Diagnose =&lt;br /&gt;
&lt;br /&gt;
== Warum brauchen wir überhaupt IP-Adressen? ==&lt;br /&gt;
Bevor wir uns das Format einer IP-Adresse ansehen, stellen wir die wichtigere Frage: Warum gibt es sie überhaupt? Die Antwort liegt im Grundproblem jeder Kommunikation — egal ob im Postwesen, im Telefonnetz oder in einem Computernetz.&lt;br /&gt;
Das Grundproblem: Wer spricht mit wem?&lt;br /&gt;
Bei TechShop24 möchte ein Mitarbeiter aus dem Vertrieb auf den Lager-PC zugreifen, um eine aktuelle Lieferliste zu öffnen. Beide Rechner stehen im selben Firmennetz — aber wie findet das Datenpaket aus dem Vertriebsbüro genau diesen einen Lager-PC unter den rund 80 anderen Geräten im Netz?&lt;br /&gt;
Im Netzwerk laufen alle Pakete über dieselbe Verkabelung. Jeder Switch und jeder Router muss anhand jedes einzelnen Pakets entscheiden: Gehört das hierhin oder dorthin? Damit das funktioniert, muss in jedem Paket eine eindeutige Zieladresse stehen. Genau das ist die Aufgabe der IP-Adresse.&lt;br /&gt;
&lt;br /&gt;
{{Box&lt;br /&gt;
|Typ=success&lt;br /&gt;
|Titel=Analogie: Hausnummern in einer Straße&lt;br /&gt;
|&lt;br /&gt;
Damit ein Brief beim richtigen Empfänger landet, braucht er Stadt, Straße und Hausnummer. Ohne diese Information weiß der Postbote nicht, wohin er ihn tragen soll — auch wenn er den Brief selbst in der Hand hält.&lt;br /&gt;
&lt;br /&gt;
Im Netzwerk ist es genauso: Jedes Datenpaket trägt eine Zieladresse (die IP-Adresse des Empfängers). Würden zwei Häuser in derselben Straße die gleiche Hausnummer tragen, käme die Post bei einem von beiden falsch an. Genauso darf eine IP-Adresse in einem Netzwerk nur einmal vergeben sein — sonst entsteht ein IP-Konflikt und die Kommunikation bricht zusammen.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Box&lt;br /&gt;
|Typ=info&lt;br /&gt;
|Titel=IP-Adresse&lt;br /&gt;
|&lt;br /&gt;
Eine eindeutige numerische Kennung, mit der ein Gerät in einem IP-Netzwerk angesprochen werden kann. Sie übernimmt im Netzwerk die Rolle einer Postanschrift: Jedes Datenpaket trägt sie als Ziel- und Absenderangabe mit sich.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== So sieht das in der Praxis aus ===&lt;br /&gt;
&lt;br /&gt;
Das folgende Diagramm zeigt einen kleinen Ausschnitt aus dem Büronetz von TechShop24. Vier Geräte hängen an einem Switch — und jedes hat eine eigene, eindeutige IP-Adresse. Wenn der Vertriebs-PC die Datei Lieferliste.xlsx vom Lager-PC laden möchte, wird ein Paket mit der Zieladresse 192.168.1.20 auf den Weg geschickt. Der Switch sieht die Adresse, weiß genau, an welchem seiner Ports der Lager-PC hängt, und leitet das Paket dorthin weiter.&lt;br /&gt;
&lt;br /&gt;
[[Datei:Abbil.8.png|center|500px]]&lt;/div&gt;</summary>
		<author><name>ChristianPayns</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.payns.duckdns.org/index.php?title=Netzwerktechnik&amp;diff=233</id>
		<title>Netzwerktechnik</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.payns.duckdns.org/index.php?title=Netzwerktechnik&amp;diff=233"/>
		<updated>2026-04-29T06:37:51Z</updated>

		<summary type="html">&lt;p&gt;ChristianPayns: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Clients in Netzwerke einbinden|&amp;lt;span class=&amp;quot;mw-ui-button mw-ui-progressive&amp;quot;&amp;gt;⬅️ Clients in Netzwerke einbinden&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= IPv4 Grundlagen — Adressen, Adressräume, Diagnose =&lt;br /&gt;
&lt;br /&gt;
== Warum brauchen wir überhaupt IP-Adressen? ==&lt;br /&gt;
Bevor wir uns das Format einer IP-Adresse ansehen, stellen wir die wichtigere Frage: Warum gibt es sie überhaupt? Die Antwort liegt im Grundproblem jeder Kommunikation — egal ob im Postwesen, im Telefonnetz oder in einem Computernetz.&lt;br /&gt;
Das Grundproblem: Wer spricht mit wem?&lt;br /&gt;
Bei TechShop24 möchte ein Mitarbeiter aus dem Vertrieb auf den Lager-PC zugreifen, um eine aktuelle Lieferliste zu öffnen. Beide Rechner stehen im selben Firmennetz — aber wie findet das Datenpaket aus dem Vertriebsbüro genau diesen einen Lager-PC unter den rund 80 anderen Geräten im Netz?&lt;br /&gt;
Im Netzwerk laufen alle Pakete über dieselbe Verkabelung. Jeder Switch und jeder Router muss anhand jedes einzelnen Pakets entscheiden: Gehört das hierhin oder dorthin? Damit das funktioniert, muss in jedem Paket eine eindeutige Zieladresse stehen. Genau das ist die Aufgabe der IP-Adresse.&lt;br /&gt;
&lt;br /&gt;
{{Box&lt;br /&gt;
|Typ=success&lt;br /&gt;
|Titel=Analogie: Hausnummern in einer Straße&lt;br /&gt;
|Damit ein Brief beim richtigen Empfänger landet, braucht er Stadt, Straße und Hausnummer. Ohne diese Information weiß der Postbote nicht, wohin er ihn tragen soll — auch wenn er den Brief selbst in der Hand hält.&lt;br /&gt;
&lt;br /&gt;
Im Netzwerk ist es genauso: Jedes Datenpaket trägt eine Zieladresse (die IP-Adresse des Empfängers). Würden zwei Häuser in derselben Straße die gleiche Hausnummer tragen, käme die Post bei einem von beiden falsch an. Genauso darf eine IP-Adresse in einem Netzwerk nur einmal vergeben sein — sonst entsteht ein IP-Konflikt und die Kommunikation bricht zusammen.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Box&lt;br /&gt;
|Typ=success&lt;br /&gt;
|Titel=Analogie: Hausnummern in einer Straße&lt;br /&gt;
|Damit ein Brief beim richtigen Empfänger landet, braucht er Stadt, Straße und Hausnummer. Ohne diese Information weiß der Postbote nicht, wohin er ihn tragen soll — auch wenn er den Brief selbst in der Hand hält.&lt;br /&gt;
&lt;br /&gt;
Im Netzwerk ist es genauso: Jedes Datenpaket trägt eine Zieladresse (die IP-Adresse des Empfängers). Würden zwei Häuser in derselben Straße die gleiche Hausnummer tragen, käme die Post bei einem von beiden falsch an. Genauso darf eine IP-Adresse in einem Netzwerk nur einmal vergeben sein — sonst entsteht ein IP-Konflikt und die Kommunikation bricht zusammen.&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>ChristianPayns</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.payns.duckdns.org/index.php?title=Netzwerktechnik&amp;diff=232</id>
		<title>Netzwerktechnik</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.payns.duckdns.org/index.php?title=Netzwerktechnik&amp;diff=232"/>
		<updated>2026-04-29T06:29:02Z</updated>

		<summary type="html">&lt;p&gt;ChristianPayns: Die Seite wurde neu angelegt: „&amp;lt;span class=&amp;quot;mw-ui-button mw-ui-progressive&amp;quot;&amp;gt;⬅️ Schutzbedarfsanalyse im eigenen Arbeitsbereich durchführen&amp;lt;/span&amp;gt;   = IPv4 Grundlagen — Adressen, Adressräume, Diagnose =“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Schutzbedarfsanalyse im eigenen Arbeitsbereich durchführen|&amp;lt;span class=&amp;quot;mw-ui-button mw-ui-progressive&amp;quot;&amp;gt;⬅️ Schutzbedarfsanalyse im eigenen Arbeitsbereich durchführen&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= IPv4 Grundlagen — Adressen, Adressräume, Diagnose =&lt;/div&gt;</summary>
		<author><name>ChristianPayns</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.payns.duckdns.org/index.php?title=Clients_in_Netzwerke_einbinden&amp;diff=231</id>
		<title>Clients in Netzwerke einbinden</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.payns.duckdns.org/index.php?title=Clients_in_Netzwerke_einbinden&amp;diff=231"/>
		<updated>2026-04-29T06:27:12Z</updated>

		<summary type="html">&lt;p&gt;ChristianPayns: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kernqualifikation|&amp;lt;span class=&amp;quot;mw-ui-button mw-ui-progressive&amp;quot;&amp;gt;⬅️ Kernqualifikation&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
[[Datei:Abbil.3.png|center|500pxx500px]]&lt;br /&gt;
&lt;br /&gt;
Weiterführende Infos ℹ️ &lt;br /&gt;
 &lt;br /&gt;
ℹ️ BiBox-Link:  [https://bildungundberuf.sharepoint.com/sites/team1932000121/_layouts/Doc.aspx?sourcedoc={8CCD529A-7827-402E-9AAA-96C4F65803EF}&amp;amp;wd=target%2803_Kursmaterial%2F01_Kernqualifikation%2FIT.III%20Clients%20in%20Netzwerke%20einbinden.one%7C169BE8C1-047F-47D4-B9DC IT-Berufe]&lt;br /&gt;
&lt;br /&gt;
Jürgen Gratzke (Hrsg.) (2024), Westermann IT-Berufe: BiBox - Das digitale Unterrichtssystem Grundstufe Lernfelder 1-5, 2. Aufl., Köln. Seite 280 - 399&lt;br /&gt;
&lt;br /&gt;
Bildquelle: &lt;br /&gt;
Seite 294&lt;br /&gt;
&lt;br /&gt;
= Netzwerktechnik: Einführung =&lt;br /&gt;
&lt;br /&gt;
[[Netzwerktechnik: Einführung|&amp;lt;span class=&amp;quot;mw-ui-button mw-ui-progressive&amp;quot;&amp;gt;⬅️ Netzwerktechnik: Einführung&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
= Dein Heimnetzwerk verstehen =&lt;br /&gt;
&lt;br /&gt;
[[Dein Heimnetzwerk verstehen|&amp;lt;span class=&amp;quot;mw-ui-button mw-ui-progressive&amp;quot;&amp;gt;⬅️ Dein Heimnetzwerk verstehen&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
= Das Client-Server-Modell =&lt;br /&gt;
&lt;br /&gt;
[[Das Client-Server-Modell|&amp;lt;span class=&amp;quot;mw-ui-button mw-ui-progressive&amp;quot;&amp;gt;⬅️ Das Client-Server-Modell&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
= Grundlagen Netzwerktechnik =&lt;br /&gt;
&lt;br /&gt;
[[Grundlagen Netzwerktechnik|&amp;lt;span class=&amp;quot;mw-ui-button mw-ui-progressive&amp;quot;&amp;gt;⬅️ Grundlagen Netzwerktechnik&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
= Netzwerktechnik =&lt;br /&gt;
&lt;br /&gt;
[[Netzwerktechnik|&amp;lt;span class=&amp;quot;mw-ui-button mw-ui-progressive&amp;quot;&amp;gt;⬅️ Netzwerktechnik&amp;lt;/span&amp;gt;]]&lt;/div&gt;</summary>
		<author><name>ChristianPayns</name></author>
	</entry>
</feed>