<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki.stageing.freitagsrunde.org//api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Nion</id>
	<title>FreitagsrundenWiki - Benutzerbeiträge [de]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.stageing.freitagsrunde.org//api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Nion"/>
	<link rel="alternate" type="text/html" href="wiki.stageing.freitagsrunde.org//Spezial:Beitr%C3%A4ge/Nion"/>
	<updated>2026-11-01T20:04:06Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.45.6</generator>
	<entry>
		<id>wiki.stageing.freitagsrunde.org//index.php?title=C-Kurs/%C3%9Cbungsaufgaben&amp;diff=12591</id>
		<title>C-Kurs/Übungsaufgaben</title>
		<link rel="alternate" type="text/html" href="wiki.stageing.freitagsrunde.org//index.php?title=C-Kurs/%C3%9Cbungsaufgaben&amp;diff=12591"/>
		<updated>2009-09-24T11:29:42Z</updated>

		<summary type="html">&lt;p&gt;Nion: musterlösung verlinkt&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Wir haben jeder Aufgabe eine Einschätzung ihrer Schwierigkeit auf einer Skala von 1 bis 10 vorangestellt. Bei dieser Einschätzung sind wir von einem Gehirn ausgegangen, für welches das jeweilige Themengebiet völlig neu ist, das jedoch schon ein ganz gutes Verständnis dafür hat wie eine Programmiersprache denn so funktioniert. &lt;br /&gt;
Entsprechend kann eine schwer bewertete Aufgabe aus einem frühen Themengebiet für manch einen sehr einfach oder eine leicht bewertete aus einem späten Themengebiet für einen anderen sehr schwer sein. Es ist nur ein Wert, der euch helfen soll eure nächste Aufgabe zu wählen. &lt;br /&gt;
&lt;br /&gt;
Falls ihr Anmerkungen zu den Aufgaben habt, könnt ihr die Diskussionsseiten der jeweiligen Aufgaben nutzen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Schwierigkeitsgrade ==&lt;br /&gt;
&lt;br /&gt;
#  Reines Tutorial. Man muss nicht viel selbst denken&lt;br /&gt;
#  ...&lt;br /&gt;
#  Leichte Übungsaufgabe. Studies, die noch eher unsicher sind werden hier gut begleitet.&lt;br /&gt;
#  ...&lt;br /&gt;
#  Typische Aufgabe. Man muss den Kopf benutzen, bekommt an schwierigen Stellen aber Hilfestellungen.&lt;br /&gt;
#  ...&lt;br /&gt;
#  Herausfordernd, eher etwas für Studies die etwas fitter sind.&lt;br /&gt;
#  ...&lt;br /&gt;
#  Auch erfahrene Programmierer werden hier ein bis zwei Übungen beschäftigt sein&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
#  Tja, die Idee war da. Wir finden sie auch gut, aber es könnte wirklich anstrengend werden.&lt;br /&gt;
&lt;br /&gt;
== Die Aufgaben ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; cellspacing=&amp;quot;2&amp;quot;&lt;br /&gt;
 |- bgcolor=&amp;quot;#D8D8D8&amp;quot;&lt;br /&gt;
 !Aufgabe&lt;br /&gt;
 !Schwierigkeit&lt;br /&gt;
 !Vorwissen&lt;br /&gt;
 !Lerneffekte&lt;br /&gt;
 !Bearbeiter&lt;br /&gt;
 !Korrektur gelesen&lt;br /&gt;
 !Musterlösung&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Ckurs2009/Von der Konsole zum HelloWorld | Von der Konsole zum HelloWorld]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1. VL&lt;br /&gt;
 | Konsole benutzen, Hello World&lt;br /&gt;
 | Sebastian D.&lt;br /&gt;
 | [[Benutzer:Mario|Mario]]&lt;br /&gt;
 | &lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Ckurs2009/Fakultät | Fakultät]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1. VL&lt;br /&gt;
 | Schleifen&lt;br /&gt;
 | Sebastian D.&lt;br /&gt;
 | Daniel&lt;br /&gt;
 |  &lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Ckurs2009/Base64 | Base64]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |6&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1. VL&lt;br /&gt;
 | Operatoren&lt;br /&gt;
 | Sebastian D.&lt;br /&gt;
 | &lt;br /&gt;
 | [[Ckurs2009/Base64/Musterlösung | Base64]]&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Ckurs2009/EingabeAusgabe | Ein- und Ausgabe]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2. VL&lt;br /&gt;
 | Einlesen von Benutzereingaben&amp;lt;br&amp;gt;Ausgabe derselben&lt;br /&gt;
 | [[Benutzer:Mario|Mario]]&lt;br /&gt;
 | nion&lt;br /&gt;
 | [[Ckurs2009/EingabeAusgabe/Musterlösung | Ein- und Ausgabe]]&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Ckurs2009/Taschenrechner | Taschenrechner]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2. VL&lt;br /&gt;
 | Eingabe+Ausgabe&amp;lt;br&amp;gt;Mathematische Operatoren&lt;br /&gt;
 | [[Benutzer:Mario|Mario]]&lt;br /&gt;
 | [[Benutzer:Tkroenert|TKroenert]]&lt;br /&gt;
 | [[Ckurs2009/Taschenrechner/Musterlösung | Taschenrechner]]&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Ckurs2009/VerschachtelteSchleifen | Verschachtelte Schleifen]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2. VL&lt;br /&gt;
 | Umgang mit mehreren verschachtelten Schleifen&lt;br /&gt;
 | [[Benutzer:Dank|Daniel K.]]&lt;br /&gt;
 | AlexanderK&lt;br /&gt;
 |&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Ckurs2009/Glückspiel | Glücksspiel]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2. VL&lt;br /&gt;
 | Anwenden von Fallunterscheidungen und Einlesen von Werten aus der Konsole&lt;br /&gt;
 | [[Benutzer:Dank|Daniel K.]]&lt;br /&gt;
 | AlexanderK&lt;br /&gt;
 | [[Ckurs2009/Glückspiel/Musterlösung | Glückspiel]]&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Ckurs2009/Wochentag | Wochentagsrechnung]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2. VL&lt;br /&gt;
 | Einlesen von Benutzereingaben&amp;lt;br&amp;gt;Mathematikverständniss&lt;br /&gt;
 | [[Benutzer:Mario|Mario]]&lt;br /&gt;
 | nion (Musterlösung noch nicht vorhanden)&lt;br /&gt;
 | &lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Ckurs2009/Taschenrechner2.0 | Taschenrechner &#039;&#039;2.0&#039;&#039;]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |8&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2. VL&lt;br /&gt;
 | Knobeln&amp;lt;br&amp;gt;Komplexes Aufgaben lösen&lt;br /&gt;
 | [[Benutzer:Mario|Mario]]&lt;br /&gt;
 | Martin K.&lt;br /&gt;
 | [[Ckurs2009/Taschenrechner2.0/Musterlösung | Taschenrechner &#039;&#039;2.0&#039;&#039;]]&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Ckurs2009/Call by reference | Call by reference]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Einfache Anwendung von &amp;amp;/*&lt;br /&gt;
 | sping&lt;br /&gt;
 | nion&lt;br /&gt;
 | [[Ckurs2009/Call by reference/Musterlösung | Call by reference]]&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Ckurs2009/Text processing | Text processing]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4, 6&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Strings&amp;lt;br&amp;gt;Pointer-Arithmetik&amp;lt;br&amp;gt;Pointer auf Pointer&amp;lt;br&amp;gt;Refactoring&lt;br /&gt;
 | sping&lt;br /&gt;
 | [[Benutzer:Mario|Mario]]&lt;br /&gt;
 | [[Ckurs2009/Text processing/Musterlösung | Text processing]]&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Ckurs2009/Palindrome | Palindrome]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Pointer und Strings&lt;br /&gt;
 | [[Benutzer:Dank|Daniel K.]]&lt;br /&gt;
 | nion&lt;br /&gt;
 | [[Ckurs2009/Palindrome/Musterlösung | Palindrome ]]&lt;br /&gt;
 | &lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Ckurs2009/(Pointer) Swapping | (Pointer) Swapping]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Pointer und Arrays benutzen, generisches swap&lt;br /&gt;
 | Katrin&lt;br /&gt;
 |&lt;br /&gt;
 | [[Ckurs2009/(Pointer) Swapping/Musterlösung | (Pointer) Swapping]]&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Ckurs2009/Matrizenmultiplikation | Matrizenmultiplikation]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |6&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Mehrdimensionale Arrays&amp;lt;br&amp;gt;const correctness&lt;br /&gt;
 | sping&lt;br /&gt;
 | [[Benutzer:Mario|Mario]]&lt;br /&gt;
 | [[Ckurs2009/Matrizenmultiplikation/Musterlösung | Matrizenmultiplikation]]&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Ckurs2009/Arrayuebergabe | Arrayuebergabe]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4/5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; | 4. VL&lt;br /&gt;
 | Einlesen von Benutzereingaben&amp;lt;br&amp;gt;Pointer und Pointerarithmetik&lt;br /&gt;
 | nion&lt;br /&gt;
 | Martin K.&lt;br /&gt;
 | [[Ckurs2009/Arrayuebergabe/Musterlösung | Arrayuebergabe]]&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Ckurs2009/Studentendatenbank | Studentendatenbank]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; | 4. VL&lt;br /&gt;
 | struct, Pointer, Arrays&lt;br /&gt;
 | AlexanderK&lt;br /&gt;
 |&lt;br /&gt;
 | [[Ckurs2009/Studentendatenbank/Musterlösung | Studentendatenbank]]&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Ckurs2009/Sammelbestellung | Sammelbestellung]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2-5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4. VL&lt;br /&gt;
 | Listen, Pointer, Speicherverwaltung&lt;br /&gt;
 | Florian S.&lt;br /&gt;
 | [[Benutzer:Mario|Mario]]&lt;br /&gt;
 |  [[Ckurs2009/Sammelbestellung/Musterlösung | Eine Lösung]] &lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Ckurs2009/Zahlen_sagen | Zahlen sagen]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4. VL&lt;br /&gt;
 | Umgang mit Zeichenketten&lt;br /&gt;
 | Martin K.&lt;br /&gt;
 | &lt;br /&gt;
 | [[Ckurs2009/Zahlen_sagen/Musterlösung | Zahlen sagen]]&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Ckurs2009/Compiler, Präprozessor, Header Files | Compiler, Präprozessor, Header Files]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5. VL&lt;br /&gt;
 | Arbeiten mit mehreren Quellcode-Dateien, Kompilieren und Linken, Header-Dateien und #include, debugging-Makro verwenden&lt;br /&gt;
 | Katrin&lt;br /&gt;
 | &lt;br /&gt;
 | siehe Folien&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Ckurs2009/Bus Error | Bus Error]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |8&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5. VL&lt;br /&gt;
 | Pointer, wie entsteht ein bus error&lt;br /&gt;
 | Katrin&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Ckurs2009/BubbleSortDebug | BubbleSort Debugging]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; | 5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; | 6. VL&lt;br /&gt;
 | Debuggen eines Programmes mit gdb&lt;br /&gt;
 | aeichner&lt;br /&gt;
 |&lt;br /&gt;
 | vorhanden&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Ckurs2009/Debug | Debugging]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; | 1-8&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; | 6. VL&lt;br /&gt;
 | Debuggen einer Anwendung nach Wahl&lt;br /&gt;
 | aeichner&lt;br /&gt;
 |&lt;br /&gt;
 | gibt es nicht&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Ckurs2009/Code Layout | Code Layout]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |7. VL&lt;br /&gt;
 | Kleinere Codeschipsel mit kleinen Unsauberkeiten&lt;br /&gt;
 | Daniel&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Ckurs2009/Refactoring | Refactoring]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5-9&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |7. VL&lt;br /&gt;
 | Wie verbessere ich den Quellcode eines Programmes.&lt;br /&gt;
 | Daniel&lt;br /&gt;
 | &lt;br /&gt;
 | vorhanden&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Ckurs2009/Cat | Cat]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; | 6&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; | ....&lt;br /&gt;
 | Arbeiten mit Dateien&amp;lt;br&amp;gt;Kommandozeilenparameter&lt;br /&gt;
 | nion&lt;br /&gt;
 | sping&lt;br /&gt;
 | vorhanden&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Ckurs2009/Pong | Pong]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; | 7&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; | ...&lt;br /&gt;
 | allgemeiner Programmablauf, fortgeschrittene Konsolenausgaben/eingaben&lt;br /&gt;
 | AlexanderK&lt;br /&gt;
 |&lt;br /&gt;
 | vorhanden &lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Ckurs2009/Buchhaltung | Buchhaltung]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; | 6&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; | ....&lt;br /&gt;
 | Lesen aus Dateien&lt;br /&gt;
 | reiner&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Ckurs2009/StringArraySortieren | StringArraySortieren]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; | 7&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; | ...&lt;br /&gt;
 | Konsolparameter, Funktionspointer, stdlib&lt;br /&gt;
 | reiner&lt;br /&gt;
 |&lt;br /&gt;
 | vorhanden&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Ckurs/integral | integral]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; | 2&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; | ....&lt;br /&gt;
 | Funktionspointer&lt;br /&gt;
 | reiner&lt;br /&gt;
 | &lt;br /&gt;
 | vorhanden &lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Ckurs/forschleife | forschleife]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; | 2&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; | ...&lt;br /&gt;
 | Bug&lt;br /&gt;
 | reiner&lt;br /&gt;
 | nion&lt;br /&gt;
 | vorhanden&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Kleine und große Probleme ==&lt;br /&gt;
&lt;br /&gt;
* Die Tubit-Accounts haben nicht /bin/bash als shell, so dass die &amp;lt;strong&amp;gt;Cursortasten&amp;lt;/strong&amp;gt; nicht funktionieren. Workaround: als erstes Kommando &#039;bash&#039; eingeben, man sieht dann auch in welchem Verzeichnis man gerade ist.&lt;br /&gt;
* wenn man nur den Promt &#039;bash-0.12&#039; oder so erhält, also ohne das Verzeichnis in dem man ist, folgendes Kommando eingeben: &amp;lt;tt&amp;gt;export PS1=&#039;\u@\h:\w$ &#039;&amp;lt;/tt&amp;gt; oder zum dauerhaften Speichern: &amp;lt;tt&amp;gt; echo &amp;quot;export PS1=&#039;\u@\h:\w$ &#039;&amp;quot; &amp;gt;&amp;gt; ~/.bashrc &amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Musterlösungen ==&lt;br /&gt;
Die Lösungen zu den Aufgaben werden nach den jeweiligen Übungen hier veröffentlicht. Falls dies nicht geschieht, bitte den zuständigen Tutor fragen.&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* [[Ckurs2009/Feedback|Feedback zum Kurs 2009]]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:CKurs]]&lt;br /&gt;
[[Kategorie:CKurs Aufgaben]]&lt;/div&gt;</summary>
		<author><name>Nion</name></author>
	</entry>
	<entry>
		<id>wiki.stageing.freitagsrunde.org//index.php?title=C-Kurs/Palindrome/Musterl%C3%B6sung&amp;diff=12590</id>
		<title>C-Kurs/Palindrome/Musterlösung</title>
		<link rel="alternate" type="text/html" href="wiki.stageing.freitagsrunde.org//index.php?title=C-Kurs/Palindrome/Musterl%C3%B6sung&amp;diff=12590"/>
		<updated>2009-09-24T11:11:14Z</updated>

		<summary type="html">&lt;p&gt;Nion: musterlösung für palindrome - *bored* nion :)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
#include &amp;lt;string.h&amp;gt;&lt;br /&gt;
#include &amp;lt;stdlib.h&amp;gt;&lt;br /&gt;
#include &amp;lt;ctype.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int&lt;br /&gt;
is_palindrome(char *word){&lt;br /&gt;
        size_t len = strlen(word);&lt;br /&gt;
        int i;&lt;br /&gt;
        for(i = 0; i &amp;lt; len; i++){&lt;br /&gt;
                if(tolower(word[i]) != tolower(word[len - i - 1]))&lt;br /&gt;
                        return 0;&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        return 1;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
int&lt;br /&gt;
main(int argc, char **argv){&lt;br /&gt;
        if(argc != 2){&lt;br /&gt;
                printf(&amp;quot;usage: palindrome &amp;lt;word&amp;gt;\n&amp;quot;);&lt;br /&gt;
                exit(EXIT_FAILURE);&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        printf(&amp;quot;%s ist %s\n&amp;quot;, argv[1], is_palindrome(argv[1]) ? &amp;quot;ein Palindrom&amp;quot; : &amp;quot;kein Palindrom&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
        return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Nion</name></author>
	</entry>
	<entry>
		<id>wiki.stageing.freitagsrunde.org//index.php?title=C-Kurs/%C3%9Cbungsaufgaben&amp;diff=12460</id>
		<title>C-Kurs/Übungsaufgaben</title>
		<link rel="alternate" type="text/html" href="wiki.stageing.freitagsrunde.org//index.php?title=C-Kurs/%C3%9Cbungsaufgaben&amp;diff=12460"/>
		<updated>2009-09-21T12:01:20Z</updated>

		<summary type="html">&lt;p&gt;Nion: forschleife korrigiert&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Wir haben jeder Aufgabe eine Einschätzung ihrer Schwierigkeit auf einer Skala von 1 bis 10 vorangestellt. Bei dieser Einschätzung sind wir von einem Gehirn ausgegangen, für welches das jeweilige Themengebiet völlig neu ist, das jedoch schon ein ganz gutes Verständnis dafür hat wie eine Programmiersprache denn so funktioniert. &lt;br /&gt;
Entsprechend kann eine schwer bewertete Aufgabe aus einem frühen Themengebiet für manch einen sehr einfach oder eine leicht bewertete aus einem späten Themengebiet für einen anderen sehr schwer sein. Es ist nur ein Wert, der euch helfen soll eure nächste Aufgabe zu wählen. &lt;br /&gt;
&lt;br /&gt;
Falls ihr Anmerkungen zu den Aufgaben habt, könnt ihr die Diskussionsseiten der jeweiligen Aufgaben nutzen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Schwierigkeitsgrade ==&lt;br /&gt;
&lt;br /&gt;
#  Reines Tutorial. Man muss nicht viel selbst denken&lt;br /&gt;
#  ...&lt;br /&gt;
#  Leichte Übungsaufgabe. Studies, die noch eher unsicher sind werden hier gut begleitet.&lt;br /&gt;
#  ...&lt;br /&gt;
#  Typische Aufgabe. Man muss den Kopf benutzen, bekommt an schwierigen Stellen aber Hilfestellungen.&lt;br /&gt;
#  ...&lt;br /&gt;
#  Herausfordernd, eher etwas für Studies die etwas fitter sind.&lt;br /&gt;
#  ...&lt;br /&gt;
#  Auch erfahrene Programmierer werden hier ein bis zwei Übungen beschäftigt sein&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
#  Tja, die Idee war da. Wir finden sie auch gut, aber es könnte wirklich anstrengend werden.&lt;br /&gt;
&lt;br /&gt;
== Die Aufgaben ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; cellspacing=&amp;quot;2&amp;quot;&lt;br /&gt;
 |- bgcolor=&amp;quot;#D8D8D8&amp;quot;&lt;br /&gt;
 !Aufgabe&lt;br /&gt;
 !Schwierigkeit&lt;br /&gt;
 !Vorwissen&lt;br /&gt;
 !Lerneffekte&lt;br /&gt;
 !Bearbeiter&lt;br /&gt;
 !Korrektur gelesen&lt;br /&gt;
 !Musterlösung&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Ckurs2009/Von der Konsole zum HelloWorld | Von der Konsole zum HelloWorld]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1. VL&lt;br /&gt;
 | Konsole benutzen, Hello World&lt;br /&gt;
 | Sebastian D.&lt;br /&gt;
 | [[Benutzer:Mario|Mario]]&lt;br /&gt;
 |  &lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Ckurs2009/Fakultät | Fakultät]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1. VL&lt;br /&gt;
 | Schleifen&lt;br /&gt;
 | Sebastian D.&lt;br /&gt;
 | Daniel&lt;br /&gt;
 |  &lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Ckurs2009/Base64 | Base64]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |6&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1. VL&lt;br /&gt;
 | Operatoren&lt;br /&gt;
 | Sebastian D.&lt;br /&gt;
 | &lt;br /&gt;
 | vorhanden&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Ckurs2009/EingabeAusgabe | Ein- und Ausgabe]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2. VL&lt;br /&gt;
 | Einlesen von Benutzereingaben&amp;lt;br&amp;gt;Ausgabe derselben&lt;br /&gt;
 | [[Benutzer:Mario|Mario]]&lt;br /&gt;
 | nion&lt;br /&gt;
 | &lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Ckurs2009/Taschenrechner | Taschenrechner]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2. VL&lt;br /&gt;
 | Eingabe+Ausgabe&amp;lt;br&amp;gt;Mathematische Operatoren&lt;br /&gt;
 | [[Benutzer:Mario|Mario]]&lt;br /&gt;
 | [[Benutzer:Tkroenert|TKroenert]]&lt;br /&gt;
 | &lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Ckurs2009/VerschachtelteSchleifen | Verschachtelte Schleifen]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2. VL&lt;br /&gt;
 | Umgang mit mehreren verschachtelten Schleifen&lt;br /&gt;
 | [[Benutzer:Dank|Daniel K.]]&lt;br /&gt;
 | AlexanderK&lt;br /&gt;
 |&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Ckurs2009/Glückspiel | Glücksspiel]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2. VL&lt;br /&gt;
 | Anwenden von Fallunterscheidungen und Einlesen von Werten aus der Konsole&lt;br /&gt;
 | [[Benutzer:Dank|Daniel K.]]&lt;br /&gt;
 | AlexanderK&lt;br /&gt;
 |&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Ckurs2009/Wochentag | Wochentagsrechnung]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2. VL&lt;br /&gt;
 | Einlesen von Benutzereingaben&amp;lt;br&amp;gt;Mathematikverständniss&lt;br /&gt;
 | [[Benutzer:Mario|Mario]]&lt;br /&gt;
 | nion (Musterlösung noch nicht vorhanden)&lt;br /&gt;
 | &lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Ckurs2009/Taschenrechner2.0 | Taschenrechner &#039;&#039;2.0&#039;&#039;]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |8&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2. VL&lt;br /&gt;
 | Knobeln&amp;lt;br&amp;gt;Komplexes Aufgaben lösen&lt;br /&gt;
 | [[Benutzer:Mario|Mario]]&lt;br /&gt;
 | Martin K.&lt;br /&gt;
 | &lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Ckurs2009/Call by reference | Call by reference]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Einfache Anwendung von &amp;amp;/*&lt;br /&gt;
 | sping&lt;br /&gt;
 | nion&lt;br /&gt;
 | vorhanden&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Ckurs2009/Text processing | Text processing]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4, 6&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Strings&amp;lt;br&amp;gt;Pointer-Arithmetik&amp;lt;br&amp;gt;Pointer auf Pointer&amp;lt;br&amp;gt;Refactoring&lt;br /&gt;
 | sping&lt;br /&gt;
 | [[Benutzer:Mario|Mario]]&lt;br /&gt;
 | vorhanden&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Ckurs2009/Palindrome | Palindrome]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Pointer und Strings&lt;br /&gt;
 | [[Benutzer:Dank|Daniel K.]]&lt;br /&gt;
 |&lt;br /&gt;
 |&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Ckurs2009/(Pointer) Swapping | (Pointer) Swapping]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Pointer und Arrays benutzen, generisches swap&lt;br /&gt;
 | Katrin&lt;br /&gt;
 |&lt;br /&gt;
 | vorhanden&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Ckurs2009/Matrizenmultiplikation | Matrizenmultiplikation]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |6&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Mehrdimensionale Arrays&amp;lt;br&amp;gt;const correctness&lt;br /&gt;
 | sping&lt;br /&gt;
 | [[Benutzer:Mario|Mario]]&lt;br /&gt;
 | vorhanden&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Ckurs2009/Arrayuebergabe | Arrayuebergabe]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4/5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; | 4. VL&lt;br /&gt;
 | Einlesen von Benutzereingaben&amp;lt;br&amp;gt;Pointer und Pointerarithmetik&lt;br /&gt;
 | nion&lt;br /&gt;
 | Martin K.&lt;br /&gt;
 | vorhanden&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Ckurs2009/Studentendatenbank | Studentendatenbank]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; | 4. VL&lt;br /&gt;
 | struct, Pointer, Arrays&lt;br /&gt;
 | AlexanderK&lt;br /&gt;
 |&lt;br /&gt;
 | vorhanden&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Ckurs2009/Sammelbestellung | Sammelbestellung]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2-5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4. VL&lt;br /&gt;
 | Listen, Pointer, Speicherverwaltung&lt;br /&gt;
 | Florian S.&lt;br /&gt;
 | [[Benutzer:Mario|Mario]]&lt;br /&gt;
 | in Arbeit&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Ckurs2009/Zahlen_sagen | Zahlen sagen]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4. VL&lt;br /&gt;
 | Umgang mit Zeichenketten&lt;br /&gt;
 | Martin K.&lt;br /&gt;
 | &lt;br /&gt;
 | in Arbeit&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Ckurs2009/Compiler, Präprozessor, Header Files | Compiler, Präprozessor, Header Files]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5. VL&lt;br /&gt;
 | Arbeiten mit mehreren Quellcode-Dateien, Kompilieren und Linken, Header-Dateien und #include, debugging-Makro verwenden&lt;br /&gt;
 | Katrin&lt;br /&gt;
 | &lt;br /&gt;
 | siehe Folien&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Ckurs2009/Bus Error | Bus Error]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |8&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5. VL&lt;br /&gt;
 | Pointer, wie entsteht ein bus error&lt;br /&gt;
 | Katrin&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Ckurs2009/Code Layout | Code Layout]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |7. VL&lt;br /&gt;
 | Kleinere Codeschipsel mit kleinen unsauberkeiten&lt;br /&gt;
 | Daniel&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Ckurs2009/Refactoring | Refactoring]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |6&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |7. VL&lt;br /&gt;
 | Wie verbessere ich den Quellcode eines Programmes.&lt;br /&gt;
 | Daniel&lt;br /&gt;
 | &lt;br /&gt;
 | vorhanden&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Ckurs2009/Cat | Cat]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; | 6&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; | ....&lt;br /&gt;
 | Arbeiten mit Dateien&amp;lt;br&amp;gt;Kommandozeilenparameter&lt;br /&gt;
 | nion&lt;br /&gt;
 | sping&lt;br /&gt;
 | vorhanden&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Ckurs2009/Pong | Pong]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; | 7&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; | ...&lt;br /&gt;
 | allgemeiner Programmablauf, fortgeschrittene Konsolenausgaben/eingaben&lt;br /&gt;
 | AlexanderK&lt;br /&gt;
 |&lt;br /&gt;
 | vorhanden &lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Ckurs2009/Buchhaltung | Buchhaltung]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; | 6&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; | ....&lt;br /&gt;
 | Lesen aus Dateien&lt;br /&gt;
 | reiner&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Ckurs2009/StringArraySortieren | StringArraySortieren]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; | 7&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; | ...&lt;br /&gt;
 | Konsolparameter, Funktionspointer, stdlib&lt;br /&gt;
 | reiner&lt;br /&gt;
 |&lt;br /&gt;
 | vorhanden&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Ckurs/integral | integral]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; | 2&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; | ....&lt;br /&gt;
 | Funktionspointer&lt;br /&gt;
 | reiner&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Ckurs/forschleife | forschleife]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; | 2&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; | ...&lt;br /&gt;
 | Bug&lt;br /&gt;
 | reiner&lt;br /&gt;
 | nion&lt;br /&gt;
 | vorhanden&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Kleine und große Probleme ==&lt;br /&gt;
&lt;br /&gt;
* Die Tubit-Accounts haben nicht /bin/bash als shell, so dass die &amp;lt;strong&amp;gt;Cursortasten&amp;lt;/strong&amp;gt; nicht funktionieren. Workaround: als erstes Kommando &#039;bash&#039; eingeben, man sieht dann auch in welchem Verzeichnis man gerade ist.&lt;br /&gt;
&lt;br /&gt;
== Musterlösungen ==&lt;br /&gt;
Die Lösungen zu den Aufgaben werden nach den jeweiligen Übungen hier veröffentlicht. Falls dies nicht geschiet, bitte den zuständigen Tutor fragen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* [[Ckurs2009/Feedback|Feedback zum Kurs 2009]]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:CKurs]]&lt;br /&gt;
[[Kategorie:CKurs Aufgaben]]&lt;/div&gt;</summary>
		<author><name>Nion</name></author>
	</entry>
	<entry>
		<id>wiki.stageing.freitagsrunde.org//index.php?title=C-Kurs/forschleife/Musterl%C3%B6sung&amp;diff=12459</id>
		<title>C-Kurs/forschleife/Musterlösung</title>
		<link rel="alternate" type="text/html" href="wiki.stageing.freitagsrunde.org//index.php?title=C-Kurs/forschleife/Musterl%C3%B6sung&amp;diff=12459"/>
		<updated>2009-09-21T12:00:45Z</updated>

		<summary type="html">&lt;p&gt;Nion: musterlösung&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Das Programm terminiert nicht. Die for-Schleife läuft von 0 bis index sizeof(a). sizeof(a) ist aber nicht 8, sondern 32 (sizeof(int) * 8). Das bedeutet, dass die schleife a[0] bis a[32] mit 0 beschreibt. Da i auf dem Stack for dem Array liegt, wird nun der Wert von i mit 0 ebenfalls überschrieben und die Abbruchbedingung der for-Schleife trifft nicht ein.&lt;br /&gt;
&lt;br /&gt;
Normalerweise würde &amp;lt;= 8 reichen, allerdings passt das durch den Aufbau des Stacks nicht ganz, weswegen wir uns fuer einen größeren Wert (in dem Fall sizeof(int) für mehr Verwirrung) entschieden haben. 9 sollte auch gehen.&lt;br /&gt;
&lt;br /&gt;
Um diesen Fehler zu beheben sollte die for-Schleife for(i=0; i&amp;lt;sizeof(a)/sizeof(int); i++) lauten.&lt;/div&gt;</summary>
		<author><name>Nion</name></author>
	</entry>
	<entry>
		<id>wiki.stageing.freitagsrunde.org//index.php?title=C-Kurs/forschleife&amp;diff=12457</id>
		<title>C-Kurs/forschleife</title>
		<link rel="alternate" type="text/html" href="wiki.stageing.freitagsrunde.org//index.php?title=C-Kurs/forschleife&amp;diff=12457"/>
		<updated>2009-09-21T11:52:13Z</updated>

		<summary type="html">&lt;p&gt;Nion: pre tags&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Terminiert das Programm und wenn nein, warum?&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int main (void)&lt;br /&gt;
{&lt;br /&gt;
     int i;&lt;br /&gt;
     int a[8];&lt;br /&gt;
     for(i=0; i &amp;lt;= sizeof(a) ; i++)&lt;br /&gt;
          a[i]=0;&lt;br /&gt;
     return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Nion</name></author>
	</entry>
	<entry>
		<id>wiki.stageing.freitagsrunde.org//index.php?title=C-Kurs/forschleife&amp;diff=12456</id>
		<title>C-Kurs/forschleife</title>
		<link rel="alternate" type="text/html" href="wiki.stageing.freitagsrunde.org//index.php?title=C-Kurs/forschleife&amp;diff=12456"/>
		<updated>2009-09-21T11:51:42Z</updated>

		<summary type="html">&lt;p&gt;Nion: kaputten code gefixt, die vorige variante wuerde terminieren ;)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Terminiert das Programm und wenn nein, warum?&lt;br /&gt;
&lt;br /&gt;
int main (void)&lt;br /&gt;
{&lt;br /&gt;
     int i;&lt;br /&gt;
     int a[8];&lt;br /&gt;
     for(i=0; i &amp;lt;= sizeof(a) ; i++)&lt;br /&gt;
          a[i]=0;&lt;br /&gt;
     return 0;&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Nion</name></author>
	</entry>
	<entry>
		<id>wiki.stageing.freitagsrunde.org//index.php?title=C-Kurs/Arrayuebergabe&amp;diff=12274</id>
		<title>C-Kurs/Arrayuebergabe</title>
		<link rel="alternate" type="text/html" href="wiki.stageing.freitagsrunde.org//index.php?title=C-Kurs/Arrayuebergabe&amp;diff=12274"/>
		<updated>2009-09-15T14:20:05Z</updated>

		<summary type="html">&lt;p&gt;Nion: /* Aufgabenstellung */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Aufgabenstellung ===&lt;br /&gt;
Schreibe ein Programm, das per Konsolenparameter die Größe eines Arrays für Integer-Werte angegeben bekommt. Das Programm soll anschließend&lt;br /&gt;
Speicher auf dem Heap allozieren und diesen als Array verwenden, um Integer-Werte zu speichern. In diesem Array soll anschließend der größte Wert gefunden und angezeigt werden.&lt;br /&gt;
&lt;br /&gt;
Vorgehensweise&lt;br /&gt;
# Lese das erste Kommandozeilenargument und alloziere einen entsprechend Großen Buffer&lt;br /&gt;
# Achte dabei möglichst auf Fehlerbehandlung bei falschen Größen&lt;br /&gt;
# Lese n Integer-Werte von der Standardeingabe und speicher diese im vorher allozierten Buffer&lt;br /&gt;
# Übergebe das Array an eine Funktion find_max, die den größten Wert zurückgeben soll&lt;br /&gt;
# Suche den maximalen Wert mit Pointerarithmetik (keine direkte Indexaddressierung bei Vergleichen)&lt;br /&gt;
&lt;br /&gt;
Achtung: Sinn der Aufgabe ist das Verinnerlichen von Pointern, von daher solltet das Array als Pointer übergeben. Das ist besonders wichtig, wenn ihr Werte in dem Array modifzieren wollt oder ihr ein Array zurückgeben wollt (das geht in C nämlich nicht).&lt;br /&gt;
&lt;br /&gt;
Musterlösung: http://nion.modprobe.de/array_max.c&lt;/div&gt;</summary>
		<author><name>Nion</name></author>
	</entry>
	<entry>
		<id>wiki.stageing.freitagsrunde.org//index.php?title=C-Kurs/%C3%9Cbungsaufgaben&amp;diff=12273</id>
		<title>C-Kurs/Übungsaufgaben</title>
		<link rel="alternate" type="text/html" href="wiki.stageing.freitagsrunde.org//index.php?title=C-Kurs/%C3%9Cbungsaufgaben&amp;diff=12273"/>
		<updated>2009-09-15T14:19:33Z</updated>

		<summary type="html">&lt;p&gt;Nion: /* Die Aufgaben */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Wir haben jeder Aufgabe eine Einschätzung ihrer Schwierigkeit auf einer Skala von 1 bis 10 vorangestellt. Bei dieser Einschätzung sind wir von einem Gehirn ausgegangen, für welches das jeweilige Themengebiet völlig neu ist, das jedoch schon ein ganz gutes Verständnis dafür hat wie eine Programmiersprache denn so funktioniert. &lt;br /&gt;
Entsprechend kann eine schwer bewertete Aufgabe aus einem frühen Themengebiet für manch einen sehr einfach oder eine leicht bewertete aus einem späten Themengebiet für einen anderen sehr schwer sein. Es ist nur ein Wert, der euch helfen soll eure nächste Aufgabe zu wählen. &lt;br /&gt;
&lt;br /&gt;
Falls ihr Anmerkungen zu den Aufgaben habt, könnt ihr die Diskussionsseiten der jeweiligen Aufgaben nutzen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Schwierigkeitsgrade ==&lt;br /&gt;
&lt;br /&gt;
#  Reines Tutorial. Man muss nicht viel selbst denken&lt;br /&gt;
#  ...&lt;br /&gt;
#  Leichte Übungsaufgabe. Studies, die noch eher unsicher sind werden hier gut begleitet.&lt;br /&gt;
#  ...&lt;br /&gt;
#  Typische Aufgabe. Man muss den Kopf benutzen, bekommt an schwierigen Stellen aber Hilfestellungen.&lt;br /&gt;
#  ...&lt;br /&gt;
#  Herausfordernd, eher etwas für Studies die etwas fitter sind.&lt;br /&gt;
#  ...&lt;br /&gt;
#  Auch erfahrene Programmierer werden hier ein bis zwei Übungen beschäftigt sein&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
#  Tja, die Idee war da. Wir finden sie auch gut, aber es könnte wirklich anstrengend werden.&lt;br /&gt;
&lt;br /&gt;
== Die Aufgaben ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; cellspacing=&amp;quot;2&amp;quot;&lt;br /&gt;
 |- bgcolor=&amp;quot;#D8D8D8&amp;quot;&lt;br /&gt;
 !Aufgabe&lt;br /&gt;
 !Schwierigkeit&lt;br /&gt;
 !Vorwissen&lt;br /&gt;
 !Lerneffekte&lt;br /&gt;
 !Bearbeiter&lt;br /&gt;
 !Korrektur gelesen&lt;br /&gt;
 !Musterlösung&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Ckurs2009/EingabeAusgabe | Ein- und Ausgabe]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2. VL&lt;br /&gt;
 | Einlesen von Benutzereingaben&amp;lt;br&amp;gt;Ausgabe derselben&lt;br /&gt;
 | [[Benutzer:Mario|Mario]]&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Ckurs2009/Taschenrechner | Taschenrechner]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2. VL&lt;br /&gt;
 | Eingabe+Ausgabe&amp;lt;br&amp;gt;Mathematische Operatoren&lt;br /&gt;
 | [[Benutzer:Mario|Mario]]&lt;br /&gt;
 | [[Benutzer:Tkroenert|TKroenert]]&lt;br /&gt;
 | &lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Ckurs2009/Wochentag | Wochentagsrechnung]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2. VL&lt;br /&gt;
 | Einlesen von Benutzereingaben&amp;lt;br&amp;gt;Mathematikverständniss&lt;br /&gt;
 | [[Benutzer:Mario|Mario]]&lt;br /&gt;
 |&lt;br /&gt;
 | &lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Ckurs2009/Taschenrechner2.0 | Taschenrechner &#039;&#039;2.0&#039;&#039;]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |8&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2. VL&lt;br /&gt;
 | Knobeln&amp;lt;br&amp;gt;Komplexes Aufgaben lösen&lt;br /&gt;
 | [[Benutzer:Mario|Mario]]&lt;br /&gt;
 |&lt;br /&gt;
 | &lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Ckurs2009/Arrayuebergabe | Arrayuebergabe]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |...&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; | 4. VL&lt;br /&gt;
 | Einlesen von Benutzereingaben&amp;lt;br&amp;gt;Pointer und Pointerarithmetik&lt;br /&gt;
 | nion&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Kleine und große Probleme ==&lt;br /&gt;
&lt;br /&gt;
* Die Tubit-Accounts haben nicht /bin/bash als shell, so dass die &amp;lt;strong&amp;gt;Cursortasten&amp;lt;/strong&amp;gt; nicht funktionieren. Workaround: als erstes Kommando &#039;bash&#039; eingeben, man sieht dann auch in welchem Verzeichnis man gerade ist.&lt;br /&gt;
&lt;br /&gt;
== Musterlösungen ==&lt;br /&gt;
Die Lösungen zu den Aufgaben werden nach den jeweiligen Übungen hier veröffentlicht. Falls dies nicht geschiet, bitte den zuständigen Tutor fragen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* [[Ckurs2009/Feedback|Feedback zum Kurs 2009]]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:CKurs]]&lt;br /&gt;
[[Kategorie:CKurs Aufgaben]]&lt;/div&gt;</summary>
		<author><name>Nion</name></author>
	</entry>
	<entry>
		<id>wiki.stageing.freitagsrunde.org//index.php?title=Keysigning-Party_2007&amp;diff=10573</id>
		<title>Keysigning-Party 2007</title>
		<link rel="alternate" type="text/html" href="wiki.stageing.freitagsrunde.org//index.php?title=Keysigning-Party_2007&amp;diff=10573"/>
		<updated>2007-11-26T21:32:31Z</updated>

		<summary type="html">&lt;p&gt;Nion: korrekturen&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Wir werden am Freitag, dem 14.12.2007 ab 15:00 Uhr im [[FR 5046]] eine &#039;&#039;&#039;GPG Keysigning/CAcert Assuring Party&#039;&#039;&#039; durchführen. Diese Seite soll den Ablauf erklären. Interessant sind ferner die Artikel [[Web of Trust]] und [[GPG]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Bitte unbedingt die Hinweise zur ANMELDUNG beachten!&amp;lt;/b&amp;gt;&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Am 10.12.2007 findet in der Zeit von 16-18 Uhr ein Vortrag und eine Diskussion zum Thema &#039;Einführung in GnuPG&#039; statt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Die &amp;lt;b&amp;gt;Folien des Vortrags&amp;lt;/b&amp;gt; findet Ihr [[http://docs.freitagsrunde.org/keysigning/ | hier]]&lt;br /&gt;
&lt;br /&gt;
Die Anmeldung zur Keysigning-Party ist unter [[www.freitagsrunde.org/Keysigning-Party | www.freitagsrunde.org/Keysigning-Party]] vom 3.12.2007-12.12.2007 möglich.&lt;br /&gt;
Für den Vortrag ist keine Anmeldung nötig.&lt;br /&gt;
&lt;br /&gt;
== Einführung ==&lt;br /&gt;
&lt;br /&gt;
Bei Keysigning-Parties kommen nun eine Anzahl von Personen zusammen, die jeweils prüfen, ob der Inhaber eines Schlüssels in seinem Schlüssel korrekte Angaben zu Emailadresse und Person gemacht hat. Dabei kommt es zu n! Begegnungen - das ganze kann also etwas dauern.&lt;br /&gt;
&lt;br /&gt;
Was soll das ganze nun, oder: Geht das auch weniger kryptisch???&lt;br /&gt;
&lt;br /&gt;
Bei einer Keysigning-Party möchte man das [[Web of Trust]] stärken. Das heisst, je mehr Leute sich gegenseitig bestätigen, umso verlässlicher wird das Web of Trust.&lt;br /&gt;
Irgendwann ist der Punkt erreicht, ab dem man nicht mehr jeden seiner Kommunikationspartner persönlich getroffen haben muss, um mit ihm sicher Emails auszutauschen, und sich seiner Identität sicher sein zu können.&lt;br /&gt;
&lt;br /&gt;
Wenn ich mir durch prüfen der Emailadresse, Vergleichen des Schlüsselfingerprints und Abgleich des Ausweises mit der Person vor mir sicher bin, dass alles korrekt ist, unterschreibe ich mit meinem Schlüssel den Schlüssel des anderen, und sage damit allen, dass ich die Identität meines Gegenübers sorgfältig geprüft habe und mir sicher bin, das er derjenige ist, für den er sich ausgibt.&lt;br /&gt;
&lt;br /&gt;
== Organisatorisches ==&lt;br /&gt;
&lt;br /&gt;
=== Wann und wo findet die Keysigning-Party statt? ===&lt;br /&gt;
Die PGP-Keysigning-Party findet am &#039;&#039;&#039;Freitag, dem 14.12.2007&#039;&#039;&#039; ab &#039;&#039;&#039;15:00 Uhr&#039;&#039;&#039; im &#039;&#039;&#039;[[FR 5046]]&#039;&#039;&#039; statt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Wer organisiert das ganze? ===&lt;br /&gt;
* Die Freitagsrunde: [[Benutzer:Mutax|Florian Streibelt]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Was muss ich &amp;lt;u&amp;gt;vor&amp;lt;/u&amp;gt; der Keysigning-Party machen? / &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;&amp;lt;b&amp;gt;ANMELDUNG erforderlich&amp;lt;/b&amp;gt;&amp;lt;/font&amp;gt; ===&lt;br /&gt;
# Erzeuge Dir ein PGP-Schlüsselpaar, wenn noch keins vorhanden ist (&#039;&#039;gpg --gen-key&#039;&#039;)&lt;br /&gt;
# Schicke Deinen öffentlichen Schlüssel an den PGP-Keyserver http://subkeys.pgp.net (&#039;&#039;gpg --keyserver subkeys.pgp.net --send-keys 0xEIGENE_KEYID&#039;&#039;) [optional, jeder bekommt ihn im Keyring von der Freitagsrunde]&lt;br /&gt;
# &amp;lt;b&amp;gt;Schicke uns bis zum 12.12.2007 20:00 Uhr  eine Mail mit Deinem Schlüssel an [mailto:keys@freitagsrunde.org keys@freitagsrunde.org]&amp;lt;/b&amp;gt; (&#039;&#039;&amp;lt;i&amp;gt;gpg --armor --export 0xEIGENE_KEYID &amp;amp;gt; EIGENE_KEYID.asc&amp;lt;/i&amp;gt;&#039;&#039;) Sollte der Schlüssel nicht innerhalb von 15 Minuten auf der Teilnehmerliste erscheinen, nimm bitte Kontakt mit uns auf. Versuche vorher aber nach möglichkeit den Schlüssel nocheinmal im Textteil der Email einzubetten, nicht als Anhang, dies kann zu Problemen führen. Bitte keine HTML-Emails oder PGP/MIME-Nachrichten senden.&lt;br /&gt;
# Solltest Du den Termin verpasst haben, bereite für jeden Teilnehmer einen Papierstreifen vor, auf dem die Ausgabe von &#039;&#039;&amp;lt;i&amp;gt;gpg --fingerprint --show-key 0xEIGENE_KEYID&amp;lt;/i&amp;gt;&#039;&#039; abgedruckt ist und sorge dafür, dass Dein Key auf dem Keyserver zu finden ist - er kann &amp;lt;u&amp;gt;nicht&amp;lt;/u&amp;gt; von der Freitagsrunde bereitgestellt werden, auch wenn wir versuchen werden, ihn in den Keyring aufzunehmen, nachdem die KSP vorbei ist!&lt;br /&gt;
# Lade nach dem 12.12.2007 20:30 Uhr den Keyring aller eingesandten Schlüssel sowie die Liste aller Teilnehmer mit Fingerprints von [http://docs.freitagsrunde.org/keysigning/ http://docs.freitagsrunde.org/keysigning/ ] herunter, also zu einem Zeitpunkt wenn keine Keys mehr dazukommen.&lt;br /&gt;
# Drucke die Textdatei aus, z.B. Doppelseitig, 2 Seiten A5 pro Seite A4 (&#039;&#039;man a2ps&#039;&#039;)&lt;br /&gt;
# Bilde mit &amp;lt;i&amp;gt;gpg --print-md sha1 ksp-fr06.txt&amp;lt;/i&amp;gt; und &amp;lt;i&amp;gt;gpg --print-md md5 ksp-fr06.txt&amp;lt;/i&amp;gt; die Prüfsummen über die Teilnehmerliste und trage sie im Ausdruck gut lesbar ein (nach dem Ausdrucken - sonst ist der Fingerprint kaputt!).&lt;br /&gt;
# Wir werden nach dem Anmeldeschluss einige Bytes der Prüfsummen veröffentlichen, damit jeder grob testen kann, ob beim Download etwas schiefgelaufen ist:&lt;br /&gt;
&lt;br /&gt;
 $ md5sum ksp-fr6.txt &amp;amp;&amp;amp; sha1sum ksp-fr6.txt&lt;br /&gt;
 ............  ksp-fr6.txt&lt;br /&gt;
 ............  ksp-fr6.txt&lt;br /&gt;
&lt;br /&gt;
=== Was muss ich zur Keysigning-Party mitbringen? ===&lt;br /&gt;
* einen (zuverlässigen) Stift, zwei wenn Du jemandem aushelfen willst ;)&lt;br /&gt;
* Den Ausdruck der Teilnehmerliste mit Fingerprints und Prüfsummen&lt;br /&gt;
&lt;br /&gt;
=== Wie läuft die Keysigning-Party ab? ===&lt;br /&gt;
&lt;br /&gt;
Zu Beginn der Party werden als Erstes die MD5 und SHA1 Prüfsummen über die ausgedruckten Teilnehmerlisten verglichen.&lt;br /&gt;
Dazu werden die Prüfsummen vom Organisator an eine Tafel geschrieben oder laut vorgelesen. &lt;br /&gt;
Stimmen die selbst generierten Prüfsummen mit denen der anderen überein, kann man davon ausgehen, dass alle Teilnhmer eine aktuelle Liste als Grundlage benutzen.&lt;br /&gt;
&lt;br /&gt;
Danach (etwa 10 Minuten nach dem offiziellen Beginn...) wird begonnen, laut und vernehmlich alle Anwesenden und AnwesendInnen zu fragen, ob die Fingerprints Ihrer Schlüssel auf dem Ausdruck korrekt sind. Jeder markiert dann auf seinem Ausdruck den Eintrag &#039;Fingerprint OK&#039;. Dazu ist allgemein Ruhe und Konzentration bei allen gefordert.&lt;br /&gt;
&lt;br /&gt;
Ist dieses Prozedere abgeschlossen, stellen sich alle in der Reihenfolge des Ausdrucks in einer lange Reihe auf. [sollte man das im Freien vorhaben, ist bitte auf passendes Wetter und genügend Licht zu achten...]&lt;br /&gt;
&lt;br /&gt;
Nun geht jeweils der/die Erste der Reihe nacheinander an allen TeilnehmerInnen vorbei und zeigt ein Ausweisdokument vor. Jeder Teilnehmer markiert bei Übereinstimmung das Feld &#039;ID OK&#039; auf seinem Ausdruck. Danach stellt sich der/diejenige an das Ende der Schlange um selbst die ID der anderen zu überprüfen.&lt;br /&gt;
&lt;br /&gt;
Hat jemand versäumt, den Schlüssel rechtzeitig einzuschicken, stellt er sich zu Beginn an das Ende der Schlange und hält für jeden Teilnehmer einen Schnipsel Papier mit einem Ausdruck von &amp;lt;i&amp;gt;&#039;gpg --fingerprint --list-key KEY_ID&#039;&amp;lt;/i&amp;gt; bereit.&lt;br /&gt;
Diesen gibt er an alle weiter, wenn er an der Reihe ist die Schlange abzulaufen, und zeigt parallel dazu ein Ausweisdokument vor.&lt;br /&gt;
&lt;br /&gt;
Es empfiehlt sich dringend danach alle Key-Ids auf dem Ausdruck durchzustreichen, bei denen nicht beide Felder abgehakt sind!&lt;br /&gt;
&lt;br /&gt;
=== Was muss ich &amp;lt;u&amp;gt;nach&amp;lt;/u&amp;gt; der Keysigning-Party machen? ===&lt;br /&gt;
Eigentlich ganz einfach: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Den aktuellen Keyring nochmal runterladen - wir versuchen die nicht erschienenen Personen zu streichen. &lt;br /&gt;
* Alle Schlüssel unterschreiben, bei denen Du die ID und der Inhaber den Fingerprint des Schlüssels geprüft hat. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Es gibt aber (natürlich) ein paar Fallstricke:&lt;br /&gt;
* Du übersiehst, dass Du die ID nicht geprüft hast, weil nach 1 Stunde Unterschreiben die Aufmerksamkeit doch nachlässt. Also am besten mit wachem Geiste alle Schlüssel fett durchstreichen, bei denen eines der Felder leer ist, oder bessser mit Textmarker diejenigen markieren, bei denen beide Felder angekreuzt sind.&lt;br /&gt;
* Jemand möchte nicht, dass sein Schlüssel auf einen Keyserver hochgeladen wird (er befürchtet z.B. schlicht SPAM).&lt;br /&gt;
* Du signierst einen Schlüssel mit zugehöriger Emailadresse, bei der zwar der Name (z.B. Peter Müller) stimmt, die Emailadresse (peter.mueller@fbi.com) jedoch nicht.&lt;br /&gt;
* Der Schlüssel hat mehrere Unter-IDs mit unterschiedlichen Emailadressen&lt;br /&gt;
* Es sind plötzlich 200 Teilnehmer geworden und Du willst nicht 2 Wochen lang nur Schlüssel signieren.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Für einige dieser Probleme gibt es Lösungen in Form von Shellscripten, für andere in Form von Kaffee.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Erstere funktionieren etwa so:&lt;br /&gt;
Jeder Schlüssel wird zerlegt, so dass die einzelnen User-Ids getrennt vorliegen.&lt;br /&gt;
Das script signiert jede der User-Ids einzeln und schickt den signierten Schlüssel in verschlüsselter Form an die angegebene Emailadresse.&lt;br /&gt;
&lt;br /&gt;
Für alle Debian-Benutzer: Es hilft eventuell ein  &lt;br /&gt;
&lt;br /&gt;
  apt-get install signing-party&lt;br /&gt;
&lt;br /&gt;
Das Tool caff aus diesem Package hilft ganz entscheidend, wenn man eine direkte Internetanbindung hat.&lt;br /&gt;
&lt;br /&gt;
Für alle, die wie ich, ein Notebook im WLAN der TU benutzen, oder sonstwie ihre Mails nicht über den eigenen &lt;br /&gt;
Rechner veschicken können, habe ich caff angepasst.&lt;br /&gt;
&lt;br /&gt;
Siehe [http://user.cs.tu-berlin.de/~mutax/ksp-scripts/mycaff/ http://user.cs.tu-berlin.de/~mutax/ksp-scripts/mycaff/].&lt;br /&gt;
&lt;br /&gt;
Damit ist sichergestellt das die Emailadressen alle funktionieren, der Schlüssel nur vom Inhaber entschlüsselt werden kann und dieser selbst entscheiden kann ob der den Schlüssel hochladen möchte. &lt;br /&gt;
Importiert der Empfänger den Schlüssel dann in gpg, werden die Signaturen wieder zusammengeführt.&lt;br /&gt;
&lt;br /&gt;
Aber Vorsicht: nicht blind den gesamten Keyring unterschreiben!&lt;br /&gt;
&lt;br /&gt;
Durch die Verwendung von &amp;lt;i&amp;gt;agpg&amp;lt;/i&amp;gt; unter Linux muss man das Kennwort übrigens nur einmal eintippen, auch wenn dies für Paranoiker nicht geeignet ist, da der Schlüssel dann lange Zeit ungeschützt im RAM liegt und &amp;lt;b&amp;gt;jede&amp;lt;/b&amp;gt; Anwendung die Passphrase im Klartext abfragen kann! (Aber ob 200 mal Eintippen sicherheitstechnisch besser ist, sei dahingestellt)&lt;br /&gt;
&lt;br /&gt;
== CAcert ==&lt;br /&gt;
http://www.cacert.org/logos/cacert-secured5.png&lt;br /&gt;
&lt;br /&gt;
Im Rahmen der Keysigning-Party besteht auch die Möglichkeit, sich bei uns für [[CAcert]] bestätigen zu lassen. Mehr Informationen dazu haben wir auf einer gesonderten [[CAcert|CAcert-Seite]] zusammengefasst.&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
=== Keyserver ===&lt;br /&gt;
* http://pgpkeys.pca.dfn.de/&lt;br /&gt;
* http://sks.keyserver.penguin.de/&lt;br /&gt;
&lt;br /&gt;
für gpg:&lt;br /&gt;
* keyserver hkp://subkeys.pgp.net (verschiedene Hosts per DNS-Roundrobin)&lt;br /&gt;
&lt;br /&gt;
=== Software ===&lt;br /&gt;
* http://www.gnupg.org/&lt;br /&gt;
* http://www.pgpi.org/&lt;br /&gt;
&lt;br /&gt;
=== Informationen zu Keysigning-Parties ===&lt;br /&gt;
* http://www.cryptnet.net/fdp/crypto/gpg-party.html&lt;br /&gt;
&lt;br /&gt;
[[Kategorie: Kryptologie]]&lt;br /&gt;
[[Kategorie: Veranstaltungen der Freitagsrunde]]&lt;br /&gt;
[[Kategorie:Einführungswoche]]&lt;br /&gt;
[[Kategorie:Veranstaltungen der Freitagsrunde]]&lt;/div&gt;</summary>
		<author><name>Nion</name></author>
	</entry>
</feed>