<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki.freitagsrunde.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Ugene</id>
	<title>FreitagsrundenWiki - Benutzerbeiträge [de]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.freitagsrunde.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Ugene"/>
	<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/Spezial:Beitr%C3%A4ge/Ugene"/>
	<updated>2026-05-30T13:58:35Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.31.16</generator>
	<entry>
		<id>https://wiki.freitagsrunde.org/index.php?title=Javakurs/%C3%9Cbungsaufgaben/Quersumme/Musterloesung&amp;diff=17669</id>
		<title>Javakurs/Übungsaufgaben/Quersumme/Musterloesung</title>
		<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/index.php?title=Javakurs/%C3%9Cbungsaufgaben/Quersumme/Musterloesung&amp;diff=17669"/>
		<updated>2012-03-06T16:03:59Z</updated>

		<summary type="html">&lt;p&gt;Ugene: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Hinweis:''' Die Musterlösung kann von eurer Lösung abweichen, da es immer mehrere Varianten gibt ein Problem zu lösen. Im Zweifelsfall Fragt einen Tutor.&lt;br /&gt;
&lt;br /&gt;
== Aufgabe 1 == &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 public class Quersumme {&lt;br /&gt;
    /*&lt;br /&gt;
     * Berechnet die Quersumme einer uebergebenen Zahl&lt;br /&gt;
     */&lt;br /&gt;
    public static int berechneQuersumme(int zahl){&lt;br /&gt;
        int summe = 0;&lt;br /&gt;
        &lt;br /&gt;
        while(0 != zahl){&lt;br /&gt;
            //addiere die letzte ziffer der uebergebenen zahl zur summe&lt;br /&gt;
            summe = summe + (zahl%10);&lt;br /&gt;
            &lt;br /&gt;
            //entferne die letzte ziffer der uebergebenen zahl&lt;br /&gt;
            zahl = zahl/10;&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        return summe;&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    /*&lt;br /&gt;
     * Gibt alle Zahlen innerhalb eines Bereiches [zahlVon, zahlBis] aus,&lt;br /&gt;
     * die eine bestimmte Quersumme haben&lt;br /&gt;
     */&lt;br /&gt;
    public static void printZahlenFuerQS(int zahlVon, int zahlBis, int quersumme){&lt;br /&gt;
        for(int i = zahlVon; i &amp;lt;= zahlBis; i++){&lt;br /&gt;
            int qs = berechneQuersumme(i);&lt;br /&gt;
            &lt;br /&gt;
            if(qs == quersumme){&lt;br /&gt;
                System.out.println(i);    &lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    /*&lt;br /&gt;
     * Gibt alle Zahlen innerhalb eines Bereiches [zahlVon, zahlBis] aus,&lt;br /&gt;
     * die ein Vielfaches einer bestimmten Quersumme sind.&lt;br /&gt;
     */&lt;br /&gt;
    public static void printZahlenFuerVielfachesQS(int zahlVon, int zahlBis, int quersumme){&lt;br /&gt;
        for(int i = zahlVon; i &amp;lt;= zahlBis; i++){&lt;br /&gt;
            int qs = berechneQuersumme(i);&lt;br /&gt;
            &lt;br /&gt;
            if(0 != qs &amp;amp;&amp;amp; 0 == (qs % quersumme)){&lt;br /&gt;
                System.out.println(i);    &lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    /*&lt;br /&gt;
     * Berechnet wie haeufig die Quersummen innerhalb eines bestimmten Bereiches [zahlVon, zahlBis]&lt;br /&gt;
     * vorkommen und gibt diese als Array der Form array[quersumme] = Anzahl zurueck&lt;br /&gt;
     */&lt;br /&gt;
    public static int[] berechneHaeufigkeiten(int zahlVon, int zahlBis){&lt;br /&gt;
        int anzahlQuersummen = 0;&lt;br /&gt;
        int temp = zahlBis;&lt;br /&gt;
        while(0 != temp){&lt;br /&gt;
            anzahlQuersummen = anzahlQuersummen + 1;&lt;br /&gt;
            temp = temp / 10;&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        int[] quersummen = new int[anzahlQuersummen*9];&lt;br /&gt;
        &lt;br /&gt;
        for(int i = zahlVon; i &amp;lt;= zahlBis; i++){&lt;br /&gt;
            int qs = berechneQuersumme(i);&lt;br /&gt;
            quersummen[qs] = quersummen[qs] + 1;&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        return quersummen;&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    /*&lt;br /&gt;
     * Berechnet den hoechsten Wert eines uebergebenen Arrays&lt;br /&gt;
     */&lt;br /&gt;
    public static int berechneArrayMaximum(int[] quersummen){&lt;br /&gt;
        int max = 0;&lt;br /&gt;
        &lt;br /&gt;
        for(int i = 0; i &amp;lt; quersummen.length; i++){&lt;br /&gt;
            if(quersummen[i] &amp;gt;= max){&lt;br /&gt;
                max = quersummen[i];&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        return max;&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    /*&lt;br /&gt;
     * Gibt die am häufigsten vorkommende Quersumme innerhalb eines bestimmten &lt;br /&gt;
     * Bereichs [zahlVon, zahlBis] auf der Konsole aus&lt;br /&gt;
     */&lt;br /&gt;
    public static void printMaxQuersumme(int zahlVon, int zahlBis){&lt;br /&gt;
        int[] quersummen = berechneHaeufigkeiten(zahlVon, zahlBis);&lt;br /&gt;
        System.out.println(berechneArrayMaximum(quersummen));&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    /*&lt;br /&gt;
     * Gibt die iterierte Quersumme einer uebergebenen Zahl auf der Konsole aus&lt;br /&gt;
     */&lt;br /&gt;
    public static void printIterierteQuersumme(int zahl){&lt;br /&gt;
        int iterierteQuersumme = zahl;&lt;br /&gt;
        while(0 != zahl){&lt;br /&gt;
            iterierteQuersumme = berechneQuersumme(iterierteQuersumme);&lt;br /&gt;
            zahl = zahl / 10;&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        System.out.println(iterierteQuersumme);&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    /*&lt;br /&gt;
     * Berechnet das Querprodukt einer uebergebenen Zahl&lt;br /&gt;
     */&lt;br /&gt;
    public static int berechneQuerprodukt(int zahl){&lt;br /&gt;
        int produkt = 1;&lt;br /&gt;
        &lt;br /&gt;
        while(0 != zahl){&lt;br /&gt;
            //multipliziere die letzte ziffer der uebergebenen zahl zum produkt&lt;br /&gt;
            produkt = produkt * (zahl%10);&lt;br /&gt;
            &lt;br /&gt;
            //entferne die letzte ziffer der uebergebenen zahl&lt;br /&gt;
            zahl = zahl/10;&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        return produkt;&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    /*&lt;br /&gt;
     * Gibt die Zahlen innerhalb eines Bereiches [zahlVon, zahlBis] auf der Konsole aus,&lt;br /&gt;
     * für die gilt Zahl = Quersumme + Querprodukt&lt;br /&gt;
     */&lt;br /&gt;
    public static void printQuersummeQuerprodukt(int zahlVon, int zahlBis){&lt;br /&gt;
        for(int i = zahlVon; i &amp;lt;= zahlBis; i++){&lt;br /&gt;
            int qs = berechneQuersumme(i);&lt;br /&gt;
            int qp = berechneQuerprodukt(i);&lt;br /&gt;
            &lt;br /&gt;
            if(i == (qs+qp)){&lt;br /&gt;
                System.out.println(i);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
    public static void main(String[] args){&lt;br /&gt;
        //Gib alle Zahlen von 0-1000 aus, welche die Quersumme 15 haben&lt;br /&gt;
        printZahlenFuerQS(0, 1000, 15);&lt;br /&gt;
        &lt;br /&gt;
        //Gib alle Zahlen von 0-1000 aus, deren Quersumme ein Vielfaches von 17 ist&lt;br /&gt;
        printZahlenFuerVielfachesQS(0, 1000, 7);&lt;br /&gt;
        &lt;br /&gt;
        //Gib die am haeufigsten vorkommende Quersumme von 0-1000 aus&lt;br /&gt;
        printMaxQuersumme(0, 1000);&lt;br /&gt;
        &lt;br /&gt;
        //Gib die iterierte Quersumme von 47 aus&lt;br /&gt;
        printIterierteQuersumme(47);&lt;br /&gt;
        &lt;br /&gt;
        //Gib alle Zahlen aus für die gilt Zahl = Quersumme + Querprodukt&lt;br /&gt;
        printQuersummeQuerprodukt(0, 1000);&lt;br /&gt;
        &lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
 }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Spalte die einzelnen Ziffern mittels Division und Modulo-Operation ab und addiere sie, um die Quersumme zu bestimmen.&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 Siehe Methode berechneQuersumme&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
# Gib alle Zahlen von 0 - 1000 aus,  welche die Quersumme 15 haben.&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 69&lt;br /&gt;
 78&lt;br /&gt;
 87&lt;br /&gt;
 96&lt;br /&gt;
 159&lt;br /&gt;
 168&lt;br /&gt;
 177&lt;br /&gt;
 186&lt;br /&gt;
 195&lt;br /&gt;
 249&lt;br /&gt;
 258&lt;br /&gt;
 267&lt;br /&gt;
 276&lt;br /&gt;
 285&lt;br /&gt;
 294&lt;br /&gt;
 339&lt;br /&gt;
 348&lt;br /&gt;
 357&lt;br /&gt;
 366&lt;br /&gt;
 375&lt;br /&gt;
 384&lt;br /&gt;
 393&lt;br /&gt;
 429&lt;br /&gt;
 438&lt;br /&gt;
 447&lt;br /&gt;
 456&lt;br /&gt;
 465&lt;br /&gt;
 474&lt;br /&gt;
 483&lt;br /&gt;
 492&lt;br /&gt;
 519&lt;br /&gt;
 528&lt;br /&gt;
 537&lt;br /&gt;
 546&lt;br /&gt;
 555&lt;br /&gt;
 564&lt;br /&gt;
 573&lt;br /&gt;
 582&lt;br /&gt;
 591&lt;br /&gt;
 609&lt;br /&gt;
 618&lt;br /&gt;
 627&lt;br /&gt;
 636&lt;br /&gt;
 645&lt;br /&gt;
 654&lt;br /&gt;
 663&lt;br /&gt;
 672&lt;br /&gt;
 681&lt;br /&gt;
 690&lt;br /&gt;
 708&lt;br /&gt;
 717&lt;br /&gt;
 726&lt;br /&gt;
 735&lt;br /&gt;
 744&lt;br /&gt;
 753&lt;br /&gt;
 762&lt;br /&gt;
 771&lt;br /&gt;
 780&lt;br /&gt;
 807&lt;br /&gt;
 816&lt;br /&gt;
 825&lt;br /&gt;
 834&lt;br /&gt;
 843&lt;br /&gt;
 852&lt;br /&gt;
 861&lt;br /&gt;
 870&lt;br /&gt;
 906&lt;br /&gt;
 915&lt;br /&gt;
 924&lt;br /&gt;
 933&lt;br /&gt;
 942&lt;br /&gt;
 951&lt;br /&gt;
 960&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
# Gib alle Zahlen von 0 - 1000 aus, deren Quersumme ein Vielfaches von 7 ist.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 7&lt;br /&gt;
 16&lt;br /&gt;
 25&lt;br /&gt;
 34&lt;br /&gt;
 43&lt;br /&gt;
 52&lt;br /&gt;
 59&lt;br /&gt;
 61&lt;br /&gt;
 68&lt;br /&gt;
 70&lt;br /&gt;
 77&lt;br /&gt;
 86&lt;br /&gt;
 95&lt;br /&gt;
 106&lt;br /&gt;
 115&lt;br /&gt;
 124&lt;br /&gt;
 133&lt;br /&gt;
 142&lt;br /&gt;
 149&lt;br /&gt;
 151&lt;br /&gt;
 158&lt;br /&gt;
 160&lt;br /&gt;
 167&lt;br /&gt;
 176&lt;br /&gt;
 185&lt;br /&gt;
 194&lt;br /&gt;
 205&lt;br /&gt;
 214&lt;br /&gt;
 223&lt;br /&gt;
 232&lt;br /&gt;
 239&lt;br /&gt;
 241&lt;br /&gt;
 248&lt;br /&gt;
 250&lt;br /&gt;
 257&lt;br /&gt;
 266&lt;br /&gt;
 275&lt;br /&gt;
 284&lt;br /&gt;
 293&lt;br /&gt;
 304&lt;br /&gt;
 313&lt;br /&gt;
 322&lt;br /&gt;
 329&lt;br /&gt;
 331&lt;br /&gt;
 338&lt;br /&gt;
 340&lt;br /&gt;
 347&lt;br /&gt;
 356&lt;br /&gt;
 365&lt;br /&gt;
 374&lt;br /&gt;
 383&lt;br /&gt;
 392&lt;br /&gt;
 399&lt;br /&gt;
 403&lt;br /&gt;
 412&lt;br /&gt;
 419&lt;br /&gt;
 421&lt;br /&gt;
 428&lt;br /&gt;
 430&lt;br /&gt;
 437&lt;br /&gt;
 446&lt;br /&gt;
 455&lt;br /&gt;
 464&lt;br /&gt;
 473&lt;br /&gt;
 482&lt;br /&gt;
 489&lt;br /&gt;
 491&lt;br /&gt;
 498&lt;br /&gt;
 502&lt;br /&gt;
 509&lt;br /&gt;
 511&lt;br /&gt;
 518&lt;br /&gt;
 520&lt;br /&gt;
 527&lt;br /&gt;
 536&lt;br /&gt;
 545&lt;br /&gt;
 554&lt;br /&gt;
 563&lt;br /&gt;
 572&lt;br /&gt;
 579&lt;br /&gt;
 581&lt;br /&gt;
 588&lt;br /&gt;
 590&lt;br /&gt;
 597&lt;br /&gt;
 601&lt;br /&gt;
 608&lt;br /&gt;
 610&lt;br /&gt;
 617&lt;br /&gt;
 626&lt;br /&gt;
 635&lt;br /&gt;
 644&lt;br /&gt;
 653&lt;br /&gt;
 662&lt;br /&gt;
 669&lt;br /&gt;
 671&lt;br /&gt;
 678&lt;br /&gt;
 680&lt;br /&gt;
 687&lt;br /&gt;
 696&lt;br /&gt;
 700&lt;br /&gt;
 707&lt;br /&gt;
 716&lt;br /&gt;
 725&lt;br /&gt;
 734&lt;br /&gt;
 743&lt;br /&gt;
 752&lt;br /&gt;
 759&lt;br /&gt;
 761&lt;br /&gt;
 768&lt;br /&gt;
 770&lt;br /&gt;
 777&lt;br /&gt;
 786&lt;br /&gt;
 795&lt;br /&gt;
 806&lt;br /&gt;
 815&lt;br /&gt;
 824&lt;br /&gt;
 833&lt;br /&gt;
 842&lt;br /&gt;
 849&lt;br /&gt;
 851&lt;br /&gt;
 858&lt;br /&gt;
 860&lt;br /&gt;
 867&lt;br /&gt;
 876&lt;br /&gt;
 885&lt;br /&gt;
 894&lt;br /&gt;
 905&lt;br /&gt;
 914&lt;br /&gt;
 923&lt;br /&gt;
 932&lt;br /&gt;
 939&lt;br /&gt;
 941&lt;br /&gt;
 948&lt;br /&gt;
 950&lt;br /&gt;
 957&lt;br /&gt;
 966&lt;br /&gt;
 975 &lt;br /&gt;
 984&lt;br /&gt;
 993&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
# Welche Quersumme der Zahlen von 0 - 1000 kommt am häufigsten vor? (Tipp: Überlegt Euch, wie viel verschiedene Quersummen vorkommen können, erstellt ein Array dieser Größe und speichert dort die Anzahl der Vorkomnisse)&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 75&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
# Die iterierte Quersumme wird auch Ziffernwurzel genannt (Abk. zw) Beispiel:&amp;lt;br&amp;gt;47 --&amp;gt; 4 + 7 = 11 --&amp;gt; 1 + 1 = 2, also zw(47)=2&amp;lt;br&amp;gt;Schreibt ein Programm, welches die Ziffernwurzel für eine beliebige Zahl bestimmt.&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 Siehe Methode printIterierteQuersumme&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
# Das Querprodukt ist wie folgt definiert: 68 = 6 * 8 = 48. Es gibt Zahlen, bei denen die Summe aus Quersumme und Querprodukt wieder die Zahl selbst ergibt Beispiel: 79 = 7 + 9 + 7*9 = 79. Gibt es weitere Zahlen zwischen 0 und 1000 mit dieser Eigenschaft? Wenn ja, welche ?&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 19&lt;br /&gt;
 29&lt;br /&gt;
 39&lt;br /&gt;
 49&lt;br /&gt;
 59&lt;br /&gt;
 69 &lt;br /&gt;
 79 &lt;br /&gt;
 89&lt;br /&gt;
 99&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Aufgabe 2 == &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 public class BoesenSieben {&lt;br /&gt;
    /*&lt;br /&gt;
     * Bestimmt ob eine uebergebene Zahl durch eine zweite uebergebene Zahl teilbar ist&lt;br /&gt;
     */&lt;br /&gt;
    public static boolean istTeilbar(int zahl, int durch){&lt;br /&gt;
        if(durch == 0){&lt;br /&gt;
            return false;&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        return (zahl%durch == 0);&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    /*&lt;br /&gt;
     * Bestimmt ob eine uebergebene Zahl eine zweite uebergebene Zahl als Ziffer enthält&lt;br /&gt;
     */&lt;br /&gt;
    public static boolean enthaelt(int zahl, int ziffer){&lt;br /&gt;
        &lt;br /&gt;
        while(0 != zahl){&lt;br /&gt;
            if(ziffer == (zahl % 10)){&lt;br /&gt;
                return true;&lt;br /&gt;
            }&lt;br /&gt;
            &lt;br /&gt;
            zahl = zahl / 10;&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        return false;&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
    public static void main(String[] args){&lt;br /&gt;
        int zahl = 14;&lt;br /&gt;
        &lt;br /&gt;
        if(enthaelt(zahl, 7) || istTeilbar(zahl, 7)){&lt;br /&gt;
            System.out.println(&amp;quot;Die nächste Zahl muss übersprungen werden&amp;quot;);&lt;br /&gt;
        } else {&lt;br /&gt;
            System.out.println(&amp;quot;Die nächste Zahl darf nicht übersprungen werden&amp;quot;);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
 }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Kommentare ==&lt;br /&gt;
Wenn du Anmerkungen zur Aufgabe hast oder Lob und Kritik loswerden möchtest ist hier die richtige Stelle dafür. Klicke einfach ganz rechts auf &amp;quot;bearbeiten&amp;quot; und schreibe deinen Kommentar direkt ins Wiki. Keine Scheu, es geht nichts kaputt ;)&lt;/div&gt;</summary>
		<author><name>Ugene</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.freitagsrunde.org/index.php?title=Javakurs/%C3%9Cbungsaufgaben/Quersumme/Musterloesung&amp;diff=17668</id>
		<title>Javakurs/Übungsaufgaben/Quersumme/Musterloesung</title>
		<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/index.php?title=Javakurs/%C3%9Cbungsaufgaben/Quersumme/Musterloesung&amp;diff=17668"/>
		<updated>2012-03-06T16:02:32Z</updated>

		<summary type="html">&lt;p&gt;Ugene: Die Seite wurde neu angelegt: „'''Hinweis:''' Die Musterlösung kann von eurer Lösung abweichen, da es immer mehrere Varianten gibt ein Problem zu lösen. Im Zweifelsfall Fragt einen Tutor.  =…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Hinweis:''' Die Musterlösung kann von eurer Lösung abweichen, da es immer mehrere Varianten gibt ein Problem zu lösen. Im Zweifelsfall Fragt einen Tutor.&lt;br /&gt;
&lt;br /&gt;
== Aufgabe 1 == &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 public class Quersumme {&lt;br /&gt;
    /*&lt;br /&gt;
     * Berechnet die Quersumme einer uebergebenen Zahl&lt;br /&gt;
     */&lt;br /&gt;
    public static int berechneQuersumme(int zahl){&lt;br /&gt;
        int summe = 0;&lt;br /&gt;
        &lt;br /&gt;
        while(0 != zahl){&lt;br /&gt;
            //addiere die letzte ziffer der uebergebenen zahl zur summe&lt;br /&gt;
            summe = summe + (zahl%10);&lt;br /&gt;
            &lt;br /&gt;
            //entferne die letzte ziffer der uebergebenen zahl&lt;br /&gt;
            zahl = zahl/10;&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        return summe;&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    /*&lt;br /&gt;
     * Gibt alle Zahlen innerhalb eines Bereiches [zahlVon, zahlBis] aus,&lt;br /&gt;
     * die eine bestimmte Quersumme haben&lt;br /&gt;
     */&lt;br /&gt;
    public static void printZahlenFuerQS(int zahlVon, int zahlBis, int quersumme){&lt;br /&gt;
        for(int i = zahlVon; i &amp;lt;= zahlBis; i++){&lt;br /&gt;
            int qs = berechneQuersumme(i);&lt;br /&gt;
            &lt;br /&gt;
            if(qs == quersumme){&lt;br /&gt;
                System.out.println(i);    &lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    /*&lt;br /&gt;
     * Gibt alle Zahlen innerhalb eines Bereiches [zahlVon, zahlBis] aus,&lt;br /&gt;
     * die ein Vielfaches einer bestimmten Quersumme sind.&lt;br /&gt;
     */&lt;br /&gt;
    public static void printZahlenFuerVielfachesQS(int zahlVon, int zahlBis, int quersumme){&lt;br /&gt;
        for(int i = zahlVon; i &amp;lt;= zahlBis; i++){&lt;br /&gt;
            int qs = berechneQuersumme(i);&lt;br /&gt;
            &lt;br /&gt;
            if(0 != qs &amp;amp;&amp;amp; 0 == (qs % quersumme)){&lt;br /&gt;
                System.out.println(i);    &lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    /*&lt;br /&gt;
     * Berechnet wie haeufig die Quersummen innerhalb eines bestimmten Bereiches [zahlVon, zahlBis]&lt;br /&gt;
     * vorkommen und gibt diese als Array der Form array[quersumme] = Anzahl zurueck&lt;br /&gt;
     */&lt;br /&gt;
    public static int[] berechneHaeufigkeiten(int zahlVon, int zahlBis){&lt;br /&gt;
        int anzahlQuersummen = 0;&lt;br /&gt;
        int temp = zahlBis;&lt;br /&gt;
        while(0 != temp){&lt;br /&gt;
            anzahlQuersummen = anzahlQuersummen + 1;&lt;br /&gt;
            temp = temp / 10;&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        int[] quersummen = new int[anzahlQuersummen*9];&lt;br /&gt;
        &lt;br /&gt;
        for(int i = zahlVon; i &amp;lt;= zahlBis; i++){&lt;br /&gt;
            int qs = berechneQuersumme(i);&lt;br /&gt;
            quersummen[qs] = quersummen[qs] + 1;&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        return quersummen;&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    /*&lt;br /&gt;
     * Berechnet den hoechsten Wert eines uebergebenen Arrays&lt;br /&gt;
     */&lt;br /&gt;
    public static int berechneArrayMaximum(int[] quersummen){&lt;br /&gt;
        int max = 0;&lt;br /&gt;
        &lt;br /&gt;
        for(int i = 0; i &amp;lt; quersummen.length; i++){&lt;br /&gt;
            if(quersummen[i] &amp;gt;= max){&lt;br /&gt;
                max = quersummen[i];&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        return max;&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    /*&lt;br /&gt;
     * Gibt die am häufigsten vorkommende Quersumme innerhalb eines bestimmten &lt;br /&gt;
     * Bereichs [zahlVon, zahlBis] auf der Konsole aus&lt;br /&gt;
     */&lt;br /&gt;
    public static void printMaxQuersumme(int zahlVon, int zahlBis){&lt;br /&gt;
        int[] quersummen = berechneHaeufigkeiten(zahlVon, zahlBis);&lt;br /&gt;
        System.out.println(berechneArrayMaximum(quersummen));&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    /*&lt;br /&gt;
     * Gibt die iterierte Quersumme einer uebergebenen Zahl auf der Konsole aus&lt;br /&gt;
     */&lt;br /&gt;
    public static void printIterierteQuersumme(int zahl){&lt;br /&gt;
        int iterierteQuersumme = zahl;&lt;br /&gt;
        while(0 != zahl){&lt;br /&gt;
            iterierteQuersumme = berechneQuersumme(iterierteQuersumme);&lt;br /&gt;
            zahl = zahl / 10;&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        System.out.println(iterierteQuersumme);&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    /*&lt;br /&gt;
     * Berechnet das Querprodukt einer uebergebenen Zahl&lt;br /&gt;
     */&lt;br /&gt;
    public static int berechneQuerprodukt(int zahl){&lt;br /&gt;
        int produkt = 1;&lt;br /&gt;
        &lt;br /&gt;
        while(0 != zahl){&lt;br /&gt;
            //multipliziere die letzte ziffer der uebergebenen zahl zum produkt&lt;br /&gt;
            produkt = produkt * (zahl%10);&lt;br /&gt;
            &lt;br /&gt;
            //entferne die letzte ziffer der uebergebenen zahl&lt;br /&gt;
            zahl = zahl/10;&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        return produkt;&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    /*&lt;br /&gt;
     * Gibt die Zahlen innerhalb eines Bereiches [zahlVon, zahlBis] auf der Konsole aus,&lt;br /&gt;
     * für die gilt Zahl = Quersumme + Querprodukt&lt;br /&gt;
     */&lt;br /&gt;
    public static void printQuersummeQuerprodukt(int zahlVon, int zahlBis){&lt;br /&gt;
        for(int i = zahlVon; i &amp;lt;= zahlBis; i++){&lt;br /&gt;
            int qs = berechneQuersumme(i);&lt;br /&gt;
            int qp = berechneQuerprodukt(i);&lt;br /&gt;
            &lt;br /&gt;
            if(i == (qs+qp)){&lt;br /&gt;
                System.out.println(i);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
    public static void main(String[] args){&lt;br /&gt;
        //Gib alle Zahlen von 0-1000 aus, welche die Quersumme 15 haben&lt;br /&gt;
        printZahlenFuerQS(0, 1000, 15);&lt;br /&gt;
        &lt;br /&gt;
        //Gib alle Zahlen von 0-1000 aus, deren Quersumme ein Vielfaches von 17 ist&lt;br /&gt;
        printZahlenFuerVielfachesQS(0, 1000, 7);&lt;br /&gt;
        &lt;br /&gt;
        //Gib die am haeufigsten vorkommende Quersumme von 0-1000 aus&lt;br /&gt;
        printMaxQuersumme(0, 1000);&lt;br /&gt;
        &lt;br /&gt;
        //Gib die iterierte Quersumme von 47 aus&lt;br /&gt;
        printIterierteQuersumme(47);&lt;br /&gt;
        &lt;br /&gt;
        //Gib alle Zahlen aus für die gilt Zahl = Quersumme + Querprodukt&lt;br /&gt;
        printQuersummeQuerprodukt(0, 1000);&lt;br /&gt;
        &lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
 }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Spalte die einzelnen Ziffern mittels Division und Modulo-Operation ab und addiere sie, um die Quersumme zu bestimmen.&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 Siehe Methode berechneQuersumme&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
# Gib alle Zahlen von 0 - 1000 aus,  welche die Quersumme 15 haben.&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 69&lt;br /&gt;
 78&lt;br /&gt;
 87&lt;br /&gt;
 96&lt;br /&gt;
 159&lt;br /&gt;
 168&lt;br /&gt;
 177&lt;br /&gt;
 186&lt;br /&gt;
 195&lt;br /&gt;
 249&lt;br /&gt;
 258&lt;br /&gt;
 267&lt;br /&gt;
 276&lt;br /&gt;
 285&lt;br /&gt;
 294&lt;br /&gt;
 339&lt;br /&gt;
 348&lt;br /&gt;
 357&lt;br /&gt;
 366&lt;br /&gt;
 375&lt;br /&gt;
 384&lt;br /&gt;
 393&lt;br /&gt;
 429&lt;br /&gt;
 438&lt;br /&gt;
 447&lt;br /&gt;
 456&lt;br /&gt;
 465&lt;br /&gt;
 474&lt;br /&gt;
 483&lt;br /&gt;
 492&lt;br /&gt;
 519&lt;br /&gt;
 528&lt;br /&gt;
 537&lt;br /&gt;
 546&lt;br /&gt;
 555&lt;br /&gt;
 564&lt;br /&gt;
 573&lt;br /&gt;
 582&lt;br /&gt;
 591&lt;br /&gt;
 609&lt;br /&gt;
 618&lt;br /&gt;
 627&lt;br /&gt;
 636&lt;br /&gt;
 645&lt;br /&gt;
 654&lt;br /&gt;
 663&lt;br /&gt;
 672&lt;br /&gt;
 681&lt;br /&gt;
 690&lt;br /&gt;
 708&lt;br /&gt;
 717&lt;br /&gt;
 726&lt;br /&gt;
 735&lt;br /&gt;
 744&lt;br /&gt;
 753&lt;br /&gt;
 762&lt;br /&gt;
 771&lt;br /&gt;
 780&lt;br /&gt;
 807&lt;br /&gt;
 816&lt;br /&gt;
 825&lt;br /&gt;
 834&lt;br /&gt;
 843&lt;br /&gt;
 852&lt;br /&gt;
 861&lt;br /&gt;
 870&lt;br /&gt;
 906&lt;br /&gt;
 915&lt;br /&gt;
 924&lt;br /&gt;
 933&lt;br /&gt;
 942&lt;br /&gt;
 951&lt;br /&gt;
 960&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
# Gib alle Zahlen von 0 - 1000 aus, deren Quersumme ein Vielfaches von 7 ist.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 7&lt;br /&gt;
 16&lt;br /&gt;
 25&lt;br /&gt;
 34&lt;br /&gt;
 43&lt;br /&gt;
 52&lt;br /&gt;
 59&lt;br /&gt;
 61&lt;br /&gt;
 68&lt;br /&gt;
 70&lt;br /&gt;
 77&lt;br /&gt;
 86&lt;br /&gt;
 95&lt;br /&gt;
 106&lt;br /&gt;
 115&lt;br /&gt;
 124&lt;br /&gt;
 133&lt;br /&gt;
 142&lt;br /&gt;
 149&lt;br /&gt;
 151&lt;br /&gt;
 158&lt;br /&gt;
 160&lt;br /&gt;
 167&lt;br /&gt;
 176&lt;br /&gt;
 185&lt;br /&gt;
 194&lt;br /&gt;
 205&lt;br /&gt;
 214&lt;br /&gt;
 223&lt;br /&gt;
 232&lt;br /&gt;
 239&lt;br /&gt;
 241&lt;br /&gt;
 248&lt;br /&gt;
 250&lt;br /&gt;
 257&lt;br /&gt;
 266&lt;br /&gt;
 275&lt;br /&gt;
 284&lt;br /&gt;
 293&lt;br /&gt;
 304&lt;br /&gt;
 313&lt;br /&gt;
 322&lt;br /&gt;
 329&lt;br /&gt;
 331&lt;br /&gt;
 338&lt;br /&gt;
 340&lt;br /&gt;
 347&lt;br /&gt;
 356&lt;br /&gt;
 365&lt;br /&gt;
 374&lt;br /&gt;
 383&lt;br /&gt;
 392&lt;br /&gt;
 399&lt;br /&gt;
 403&lt;br /&gt;
 412&lt;br /&gt;
 419&lt;br /&gt;
 421&lt;br /&gt;
 428&lt;br /&gt;
 430&lt;br /&gt;
 437&lt;br /&gt;
 446&lt;br /&gt;
 455&lt;br /&gt;
 464&lt;br /&gt;
 473&lt;br /&gt;
 482&lt;br /&gt;
 489&lt;br /&gt;
 491&lt;br /&gt;
 498&lt;br /&gt;
 502&lt;br /&gt;
 509&lt;br /&gt;
 511&lt;br /&gt;
 518&lt;br /&gt;
 520&lt;br /&gt;
 527&lt;br /&gt;
 536&lt;br /&gt;
 545&lt;br /&gt;
 554&lt;br /&gt;
 563&lt;br /&gt;
 572&lt;br /&gt;
 579&lt;br /&gt;
 581&lt;br /&gt;
 588&lt;br /&gt;
 590&lt;br /&gt;
 597&lt;br /&gt;
 601&lt;br /&gt;
 608&lt;br /&gt;
 610&lt;br /&gt;
 617&lt;br /&gt;
 626&lt;br /&gt;
 635&lt;br /&gt;
 644&lt;br /&gt;
 653&lt;br /&gt;
 662&lt;br /&gt;
 669&lt;br /&gt;
 671&lt;br /&gt;
 678&lt;br /&gt;
 680&lt;br /&gt;
 687&lt;br /&gt;
 696&lt;br /&gt;
 700&lt;br /&gt;
 707&lt;br /&gt;
 716&lt;br /&gt;
 725&lt;br /&gt;
 734&lt;br /&gt;
 743&lt;br /&gt;
 752&lt;br /&gt;
 759&lt;br /&gt;
 761&lt;br /&gt;
 768&lt;br /&gt;
 770&lt;br /&gt;
 777&lt;br /&gt;
 786&lt;br /&gt;
 795&lt;br /&gt;
 806&lt;br /&gt;
 815&lt;br /&gt;
 824&lt;br /&gt;
 833&lt;br /&gt;
 842&lt;br /&gt;
 849&lt;br /&gt;
 851&lt;br /&gt;
 858&lt;br /&gt;
 860&lt;br /&gt;
 867&lt;br /&gt;
 876&lt;br /&gt;
 885&lt;br /&gt;
 894&lt;br /&gt;
 905&lt;br /&gt;
 914&lt;br /&gt;
 923&lt;br /&gt;
 932&lt;br /&gt;
 939&lt;br /&gt;
 941&lt;br /&gt;
 948&lt;br /&gt;
 950&lt;br /&gt;
 957&lt;br /&gt;
 966&lt;br /&gt;
 975 &lt;br /&gt;
 984&lt;br /&gt;
 993&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
# Welche Quersumme der Zahlen von 0 - 1000 kommt am häufigsten vor? (Tipp: Überlegt Euch, wie viel verschiedene Quersummen vorkommen können, erstellt ein Array dieser Größe und speichert dort die Anzahl der Vorkomnisse)&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 75&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
# Die iterierte Quersumme wird auch Ziffernwurzel genannt (Abk. zw) Beispiel:&amp;lt;br&amp;gt;47 --&amp;gt; 4 + 7 = 11 --&amp;gt; 1 + 1 = 2, also zw(47)=2&amp;lt;br&amp;gt;Schreibt ein Programm, welches die Ziffernwurzel für eine beliebige Zahl bestimmt.&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 Siehe Methode printIterierteQuersumme&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
# Das Querprodukt ist wie folgt definiert: 68 = 6 * 8 = 48. Es gibt Zahlen, bei denen die Summe aus Quersumme und Querprodukt wieder die Zahl selbst ergibt Beispiel: 79 = 7 + 9 + 7*9 = 79. Gibt es weitere Zahlen zwischen 0 und 1000 mit dieser Eigenschaft? Wenn ja, welche ?&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 19&lt;br /&gt;
 29&lt;br /&gt;
 39&lt;br /&gt;
 49&lt;br /&gt;
 59&lt;br /&gt;
 69 &lt;br /&gt;
 79 &lt;br /&gt;
 89&lt;br /&gt;
 99&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Aufgabe 2 == &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 public class BoesenSieben {&lt;br /&gt;
    /*&lt;br /&gt;
     * Bestimmt ob eine uebergebene Zahl durch eine zweite uebergebene Zahl teilbar ist&lt;br /&gt;
     */&lt;br /&gt;
    public static boolean istTeilbar(int zahl, int durch){&lt;br /&gt;
        if(durch == 0){&lt;br /&gt;
            return false;&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        return (zahl%durch == 0);&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    /*&lt;br /&gt;
     * Bestimmt ob eine uebergebene Zahl eine zweite uebergebene Zahl als Ziffer enthält&lt;br /&gt;
     */&lt;br /&gt;
    public static boolean enthaelt(int zahl, int ziffer){&lt;br /&gt;
        &lt;br /&gt;
        while(0 != zahl){&lt;br /&gt;
            if(ziffer == (zahl % 10)){&lt;br /&gt;
                return true;&lt;br /&gt;
            }&lt;br /&gt;
            &lt;br /&gt;
            zahl = zahl / 10;&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        return false;&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
    public static void main(String[] args){&lt;br /&gt;
        int zahl = 14;&lt;br /&gt;
        &lt;br /&gt;
        if(enthaelt(zahl, 7) || istTeilbar(zahl, 7)){&lt;br /&gt;
            System.out.println(&amp;quot;Die nächste Zahl muss übersprungen werden&amp;quot;);&lt;br /&gt;
        } else {&lt;br /&gt;
            System.out.println(&amp;quot;Die nächste Zahl darf nicht übersprungen werden&amp;quot;);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
 }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ugene</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.freitagsrunde.org/index.php?title=Javakurs/%C3%9Cbungsaufgaben&amp;diff=17661</id>
		<title>Javakurs/Übungsaufgaben</title>
		<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/index.php?title=Javakurs/%C3%9Cbungsaufgaben&amp;diff=17661"/>
		<updated>2012-03-06T14:02:47Z</updated>

		<summary type="html">&lt;p&gt;Ugene: /* 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. Einen kleinen Überblick zu den Schwierigkeitsgraden findet ihr ganz unten auf dieser Seite.&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;
== So könnt ihr Tutoren rufen ==&lt;br /&gt;
Braucht ihr Hilfe, scheut euch nicht einfach einen Tutor anzusprechen. Sollte gerade alle Tutoren belegt sein oder ihr euch nicht trauen, einen Tutor direkt anzusprechen, könnt ihr das hier verlinkte Tool nutzen!&lt;br /&gt;
&lt;br /&gt;
* [https://freitagsrunde.org/~timmeey/callatutor106 Tutor rufen im Tel 106]&lt;br /&gt;
&lt;br /&gt;
* [https://freitagsrunde.org/~timmeey/callatutor206 Tutor rufen im Tel 206]&lt;br /&gt;
&lt;br /&gt;
(basierend auf [https://freitagsrunde.org/~timmeey/callatutor.zip dieser &amp;quot;Software&amp;quot;])&lt;br /&gt;
&lt;br /&gt;
== Die Aufgaben ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; 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;
 !Überprüfer(Status)&lt;br /&gt;
 !Musterlösung&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Von der Console zum HelloWorld | Vom Arbeiten mit der Konsole bis &amp;quot;Hallo Welt&amp;quot;]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1. VL&lt;br /&gt;
 | Einfaches Arbeiten mit der Kommandozeile &amp;lt;br&amp;gt; Kompilieren und Ausführen von Javacode&lt;br /&gt;
 | &lt;br /&gt;
 |&amp;lt;!--[[Javakurs/Übungsaufgaben/Von der Console zum HelloWorld/Musterloesung | Musterlösung]]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Variablen_und_Zuweisungen | Variablen und Zuweisungen]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1. VL&lt;br /&gt;
 | Deklarieren und definieren von Variablen&amp;lt;br&amp;gt;Grundlegende Regeln der Codeformatierung&lt;br /&gt;
 | &lt;br /&gt;
 |&amp;lt;!-- [[Javakurs/Übungsaufgaben/Variablen_und_Zuweisungen/Musterloesung | Musterlösung]]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Cowsay | Cowsay oder &amp;quot;Wie macht die Kuh?&amp;quot;]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1. VL&lt;br /&gt;
 | etwas mehr Bildschirmausgabe&amp;lt;br&amp;gt;schöne Graphiken&lt;br /&gt;
 |&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Cowsay/Musterloesung | Musterlösung]]&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Kassenbon | Erstellen eines Kassenbons]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1. VL&lt;br /&gt;
 | Arbeiten mit Variablen&amp;lt;br&amp;gt;Fallunterscheidungen&lt;br /&gt;
 | &lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Kassenbon/Musterloesung | Musterlösung]]&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Javamenue | Ein eigenes Menü]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1. VL&lt;br /&gt;
 | Lesen von Benutzereingaben über die Konsole&amp;lt;br&amp;gt;Fallunterscheidungen&lt;br /&gt;
 | &lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Javamenue/Musterloesung | Musterlösung]]&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Glücksspiel | Glücksspiel]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1. VL&lt;br /&gt;
 | Anwenden von Fallunterscheidungen &lt;br /&gt;
 |&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Glücksspiel/Musterloesung | Musterlösung]]&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Arrays | Quickies Arrays]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2. VL&lt;br /&gt;
 | Verwenden von Arrays&lt;br /&gt;
 | &lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Arrays/Musterloesung | Musterlösung ]]&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Verschachtelte_Schleifen | 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;
 | &lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Verschachtelte Schleifen/Musterloesung|Musterlösung]]&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Primzahlenaufgabe | Primzahlen]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2-5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2. VL&lt;br /&gt;
 | Geschicktes Einsetzen von Schleifen und Arrays&lt;br /&gt;
 | &lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Primzahlenaufgabe/Musterloesung|Musterlösung]]&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Wetterstation | Wetterstation]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2. VL&lt;br /&gt;
 | Schleifen und Arrays&lt;br /&gt;
 | &lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Wetterstation/Musterloesung | Musterlösung]]&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Geometrie | Geometrie]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2. VL&lt;br /&gt;
 | Volumenberechnung&amp;lt;br&amp;gt;Lesen von Programmargumenten&lt;br /&gt;
 | &lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Geometrie/Musterloesung | Musterlösung]]&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Zweierpotenzen | Zweierpotenzen]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2. VL&lt;br /&gt;
 | Schleifen und Arrays&lt;br /&gt;
 | &lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Zweierpotenzen/Musterloesung | Musterlösung]]&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Schleifen_und_Modulo | Schleifen und Modulo]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2. VL&lt;br /&gt;
 | Verwendung von Schleifen&amp;lt;br&amp;gt;Benutzung des Modulo-Operators&lt;br /&gt;
 | &lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Schleifen_und_Modulo/Musterloesung | Musterlösung]]&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Methoden | Quickies zu Methoden]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Zusammenfassung der Vorlesung&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/MathematischeMethoden | Mathematische Methoden]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Schreiben eigener Methoden&lt;br /&gt;
 | &lt;br /&gt;
 | &amp;lt;!--[[Javakurs/Übungsaufgaben/MathematischeMethoden/Musterloesung | Musterlösung]]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Schaltjahr | Schaltjahr]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Schreiben von Methoden&amp;lt;br&amp;gt;Fallunterscheidungen&amp;lt;br&amp;gt;Benutzerinteraktion&lt;br /&gt;
 | &lt;br /&gt;
 |&amp;lt;!-- [[Javakurs/Übungsaufgaben/Schaltjahr/Musterloesung | Musterlösung]]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Crack_the_Password | Crack the Password]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2/3. VL&lt;br /&gt;
 | Passwörter knacken ;-)&lt;br /&gt;
 | &lt;br /&gt;
 |&amp;lt;!-- [[Javakurs/Übungsaufgaben/Crack_the_Password/Musterloesung | Musterlösung]]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Rekursion_vs._Iteration | Rekursion vs. Iteration]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Fehler finden&lt;br /&gt;
 | &lt;br /&gt;
 |&amp;lt;!-- [[Javakurs/Übungsaufgaben/Rekursion_vs._Iteration/Musterlösung | Mister Lösung]]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Lineare_Funktionen | Lineare Funktionen]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Verwendung von Methoden&amp;lt;br&amp;gt;Schleifen und Arrays&lt;br /&gt;
 | &lt;br /&gt;
 |&amp;lt;!-- [[Javakurs/Übungsaufgaben/Lineare_Funktionen/Musterlösung | Musterlösung]]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Fibonacci | Fibonaccizahlen]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Schleifen und Arrays&lt;br /&gt;
 | &lt;br /&gt;
 |&amp;lt;!-- [[Javakurs/Übungsaufgaben/Fibonacci/Musterlösung | Musterlösung]]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Brainfuck | Brainfuck vs Turingmaschine]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |6&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Arbeiten mit Arrays&amp;lt;br&amp;gt;Allgemeinwissen :-)&lt;br /&gt;
 | &lt;br /&gt;
 | &amp;lt;!--[[Javakurs/Übungsaufgaben/Brainfuck/Musterloesung | Musterlösung]]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Gau%C3%9F-Algorithmus | Gauß-Algorithmus]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |6&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Arrays und Matrizen&lt;br /&gt;
 | &lt;br /&gt;
 |&amp;lt;!-- [[Javakurs/Übungsaufgaben/Gau%C3%9F-Algorithmus/Musterloesung | Musterlösung]]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Zahlenumrechner | Zahlenumrechner]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Arbeiten mit Methoden&amp;lt;br&amp;gt;mathematisches Denken&lt;br /&gt;
 | &lt;br /&gt;
 | &amp;lt;!--[[Javakurs/Übungsaufgaben/Zahlenumrechner/Musterloesung | Musterlösung]]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Democracy | Der Fehler im System]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Fehler finden&lt;br /&gt;
 | &lt;br /&gt;
 | &amp;lt;!--[[Javakurs/Übungsaufgaben/Democracy/Musterlösung | Musterlösung]]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Quersumme | Spaß mit Quersummen]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5 - 7&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Benutzung des Modulo-Operators&amp;lt;br&amp;gt;Auslagern von Funktionalität in Methoden&lt;br /&gt;
 | &lt;br /&gt;
 |&amp;lt;!-- [[Javakurs/Übungsaufgaben/Quersumme/Musterloesung | Musterlösung]]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Appleman | Appleman und Fraktale]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |7&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Schleifen, Umgang mit Fließkommazahlen&lt;br /&gt;
 | &lt;br /&gt;
 |&amp;lt;!-- [[Javakurs/Übungsaufgaben/Appleman/Musterloesung | Musterlösung]]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/DiffusionLimitedAggregation | Diffusion Limited Aggregation]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |7&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | 2-dimensionale Arrays, Methoden, Schleifen, Grafische Ausgabe&lt;br /&gt;
 | &lt;br /&gt;
 |&amp;lt;!-- [[Javakurs/Übungsaufgaben/DiffusionLimitedAggregation/Musterlösung | Musterlösung]]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Palindrome | Palindrome]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4. VL&lt;br /&gt;
 | Entwurf von Programmen&amp;lt;br&amp;gt;Parameterübergabe beim Programmaufruf&lt;br /&gt;
 | &lt;br /&gt;
 |&amp;lt;!-- [[Javakurs/Übungsaufgaben/Palindrome/Musterloesung | Musterlösung]]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/DDDText | DDDText]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; | 3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; | 4. VL&lt;br /&gt;
 | Ausgabe von Buchstaben als 3D Buchstaben&lt;br /&gt;
 | &lt;br /&gt;
 |&amp;lt;!-- [[Javakurs/Übungsaufgaben/DDDText/Musterloesung | Musterlösung]]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Hangman | Hangman]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4. VL&lt;br /&gt;
 | Entwurf von Programmen&amp;lt;br&amp;gt;Arbeiten mit Methoden&lt;br /&gt;
 | &lt;br /&gt;
 | &amp;lt;!--[[Javakurs/Übungsaufgaben/Hangman/Musterloesung | Musterlösung]]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/SelectionSort | Selection Sort]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4. VL&lt;br /&gt;
 | Verstehen von komplexeren Algorithmen&amp;lt;br&amp;gt;Schleifen und Arrays&amp;lt;br&amp;gt;(Hilfs-)Methoden&lt;br /&gt;
 | &lt;br /&gt;
 | &amp;lt;!--[[Javakurs/Übungsaufgaben/SelectionSort/Musterloesung | Musterlösung]]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Cäsar-Chiffre | Chiffrierung/Dechiffrierung (Cäsar)]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |7&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4. VL&lt;br /&gt;
 | Eigenständiges Problemlösen. &amp;lt;br&amp;gt; Alle Konzepte des Kurses&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Abzaehlspiel | Abzählspiel]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |8&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4. VL&lt;br /&gt;
 | Analyse von Aufgabenstellungen&amp;lt;br&amp;gt;Entwurf eines komplexen Programms von Grund auf&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Rennschnecke | Schneckenrennen]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5. VL&lt;br /&gt;
 | Objektorientierte Programmierung&lt;br /&gt;
 | &lt;br /&gt;
 | &amp;lt;!--[[Javakurs/Übungsaufgaben/Rennschnecke/Musterloesung | Musterlösung]]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Studentendatenbank | Studentendatenbank]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5. VL&lt;br /&gt;
 | Vertiefung in objektorientiertes Programmieren&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Kassenbon++ | Erstellen eines Kassenbons mit Kapselung]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5. VL&lt;br /&gt;
 | Arbeiten mit Klassen&amp;lt;br&amp;gt;Kapselung&amp;lt;br&amp;gt;JavaAPI&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Multiarray| Mehrdimensionale Arrays]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5-9&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5. VL&lt;br /&gt;
 | Methoden, Schleifen, Arrays&amp;lt;br&amp;gt;Objektorientierung&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Canvas | Virtuelles Canvas mit 3D-Objekten]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |6. VL&lt;br /&gt;
 | Arbeiten mit Methoden&amp;lt;br&amp;gt;mathematisches Denken&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Doom | ASCII DOOM ]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |7-10&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |6. VL&lt;br /&gt;
 | Vertiefung in objektorientierte Programmierung&amp;lt;br&amp;gt;Benutzung der Java-API&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Textwordcount | Texte lesen und analysieren]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |7&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |6. VL&lt;br /&gt;
 | Eigenständiges Problemlösen &amp;lt;br&amp;gt; Goethe vs. Karl May&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/OOPStateCharts | StateCharts ]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |6. VL&lt;br /&gt;
 | Zustandsdiagramme (StateCharts) und OOP&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/AsciiCraft | ASCII Craft ]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5-10&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1-6. VL&lt;br /&gt;
 | CodeLesen, Zusammenfassung, [http://www.minecraft.net minecraft] in 2D und ASCII&lt;br /&gt;
 | &lt;br /&gt;
 | &amp;lt;!--&amp;lt;nicht anwendbar&amp;gt;--&amp;gt;&lt;br /&gt;
&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 weden 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;
&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 'bash' eingeben, man sieht dann auch in welchem Verzeichnis man gerade ist.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* [[Javakurs_2011/Feedback|Feedback zum Kurs 2011]]&lt;br /&gt;
* [[Javakurs_2010/Feedback|Feedback zum Kurs 2010]]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Java]]&lt;br /&gt;
[[Kategorie:Java_Aufgaben]]&lt;/div&gt;</summary>
		<author><name>Ugene</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.freitagsrunde.org/index.php?title=Javakurs/%C3%9Cbungsaufgaben&amp;diff=17660</id>
		<title>Javakurs/Übungsaufgaben</title>
		<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/index.php?title=Javakurs/%C3%9Cbungsaufgaben&amp;diff=17660"/>
		<updated>2012-03-06T13:51:18Z</updated>

		<summary type="html">&lt;p&gt;Ugene: /* 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. Einen kleinen Überblick zu den Schwierigkeitsgraden findet ihr ganz unten auf dieser Seite.&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;
== So könnt ihr Tutoren rufen ==&lt;br /&gt;
Braucht ihr Hilfe, scheut euch nicht einfach einen Tutor anzusprechen. Sollte gerade alle Tutoren belegt sein oder ihr euch nicht trauen, einen Tutor direkt anzusprechen, könnt ihr das hier verlinkte Tool nutzen!&lt;br /&gt;
&lt;br /&gt;
* [https://freitagsrunde.org/~timmeey/callatutor106 Tutor rufen im Tel 106]&lt;br /&gt;
&lt;br /&gt;
* [https://freitagsrunde.org/~timmeey/callatutor206 Tutor rufen im Tel 206]&lt;br /&gt;
&lt;br /&gt;
(basierend auf [https://freitagsrunde.org/~timmeey/callatutor.zip dieser &amp;quot;Software&amp;quot;])&lt;br /&gt;
&lt;br /&gt;
== Die Aufgaben ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; 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;
 !Überprüfer(Status)&lt;br /&gt;
 !Musterlösung&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Von der Console zum HelloWorld | Vom Arbeiten mit der Konsole bis &amp;quot;Hallo Welt&amp;quot;]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1. VL&lt;br /&gt;
 | Einfaches Arbeiten mit der Kommandozeile &amp;lt;br&amp;gt; Kompilieren und Ausführen von Javacode&lt;br /&gt;
 | &lt;br /&gt;
 |&amp;lt;!--[[Javakurs/Übungsaufgaben/Von der Console zum HelloWorld/Musterloesung | Musterlösung]]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Variablen_und_Zuweisungen | Variablen und Zuweisungen]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1. VL&lt;br /&gt;
 | Deklarieren und definieren von Variablen&amp;lt;br&amp;gt;Grundlegende Regeln der Codeformatierung&lt;br /&gt;
 | &lt;br /&gt;
 |&amp;lt;!-- [[Javakurs/Übungsaufgaben/Variablen_und_Zuweisungen/Musterloesung | Musterlösung]]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Cowsay | Cowsay oder &amp;quot;Wie macht die Kuh?&amp;quot;]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1. VL&lt;br /&gt;
 | etwas mehr Bildschirmausgabe&amp;lt;br&amp;gt;schöne Graphiken&lt;br /&gt;
 |&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Cowsay/Musterloesung | Musterlösung]]&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Kassenbon | Erstellen eines Kassenbons]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1. VL&lt;br /&gt;
 | Arbeiten mit Variablen&amp;lt;br&amp;gt;Fallunterscheidungen&lt;br /&gt;
 | &lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Kassenbon/Musterloesung | Musterlösung]]&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Javamenue | Ein eigenes Menü]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1. VL&lt;br /&gt;
 | Lesen von Benutzereingaben über die Konsole&amp;lt;br&amp;gt;Fallunterscheidungen&lt;br /&gt;
 | &lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Javamenue/Musterloesung | Musterlösung]]&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Glücksspiel | Glücksspiel]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1. VL&lt;br /&gt;
 | Anwenden von Fallunterscheidungen &lt;br /&gt;
 |&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Glücksspiel/Musterloesung | Musterlösung]]&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Arrays | Quickies Arrays]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2. VL&lt;br /&gt;
 | Verwenden von Arrays&lt;br /&gt;
 | &lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Arrays/Musterloesung | Musterlösung ]]&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Verschachtelte_Schleifen | 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;
 | &lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Verschachtelte Schleifen/Musterloesung|Musterlösung]]&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Primzahlenaufgabe | Primzahlen]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2-5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2. VL&lt;br /&gt;
 | Geschicktes Einsetzen von Schleifen und Arrays&lt;br /&gt;
 | &lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Primzahlenaufgabe/Musterloesung|Musterlösung]]&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Wetterstation | Wetterstation]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2. VL&lt;br /&gt;
 | Schleifen und Arrays&lt;br /&gt;
 | &lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Wetterstation/Musterloesung | Musterlösung]]&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Geometrie | Geometrie]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2. VL&lt;br /&gt;
 | Volumenberechnung&amp;lt;br&amp;gt;Lesen von Programmargumenten&lt;br /&gt;
 | &lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Geometrie/Musterloesung | Musterlösung]]&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Zweierpotenzen | Zweierpotenzen]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2. VL&lt;br /&gt;
 | Schleifen und Arrays&lt;br /&gt;
 | &lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Zweierpotenzen/Musterloesung | Musterlösung]]&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Schleifen_und_Modulo | Schleifen und Modulo]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2. VL&lt;br /&gt;
 | Verwendung von Schleifen&amp;lt;br&amp;gt;Benutzung des Modulo-Operators&lt;br /&gt;
 | &lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Schleifen_und_Modulo/Musterloesung | Musterlösung]]&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Methoden | Quickies zu Methoden]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Zusammenfassung der Vorlesung&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/MathematischeMethoden | Mathematische Methoden]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Schreiben eigener Methoden&lt;br /&gt;
 | &lt;br /&gt;
 | &amp;lt;!--[[Javakurs/Übungsaufgaben/MathematischeMethoden/Musterloesung | Musterlösung]]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Schaltjahr | Schaltjahr]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Schreiben von Methoden&amp;lt;br&amp;gt;Fallunterscheidungen&amp;lt;br&amp;gt;Benutzerinteraktion&lt;br /&gt;
 | &lt;br /&gt;
 |&amp;lt;!-- [[Javakurs/Übungsaufgaben/Schaltjahr/Musterloesung | Musterlösung]]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Crack_the_Password | Crack the Password]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2/3. VL&lt;br /&gt;
 | Passwörter knacken ;-)&lt;br /&gt;
 | &lt;br /&gt;
 |&amp;lt;!-- [[Javakurs/Übungsaufgaben/Crack_the_Password/Musterloesung | Musterlösung]]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Rekursion_vs._Iteration | Rekursion vs. Iteration]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Fehler finden&lt;br /&gt;
 | &lt;br /&gt;
 |&amp;lt;!-- [[Javakurs/Übungsaufgaben/Rekursion_vs._Iteration/Musterloesung | Mister Lösung]]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Lineare_Funktionen | Lineare Funktionen]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Verwendung von Methoden&amp;lt;br&amp;gt;Schleifen und Arrays&lt;br /&gt;
 | &lt;br /&gt;
 |&amp;lt;!-- [[Javakurs/Übungsaufgaben/Lineare_Funktionen/Musterloesung | Musterlösung]]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Fibonacci | Fibonaccizahlen]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Schleifen und Arrays&lt;br /&gt;
 | &lt;br /&gt;
 |&amp;lt;!-- [[Javakurs/Übungsaufgaben/Fibonacci/Musterloesung | Musterlösung]]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Brainfuck | Brainfuck vs Turingmaschine]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |6&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Arbeiten mit Arrays&amp;lt;br&amp;gt;Allgemeinwissen :-)&lt;br /&gt;
 | &lt;br /&gt;
 | &amp;lt;!--[[Javakurs/Übungsaufgaben/Brainfuck/Musterloesung | Musterlösung]]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Gau%C3%9F-Algorithmus | Gauß-Algorithmus]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |6&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Arrays und Matrizen&lt;br /&gt;
 | &lt;br /&gt;
 |&amp;lt;!-- [[Javakurs/Übungsaufgaben/Gau%C3%9F-Algorithmus/Musterloesung | Musterlösung]]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Zahlenumrechner | Zahlenumrechner]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Arbeiten mit Methoden&amp;lt;br&amp;gt;mathematisches Denken&lt;br /&gt;
 | &lt;br /&gt;
 | &amp;lt;!--[[Javakurs/Übungsaufgaben/Zahlenumrechner/Musterloesung | Musterlösung]]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Democracy | Der Fehler im System]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Fehler finden&lt;br /&gt;
 | &lt;br /&gt;
 | &amp;lt;!--[[Javakurs/Übungsaufgaben/Democracy/Musterloesung | Musterlösung]]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Quersumme | Spaß mit Quersummen]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5 - 7&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Benutzung des Modulo-Operators&amp;lt;br&amp;gt;Auslagern von Funktionalität in Methoden&lt;br /&gt;
 | &lt;br /&gt;
 |&amp;lt;!-- [[Javakurs/Übungsaufgaben/Quersumme/Musterloesung | Musterlösung]]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Appleman | Appleman und Fraktale]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |7&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Schleifen, Umgang mit Fließkommazahlen&lt;br /&gt;
 | &lt;br /&gt;
 |&amp;lt;!-- [[Javakurs/Übungsaufgaben/Appleman/Musterloesung | Musterlösung]]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/DiffusionLimitedAggregation | Diffusion Limited Aggregation]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |7&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | 2-dimensionale Arrays, Methoden, Schleifen, Grafische Ausgabe&lt;br /&gt;
 | &lt;br /&gt;
 |&amp;lt;!-- [[Javakurs/Übungsaufgaben/DiffusionLimitedAggregation/Musterloesung | Musterlösung]]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Palindrome | Palindrome]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4. VL&lt;br /&gt;
 | Entwurf von Programmen&amp;lt;br&amp;gt;Parameterübergabe beim Programmaufruf&lt;br /&gt;
 | &lt;br /&gt;
 |&amp;lt;!-- [[Javakurs/Übungsaufgaben/Palindrome/Musterloesung | Musterlösung]]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/DDDText | DDDText]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; | 3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; | 4. VL&lt;br /&gt;
 | Ausgabe von Buchstaben als 3D Buchstaben&lt;br /&gt;
 | &lt;br /&gt;
 |&amp;lt;!-- [[Javakurs/Übungsaufgaben/DDDText/Musterloesung | Musterlösung]]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Hangman | Hangman]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4. VL&lt;br /&gt;
 | Entwurf von Programmen&amp;lt;br&amp;gt;Arbeiten mit Methoden&lt;br /&gt;
 | &lt;br /&gt;
 | &amp;lt;!--[[Javakurs/Übungsaufgaben/Hangman/Musterloesung | Musterlösung]]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/SelectionSort | Selection Sort]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4. VL&lt;br /&gt;
 | Verstehen von komplexeren Algorithmen&amp;lt;br&amp;gt;Schleifen und Arrays&amp;lt;br&amp;gt;(Hilfs-)Methoden&lt;br /&gt;
 | &lt;br /&gt;
 | &amp;lt;!--[[Javakurs/Übungsaufgaben/SelectionSort/Musterloesung | Musterlösung]]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Cäsar-Chiffre | Chiffrierung/Dechiffrierung (Cäsar)]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |7&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4. VL&lt;br /&gt;
 | Eigenständiges Problemlösen. &amp;lt;br&amp;gt; Alle Konzepte des Kurses&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Abzaehlspiel | Abzählspiel]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |8&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4. VL&lt;br /&gt;
 | Analyse von Aufgabenstellungen&amp;lt;br&amp;gt;Entwurf eines komplexen Programms von Grund auf&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Rennschnecke | Schneckenrennen]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5. VL&lt;br /&gt;
 | Objektorientierte Programmierung&lt;br /&gt;
 | &lt;br /&gt;
 | &amp;lt;!--[[Javakurs/Übungsaufgaben/Rennschnecke/Musterloesung | Musterlösung]]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Studentendatenbank | Studentendatenbank]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5. VL&lt;br /&gt;
 | Vertiefung in objektorientiertes Programmieren&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Kassenbon++ | Erstellen eines Kassenbons mit Kapselung]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5. VL&lt;br /&gt;
 | Arbeiten mit Klassen&amp;lt;br&amp;gt;Kapselung&amp;lt;br&amp;gt;JavaAPI&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Multiarray| Mehrdimensionale Arrays]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5-9&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5. VL&lt;br /&gt;
 | Methoden, Schleifen, Arrays&amp;lt;br&amp;gt;Objektorientierung&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Canvas | Virtuelles Canvas mit 3D-Objekten]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |6. VL&lt;br /&gt;
 | Arbeiten mit Methoden&amp;lt;br&amp;gt;mathematisches Denken&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Doom | ASCII DOOM ]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |7-10&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |6. VL&lt;br /&gt;
 | Vertiefung in objektorientierte Programmierung&amp;lt;br&amp;gt;Benutzung der Java-API&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Textwordcount | Texte lesen und analysieren]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |7&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |6. VL&lt;br /&gt;
 | Eigenständiges Problemlösen &amp;lt;br&amp;gt; Goethe vs. Karl May&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/OOPStateCharts | StateCharts ]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |6. VL&lt;br /&gt;
 | Zustandsdiagramme (StateCharts) und OOP&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/AsciiCraft | ASCII Craft ]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5-10&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1-6. VL&lt;br /&gt;
 | CodeLesen, Zusammenfassung, [http://www.minecraft.net minecraft] in 2D und ASCII&lt;br /&gt;
 | &lt;br /&gt;
 | &amp;lt;!--&amp;lt;nicht anwendbar&amp;gt;--&amp;gt;&lt;br /&gt;
&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 weden 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;
&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 'bash' eingeben, man sieht dann auch in welchem Verzeichnis man gerade ist.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* [[Javakurs_2011/Feedback|Feedback zum Kurs 2011]]&lt;br /&gt;
* [[Javakurs_2010/Feedback|Feedback zum Kurs 2010]]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Java]]&lt;br /&gt;
[[Kategorie:Java_Aufgaben]]&lt;/div&gt;</summary>
		<author><name>Ugene</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.freitagsrunde.org/index.php?title=Javakurs/%C3%9Cbungsaufgaben&amp;diff=17659</id>
		<title>Javakurs/Übungsaufgaben</title>
		<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/index.php?title=Javakurs/%C3%9Cbungsaufgaben&amp;diff=17659"/>
		<updated>2012-03-06T13:43:41Z</updated>

		<summary type="html">&lt;p&gt;Ugene: /* 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. Einen kleinen Überblick zu den Schwierigkeitsgraden findet ihr ganz unten auf dieser Seite.&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;
== So könnt ihr Tutoren rufen ==&lt;br /&gt;
Braucht ihr Hilfe, scheut euch nicht einfach einen Tutor anzusprechen. Sollte gerade alle Tutoren belegt sein oder ihr euch nicht trauen, einen Tutor direkt anzusprechen, könnt ihr das hier verlinkte Tool nutzen!&lt;br /&gt;
&lt;br /&gt;
* [https://freitagsrunde.org/~timmeey/callatutor106 Tutor rufen im Tel 106]&lt;br /&gt;
&lt;br /&gt;
* [https://freitagsrunde.org/~timmeey/callatutor206 Tutor rufen im Tel 206]&lt;br /&gt;
&lt;br /&gt;
(basierend auf [https://freitagsrunde.org/~timmeey/callatutor.zip dieser &amp;quot;Software&amp;quot;])&lt;br /&gt;
&lt;br /&gt;
== Die Aufgaben ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; 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;
 !Überprüfer(Status)&lt;br /&gt;
 !Musterlösung&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Von der Console zum HelloWorld | Vom Arbeiten mit der Konsole bis &amp;quot;Hallo Welt&amp;quot;]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1. VL&lt;br /&gt;
 | Einfaches Arbeiten mit der Kommandozeile &amp;lt;br&amp;gt; Kompilieren und Ausführen von Javacode&lt;br /&gt;
 | &lt;br /&gt;
 |&amp;lt;!--[[Javakurs/Übungsaufgaben/Von der Console zum HelloWorld/Musterloesung | Musterlösung]]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Variablen_und_Zuweisungen | Variablen und Zuweisungen]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1. VL&lt;br /&gt;
 | Deklarieren und definieren von Variablen&amp;lt;br&amp;gt;Grundlegende Regeln der Codeformatierung&lt;br /&gt;
 | &lt;br /&gt;
 |&amp;lt;!-- [[Javakurs/Übungsaufgaben/Variablen_und_Zuweisungen/Musterloesung | Musterlösung]]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Cowsay | Cowsay oder &amp;quot;Wie macht die Kuh?&amp;quot;]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1. VL&lt;br /&gt;
 | etwas mehr Bildschirmausgabe&amp;lt;br&amp;gt;schöne Graphiken&lt;br /&gt;
 |&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Cowsay/Musterloesung | Musterlösung]]&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Kassenbon | Erstellen eines Kassenbons]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1. VL&lt;br /&gt;
 | Arbeiten mit Variablen&amp;lt;br&amp;gt;Fallunterscheidungen&lt;br /&gt;
 | &lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Kassenbon/Musterloesung | Musterlösung]]&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Javamenue | Ein eigenes Menü]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1. VL&lt;br /&gt;
 | Lesen von Benutzereingaben über die Konsole&amp;lt;br&amp;gt;Fallunterscheidungen&lt;br /&gt;
 | &lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Javamenue/Musterloesung | Musterlösung]]&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Glücksspiel | Glücksspiel]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1. VL&lt;br /&gt;
 | Anwenden von Fallunterscheidungen &lt;br /&gt;
 |&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Glücksspiel/Musterloesung | Musterlösung]]&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Arrays | Quickies Arrays]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2. VL&lt;br /&gt;
 | Verwenden von Arrays&lt;br /&gt;
 | &lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Arrays/Musterloesung | Musterlösung ]]&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Verschachtelte_Schleifen | 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;
 | &lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Verschachtelte Schleifen/Musterloesung|Musterlösung]]&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Primzahlenaufgabe | Primzahlen]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2-5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2. VL&lt;br /&gt;
 | Geschicktes Einsetzen von Schleifen und Arrays&lt;br /&gt;
 | &lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Primzahlenaufgabe/Musterloesung|Musterlösung]]&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Wetterstation | Wetterstation]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2. VL&lt;br /&gt;
 | Schleifen und Arrays&lt;br /&gt;
 | &lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Wetterstation/Musterloesung | Musterlösung]]&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Geometrie | Geometrie]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2. VL&lt;br /&gt;
 | Volumenberechnung&amp;lt;br&amp;gt;Lesen von Programmargumenten&lt;br /&gt;
 | &lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Wetterstation/Musterloesung | Musterlösung]]&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Zweierpotenzen | Zweierpotenzen]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2. VL&lt;br /&gt;
 | Schleifen und Arrays&lt;br /&gt;
 | &lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Zweierpotenzen/Musterloesung | Musterlösung]]&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Schleifen_und_Modulo | Schleifen und Modulo]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2. VL&lt;br /&gt;
 | Verwendung von Schleifen&amp;lt;br&amp;gt;Benutzung des Modulo-Operators&lt;br /&gt;
 | &lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Schleifen_und_Modulo/Musterloesung | Musterlösung]]&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Methoden | Quickies zu Methoden]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Zusammenfassung der Vorlesung&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/MathematischeMethoden | Mathematische Methoden]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Schreiben eigener Methoden&lt;br /&gt;
 | &lt;br /&gt;
 | &amp;lt;!--[[Javakurs/Übungsaufgaben/MathematischeMethoden/Musterloesung | Musterlösung]]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Schaltjahr | Schaltjahr]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Schreiben von Methoden&amp;lt;br&amp;gt;Fallunterscheidungen&amp;lt;br&amp;gt;Benutzerinteraktion&lt;br /&gt;
 | &lt;br /&gt;
 |&amp;lt;!-- [[Javakurs/Übungsaufgaben/Schaltjahr/Musterloesung | Musterlösung]]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Crack_the_Password | Crack the Password]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2/3. VL&lt;br /&gt;
 | Passwörter knacken ;-)&lt;br /&gt;
 | &lt;br /&gt;
 |&amp;lt;!-- [[Javakurs/Übungsaufgaben/Crack_the_Password/Musterloesung | Musterlösung]]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Rekursion_vs._Iteration | Rekursion vs. Iteration]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Fehler finden&lt;br /&gt;
 | &lt;br /&gt;
 |&amp;lt;!-- [[Javakurs/Übungsaufgaben/Rekursion_vs._Iteration/Musterloesung | Mister Lösung]]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Lineare_Funktionen | Lineare Funktionen]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Verwendung von Methoden&amp;lt;br&amp;gt;Schleifen und Arrays&lt;br /&gt;
 | &lt;br /&gt;
 |&amp;lt;!-- [[Javakurs/Übungsaufgaben/Lineare_Funktionen/Musterloesung | Musterlösung]]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Fibonacci | Fibonaccizahlen]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Schleifen und Arrays&lt;br /&gt;
 | &lt;br /&gt;
 |&amp;lt;!-- [[Javakurs/Übungsaufgaben/Fibonacci/Musterloesung | Musterlösung]]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Brainfuck | Brainfuck vs Turingmaschine]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |6&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Arbeiten mit Arrays&amp;lt;br&amp;gt;Allgemeinwissen :-)&lt;br /&gt;
 | &lt;br /&gt;
 | &amp;lt;!--[[Javakurs/Übungsaufgaben/Brainfuck/Musterloesung | Musterlösung]]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Gau%C3%9F-Algorithmus | Gauß-Algorithmus]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |6&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Arrays und Matrizen&lt;br /&gt;
 | &lt;br /&gt;
 |&amp;lt;!-- [[Javakurs/Übungsaufgaben/Gau%C3%9F-Algorithmus/Musterloesung | Musterlösung]]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Zahlenumrechner | Zahlenumrechner]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Arbeiten mit Methoden&amp;lt;br&amp;gt;mathematisches Denken&lt;br /&gt;
 | &lt;br /&gt;
 | &amp;lt;!--[[Javakurs/Übungsaufgaben/Zahlenumrechner/Musterloesung | Musterlösung]]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Democracy | Der Fehler im System]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Fehler finden&lt;br /&gt;
 | &lt;br /&gt;
 | &amp;lt;!--[[Javakurs/Übungsaufgaben/Democracy/Musterloesung | Musterlösung]]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Quersumme | Spaß mit Quersummen]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5 - 7&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Benutzung des Modulo-Operators&amp;lt;br&amp;gt;Auslagern von Funktionalität in Methoden&lt;br /&gt;
 | &lt;br /&gt;
 |&amp;lt;!-- [[Javakurs/Übungsaufgaben/Quersumme/Musterloesung | Musterlösung]]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Appleman | Appleman und Fraktale]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |7&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Schleifen, Umgang mit Fließkommazahlen&lt;br /&gt;
 | &lt;br /&gt;
 |&amp;lt;!-- [[Javakurs/Übungsaufgaben/Appleman/Musterloesung | Musterlösung]]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/DiffusionLimitedAggregation | Diffusion Limited Aggregation]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |7&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | 2-dimensionale Arrays, Methoden, Schleifen, Grafische Ausgabe&lt;br /&gt;
 | &lt;br /&gt;
 |&amp;lt;!-- [[Javakurs/Übungsaufgaben/DiffusionLimitedAggregation/Musterloesung | Musterlösung]]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Palindrome | Palindrome]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4. VL&lt;br /&gt;
 | Entwurf von Programmen&amp;lt;br&amp;gt;Parameterübergabe beim Programmaufruf&lt;br /&gt;
 | &lt;br /&gt;
 |&amp;lt;!-- [[Javakurs/Übungsaufgaben/Palindrome/Musterloesung | Musterlösung]]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/DDDText | DDDText]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; | 3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; | 4. VL&lt;br /&gt;
 | Ausgabe von Buchstaben als 3D Buchstaben&lt;br /&gt;
 | &lt;br /&gt;
 |&amp;lt;!-- [[Javakurs/Übungsaufgaben/DDDText/Musterloesung | Musterlösung]]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Hangman | Hangman]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4. VL&lt;br /&gt;
 | Entwurf von Programmen&amp;lt;br&amp;gt;Arbeiten mit Methoden&lt;br /&gt;
 | &lt;br /&gt;
 | &amp;lt;!--[[Javakurs/Übungsaufgaben/Hangman/Musterloesung | Musterlösung]]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/SelectionSort | Selection Sort]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4. VL&lt;br /&gt;
 | Verstehen von komplexeren Algorithmen&amp;lt;br&amp;gt;Schleifen und Arrays&amp;lt;br&amp;gt;(Hilfs-)Methoden&lt;br /&gt;
 | &lt;br /&gt;
 | &amp;lt;!--[[Javakurs/Übungsaufgaben/SelectionSort/Musterloesung | Musterlösung]]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Cäsar-Chiffre | Chiffrierung/Dechiffrierung (Cäsar)]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |7&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4. VL&lt;br /&gt;
 | Eigenständiges Problemlösen. &amp;lt;br&amp;gt; Alle Konzepte des Kurses&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Abzaehlspiel | Abzählspiel]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |8&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4. VL&lt;br /&gt;
 | Analyse von Aufgabenstellungen&amp;lt;br&amp;gt;Entwurf eines komplexen Programms von Grund auf&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Rennschnecke | Schneckenrennen]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5. VL&lt;br /&gt;
 | Objektorientierte Programmierung&lt;br /&gt;
 | &lt;br /&gt;
 | &amp;lt;!--[[Javakurs/Übungsaufgaben/Rennschnecke/Musterloesung | Musterlösung]]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Studentendatenbank | Studentendatenbank]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5. VL&lt;br /&gt;
 | Vertiefung in objektorientiertes Programmieren&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Kassenbon++ | Erstellen eines Kassenbons mit Kapselung]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5. VL&lt;br /&gt;
 | Arbeiten mit Klassen&amp;lt;br&amp;gt;Kapselung&amp;lt;br&amp;gt;JavaAPI&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Multiarray| Mehrdimensionale Arrays]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5-9&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5. VL&lt;br /&gt;
 | Methoden, Schleifen, Arrays&amp;lt;br&amp;gt;Objektorientierung&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Canvas | Virtuelles Canvas mit 3D-Objekten]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |6. VL&lt;br /&gt;
 | Arbeiten mit Methoden&amp;lt;br&amp;gt;mathematisches Denken&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Doom | ASCII DOOM ]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |7-10&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |6. VL&lt;br /&gt;
 | Vertiefung in objektorientierte Programmierung&amp;lt;br&amp;gt;Benutzung der Java-API&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/Textwordcount | Texte lesen und analysieren]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |7&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |6. VL&lt;br /&gt;
 | Eigenständiges Problemlösen &amp;lt;br&amp;gt; Goethe vs. Karl May&lt;br /&gt;
 | &lt;br /&gt;
 |&lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/OOPStateCharts | StateCharts ]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |6. VL&lt;br /&gt;
 | Zustandsdiagramme (StateCharts) und OOP&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Javakurs/Übungsaufgaben/AsciiCraft | ASCII Craft ]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5-10&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1-6. VL&lt;br /&gt;
 | CodeLesen, Zusammenfassung, [http://www.minecraft.net minecraft] in 2D und ASCII&lt;br /&gt;
 | &lt;br /&gt;
 | &amp;lt;!--&amp;lt;nicht anwendbar&amp;gt;--&amp;gt;&lt;br /&gt;
&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 weden 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;
&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 'bash' eingeben, man sieht dann auch in welchem Verzeichnis man gerade ist.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* [[Javakurs_2011/Feedback|Feedback zum Kurs 2011]]&lt;br /&gt;
* [[Javakurs_2010/Feedback|Feedback zum Kurs 2010]]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Java]]&lt;br /&gt;
[[Kategorie:Java_Aufgaben]]&lt;/div&gt;</summary>
		<author><name>Ugene</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.freitagsrunde.org/index.php?title=Javakurs/%C3%9Cbungsaufgaben/Kassenbon/Musterloesung&amp;diff=17658</id>
		<title>Javakurs/Übungsaufgaben/Kassenbon/Musterloesung</title>
		<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/index.php?title=Javakurs/%C3%9Cbungsaufgaben/Kassenbon/Musterloesung&amp;diff=17658"/>
		<updated>2012-03-06T13:37:14Z</updated>

		<summary type="html">&lt;p&gt;Ugene: Die Seite wurde neu angelegt: „'''Hinweis:''' Die Musterlösung kann von eurer Lösung abweichen, da es immer mehrere Varianten gibt ein Problem zu lösen. Im Zweifelsfall Fragt einen Tutor.  =…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Hinweis:''' Die Musterlösung kann von eurer Lösung abweichen, da es immer mehrere Varianten gibt ein Problem zu lösen. Im Zweifelsfall Fragt einen Tutor.&lt;br /&gt;
&lt;br /&gt;
== Vorgabe Euro.java ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  public class Euro {&lt;br /&gt;
    &lt;br /&gt;
    //rundet einen double-Wert auf 2 Nachkommastellen, konvertiert ihn in einen String gegebener Breite (inklusive fuehrender Leerzeichen) und fuegt ein Euro-Zeichen an.&lt;br /&gt;
    public static String format(double value, int width){&lt;br /&gt;
    &lt;br /&gt;
    	String blanks= &amp;quot;             &amp;quot;;&lt;br /&gt;
            &lt;br /&gt;
        String s= Double.toString(value);&lt;br /&gt;
        &lt;br /&gt;
        int dotPosition= s.indexOf('.');&lt;br /&gt;
            &lt;br /&gt;
        s = blanks.substring(0, width-(dotPosition+2)) + &lt;br /&gt;
            (int)value + &amp;quot;.&amp;quot; + (int)(value * 100)%100;&lt;br /&gt;
        &lt;br /&gt;
        //(int)(value * 100)%100 = 0 fuer Zahlen der Form X.00&lt;br /&gt;
        // --&amp;gt; Es muss noch eine Null angehangen werden&lt;br /&gt;
        if(0 == (int)(value * 100)%100){&lt;br /&gt;
            s += &amp;quot;0&amp;quot;;&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        s +=  &amp;quot; EUR&amp;quot;;&lt;br /&gt;
    &lt;br /&gt;
        return s;&lt;br /&gt;
    }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Lösung Kassenbon ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 public class Kassenbon {&lt;br /&gt;
    public static void main(String[] args){&lt;br /&gt;
        //Einzelpreise der Waren&lt;br /&gt;
        double wurst = 4.2;&lt;br /&gt;
        double kaese = 2.3;&lt;br /&gt;
        double brot = 2.1;&lt;br /&gt;
        double dvd = 12.0;&lt;br /&gt;
        &lt;br /&gt;
        //Anzahl der Waren&lt;br /&gt;
        int anzWurst = 1;&lt;br /&gt;
        int anzKaese = 1;&lt;br /&gt;
        int anzBrot = 1;&lt;br /&gt;
        int anzDvd = 2;&lt;br /&gt;
        &lt;br /&gt;
        //Inhalt der Brieftasche&lt;br /&gt;
        double brieftasche = 50.0;&lt;br /&gt;
        &lt;br /&gt;
        //Summe gekaufter Waren&lt;br /&gt;
        double summe = 0;&lt;br /&gt;
        summe = summe + anzWurst * wurst;&lt;br /&gt;
        summe = summe + anzKaese * kaese;&lt;br /&gt;
        summe = summe + anzBrot * brot;&lt;br /&gt;
        summe = summe + anzDvd * dvd;&lt;br /&gt;
        &lt;br /&gt;
        if(summe &amp;gt; brieftasche){&lt;br /&gt;
            System.out.println(&amp;quot;Sie haben nicht genug Geld in Ihrer Brieftasche&amp;quot;);&lt;br /&gt;
        } else {&lt;br /&gt;
            &lt;br /&gt;
            System.out.println(&amp;quot;Wurst\t &amp;quot;+ anzWurst + &amp;quot; x  &amp;quot; + Euro.format(wurst, 3));&lt;br /&gt;
            System.out.println(&amp;quot;\t\t\t &amp;quot; + Euro.format(anzWurst * wurst, 3));&lt;br /&gt;
            &lt;br /&gt;
            System.out.println(&amp;quot;Käse\t &amp;quot; + anzKaese + &amp;quot; x  &amp;quot; +  Euro.format(kaese,3));&lt;br /&gt;
            System.out.println(&amp;quot;\t\t\t &amp;quot; + Euro.format(anzKaese * kaese, 3));&lt;br /&gt;
            &lt;br /&gt;
            System.out.println(&amp;quot;Brot\t &amp;quot; + anzBrot  + &amp;quot; x  &amp;quot; + Euro.format(brot, 3));&lt;br /&gt;
            System.out.println(&amp;quot;\t\t\t &amp;quot; + Euro.format(anzBrot * brot, 3));&lt;br /&gt;
            &lt;br /&gt;
            System.out.println(&amp;quot;DVD\t &amp;quot; + anzDvd + &amp;quot; x &amp;quot; + Euro.format(dvd, 4));&lt;br /&gt;
            System.out.println(&amp;quot;\t\t\t&amp;quot; + Euro.format(anzDvd * dvd, 4));&lt;br /&gt;
            &lt;br /&gt;
            System.out.println(&amp;quot;_________________________________&amp;quot;);&lt;br /&gt;
            &lt;br /&gt;
            System.out.println(&amp;quot;Gesamt\t\t\t&amp;quot; + Euro.format(summe, 4));&lt;br /&gt;
            System.out.println(&amp;quot;Gegeben\t\t\t&amp;quot; + Euro.format(brieftasche, 4));&lt;br /&gt;
            System.out.println();&lt;br /&gt;
            System.out.println(&amp;quot;Zurück\t\t\t&amp;quot; + Euro.format(brieftasche-summe, 4));&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
 }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Lösung Kassenbon + automatischer Einkauf ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 public class KassenbonAutomatik {&lt;br /&gt;
    public static void main(String[] args){&lt;br /&gt;
        //Einzelpreise der Waren&lt;br /&gt;
        double wurst = 4.2;&lt;br /&gt;
        &lt;br /&gt;
        //Anzahl der Waren&lt;br /&gt;
        int anzWurst = 0;&lt;br /&gt;
        &lt;br /&gt;
        //Inhalt der Brieftasche&lt;br /&gt;
        double brieftasche = 50.0;&lt;br /&gt;
        &lt;br /&gt;
        //Summe gekaufter Waren&lt;br /&gt;
        double summe = 0;&lt;br /&gt;
        &lt;br /&gt;
        if(summe &amp;gt; brieftasche){&lt;br /&gt;
            System.out.println(&amp;quot;Sie haben nicht genug Geld in Ihrer Brieftasche&amp;quot;);&lt;br /&gt;
        } else {&lt;br /&gt;
            &lt;br /&gt;
            if(summe+wurst &amp;lt; brieftasche){&lt;br /&gt;
                summe = summe + wurst;&lt;br /&gt;
                anzWurst = anzWurst + 1;&lt;br /&gt;
            }&lt;br /&gt;
            &lt;br /&gt;
            if(summe+wurst &amp;lt; brieftasche){&lt;br /&gt;
                summe = summe + wurst;&lt;br /&gt;
                anzWurst = anzWurst + 1;&lt;br /&gt;
            }&lt;br /&gt;
            &lt;br /&gt;
            if(summe+wurst &amp;lt; brieftasche){&lt;br /&gt;
                summe = summe + wurst;&lt;br /&gt;
                anzWurst = anzWurst + 1;&lt;br /&gt;
            }&lt;br /&gt;
            &lt;br /&gt;
            if(summe+wurst &amp;lt; brieftasche){&lt;br /&gt;
                summe = summe + wurst;&lt;br /&gt;
                anzWurst = anzWurst + 1;&lt;br /&gt;
            }&lt;br /&gt;
            &lt;br /&gt;
            if(summe+wurst &amp;lt; brieftasche){&lt;br /&gt;
                summe = summe + wurst;&lt;br /&gt;
                anzWurst = anzWurst + 1;&lt;br /&gt;
            }&lt;br /&gt;
            &lt;br /&gt;
            if(summe+wurst &amp;lt; brieftasche){&lt;br /&gt;
                summe = summe + wurst;&lt;br /&gt;
                anzWurst = anzWurst + 1;&lt;br /&gt;
            }&lt;br /&gt;
            &lt;br /&gt;
            if(summe+wurst &amp;lt; brieftasche){&lt;br /&gt;
                summe = summe + wurst;&lt;br /&gt;
                anzWurst = anzWurst + 1;&lt;br /&gt;
            }&lt;br /&gt;
            &lt;br /&gt;
            if(summe+wurst &amp;lt; brieftasche){&lt;br /&gt;
                summe = summe + wurst;&lt;br /&gt;
                anzWurst = anzWurst + 1;&lt;br /&gt;
            }&lt;br /&gt;
            &lt;br /&gt;
            if(summe+wurst &amp;lt; brieftasche){&lt;br /&gt;
                summe = summe + wurst;&lt;br /&gt;
                anzWurst = anzWurst + 1;&lt;br /&gt;
            }&lt;br /&gt;
            &lt;br /&gt;
            if(summe+wurst &amp;lt; brieftasche){&lt;br /&gt;
                summe = summe + wurst;&lt;br /&gt;
                anzWurst = anzWurst + 1;&lt;br /&gt;
            }&lt;br /&gt;
            &lt;br /&gt;
            if(summe+wurst &amp;lt; brieftasche){&lt;br /&gt;
                summe = summe + wurst;&lt;br /&gt;
                anzWurst = anzWurst + 1;&lt;br /&gt;
            }&lt;br /&gt;
            &lt;br /&gt;
            if(summe+wurst &amp;lt; brieftasche){&lt;br /&gt;
                summe = summe + wurst;&lt;br /&gt;
                anzWurst = anzWurst + 1;&lt;br /&gt;
            }&lt;br /&gt;
            &lt;br /&gt;
            if(summe+wurst &amp;lt; brieftasche){&lt;br /&gt;
                summe = summe + wurst;&lt;br /&gt;
                anzWurst = anzWurst + 1;&lt;br /&gt;
            }&lt;br /&gt;
            &lt;br /&gt;
            if(summe+wurst &amp;lt; brieftasche){&lt;br /&gt;
                summe = summe + wurst;&lt;br /&gt;
                anzWurst = anzWurst + 1;&lt;br /&gt;
            }&lt;br /&gt;
            &lt;br /&gt;
            if(summe+wurst &amp;lt; brieftasche){&lt;br /&gt;
                summe = summe + wurst;&lt;br /&gt;
                anzWurst = anzWurst + 1;&lt;br /&gt;
            }&lt;br /&gt;
            &lt;br /&gt;
            if(summe+wurst &amp;lt; brieftasche){&lt;br /&gt;
                summe = summe + wurst;&lt;br /&gt;
                anzWurst = anzWurst + 1;&lt;br /&gt;
            }&lt;br /&gt;
            &lt;br /&gt;
            if(summe+wurst &amp;lt; brieftasche){&lt;br /&gt;
                summe = summe + wurst;&lt;br /&gt;
                anzWurst = anzWurst + 1;&lt;br /&gt;
            }&lt;br /&gt;
            &lt;br /&gt;
            if(summe+wurst &amp;lt; brieftasche){&lt;br /&gt;
                summe = summe + wurst;&lt;br /&gt;
                anzWurst = anzWurst + 1;&lt;br /&gt;
            }&lt;br /&gt;
            &lt;br /&gt;
            if(summe+wurst &amp;lt; brieftasche){&lt;br /&gt;
                summe = summe + wurst;&lt;br /&gt;
                anzWurst = anzWurst + 1;&lt;br /&gt;
            }&lt;br /&gt;
            &lt;br /&gt;
            if(summe+wurst &amp;lt; brieftasche){&lt;br /&gt;
                summe = summe + wurst;&lt;br /&gt;
                anzWurst = anzWurst + 1;&lt;br /&gt;
            }&lt;br /&gt;
            &lt;br /&gt;
            if(summe+wurst &amp;lt; brieftasche){&lt;br /&gt;
                summe = summe + wurst;&lt;br /&gt;
                anzWurst = anzWurst + 1;&lt;br /&gt;
            }&lt;br /&gt;
            &lt;br /&gt;
            System.out.println(&amp;quot;Wurst\t &amp;quot;+ anzWurst + &amp;quot; x  &amp;quot; + Euro.format(wurst, 3));&lt;br /&gt;
            System.out.println(&amp;quot;\t\t\t&amp;quot; + Euro.format(anzWurst * wurst, 4));&lt;br /&gt;
            &lt;br /&gt;
            System.out.println(&amp;quot;_________________________________&amp;quot;);&lt;br /&gt;
            &lt;br /&gt;
            System.out.println(&amp;quot;Gesamt\t\t\t&amp;quot; + Euro.format(summe, 4));&lt;br /&gt;
            System.out.println(&amp;quot;Gegeben\t\t\t&amp;quot; + Euro.format(brieftasche, 4));&lt;br /&gt;
            System.out.println();&lt;br /&gt;
            System.out.println(&amp;quot;Zurück\t\t\t&amp;quot; + Euro.format(brieftasche-summe, 4));&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
 }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Kommentare ==&lt;br /&gt;
Wenn du Anmerkungen zur Aufgabe hast oder Lob und Kritik loswerden möchtest, ist hier die richtige Stelle dafür. Klicke einfach ganz rechts auf &amp;quot;bearbeiten&amp;quot; und schreibe deinen Kommentar direkt ins Wiki. Keine Scheu, es geht nichts kaputt ;)&lt;/div&gt;</summary>
		<author><name>Ugene</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.freitagsrunde.org/index.php?title=Javakurs/%C3%9Cbungsaufgaben/Cowsay/Musterloesung&amp;diff=17654</id>
		<title>Javakurs/Übungsaufgaben/Cowsay/Musterloesung</title>
		<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/index.php?title=Javakurs/%C3%9Cbungsaufgaben/Cowsay/Musterloesung&amp;diff=17654"/>
		<updated>2012-03-06T11:23:23Z</updated>

		<summary type="html">&lt;p&gt;Ugene: /* Lösung Cowsay */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Hinweis:''' Die Musterlösung kann von eurer Lösung abweichen, da es immer mehrere Varianten gibt ein Problem zu lösen. Im Zweifelsfall Fragt einen Tutor.&lt;br /&gt;
&lt;br /&gt;
== Lösung Cowsay ==&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  public class Cowsay {&lt;br /&gt;
      public static void main(String[] args){&lt;br /&gt;
          String message = &amp;quot;Java rocks!&amp;quot;;&lt;br /&gt;
          if(args.length &amp;gt; 0){&lt;br /&gt;
              message = args[0];&lt;br /&gt;
          }&lt;br /&gt;
    &lt;br /&gt;
          System.out.println(&amp;quot; _____________&amp;quot;);&lt;br /&gt;
          System.out.println(&amp;quot;&amp;lt; &amp;quot; + message + &amp;quot; &amp;gt;&amp;quot;);&lt;br /&gt;
          System.out.println(&amp;quot; -------------&amp;quot;);&lt;br /&gt;
          System.out.println(&amp;quot;        \\   ^__^&amp;quot;);&lt;br /&gt;
          System.out.println(&amp;quot;         \\  (oo)\\________&amp;quot;);&lt;br /&gt;
          System.out.println(&amp;quot;            (__)\\        )\\/\\&amp;quot;);&lt;br /&gt;
          System.out.println(&amp;quot;                ||-----w |&amp;quot;);&lt;br /&gt;
          System.out.println(&amp;quot;                ||      ||&amp;quot;);&lt;br /&gt;
      }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Kommentare ==&lt;br /&gt;
Wenn du Anmerkungen zur Aufgabe hast oder Lob und Kritik loswerden möchtest, ist hier die richtige Stelle dafür. Klicke einfach ganz rechts auf &amp;quot;bearbeiten&amp;quot; und schreibe deinen Kommentar direkt ins Wiki. Keine Scheu, es geht nichts kaputt ;)&lt;/div&gt;</summary>
		<author><name>Ugene</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.freitagsrunde.org/index.php?title=Javakurs/%C3%9Cbungsaufgaben/Cowsay/Musterloesung&amp;diff=17653</id>
		<title>Javakurs/Übungsaufgaben/Cowsay/Musterloesung</title>
		<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/index.php?title=Javakurs/%C3%9Cbungsaufgaben/Cowsay/Musterloesung&amp;diff=17653"/>
		<updated>2012-03-06T11:22:19Z</updated>

		<summary type="html">&lt;p&gt;Ugene: /* Lösung Cowsay */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Hinweis:''' Die Musterlösung kann von eurer Lösung abweichen, da es immer mehrere Varianten gibt ein Problem zu lösen. Im Zweifelsfall Fragt einen Tutor.&lt;br /&gt;
&lt;br /&gt;
== Lösung Cowsay ==&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  public class cowsay {&lt;br /&gt;
      public static void main(String[] args){&lt;br /&gt;
          String message = &amp;quot;Java rocks!&amp;quot;;&lt;br /&gt;
          if(args.length &amp;gt; 0){&lt;br /&gt;
              message = args[0];&lt;br /&gt;
          }&lt;br /&gt;
    &lt;br /&gt;
          System.out.println(&amp;quot; _____________&amp;quot;);&lt;br /&gt;
          System.out.println(&amp;quot;&amp;lt; &amp;quot; + message + &amp;quot; &amp;gt;&amp;quot;);&lt;br /&gt;
          System.out.println(&amp;quot; -------------&amp;quot;);&lt;br /&gt;
          System.out.println(&amp;quot;        \\   ^__^&amp;quot;);&lt;br /&gt;
          System.out.println(&amp;quot;         \\  (oo)\\________&amp;quot;);&lt;br /&gt;
          System.out.println(&amp;quot;            (__)\\        )\\/\\&amp;quot;);&lt;br /&gt;
          System.out.println(&amp;quot;                ||-----w |&amp;quot;);&lt;br /&gt;
          System.out.println(&amp;quot;                ||      ||&amp;quot;);&lt;br /&gt;
      }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Kommentare ==&lt;br /&gt;
Wenn du Anmerkungen zur Aufgabe hast oder Lob und Kritik loswerden möchtest, ist hier die richtige Stelle dafür. Klicke einfach ganz rechts auf &amp;quot;bearbeiten&amp;quot; und schreibe deinen Kommentar direkt ins Wiki. Keine Scheu, es geht nichts kaputt ;)&lt;/div&gt;</summary>
		<author><name>Ugene</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.freitagsrunde.org/index.php?title=C-Kurs/String_to_Double&amp;diff=14886</id>
		<title>C-Kurs/String to Double</title>
		<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/index.php?title=C-Kurs/String_to_Double&amp;diff=14886"/>
		<updated>2010-09-15T18:36:21Z</updated>

		<summary type="html">&lt;p&gt;Ugene: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Mithilfe der Funktion ''strtod'' aus dem Header &amp;lt;tt&amp;gt;&amp;lt;stdlib.h&amp;gt;&amp;lt;/tt&amp;gt; lassen sich aus Strings wie &amp;quot;3.456&amp;quot; Werte vom Typ double extrahieren.&lt;br /&gt;
Die Verwendung dieser Funktion ist nicht ganz einfach und will geübt sein.  Ihr Prototyp lautet wie folgt:&lt;br /&gt;
&lt;br /&gt;
 double strtod(const char *nptr, char **endptr);&lt;br /&gt;
&lt;br /&gt;
Wie der zweite Parameter zu verwenden ist, erschließt sich aus der Manpage (siehe [http://www.opengroup.org/onlinepubs/000095399/functions/strtod.html strtod-Seite der Opengroup] und &amp;lt;tt&amp;gt;# LC_ALL= man strtod&amp;lt;/tt&amp;gt; auf der Konsole) und aus oberflächlichem Verständnis der internen Funktionsweise.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
(1) Mit diesem Wissen sollst du folgendes Programm vervollständigen: &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Dabei ist es speziell deine Aufgabe die Funktion &amp;quot;string_to_double&amp;quot; zu implementieren. Diese Funktion bekommt zwei Parameter übergeben. &lt;br /&gt;
Der Erste ist der Text, der eine Zahl des Typs double enthält. Aus diesem Text soll mittels der Funktion &amp;quot;strtod&amp;quot; der entsprechende double-Wert extrahiert werden. Dieser Wert soll in den output-Pointer, der den zweiten Parameter darstellt, gespeichert werden. Dabei soll eine Fehlerbehandlung stattfinden. Schau dir dazu unter anderem die Fehler an, die in der Manpage zu finden sind und überlege dir noch weitere mögliche Randbedingungen. Als Rückgabe soll diese Funktion einen Error als Integer-Wert liefern. Ist kein Fehler aufgetreten, so soll 0 zurückgegeben werden. Alle anderen Error-Codes kannst du frei wählen.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 #include &amp;lt;stdio.h&amp;gt; /* for printf */&lt;br /&gt;
 &lt;br /&gt;
 int string_to_double(char const *text, double *output) {&lt;br /&gt;
     /* IMPLEMENT ME */&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 int main() {&lt;br /&gt;
     double d;&lt;br /&gt;
     int const error = string_to_double(&amp;quot;4.567&amp;quot;, &amp;amp;d);&lt;br /&gt;
 &lt;br /&gt;
     printf(&amp;quot;Error: %s\n&amp;quot;&lt;br /&gt;
         &amp;quot;Result: %f\n&amp;quot;,&lt;br /&gt;
         error ? &amp;quot;yes&amp;quot; : &amp;quot;no&amp;quot;,&lt;br /&gt;
         d);&lt;br /&gt;
     return 0;&lt;br /&gt;
 }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(2) Zusatzfrage: Wie sieht es mit der ''const correctness'' von strtod aus?  An welchen Stellen fehlt ein &amp;lt;tt&amp;gt;const&amp;lt;/tt&amp;gt;?  Wie sähe dann der korrekte Prototyp aus?&lt;/div&gt;</summary>
		<author><name>Ugene</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.freitagsrunde.org/index.php?title=C-Kurs/%C3%9Cbungsaufgaben&amp;diff=14812</id>
		<title>C-Kurs/Übungsaufgaben</title>
		<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/index.php?title=C-Kurs/%C3%9Cbungsaufgaben&amp;diff=14812"/>
		<updated>2010-09-08T20:46:00Z</updated>

		<summary type="html">&lt;p&gt;Ugene: /* 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;
{| class=&amp;quot;wikitable sortable&amp;quot; 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]] (2009), &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 (2009), &lt;br /&gt;
 |  &lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Ckurs2009/Fibonacci-Folge|Fibonacci-Folge]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1. VL&lt;br /&gt;
 | Funktionen &amp;lt;br&amp;gt; Rekursion&lt;br /&gt;
 | Paul B.&lt;br /&gt;
 | [[Benutzer:Mario|Mario]] (2010)&lt;br /&gt;
 | [[Ckurs2009/Fibonacci-Folge/Musterlösung | Fibonacci-Folge]]&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Ckurs2009/digitalesSchloesserKnacken|digitales Schloesser knacken]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1. VL&lt;br /&gt;
 | Kontrollstrukturen &amp;lt;br&amp;gt;Bitweise Operatoren&lt;br /&gt;
 | Paul B.&lt;br /&gt;
 | Eugen R. (2010)&lt;br /&gt;
 | [[Ckurs2009/digitalesSchloesserKnacken/Musterlösung | digitales Schloesser knacken]]&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Ckurs2009/Rekursives_arbeiten|Rekursives Arbeiten]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3-5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1. VL&lt;br /&gt;
 | Bekannte Operatoren wie + durch Funktionen succ und neg nachbilden&lt;br /&gt;
 | Eugen R.&lt;br /&gt;
 | Paul B.(2010)&lt;br /&gt;
 | [[Ckurs2009/Rekursives_arbeiten/Musterlösung | Rekursives Arbeiten]]&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;
 | Paul B.(2010)&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 (2009), &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]] (2009), &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 (2009), &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 (2009), &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)  (2009), &lt;br /&gt;
 | &lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Ckurs2009/Taschenrechner2.0 | Taschenrechner ''2.0'']]&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. (2009), &lt;br /&gt;
 | [[Ckurs2009/Taschenrechner2.0/Musterlösung | Taschenrechner ''2.0'']]&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 (2009), &lt;br /&gt;
 | [[Ckurs2009/Call by reference/Musterlösung | Call by reference]]&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Ckurs2010/String to Double | String to Double]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Original-Dokumentation anwenden (Opengroup, man pages)&amp;lt;br&amp;gt;Pointer auf Pointer&amp;lt;br&amp;gt;Const correctness&amp;lt;br&amp;gt;Strings&lt;br /&gt;
 | sping&lt;br /&gt;
 | Eugen R. (2010)&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]] (2009), &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 (2009), &lt;br /&gt;
 | [[Ckurs2009/Palindrome/Musterlösung | Palindrome ]]&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;
 | Katrin (2010, wird nochmal überarbeitet bzw. mit mehr erklärendem Text versehen)&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]] (2009), &lt;br /&gt;
 | [[Ckurs2009/Matrizenmultiplikation/Musterlösung | Matrizenmultiplikation]]&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Ckurs/DreiD | 3D mit C]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5-9&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Mathematische Rechenoperationen, Algorithmik&lt;br /&gt;
 | AndreasF&lt;br /&gt;
 | &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. (2009), &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]] (2009), &lt;br /&gt;
 |  [[Ckurs2009/Sammelbestellung/Musterlösung | Sammelbestellung]] &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;
 | AndyF (2010)&lt;br /&gt;
 | [https://wiki.freitagsrunde.org/Ckurs2009/Vortrag05 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;
 | [[Benutzer:Mario|Mario]] (2010)&lt;br /&gt;
 | [[Ckurs2009/Bus Error/Musterlösung | Bus Error]]&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;
 | [[Ckurs2009/BubbleSortDebug/Musterlösung | BubbleSort Debugging]]&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;
 | &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;
 | [[Benutzer:Tkroenert|TKroenert]] (2010)&lt;br /&gt;
 | [[Ckurs2009/Code Layout/Musterlösung | Code Layout]]&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;
 | [[Ckurs2009/Refactoring/Musterlösung | Refactoring]]&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; |2. VL&lt;br /&gt;
 | Arbeiten mit Dateien&amp;lt;br&amp;gt;Kommandozeilenparameter&lt;br /&gt;
 | nion&lt;br /&gt;
 | sping (2009), &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; |9.VL (eigentlich 2.VL)&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; |5.VL&lt;br /&gt;
 | Lesen aus Dateien&lt;br /&gt;
 | reiner&lt;br /&gt;
 | AndyF (2010)&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; |8&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&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; |3. VL&lt;br /&gt;
 | Funktionspointer&lt;br /&gt;
 | reiner&lt;br /&gt;
 | [[Benutzer:Tkroenert|TKroenert]] (2010)&lt;br /&gt;
 | [[Ckurs/integral/Musterlösung | Musterloesung]]&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Ckurs/forschleife | forschleife]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |6. VL&lt;br /&gt;
 | Bug (zum Knobeln)&lt;br /&gt;
 | reiner&lt;br /&gt;
 | nion (2009), [[Benutzer:Tkroenert|TKroenert]] (2010)&lt;br /&gt;
 | vorhanden&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Ckurs/libgdsl | GDSL]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5-7&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |9. VL&lt;br /&gt;
 | Anwendung der Generic Data Structures Library&lt;br /&gt;
 | martin&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Ckurs2009/StdLib | Standard C Library]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |9. VL&lt;br /&gt;
 | Recherche in der Standard C Bibliothek&lt;br /&gt;
 | martin&lt;br /&gt;
 | &lt;br /&gt;
 | &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 'bash' eingeben, man sieht dann auch in welchem Verzeichnis man gerade ist.&lt;br /&gt;
* wenn man nur den Promt 'bash-0.12' oder so erhält, also ohne das Verzeichnis in dem man ist, folgendes Kommando eingeben: &amp;lt;tt&amp;gt;export PS1='\u@\h:\w$ '&amp;lt;/tt&amp;gt; oder zum dauerhaften Speichern: &amp;lt;tt&amp;gt; echo &amp;quot;export PS1='\u@\h:\w$ '&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>Ugene</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.freitagsrunde.org/index.php?title=C-Kurs/String_to_Double/Musterl%C3%B6sung&amp;diff=14811</id>
		<title>C-Kurs/String to Double/Musterlösung</title>
		<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/index.php?title=C-Kurs/String_to_Double/Musterl%C3%B6sung&amp;diff=14811"/>
		<updated>2010-09-08T20:44:26Z</updated>

		<summary type="html">&lt;p&gt;Ugene: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;(1) [..] folgendes Programm vervollständigen: &lt;br /&gt;
 #include &amp;lt;errno.h&amp;gt; /* for errno */&lt;br /&gt;
 #include &amp;lt;stdlib.h&amp;gt; /* for strtod */&lt;br /&gt;
 #include &amp;lt;string.h&amp;gt; /* for strlen */&lt;br /&gt;
 #include &amp;lt;stdio.h&amp;gt; /* for printf */&lt;br /&gt;
 &lt;br /&gt;
 int string_to_double(char const *text, double *output) {&lt;br /&gt;
     char * after_last;&lt;br /&gt;
     double number;&lt;br /&gt;
 &lt;br /&gt;
     errno = 0;&lt;br /&gt;
     number = strtod(text, &amp;amp;after_last);&lt;br /&gt;
 &lt;br /&gt;
     if ((number == 0.0)&lt;br /&gt;
             &amp;amp;&amp;amp; ((after_last == text)&lt;br /&gt;
                 || (errno == EINVAL))) {&lt;br /&gt;
         return 1;&lt;br /&gt;
     }&lt;br /&gt;
 &lt;br /&gt;
     if (errno == ERANGE) {&lt;br /&gt;
         return 2;&lt;br /&gt;
     }&lt;br /&gt;
 &lt;br /&gt;
     if (after_last != text + strlen(text)) {&lt;br /&gt;
         return 3;&lt;br /&gt;
     }&lt;br /&gt;
 &lt;br /&gt;
     *output = number;&lt;br /&gt;
     return 0;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 int main() {&lt;br /&gt;
     double d;&lt;br /&gt;
     int const error = string_to_double(&amp;quot;4.567&amp;quot;, &amp;amp;d);&lt;br /&gt;
 &lt;br /&gt;
     printf(&amp;quot;Error: %s\n&amp;quot;&lt;br /&gt;
         &amp;quot;Result: %f\n&amp;quot;,&lt;br /&gt;
         error ? &amp;quot;yes&amp;quot; : &amp;quot;no&amp;quot;,&lt;br /&gt;
         d);&lt;br /&gt;
     return 0;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
(2) Zusatzfrage: Wie sieht es mit der const correctness von strtod aus? An welchen Stellen fehlt ein const? Wie sähe dann der korrekte Prototyp aus?&lt;br /&gt;
&lt;br /&gt;
Statt&lt;br /&gt;
 double strtod(const char *nptr, char **endptr);&lt;br /&gt;
sollte es&lt;br /&gt;
 double strtod(const char *nptr, char const **endptr);&lt;br /&gt;
heißen.&lt;/div&gt;</summary>
		<author><name>Ugene</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.freitagsrunde.org/index.php?title=C-Kurs/String_to_Double&amp;diff=14810</id>
		<title>C-Kurs/String to Double</title>
		<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/index.php?title=C-Kurs/String_to_Double&amp;diff=14810"/>
		<updated>2010-09-08T20:38:24Z</updated>

		<summary type="html">&lt;p&gt;Ugene: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Mithilfe der Funktion ''strtod'' aus dem Header &amp;lt;tt&amp;gt;&amp;lt;stdlib.h&amp;gt;&amp;lt;/tt&amp;gt; lassen sich aus Strings wie &amp;quot;3.456&amp;quot; Werte vom Typ double extrahieren.&lt;br /&gt;
Die Verwendung dieser Funktion ist nicht ganz einfach und will geübt sein.  Ihr Prototyp lautet wie folgt:&lt;br /&gt;
&lt;br /&gt;
 double strtod(const char *nptr, char **endptr);&lt;br /&gt;
&lt;br /&gt;
Wie der zweite Parameter zu verwenden ist, erschließt sich aus der Manpage (siehe [http://www.opengroup.org/onlinepubs/000095399/functions/strtod.html strtod-Seite der Opengroup] und &amp;lt;tt&amp;gt;# LC_ALL= man strtod&amp;lt;/tt&amp;gt; auf der Konsole) und aus oberflächlichem Verständnis der internen Funktionsweise.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
(1) Mit diesem Wissen sollst du folgendes Programm vervollständigen: &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Dabei ist es speziell deine Aufgabe die Funktion &amp;quot;string_to_double&amp;quot; implementieren. Diese Funktion bekommt zwei Parameter übergeben. &lt;br /&gt;
Der Erste ist der Text, der eine Zahl des Typs double enthält. Aus diesem Text soll mittels der Funktion &amp;quot;strtod&amp;quot; der entsprechende double-Wert extrahiert werden. Dieser Wert soll in den output-Pointer, der den zweiten Parameter darstellt, gespeichert werden. Dabei soll eine Fehlerbehandlung stattfinden. Schau dir dazu unter anderem die Fehler an, die in der Manpage zu finden sind und überlege dir noch weitere mögliche Randbedingungen. Als Rückgabe soll diese Funktion einen Error als Integer-Wert liefern. Ist kein Fehler aufgetreten, so soll 0 zurückgegeben werden. Alle anderen Error-Codes kannst du frei wählen.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 #include &amp;lt;stdio.h&amp;gt; /* for printf */&lt;br /&gt;
 &lt;br /&gt;
 int string_to_double(char const *text, double *output) {&lt;br /&gt;
     /* IMPLEMENT ME */&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 int main() {&lt;br /&gt;
     double d;&lt;br /&gt;
     int const error = string_to_double(&amp;quot;4.567&amp;quot;, &amp;amp;d);&lt;br /&gt;
 &lt;br /&gt;
     printf(&amp;quot;Error: %s\n&amp;quot;&lt;br /&gt;
         &amp;quot;Result: %f\n&amp;quot;,&lt;br /&gt;
         error ? &amp;quot;yes&amp;quot; : &amp;quot;no&amp;quot;,&lt;br /&gt;
         d);&lt;br /&gt;
     return 0;&lt;br /&gt;
 }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(2) Zusatzfrage: Wie sieht es mit der ''const correctness'' von strtod aus?  An welchen Stellen fehlt ein &amp;lt;tt&amp;gt;const&amp;lt;/tt&amp;gt;?  Wie sähe dann der korrekte Prototyp aus?&lt;/div&gt;</summary>
		<author><name>Ugene</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.freitagsrunde.org/index.php?title=C-Kurs/String_to_Double&amp;diff=14809</id>
		<title>C-Kurs/String to Double</title>
		<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/index.php?title=C-Kurs/String_to_Double&amp;diff=14809"/>
		<updated>2010-09-08T20:02:40Z</updated>

		<summary type="html">&lt;p&gt;Ugene: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Mithilfe der Funktion ''strtod'' aus dem Header &amp;lt;tt&amp;gt;&amp;lt;stdlib.h&amp;gt;&amp;lt;/tt&amp;gt; lassen sich aus Strings wie &amp;quot;3.456&amp;quot; Werte vom Typ double extrahieren.&lt;br /&gt;
Die Verwendung dieser Funktion ist nicht ganz einfach und will geübt sein.  Ihr Prototyp lautet wie folgt:&lt;br /&gt;
&lt;br /&gt;
 double strtod(const char *nptr, char **endptr);&lt;br /&gt;
&lt;br /&gt;
Wie der zweite Parameter zu verwenden ist, erschließt sich aus der Manpage (siehe [http://www.opengroup.org/onlinepubs/000095399/functions/strtod.html strtod-Seite der Opengroup] und &amp;lt;tt&amp;gt;# LC_ALL= man strtod&amp;lt;/tt&amp;gt; auf der Konsole) und aus oberflächlichem Verständnis der internen Funktionsweise.&lt;br /&gt;
&lt;br /&gt;
(1) Mit diesem Wissen sollst du folgendes Programm vervollständigen:&lt;br /&gt;
&lt;br /&gt;
 #include &amp;lt;stdio.h&amp;gt; /* for printf */&lt;br /&gt;
 &lt;br /&gt;
 int string_to_double(char const *text, double *output) {&lt;br /&gt;
     /* IMPLEMENT ME */&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 int main() {&lt;br /&gt;
     double d;&lt;br /&gt;
     int const error = string_to_double(&amp;quot;4.567&amp;quot;, &amp;amp;d);&lt;br /&gt;
 &lt;br /&gt;
     printf(&amp;quot;Error: %s\n&amp;quot;&lt;br /&gt;
         &amp;quot;Result: %f\n&amp;quot;,&lt;br /&gt;
         error ? &amp;quot;yes&amp;quot; : &amp;quot;no&amp;quot;,&lt;br /&gt;
         d);&lt;br /&gt;
     return 0;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
(2) Zusatzfrage: Wie sieht es mit der ''const correctness'' von strtod aus?  An welchen Stellen fehlt eigentlich ein &amp;lt;tt&amp;gt;const&amp;lt;/tt&amp;gt;?  Wie sähe dann der korrekte Prototyp aus?&lt;/div&gt;</summary>
		<author><name>Ugene</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.freitagsrunde.org/index.php?title=C-Kurs/%C3%9Cbungsaufgaben&amp;diff=14808</id>
		<title>C-Kurs/Übungsaufgaben</title>
		<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/index.php?title=C-Kurs/%C3%9Cbungsaufgaben&amp;diff=14808"/>
		<updated>2010-09-08T20:00:06Z</updated>

		<summary type="html">&lt;p&gt;Ugene: /* 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;
{| class=&amp;quot;wikitable sortable&amp;quot; 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]] (2009), &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 (2009), &lt;br /&gt;
 |  &lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Ckurs2009/Fibonacci-Folge|Fibonacci-Folge]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1. VL&lt;br /&gt;
 | Funktionen &amp;lt;br&amp;gt; Rekursion&lt;br /&gt;
 | Paul B.&lt;br /&gt;
 | [[Benutzer:Mario|Mario]] (2010)&lt;br /&gt;
 | [[Ckurs2009/Fibonacci-Folge/Musterlösung | Fibonacci-Folge]]&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Ckurs2009/digitalesSchloesserKnacken|digitales Schloesser knacken]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1. VL&lt;br /&gt;
 | Kontrollstrukturen &amp;lt;br&amp;gt;Bitweise Operatoren&lt;br /&gt;
 | Paul B.&lt;br /&gt;
 | Eugen R. (2010)&lt;br /&gt;
 | [[Ckurs2009/digitalesSchloesserKnacken/Musterlösung | digitales Schloesser knacken]]&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Ckurs2009/Rekursives_arbeiten|Rekursives Arbeiten]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3-5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1. VL&lt;br /&gt;
 | Bekannte Operatoren wie + durch Funktionen succ und neg nachbilden&lt;br /&gt;
 | Eugen R.&lt;br /&gt;
 | Paul B.(2010)&lt;br /&gt;
 | [[Ckurs2009/Rekursives_arbeiten/Musterlösung | Rekursives Arbeiten]]&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;
 | Paul B.(2010)&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 (2009), &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]] (2009), &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 (2009), &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 (2009), &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)  (2009), &lt;br /&gt;
 | &lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Ckurs2009/Taschenrechner2.0 | Taschenrechner ''2.0'']]&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. (2009), &lt;br /&gt;
 | [[Ckurs2009/Taschenrechner2.0/Musterlösung | Taschenrechner ''2.0'']]&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 (2009), &lt;br /&gt;
 | [[Ckurs2009/Call by reference/Musterlösung | Call by reference]]&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Ckurs2010/String to Double | String to Double]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Original-Dokumentation anwenden (Opengroup, man pages)&amp;lt;br&amp;gt;Pointer auf Pointer&amp;lt;br&amp;gt;Const correctness&amp;lt;br&amp;gt;Strings&lt;br /&gt;
 | sping&lt;br /&gt;
 | Eugen R. (2010) bin dabei&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]] (2009), &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 (2009), &lt;br /&gt;
 | [[Ckurs2009/Palindrome/Musterlösung | Palindrome ]]&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;
 | Katrin (2010, wird nochmal überarbeitet bzw. mit mehr erklärendem Text versehen)&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]] (2009), &lt;br /&gt;
 | [[Ckurs2009/Matrizenmultiplikation/Musterlösung | Matrizenmultiplikation]]&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Ckurs/DreiD | 3D mit C]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5-9&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Mathematische Rechenoperationen, Algorithmik&lt;br /&gt;
 | AndreasF&lt;br /&gt;
 | &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. (2009), &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]] (2009), &lt;br /&gt;
 |  [[Ckurs2009/Sammelbestellung/Musterlösung | Sammelbestellung]] &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;
 | AndyF (2010)&lt;br /&gt;
 | [https://wiki.freitagsrunde.org/Ckurs2009/Vortrag05 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;
 | [[Benutzer:Mario|Mario]] (2010)&lt;br /&gt;
 | [[Ckurs2009/Bus Error/Musterlösung | Bus Error]]&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;
 | [[Ckurs2009/BubbleSortDebug/Musterlösung | BubbleSort Debugging]]&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;
 | &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;
 | [[Benutzer:Tkroenert|TKroenert]] (2010)&lt;br /&gt;
 | [[Ckurs2009/Code Layout/Musterlösung | Code Layout]]&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;
 | [[Ckurs2009/Refactoring/Musterlösung | Refactoring]]&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; |2. VL&lt;br /&gt;
 | Arbeiten mit Dateien&amp;lt;br&amp;gt;Kommandozeilenparameter&lt;br /&gt;
 | nion&lt;br /&gt;
 | sping (2009), &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; |9.VL (eigentlich 2.VL)&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; |5.VL&lt;br /&gt;
 | Lesen aus Dateien&lt;br /&gt;
 | reiner&lt;br /&gt;
 | AndyF (2010)&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; |8&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&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; |3. VL&lt;br /&gt;
 | Funktionspointer&lt;br /&gt;
 | reiner&lt;br /&gt;
 | [[Benutzer:Tkroenert|TKroenert]] (2010)&lt;br /&gt;
 | [[Ckurs/integral/Musterlösung | Musterloesung]]&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Ckurs/forschleife | forschleife]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |6. VL&lt;br /&gt;
 | Bug (zum Knobeln)&lt;br /&gt;
 | reiner&lt;br /&gt;
 | nion (2009), [[Benutzer:Tkroenert|TKroenert]] (2010)&lt;br /&gt;
 | vorhanden&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Ckurs/libgdsl | GDSL]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5-7&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |9. VL&lt;br /&gt;
 | Anwendung der Generic Data Structures Library&lt;br /&gt;
 | martin&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Ckurs2009/StdLib | Standard C Library]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |9. VL&lt;br /&gt;
 | Recherche in der Standard C Bibliothek&lt;br /&gt;
 | martin&lt;br /&gt;
 | &lt;br /&gt;
 | &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 'bash' eingeben, man sieht dann auch in welchem Verzeichnis man gerade ist.&lt;br /&gt;
* wenn man nur den Promt 'bash-0.12' oder so erhält, also ohne das Verzeichnis in dem man ist, folgendes Kommando eingeben: &amp;lt;tt&amp;gt;export PS1='\u@\h:\w$ '&amp;lt;/tt&amp;gt; oder zum dauerhaften Speichern: &amp;lt;tt&amp;gt; echo &amp;quot;export PS1='\u@\h:\w$ '&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>Ugene</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.freitagsrunde.org/index.php?title=C-Kurs/%C3%9Cbungsaufgaben&amp;diff=14807</id>
		<title>C-Kurs/Übungsaufgaben</title>
		<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/index.php?title=C-Kurs/%C3%9Cbungsaufgaben&amp;diff=14807"/>
		<updated>2010-09-08T19:59:17Z</updated>

		<summary type="html">&lt;p&gt;Ugene: /* 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;
{| class=&amp;quot;wikitable sortable&amp;quot; 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]] (2009), &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 (2009), &lt;br /&gt;
 |  &lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Ckurs2009/Fibonacci-Folge|Fibonacci-Folge]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1. VL&lt;br /&gt;
 | Funktionen &amp;lt;br&amp;gt; Rekursion&lt;br /&gt;
 | Paul B.&lt;br /&gt;
 | [[Benutzer:Mario|Mario]] (2010)&lt;br /&gt;
 | [[Ckurs2009/Fibonacci-Folge/Musterlösung | Fibonacci-Folge]]&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Ckurs2009/digitalesSchloesserKnacken|digitales Schloesser knacken]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |4&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1. VL&lt;br /&gt;
 | Kontrollstrukturen &amp;lt;br&amp;gt;Bitweise Operatoren&lt;br /&gt;
 | Paul B.&lt;br /&gt;
 | Eugen R (2010)&lt;br /&gt;
 | [[Ckurs2009/digitalesSchloesserKnacken/Musterlösung | digitales Schloesser knacken]]&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Ckurs2009/Rekursives_arbeiten|Rekursives Arbeiten]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3-5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1. VL&lt;br /&gt;
 | Bekannte Operatoren wie + durch Funktionen succ und neg nachbilden&lt;br /&gt;
 | Eugen R.&lt;br /&gt;
 | Paul B.(2010)&lt;br /&gt;
 | [[Ckurs2009/Rekursives_arbeiten/Musterlösung | Rekursives Arbeiten]]&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;
 | Paul B.(2010)&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 (2009), &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]] (2009), &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 (2009), &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 (2009), &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)  (2009), &lt;br /&gt;
 | &lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Ckurs2009/Taschenrechner2.0 | Taschenrechner ''2.0'']]&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. (2009), &lt;br /&gt;
 | [[Ckurs2009/Taschenrechner2.0/Musterlösung | Taschenrechner ''2.0'']]&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 (2009), &lt;br /&gt;
 | [[Ckurs2009/Call by reference/Musterlösung | Call by reference]]&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Ckurs2010/String to Double | String to Double]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Original-Dokumentation anwenden (Opengroup, man pages)&amp;lt;br&amp;gt;Pointer auf Pointer&amp;lt;br&amp;gt;Const correctness&amp;lt;br&amp;gt;Strings&lt;br /&gt;
 | sping&lt;br /&gt;
 | Eugen (2010) bin dabei&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]] (2009), &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 (2009), &lt;br /&gt;
 | [[Ckurs2009/Palindrome/Musterlösung | Palindrome ]]&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;
 | Katrin (2010, wird nochmal überarbeitet bzw. mit mehr erklärendem Text versehen)&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]] (2009), &lt;br /&gt;
 | [[Ckurs2009/Matrizenmultiplikation/Musterlösung | Matrizenmultiplikation]]&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Ckurs/DreiD | 3D mit C]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5-9&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Mathematische Rechenoperationen, Algorithmik&lt;br /&gt;
 | AndreasF&lt;br /&gt;
 | &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. (2009), &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]] (2009), &lt;br /&gt;
 |  [[Ckurs2009/Sammelbestellung/Musterlösung | Sammelbestellung]] &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;
 | AndyF (2010)&lt;br /&gt;
 | [https://wiki.freitagsrunde.org/Ckurs2009/Vortrag05 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;
 | [[Benutzer:Mario|Mario]] (2010)&lt;br /&gt;
 | [[Ckurs2009/Bus Error/Musterlösung | Bus Error]]&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;
 | [[Ckurs2009/BubbleSortDebug/Musterlösung | BubbleSort Debugging]]&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;
 | &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;
 | [[Benutzer:Tkroenert|TKroenert]] (2010)&lt;br /&gt;
 | [[Ckurs2009/Code Layout/Musterlösung | Code Layout]]&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;
 | [[Ckurs2009/Refactoring/Musterlösung | Refactoring]]&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; |2. VL&lt;br /&gt;
 | Arbeiten mit Dateien&amp;lt;br&amp;gt;Kommandozeilenparameter&lt;br /&gt;
 | nion&lt;br /&gt;
 | sping (2009), &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; |9.VL (eigentlich 2.VL)&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; |5.VL&lt;br /&gt;
 | Lesen aus Dateien&lt;br /&gt;
 | reiner&lt;br /&gt;
 | AndyF (2010)&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; |8&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&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; |3. VL&lt;br /&gt;
 | Funktionspointer&lt;br /&gt;
 | reiner&lt;br /&gt;
 | [[Benutzer:Tkroenert|TKroenert]] (2010)&lt;br /&gt;
 | [[Ckurs/integral/Musterlösung | Musterloesung]]&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Ckurs/forschleife | forschleife]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |6. VL&lt;br /&gt;
 | Bug (zum Knobeln)&lt;br /&gt;
 | reiner&lt;br /&gt;
 | nion (2009), [[Benutzer:Tkroenert|TKroenert]] (2010)&lt;br /&gt;
 | vorhanden&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Ckurs/libgdsl | GDSL]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5-7&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |9. VL&lt;br /&gt;
 | Anwendung der Generic Data Structures Library&lt;br /&gt;
 | martin&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Ckurs2009/StdLib | Standard C Library]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |9. VL&lt;br /&gt;
 | Recherche in der Standard C Bibliothek&lt;br /&gt;
 | martin&lt;br /&gt;
 | &lt;br /&gt;
 | &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 'bash' eingeben, man sieht dann auch in welchem Verzeichnis man gerade ist.&lt;br /&gt;
* wenn man nur den Promt 'bash-0.12' oder so erhält, also ohne das Verzeichnis in dem man ist, folgendes Kommando eingeben: &amp;lt;tt&amp;gt;export PS1='\u@\h:\w$ '&amp;lt;/tt&amp;gt; oder zum dauerhaften Speichern: &amp;lt;tt&amp;gt; echo &amp;quot;export PS1='\u@\h:\w$ '&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>Ugene</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.freitagsrunde.org/index.php?title=C-Kurs/digitalesSchloesserKnacken/Musterl%C3%B6sung&amp;diff=14806</id>
		<title>C-Kurs/digitalesSchloesserKnacken/Musterlösung</title>
		<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/index.php?title=C-Kurs/digitalesSchloesserKnacken/Musterl%C3%B6sung&amp;diff=14806"/>
		<updated>2010-09-08T19:56:17Z</updated>

		<summary type="html">&lt;p&gt;Ugene: &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;stdlib.h&amp;gt;&lt;br /&gt;
#include &amp;lt;time.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
unsigned int* abb;&lt;br /&gt;
unsigned int versuche = 0;&lt;br /&gt;
&lt;br /&gt;
void generate(void);&lt;br /&gt;
int test(unsigned int);&lt;br /&gt;
char * toBin(unsigned int);&lt;br /&gt;
unsigned int switchBit(int key, int whichBit);&lt;br /&gt;
&lt;br /&gt;
int main (void)&lt;br /&gt;
{&lt;br /&gt;
	generate();&lt;br /&gt;
	unsigned int key = 0;&lt;br /&gt;
	/* Ab hier kannst du versuchen die Tür mit deinem Schlüssel zu knacken.&lt;br /&gt;
	 Verändere die Variable &amp;quot;Key&amp;quot; mit den dir bekannten bitweisen Operatoren,&lt;br /&gt;
	 die du in der Vorlesung kennengelernt hast.&lt;br /&gt;
	 Du kannst deinen Schlüssel dann mit der Funktion test() überprüfen, &lt;br /&gt;
	 welcher als Parameter übergeben wird.&lt;br /&gt;
	 Bitte beachte, dass sowohl Schlüssel als auch Schloss unsigned Integer sind.&lt;br /&gt;
	 */&lt;br /&gt;
	&lt;br /&gt;
	int i = 0;&lt;br /&gt;
	for(; i &amp;lt; 32 ; i++){/* für jedes Bit wird geprüft ob es richtig ist oder ob es getaucht werden muss*/&lt;br /&gt;
		int rightBits  = test(key);/* Anzahl der richtigen Bits bevor das i-te Bit getauscht wurde*/&lt;br /&gt;
		int newRightBits = test(switchBit(key,i));/* Anzahl der richtigen Bits nachdem das i-te Bit getauscht wurde*/&lt;br /&gt;
		if(newRightBits &amp;gt; rightBits)&lt;br /&gt;
		/* Wenn die Anzahl der richtigen Bits nach dem Tausch größer ist als vorher,&lt;br /&gt;
		 ist der Schluessel mit dem getauschten Bit der neue Schlüssel*/&lt;br /&gt;
			key=switchBit(key,i);&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	return 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/*Diese Funktion vertauscht das in whichBit übergebene Bit in dem übergebenen Schlüssel&lt;br /&gt;
 und liefert den so veränderten Schlüssel als Rückgabewert*/&lt;br /&gt;
unsigned int switchBit(int key , int whichBit)&lt;br /&gt;
{&lt;br /&gt;
	return key ^ (1&amp;lt;&amp;lt;whichBit);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Diese Funktion liefert die Anzahl der richtigen Bits des übergebenen Schlüssels zurück.&lt;br /&gt;
 Falls 32 zurückgeliefert wird, war der Schlüssel richtig und die Tür öffnet sich.&lt;br /&gt;
 */&lt;br /&gt;
int test(unsigned int toTest)&lt;br /&gt;
{&lt;br /&gt;
	int rightBits = 0;&lt;br /&gt;
	int i = 0;&lt;br /&gt;
	for(; i&amp;lt; 32 ; i++){&lt;br /&gt;
		unsigned int x = 1 &amp;lt;&amp;lt; i;&lt;br /&gt;
		if(! ~((toTest &amp;amp; x) ^ (*abb| ~x))){&lt;br /&gt;
			rightBits++;&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
	if(rightBits == 32){&lt;br /&gt;
		printf (&amp;quot;\nGratulation !\n\n&amp;quot;);&lt;br /&gt;
		printf (&amp;quot;Die Tuer ist offen.\n&amp;quot;);&lt;br /&gt;
		printf (&amp;quot;So sahen Schluessel und Schloss aus \n&amp;quot;);&lt;br /&gt;
		printf (&amp;quot;Schloss    : %32s \n&amp;quot;, toBin(*abb));&lt;br /&gt;
		printf (&amp;quot;Schluessel : %32s \n&amp;quot;, toBin(~*abb));&lt;br /&gt;
		exit(0);&lt;br /&gt;
	}else{&lt;br /&gt;
		printf (&amp;quot;%d . Versuch, %d richtige Bits \n&amp;quot;, ++versuche, rightBits);&lt;br /&gt;
		return rightBits;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/*Hier wird das zufällige Schloss generiert. Bitte nicht verändern sonst geht der Spaß verloren. */&lt;br /&gt;
void generate(void)&lt;br /&gt;
{&lt;br /&gt;
	printf (&amp;quot;\nSchloss wurde erstellt.\nViel Spass beim probieren.\n\n&amp;quot;);&lt;br /&gt;
	unsigned int secret;&lt;br /&gt;
	abb = (unsigned int*) malloc (1);&lt;br /&gt;
	srand ( time(NULL) );&lt;br /&gt;
	secret = rand();&lt;br /&gt;
	*abb = secret;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/*Konvertierungsfunktion zur Ausgabe der Binärrepräsentation einer Zahl*/&lt;br /&gt;
char * toBin(unsigned int num)&lt;br /&gt;
{&lt;br /&gt;
	static char retbuf[33];&lt;br /&gt;
	int i =0;&lt;br /&gt;
	for(; i&amp;lt;33 ; i++){&lt;br /&gt;
		retbuf[i]='0';&lt;br /&gt;
	}&lt;br /&gt;
	char *p;&lt;br /&gt;
	p = &amp;amp;retbuf[sizeof(retbuf)-1];&lt;br /&gt;
	*p = '\0';&lt;br /&gt;
	do {&lt;br /&gt;
		*--p = &amp;quot;0123456789abcdef&amp;quot;[num % 2];&lt;br /&gt;
		num /= 2;&lt;br /&gt;
	} while(num != 0);&lt;br /&gt;
	return retbuf;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ugene</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.freitagsrunde.org/index.php?title=C-Kurs/digitalesSchloesserKnacken/Musterl%C3%B6sung&amp;diff=14805</id>
		<title>C-Kurs/digitalesSchloesserKnacken/Musterlösung</title>
		<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/index.php?title=C-Kurs/digitalesSchloesserKnacken/Musterl%C3%B6sung&amp;diff=14805"/>
		<updated>2010-09-08T19:54:22Z</updated>

		<summary type="html">&lt;p&gt;Ugene: &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;stdlib.h&amp;gt;&lt;br /&gt;
#include &amp;lt;time.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
unsigned int* abb;&lt;br /&gt;
unsigned int versuche = 0;&lt;br /&gt;
&lt;br /&gt;
void generate(void);&lt;br /&gt;
int test(unsigned int);&lt;br /&gt;
char * toBin(unsigned int);&lt;br /&gt;
unsigned int switchBit(int key, int whichBit);&lt;br /&gt;
&lt;br /&gt;
int main (void)&lt;br /&gt;
{&lt;br /&gt;
	generate();&lt;br /&gt;
	unsigned int key = 0;&lt;br /&gt;
	/* Ab hier kannst du versuchen die Tür mit deinem Schlüssel zu knacken.&lt;br /&gt;
	 Verändere die Variable &amp;quot;Key&amp;quot; mit den dir bekannten bitweisen Operatoren,&lt;br /&gt;
	 die du in der Vorlesung kennengelernt hast.&lt;br /&gt;
	 Du kannst deinen Schlüssel dann mit der Funktion test() überprüfen, &lt;br /&gt;
	 welcher als Parameter übergeben wird.&lt;br /&gt;
	 Bitte beachte, dass sowohl Schlüssel als auch Schloss unsigned Integer sind.&lt;br /&gt;
	 */&lt;br /&gt;
	&lt;br /&gt;
	int i = 0;&lt;br /&gt;
	for(; i &amp;lt; 32 ; i++){/* für jedes Bit wird geprüft ob es richtig ist oder ob es getaucht werden muss*/&lt;br /&gt;
		int rightBits  = test(key);/* Anzahl der richtigen Bits bevor das i-te Bit getauscht wurde*/&lt;br /&gt;
		int newRightBits = test(switchBit(key,i));/* Anzahl der richtigen Bits nachdem das i-te Bit getauscht wurde*/&lt;br /&gt;
		if(newRightBits &amp;gt; rightBits)&lt;br /&gt;
		/* Wenn die Anzahl der richtigen Bits nach dem Tausch größer ist als vorher,&lt;br /&gt;
		 ist der Schluessel mit dem getauschten Bit der neue Schlüssel*/&lt;br /&gt;
			key=switchBit(key,i);&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	return 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/*Diese Funktion vertaucht das in whichBit übgebene Bit in dem übergebenen Schlüssel&lt;br /&gt;
 und liefert den so veränderten Schlüssel als Rückgabewert*/&lt;br /&gt;
unsigned int switchBit(int key , int whichBit)&lt;br /&gt;
{&lt;br /&gt;
	return key ^ (1&amp;lt;&amp;lt;whichBit);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Diese Funktion liefert die Anzahl der richtigen Bits des übergebenen Schlüssels zurück.&lt;br /&gt;
 Falls 32 zurückgeliefert wird, war der Schlüssel richtig und die Tür öffnet sich.&lt;br /&gt;
 */&lt;br /&gt;
int test(unsigned int toTest)&lt;br /&gt;
{&lt;br /&gt;
	int rightBits = 0;&lt;br /&gt;
	int i = 0;&lt;br /&gt;
	for(; i&amp;lt; 32 ; i++){&lt;br /&gt;
		unsigned int x = 1 &amp;lt;&amp;lt; i;&lt;br /&gt;
		if(! ~((toTest &amp;amp; x) ^ (*abb| ~x))){&lt;br /&gt;
			rightBits++;&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
	if(rightBits == 32){&lt;br /&gt;
		printf (&amp;quot;\nGratulation !\n\n&amp;quot;);&lt;br /&gt;
		printf (&amp;quot;Die Tuer ist offen.\n&amp;quot;);&lt;br /&gt;
		printf (&amp;quot;So sahen Schluessel und Schloss aus \n&amp;quot;);&lt;br /&gt;
		printf (&amp;quot;Schloss    : %32s \n&amp;quot;, toBin(*abb));&lt;br /&gt;
		printf (&amp;quot;Schluessel : %32s \n&amp;quot;, toBin(~*abb));&lt;br /&gt;
		exit(0);&lt;br /&gt;
	}else{&lt;br /&gt;
		printf (&amp;quot;%d . Versuch, %d richtige Bits \n&amp;quot;, ++versuche, rightBits);&lt;br /&gt;
		return rightBits;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/*Hier wird das zufällige Schloss generiert. Bitte nicht veraendern sonst geht der Spaß verloren. */&lt;br /&gt;
void generate(void)&lt;br /&gt;
{&lt;br /&gt;
	printf (&amp;quot;\nSchloss wurde erstellt.\nViel Spass beim probieren.\n\n&amp;quot;);&lt;br /&gt;
	unsigned int secret;&lt;br /&gt;
	abb = (unsigned int*) malloc (1);&lt;br /&gt;
	srand ( time(NULL) );&lt;br /&gt;
	secret = rand();&lt;br /&gt;
	*abb = secret;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/*Konvertierungsfunktion zur Ausgabe der Binaerrepraesentation einer Zahl*/&lt;br /&gt;
char * toBin(unsigned int num)&lt;br /&gt;
{&lt;br /&gt;
	static char retbuf[33];&lt;br /&gt;
	int i =0;&lt;br /&gt;
	for(; i&amp;lt;33 ; i++){&lt;br /&gt;
		retbuf[i]='0';&lt;br /&gt;
	}&lt;br /&gt;
	char *p;&lt;br /&gt;
	p = &amp;amp;retbuf[sizeof(retbuf)-1];&lt;br /&gt;
	*p = '\0';&lt;br /&gt;
	do {&lt;br /&gt;
		*--p = &amp;quot;0123456789abcdef&amp;quot;[num % 2];&lt;br /&gt;
		num /= 2;&lt;br /&gt;
	} while(num != 0);&lt;br /&gt;
	return retbuf;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ugene</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.freitagsrunde.org/index.php?title=C-Kurs/digitalesSchloesserKnacken&amp;diff=14804</id>
		<title>C-Kurs/digitalesSchloesserKnacken</title>
		<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/index.php?title=C-Kurs/digitalesSchloesserKnacken&amp;diff=14804"/>
		<updated>2010-09-08T19:44:03Z</updated>

		<summary type="html">&lt;p&gt;Ugene: /* Vorgabe */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Aufgabe==&lt;br /&gt;
In dieser Aufgabe geht es darum für ein digitales Schloss den passenden Schlüssel zu finden. Dabei werden sowohl Schloss als auch Schlüssel  durch eine Integer-Variable repräsentiert (genauer gesagt die Binärrepräsentation). Damit ein Schlüssel zu einem Schloss passt, muss der Schlüssel an Stellen, an denen 0-en im Schloss zu finden sind, eine 1 aufweisen. Das Gleiche gilt im Gegenzug für die 1-en. Also muss der Schlüssel das bitweise Komplement des Schlosses sein. &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 Schlüssel: 010001110 &lt;br /&gt;
 Schloss:   101110001&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Die Schwierigkeit besteht nun darin, dass der Aufbau des Schlosses nicht bekannt ist. Es muss also probiert werden. Dieses kann mit der Funktion test() geschehen. Sie nimmt einen Schlüssel, testet ihn am Schloss und liefert die Anzahl der richtigen Bits als Rückgabewert. Falls der richtige Schlüssel gefunden ist, beendet die Funktion test() automatisch das Programm und gibt eine entsprechende Meldung aus.&lt;br /&gt;
&lt;br /&gt;
==Vorgabe==&lt;br /&gt;
 #include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
 #include &amp;lt;stdlib.h&amp;gt;&lt;br /&gt;
 #include &amp;lt;time.h&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 unsigned int* abb;&lt;br /&gt;
 unsigned int versuche = 0;&lt;br /&gt;
 &lt;br /&gt;
 void generate(void);&lt;br /&gt;
 int test(unsigned int);&lt;br /&gt;
 char * toBin(unsigned int);&lt;br /&gt;
 &lt;br /&gt;
 int main (void)&lt;br /&gt;
 {&lt;br /&gt;
  generate();&lt;br /&gt;
  unsigned int key = 0;&lt;br /&gt;
  /* Ab hier kannst du versuchen die Tür mit deinem Schlüssel zu knacken.&lt;br /&gt;
  Verändere die Variable &amp;quot;Key&amp;quot; mit den dir bekannten bitweisen Operatoren,&lt;br /&gt;
  die du in der Vorlesung kennengelernt hast.&lt;br /&gt;
  Du kannst deinen Schlüssel dann mit der Funktion test() überprüfen, &lt;br /&gt;
  welcher als Parameter übergeben wird.&lt;br /&gt;
  Bitte beachte, dass sowohl Schlüssel als auch Schloss unsigned Integer sind.&lt;br /&gt;
  */&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 return 0;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 /* Diese Funktion liefert die Anzahl der richtigen Bits des übergebenen Schlüssels zurück.&lt;br /&gt;
 Falls 32 zurückgeliefert wird, war der Schlüssel richtig und die Tür öffnet sich.&lt;br /&gt;
 */&lt;br /&gt;
 int test(unsigned int toTest)&lt;br /&gt;
 {&lt;br /&gt;
 int rightBits = 0;&lt;br /&gt;
 int i = 0;&lt;br /&gt;
 for(; i&amp;lt; 32 ; i++){&lt;br /&gt;
  unsigned int x = 1 &amp;lt;&amp;lt; i;&lt;br /&gt;
  if(! ~((toTest &amp;amp; x) ^ (*abb| ~x))){&lt;br /&gt;
   rightBits++;&lt;br /&gt;
  }&lt;br /&gt;
 }&lt;br /&gt;
 if(rightBits == 32){&lt;br /&gt;
  printf (&amp;quot;\nGratulation !\n\n&amp;quot;);&lt;br /&gt;
  printf (&amp;quot;Die Tuer ist offen.\n&amp;quot;);&lt;br /&gt;
  printf (&amp;quot;So sahen Schluessel und Schloss aus \n&amp;quot;);&lt;br /&gt;
  printf (&amp;quot;Schloss    : %32s \n&amp;quot;, toBin(*abb));&lt;br /&gt;
  printf (&amp;quot;Schluessel : %32s \n&amp;quot;, toBin(~*abb));&lt;br /&gt;
  exit(0);&lt;br /&gt;
 }else{&lt;br /&gt;
  printf (&amp;quot;%d . Versuch, %d richtige Bits \n&amp;quot;, ++versuche, rightBits);&lt;br /&gt;
  return rightBits;&lt;br /&gt;
 }&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 /*Hier wird das zufällige Schloss generiert. Bitte nicht veraendern sonst geht der Spaß verloren. */&lt;br /&gt;
 void generate(void)&lt;br /&gt;
 {&lt;br /&gt;
  printf (&amp;quot;\nSchloss wurde erstellt.\nViel Spass beim probieren.\n\n&amp;quot;);&lt;br /&gt;
  unsigned int secret;&lt;br /&gt;
  abb = (unsigned int*) malloc (1);&lt;br /&gt;
  srand ( time(NULL) );&lt;br /&gt;
  secret = rand();&lt;br /&gt;
  *abb = secret;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 /*Konvertierungsfunktion zur Ausgabe der Binaerrepraesentation einer Zahl*/&lt;br /&gt;
 char * toBin(unsigned int num)&lt;br /&gt;
 {&lt;br /&gt;
  static char retbuf[33];&lt;br /&gt;
  int i =0;&lt;br /&gt;
  for(; i&amp;lt;33 ; i++){&lt;br /&gt;
   retbuf[i]='0';&lt;br /&gt;
  }&lt;br /&gt;
  char *p;&lt;br /&gt;
  p = &amp;amp;retbuf[sizeof(retbuf)-1];&lt;br /&gt;
  *p = '\0';&lt;br /&gt;
  do {&lt;br /&gt;
   *--p = &amp;quot;0123456789abcdef&amp;quot;[num % 2];&lt;br /&gt;
   num /= 2;&lt;br /&gt;
  } while(num != 0);&lt;br /&gt;
  return retbuf;&lt;br /&gt;
 }&lt;/div&gt;</summary>
		<author><name>Ugene</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.freitagsrunde.org/index.php?title=C-Kurs/digitalesSchloesserKnacken/Musterl%C3%B6sung&amp;diff=14803</id>
		<title>C-Kurs/digitalesSchloesserKnacken/Musterlösung</title>
		<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/index.php?title=C-Kurs/digitalesSchloesserKnacken/Musterl%C3%B6sung&amp;diff=14803"/>
		<updated>2010-09-08T19:34:48Z</updated>

		<summary type="html">&lt;p&gt;Ugene: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt; #include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
 #include &amp;lt;stdlib.h&amp;gt;&lt;br /&gt;
 #include &amp;lt;time.h&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 unsigned int* abb;&lt;br /&gt;
 unsigned int versuche = 0;&lt;br /&gt;
 &lt;br /&gt;
 void generate(void);&lt;br /&gt;
 int test(unsigned int);&lt;br /&gt;
 char * toBin(unsigned int);&lt;br /&gt;
 unsigned int switchBit(int,int);&lt;br /&gt;
 &lt;br /&gt;
 int main (void)&lt;br /&gt;
 {&lt;br /&gt;
  generate();&lt;br /&gt;
  unsigned int key = 0;&lt;br /&gt;
  /* ab hier kannst du versuchen die Tuer mit deinem Schluessel zuknacken.&lt;br /&gt;
  veraendere die Variable Key dazu mit den dir bekannten bitweisen Operatoren&lt;br /&gt;
  die du in der Vorlesung kennengelernt hast.&lt;br /&gt;
  Du kannst deinen Schluessel dann mit der Funktion test() mit deinem Schluessel&lt;br /&gt;
  als Parameter testen.&lt;br /&gt;
  */&lt;br /&gt;
  int i = 0;&lt;br /&gt;
  for(; i &amp;lt; 32 ; i++){/* fuer jedes Bit wird geprueft ob es Richtig ist oder ob es getaucht werden muss*/&lt;br /&gt;
   int rightBits  = test(key);/* Anzahl der richtigen Bits bevor das i-te Bit getauscht wurde*/&lt;br /&gt;
   int newRightBits = test(switchBit(key,i));/* Anzahl der richtigen Bits nachdem das i-te Bit getauscht wurde*/&lt;br /&gt;
   if(newRightBits &amp;gt; rightBits)&lt;br /&gt;
    /* wenn die Anzahl der richtigen Bits nach dem Tausch groeßer ist als vorher&lt;br /&gt;
    ist der Schluessel mit dem getauschten bit der Neue Schluessel*/&lt;br /&gt;
    key=switchBit(key,i);&lt;br /&gt;
  }&lt;br /&gt;
 return 0;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 /*Diese Funktion vertaucht das in whichBit uebgebene Bit in dem uebergebenen Schluessel&lt;br /&gt;
 und liefert den so veraenderten Schluessel als Rueckgabewert*/&lt;br /&gt;
 unsigned int switchBit(int key , int whichBit)&lt;br /&gt;
 {&lt;br /&gt;
  return key ^ (1&amp;lt;&amp;lt;whichBit);&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 /* diese Funktion liefert die Anzahl der Richtigen Bits im uebergebenen Schluessel zurueck.&lt;br /&gt;
 falls 32 zurueckgeliefert wird war der Schluessel richtig und die Tuer oeffnet sich.&lt;br /&gt;
 */&lt;br /&gt;
 int test(unsigned int toTest)&lt;br /&gt;
 {&lt;br /&gt;
 int rightBits = 0;&lt;br /&gt;
 int i = 0;&lt;br /&gt;
 for(; i&amp;lt; 32 ; i++){&lt;br /&gt;
  unsigned int x = 1 &amp;lt;&amp;lt; i;&lt;br /&gt;
  if(! ~((toTest &amp;amp; x) ^ (*abb| ~x))){&lt;br /&gt;
   rightBits++;&lt;br /&gt;
  }&lt;br /&gt;
 }&lt;br /&gt;
 if(rightBits == 32){&lt;br /&gt;
  printf (&amp;quot;\nGratulation !\n\n&amp;quot;);&lt;br /&gt;
  printf (&amp;quot;Die Tuer ist offen.\n&amp;quot;);&lt;br /&gt;
  printf (&amp;quot;So sahen Schluessel und Schloss aus \n&amp;quot;);&lt;br /&gt;
  printf (&amp;quot;Schloss    : %32s \n&amp;quot;, toBin(*abb));&lt;br /&gt;
  printf (&amp;quot;Schluessel : %32s \n&amp;quot;, toBin(~*abb));&lt;br /&gt;
  exit(0);&lt;br /&gt;
 }else{&lt;br /&gt;
  printf (&amp;quot;%3d . Versuch, %d richtige Bits \n&amp;quot;, ++versuche, rightBits);&lt;br /&gt;
  return rightBits;&lt;br /&gt;
 }&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 /*Hier wird das zufaellige Schloss generiert. Bitte nicht veraendern sonst geht der Spaß verloren. */&lt;br /&gt;
 void generate(void)&lt;br /&gt;
 {&lt;br /&gt;
  printf (&amp;quot;\nSchloss wurde erstellt.\nViel Spass beim probieren.\n\n&amp;quot;);&lt;br /&gt;
  unsigned int secret;&lt;br /&gt;
  abb = (unsigned int*) malloc (1);&lt;br /&gt;
  srand ( time(NULL) );&lt;br /&gt;
  secret = rand();&lt;br /&gt;
  *abb = secret;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 /*Konvertierungsfunktion zur Ausgabe der Binaerrepraesentation einer Zahl*/&lt;br /&gt;
 char * toBin(unsigned int num)&lt;br /&gt;
 {&lt;br /&gt;
  static char retbuf[33];&lt;br /&gt;
  int i =0;&lt;br /&gt;
  for(; i&amp;lt;33 ; i++){&lt;br /&gt;
   retbuf[i]='0';&lt;br /&gt;
  }&lt;br /&gt;
  char *p;&lt;br /&gt;
  p = &amp;amp;retbuf[sizeof(retbuf)-1];&lt;br /&gt;
  *p = '\0';&lt;br /&gt;
  do {&lt;br /&gt;
   *--p = &amp;quot;0123456789abcdef&amp;quot;[num % 2];&lt;br /&gt;
   num /= 2;&lt;br /&gt;
  } while(num != 0);&lt;br /&gt;
  return retbuf;&lt;br /&gt;
 }&lt;/div&gt;</summary>
		<author><name>Ugene</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.freitagsrunde.org/index.php?title=C-Kurs/digitalesSchloesserKnacken/Musterl%C3%B6sung&amp;diff=14802</id>
		<title>C-Kurs/digitalesSchloesserKnacken/Musterlösung</title>
		<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/index.php?title=C-Kurs/digitalesSchloesserKnacken/Musterl%C3%B6sung&amp;diff=14802"/>
		<updated>2010-09-08T19:34:24Z</updated>

		<summary type="html">&lt;p&gt;Ugene: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt; #include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
 #include &amp;lt;stdlib.h&amp;gt;&lt;br /&gt;
 #include &amp;lt;time.h&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 unsigned int* abb;&lt;br /&gt;
 unsigned int versuche = 0;&lt;br /&gt;
 &lt;br /&gt;
 void generate(void);&lt;br /&gt;
 int test(unsigned int);&lt;br /&gt;
 char * toBin(unsigned int);&lt;br /&gt;
 unsigned int switchBit(int,int);&lt;br /&gt;
 &lt;br /&gt;
 int main (void)&lt;br /&gt;
 {&lt;br /&gt;
  generate();&lt;br /&gt;
  unsigned int key = 0;&lt;br /&gt;
  /* ab hier kannst du versuchen die Tuer mit deinem Schluessel zuknacken.&lt;br /&gt;
  veraendere die Variable Key dazu mit den dir bekannten bitweisen Operatoren&lt;br /&gt;
  die du in der Vorlesung kennengelernt hast.&lt;br /&gt;
  Du kannst deinen Schluessel dann mit der Funktion test() mit deinem Schluessel&lt;br /&gt;
  als Parameter testen.&lt;br /&gt;
  */&lt;br /&gt;
  int i = 0;&lt;br /&gt;
  for(; i &amp;lt; 32 ; i++){/* fuer jedes Bit wird geprueft ob es Richtig ist oder ob es getaucht werden muss*/&lt;br /&gt;
   int rightBits  = test(key);/* Anzahl der richtigen Bits bevor das i-te Bit getauscht wurde*/&lt;br /&gt;
   int newRightBits = test(switchBit(key,i));/* Anzahl der richtigen Bits nachdem das i-te Bit getauscht wurde*/&lt;br /&gt;
   if(newRightBits &amp;gt; rightBits)&lt;br /&gt;
    /* wenn die Anzahl der richtigen Bits nach dem Tausch groeßer ist als vorher&lt;br /&gt;
    ist der Schluessel mit dem getauschten bit der Neue Schluessel*/&lt;br /&gt;
&lt;br /&gt;
    key=switchBit(key,i);&lt;br /&gt;
  }&lt;br /&gt;
 return 0;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 /*Diese Funktion vertaucht das in whichBit uebgebene Bit in dem uebergebenen Schluessel&lt;br /&gt;
 und liefert den so veraenderten Schluessel als Rueckgabewert*/&lt;br /&gt;
 unsigned int switchBit(int key , int whichBit)&lt;br /&gt;
 {&lt;br /&gt;
  return key ^ (1&amp;lt;&amp;lt;whichBit);&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 /* diese Funktion liefert die Anzahl der Richtigen Bits im uebergebenen Schluessel zurueck.&lt;br /&gt;
 falls 32 zurueckgeliefert wird war der Schluessel richtig und die Tuer oeffnet sich.&lt;br /&gt;
 */&lt;br /&gt;
 int test(unsigned int toTest)&lt;br /&gt;
 {&lt;br /&gt;
 int rightBits = 0;&lt;br /&gt;
 int i = 0;&lt;br /&gt;
 for(; i&amp;lt; 32 ; i++){&lt;br /&gt;
  unsigned int x = 1 &amp;lt;&amp;lt; i;&lt;br /&gt;
  if(! ~((toTest &amp;amp; x) ^ (*abb| ~x))){&lt;br /&gt;
   rightBits++;&lt;br /&gt;
  }&lt;br /&gt;
 }&lt;br /&gt;
 if(rightBits == 32){&lt;br /&gt;
  printf (&amp;quot;\nGratulation !\n\n&amp;quot;);&lt;br /&gt;
  printf (&amp;quot;Die Tuer ist offen.\n&amp;quot;);&lt;br /&gt;
  printf (&amp;quot;So sahen Schluessel und Schloss aus \n&amp;quot;);&lt;br /&gt;
  printf (&amp;quot;Schloss    : %32s \n&amp;quot;, toBin(*abb));&lt;br /&gt;
  printf (&amp;quot;Schluessel : %32s \n&amp;quot;, toBin(~*abb));&lt;br /&gt;
  exit(0);&lt;br /&gt;
 }else{&lt;br /&gt;
  printf (&amp;quot;%3d . Versuch, %d richtige Bits \n&amp;quot;, ++versuche, rightBits);&lt;br /&gt;
  return rightBits;&lt;br /&gt;
 }&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 /*Hier wird das zufaellige Schloss generiert. Bitte nicht veraendern sonst geht der Spaß verloren. */&lt;br /&gt;
 void generate(void)&lt;br /&gt;
 {&lt;br /&gt;
  printf (&amp;quot;\nSchloss wurde erstellt.\nViel Spass beim probieren.\n\n&amp;quot;);&lt;br /&gt;
  unsigned int secret;&lt;br /&gt;
  abb = (unsigned int*) malloc (1);&lt;br /&gt;
  srand ( time(NULL) );&lt;br /&gt;
  secret = rand();&lt;br /&gt;
  *abb = secret;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 /*Konvertierungsfunktion zur Ausgabe der Binaerrepraesentation einer Zahl*/&lt;br /&gt;
 char * toBin(unsigned int num)&lt;br /&gt;
 {&lt;br /&gt;
  static char retbuf[33];&lt;br /&gt;
  int i =0;&lt;br /&gt;
  for(; i&amp;lt;33 ; i++){&lt;br /&gt;
   retbuf[i]='0';&lt;br /&gt;
  }&lt;br /&gt;
  char *p;&lt;br /&gt;
  p = &amp;amp;retbuf[sizeof(retbuf)-1];&lt;br /&gt;
  *p = '\0';&lt;br /&gt;
  do {&lt;br /&gt;
   *--p = &amp;quot;0123456789abcdef&amp;quot;[num % 2];&lt;br /&gt;
   num /= 2;&lt;br /&gt;
  } while(num != 0);&lt;br /&gt;
  return retbuf;&lt;br /&gt;
 }&lt;/div&gt;</summary>
		<author><name>Ugene</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.freitagsrunde.org/index.php?title=C-Kurs/digitalesSchloesserKnacken/Musterl%C3%B6sung&amp;diff=14801</id>
		<title>C-Kurs/digitalesSchloesserKnacken/Musterlösung</title>
		<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/index.php?title=C-Kurs/digitalesSchloesserKnacken/Musterl%C3%B6sung&amp;diff=14801"/>
		<updated>2010-09-08T19:30:32Z</updated>

		<summary type="html">&lt;p&gt;Ugene: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt; #include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
 #include &amp;lt;stdlib.h&amp;gt;&lt;br /&gt;
 #include &amp;lt;time.h&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 unsigned int* abb;&lt;br /&gt;
 unsigned int versuche = 0;&lt;br /&gt;
 &lt;br /&gt;
 void generate(void);&lt;br /&gt;
 int test(unsigned int);&lt;br /&gt;
 char * toBin(unsigned int);&lt;br /&gt;
 unsigned int switchBit(int,int);&lt;br /&gt;
 &lt;br /&gt;
 int main (void)&lt;br /&gt;
 {&lt;br /&gt;
  generate();&lt;br /&gt;
  unsigned int key = 0;&lt;br /&gt;
  /* ab hier kannst du versuchen die Tuer mit deinem Schluessel zuknacken.&lt;br /&gt;
  veraendere die Variable Key dazu mit den dir bekannten bitweisen Operatoren&lt;br /&gt;
  die du in der Vorlesung kennengelernt hast.&lt;br /&gt;
  Du kannst deinen Schluessel dann mit der Funktion test() mit deinem Schluessel&lt;br /&gt;
  als Parameter testen.&lt;br /&gt;
  */&lt;br /&gt;
  int i = 0;&lt;br /&gt;
  for(; i &amp;lt; 32 ; i++){/* fuer jedes Bit wird geprueft ob es Richtig ist oder ob es getaucht werden muss*/&lt;br /&gt;
   int rightBits  = test(key);/* Anzahl der richtigen Bits bevor das i-te Bit getauscht wurde*/&lt;br /&gt;
   int newRightBits = test(switchBit(key,i));/* Anzahl der richtigen Bits nachdem das i-te Bit getauscht wurde*/&lt;br /&gt;
   if(newRightBits &amp;gt; rightBits)&lt;br /&gt;
    key=switchBit(key,i);/* wenn die Anzahl der richtigen Bits nach dem Tausch groeßer ist als vorher ist der Schluessel mit dem getauschten bit der Neue Schluessel*/&lt;br /&gt;
  }&lt;br /&gt;
 return 0;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 /*Diese Funktion vertaucht das in whichBit uebgebene Bit in dem uebergebenen Schluessel&lt;br /&gt;
 und liefert den so veraenderten Schluessel als Rueckgabewert*/&lt;br /&gt;
 unsigned int switchBit(int key , int whichBit)&lt;br /&gt;
 {&lt;br /&gt;
  return key ^ (1&amp;lt;&amp;lt;whichBit);&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 /* diese Funktion liefert die Anzahl der Richtigen Bits im uebergebenen Schluessel zurueck.&lt;br /&gt;
 falls 32 zurueckgeliefert wird war der Schluessel richtig und die Tuer oeffnet sich.&lt;br /&gt;
 */&lt;br /&gt;
 int test(unsigned int toTest)&lt;br /&gt;
 {&lt;br /&gt;
 int rightBits = 0;&lt;br /&gt;
 int i = 0;&lt;br /&gt;
 for(; i&amp;lt; 32 ; i++){&lt;br /&gt;
  unsigned int x = 1 &amp;lt;&amp;lt; i;&lt;br /&gt;
  if(! ~((toTest &amp;amp; x) ^ (*abb| ~x))){&lt;br /&gt;
   rightBits++;&lt;br /&gt;
  }&lt;br /&gt;
 }&lt;br /&gt;
 if(rightBits == 32){&lt;br /&gt;
  printf (&amp;quot;\nGratulation !\n\n&amp;quot;);&lt;br /&gt;
  printf (&amp;quot;Die Tuer ist offen.\n&amp;quot;);&lt;br /&gt;
  printf (&amp;quot;So sahen Schluessel und Schloss aus \n&amp;quot;);&lt;br /&gt;
  printf (&amp;quot;Schloss    : %32s \n&amp;quot;, toBin(*abb));&lt;br /&gt;
  printf (&amp;quot;Schluessel : %32s \n&amp;quot;, toBin(~*abb));&lt;br /&gt;
  exit(0);&lt;br /&gt;
 }else{&lt;br /&gt;
  printf (&amp;quot;%3d . Versuch, %d richtige Bits \n&amp;quot;, ++versuche, rightBits);&lt;br /&gt;
  return rightBits;&lt;br /&gt;
 }&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 /*Hier wird das zufaellige Schloss generiert. Bitte nicht veraendern sonst geht der Spaß verloren. */&lt;br /&gt;
 void generate(void)&lt;br /&gt;
 {&lt;br /&gt;
  printf (&amp;quot;\nSchloss wurde erstellt.\nViel Spass beim probieren.\n\n&amp;quot;);&lt;br /&gt;
  unsigned int secret;&lt;br /&gt;
  abb = (unsigned int*) malloc (1);&lt;br /&gt;
  srand ( time(NULL) );&lt;br /&gt;
  secret = rand();&lt;br /&gt;
  *abb = secret;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 /*Konvertierungsfunktion zur Ausgabe der Binaerrepraesentation einer Zahl*/&lt;br /&gt;
 char * toBin(unsigned int num)&lt;br /&gt;
 {&lt;br /&gt;
  static char retbuf[33];&lt;br /&gt;
  int i =0;&lt;br /&gt;
  for(; i&amp;lt;33 ; i++){&lt;br /&gt;
   retbuf[i]='0';&lt;br /&gt;
  }&lt;br /&gt;
  char *p;&lt;br /&gt;
  p = &amp;amp;retbuf[sizeof(retbuf)-1];&lt;br /&gt;
  *p = '\0';&lt;br /&gt;
  do {&lt;br /&gt;
   *--p = &amp;quot;0123456789abcdef&amp;quot;[num % 2];&lt;br /&gt;
   num /= 2;&lt;br /&gt;
  } while(num != 0);&lt;br /&gt;
  return retbuf;&lt;br /&gt;
 }&lt;/div&gt;</summary>
		<author><name>Ugene</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.freitagsrunde.org/index.php?title=C-Kurs/%C3%9Cbungsaufgaben&amp;diff=14779</id>
		<title>C-Kurs/Übungsaufgaben</title>
		<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/index.php?title=C-Kurs/%C3%9Cbungsaufgaben&amp;diff=14779"/>
		<updated>2010-09-08T10:29:55Z</updated>

		<summary type="html">&lt;p&gt;Ugene: /* 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;
{| class=&amp;quot;wikitable sortable&amp;quot; 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]] (2009), &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 (2009), &lt;br /&gt;
 |  &lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Ckurs2009/Fibonacci-Folge|Fibonacci-Folge]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1. VL&lt;br /&gt;
 | Funktionen &amp;lt;br&amp;gt; Rekursion&lt;br /&gt;
 | Paul B.&lt;br /&gt;
 | [[Benutzer:Mario|Mario]] (2010)&lt;br /&gt;
 | [[Ckurs2009/Fibonacci-Folge/Musterlösung | Fibonacci-Folge]]&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Ckurs2009/digitalesSchloesserKnacken|digitales Schloesser knacken]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2-4&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1. VL&lt;br /&gt;
 | Kontrollstrukturen &amp;lt;br&amp;gt;Bitweise Operatoren&lt;br /&gt;
 | Paul B.&lt;br /&gt;
 | Eugen R (2010) - bin dabei&lt;br /&gt;
 | [[Ckurs2009/digitalesSchloesserKnacken/Musterlösung | digitales Schloesser knacken]]&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Ckurs2009/Rekursives_arbeiten|Rekursives Arbeiten]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3-5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1. VL&lt;br /&gt;
 | Bekannte Operatoren wie + durch Funktionen succ und neg nachbilden&lt;br /&gt;
 | Eugen R.&lt;br /&gt;
 | Paul B.(2010)&lt;br /&gt;
 | [[Ckurs2009/Rekursives_arbeiten/Musterlösung | Rekursives Arbeiten]]&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;
 | Paul B.(2010)&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 (2009), &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]] (2009), &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 (2009), &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 (2009), &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)  (2009), &lt;br /&gt;
 | &lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Ckurs2009/Taschenrechner2.0 | Taschenrechner ''2.0'']]&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. (2009), &lt;br /&gt;
 | [[Ckurs2009/Taschenrechner2.0/Musterlösung | Taschenrechner ''2.0'']]&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 (2009), &lt;br /&gt;
 | [[Ckurs2009/Call by reference/Musterlösung | Call by reference]]&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Ckurs2010/String to Double | String to Double]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Original-Dokumentation anwenden (Opengroup, man pages)&amp;lt;br&amp;gt;Pointer auf Pointer&amp;lt;br&amp;gt;Const correctness&amp;lt;br&amp;gt;Strings&lt;br /&gt;
 | sping&lt;br /&gt;
 | Eugen (2010) bin dabei&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]] (2009), &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 (2009), &lt;br /&gt;
 | [[Ckurs2009/Palindrome/Musterlösung | Palindrome ]]&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;
 | Katrin (2010, wird nochmal überarbeitet bzw. mit mehr erklärendem Text versehen)&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]] (2009), &lt;br /&gt;
 | [[Ckurs2009/Matrizenmultiplikation/Musterlösung | Matrizenmultiplikation]]&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Ckurs/DreiD | 3D mit C]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5-9&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Mathematische Rechenoperationen, Algorithmik&lt;br /&gt;
 | AndreasF&lt;br /&gt;
 | &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. (2009), &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]] (2009), &lt;br /&gt;
 |  [[Ckurs2009/Sammelbestellung/Musterlösung | Sammelbestellung]] &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;
 | AndyF (grad_dabei)&lt;br /&gt;
 | [https://wiki.freitagsrunde.org/Ckurs2009/Vortrag05 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;
 | [[Benutzer:Mario|Mario]] (2010)&lt;br /&gt;
 | [[Ckurs2009/Bus Error/Musterlösung | Bus Error]]&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;
 | [[Ckurs2009/BubbleSortDebug/Musterlösung | BubbleSort Debugging]]&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;
 | &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;
 | [[Benutzer:Tkroenert|TKroenert]] (2010)&lt;br /&gt;
 | [[Ckurs2009/Code Layout/Musterlösung | Code Layout]]&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;
 | [[Ckurs2009/Refactoring/Musterlösung | Refactoring]]&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; |2. VL&lt;br /&gt;
 | Arbeiten mit Dateien&amp;lt;br&amp;gt;Kommandozeilenparameter&lt;br /&gt;
 | nion&lt;br /&gt;
 | sping (2009), &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; |9.VL (eigentlich 2.VL)&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; |5.VL&lt;br /&gt;
 | Lesen aus Dateien&lt;br /&gt;
 | reiner&lt;br /&gt;
 | AndyF (2010)&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; |8&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&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; |3. VL&lt;br /&gt;
 | Funktionspointer&lt;br /&gt;
 | reiner&lt;br /&gt;
 | [[Benutzer:Tkroenert|TKroenert]] (2010)&lt;br /&gt;
 | [[Ckurs/integral/Musterlösung | Musterloesung]]&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Ckurs/forschleife | forschleife]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |6. VL&lt;br /&gt;
 | Bug (zum Knobeln)&lt;br /&gt;
 | reiner&lt;br /&gt;
 | nion (2009), [[Benutzer:Tkroenert|TKroenert]] (2010)&lt;br /&gt;
 | vorhanden&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Ckurs/libgdsl | GDSL]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5-7&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |9. VL&lt;br /&gt;
 | Anwendung der Generic Data Structures Library&lt;br /&gt;
 | martin&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Ckurs2009/StdLib | Standard C Library]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |9. VL&lt;br /&gt;
 | Recherche in der Standard C Bibliothek&lt;br /&gt;
 | martin&lt;br /&gt;
 | &lt;br /&gt;
 | &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 'bash' eingeben, man sieht dann auch in welchem Verzeichnis man gerade ist.&lt;br /&gt;
* wenn man nur den Promt 'bash-0.12' oder so erhält, also ohne das Verzeichnis in dem man ist, folgendes Kommando eingeben: &amp;lt;tt&amp;gt;export PS1='\u@\h:\w$ '&amp;lt;/tt&amp;gt; oder zum dauerhaften Speichern: &amp;lt;tt&amp;gt; echo &amp;quot;export PS1='\u@\h:\w$ '&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>Ugene</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.freitagsrunde.org/index.php?title=C-Kurs/%C3%9Cbungsaufgaben&amp;diff=14778</id>
		<title>C-Kurs/Übungsaufgaben</title>
		<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/index.php?title=C-Kurs/%C3%9Cbungsaufgaben&amp;diff=14778"/>
		<updated>2010-09-08T10:17:14Z</updated>

		<summary type="html">&lt;p&gt;Ugene: /* 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;
{| class=&amp;quot;wikitable sortable&amp;quot; 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]] (2009), &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 (2009), &lt;br /&gt;
 |  &lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Ckurs2009/Fibonacci-Folge|Fibonacci-Folge]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1. VL&lt;br /&gt;
 | Funktionen &amp;lt;br&amp;gt; Rekursion&lt;br /&gt;
 | Paul B.&lt;br /&gt;
 | [[Benutzer:Mario|Mario]] (2010)&lt;br /&gt;
 | [[Ckurs2009/Fibonacci-Folge/Musterlösung | Fibonacci-Folge]]&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Ckurs2009/digitalesSchloesserKnacken|digitales Schloesser knacken]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2-4&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1. VL&lt;br /&gt;
 | Kontrollstrukturen &amp;lt;br&amp;gt;Bitweise Operatoren&lt;br /&gt;
 | Paul B.&lt;br /&gt;
 | Eugen R (2010) - bin dabei&lt;br /&gt;
 | [[Ckurs2009/digitalesSchloesserKnacken/Musterlösung | digitales Schloesser knacken]]&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Ckurs2009/Rekursives_arbeiten|Rekursives Arbeiten]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3-5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1. VL&lt;br /&gt;
 | Bekannte Operatoren wie + durch Funktionen succ und neg nachbilden&lt;br /&gt;
 | Eugen R.&lt;br /&gt;
 | Paul B.(2010)&lt;br /&gt;
 | [[Ckurs2009/Rekursives_arbeiten/Musterlösung | Rekursives Arbeiten]]&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;
 | Paul B.(2010)&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 (2009), &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]] (2009), &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 (2009), &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 (2009), &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)  (2009), &lt;br /&gt;
 | &lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Ckurs2009/Taschenrechner2.0 | Taschenrechner ''2.0'']]&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. (2009), &lt;br /&gt;
 | [[Ckurs2009/Taschenrechner2.0/Musterlösung | Taschenrechner ''2.0'']]&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 (2009), &lt;br /&gt;
 | [[Ckurs2009/Call by reference/Musterlösung | Call by reference]]&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Ckurs2010/String to Double | String to Double]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Original-Dokumentation anwenden (Opengroup, man pages)&amp;lt;br&amp;gt;Pointer auf Pointer&amp;lt;br&amp;gt;Const correctness&amp;lt;br&amp;gt;Strings&lt;br /&gt;
 | sping&lt;br /&gt;
 |&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]] (2009), &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 (2009), &lt;br /&gt;
 | [[Ckurs2009/Palindrome/Musterlösung | Palindrome ]]&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;
 | Katrin (2010, wird nochmal überarbeitet bzw. mit mehr erklärendem Text versehen)&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]] (2009), &lt;br /&gt;
 | [[Ckurs2009/Matrizenmultiplikation/Musterlösung | Matrizenmultiplikation]]&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Ckurs/DreiD | 3D mit C]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5-9&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Mathematische Rechenoperationen, Algorithmik&lt;br /&gt;
 | AndreasF&lt;br /&gt;
 | &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. (2009), &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]] (2009), &lt;br /&gt;
 |  [[Ckurs2009/Sammelbestellung/Musterlösung | Sammelbestellung]] &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;
 | AndyF (grad_dabei)&lt;br /&gt;
 | [https://wiki.freitagsrunde.org/Ckurs2009/Vortrag05 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;
 | [[Benutzer:Mario|Mario]] (2010)&lt;br /&gt;
 | [[Ckurs2009/Bus Error/Musterlösung | Bus Error]]&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;
 | [[Ckurs2009/BubbleSortDebug/Musterlösung | BubbleSort Debugging]]&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;
 | &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;
 | [[Benutzer:Tkroenert|TKroenert]] (2010)&lt;br /&gt;
 | [[Ckurs2009/Code Layout/Musterlösung | Code Layout]]&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;
 | [[Ckurs2009/Refactoring/Musterlösung | Refactoring]]&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; |2. VL&lt;br /&gt;
 | Arbeiten mit Dateien&amp;lt;br&amp;gt;Kommandozeilenparameter&lt;br /&gt;
 | nion&lt;br /&gt;
 | sping (2009), &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; |9.VL (eigentlich 2.VL)&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; |5.VL&lt;br /&gt;
 | Lesen aus Dateien&lt;br /&gt;
 | reiner&lt;br /&gt;
 | AndyF (2010)&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; |8&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&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; |3. VL&lt;br /&gt;
 | Funktionspointer&lt;br /&gt;
 | reiner&lt;br /&gt;
 | [[Benutzer:Tkroenert|TKroenert]] (2010)&lt;br /&gt;
 | [[Ckurs/integral/Musterlösung | Musterloesung]]&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Ckurs/forschleife | forschleife]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |6. VL&lt;br /&gt;
 | Bug (zum Knobeln)&lt;br /&gt;
 | reiner&lt;br /&gt;
 | nion (2009), [[Benutzer:Tkroenert|TKroenert]] (2010)&lt;br /&gt;
 | vorhanden&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Ckurs/libgdsl | GDSL]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5-7&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |9. VL&lt;br /&gt;
 | Anwendung der Generic Data Structures Library&lt;br /&gt;
 | martin&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Ckurs2009/StdLib | Standard C Library]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |9. VL&lt;br /&gt;
 | Recherche in der Standard C Bibliothek&lt;br /&gt;
 | martin&lt;br /&gt;
 | &lt;br /&gt;
 | &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 'bash' eingeben, man sieht dann auch in welchem Verzeichnis man gerade ist.&lt;br /&gt;
* wenn man nur den Promt 'bash-0.12' oder so erhält, also ohne das Verzeichnis in dem man ist, folgendes Kommando eingeben: &amp;lt;tt&amp;gt;export PS1='\u@\h:\w$ '&amp;lt;/tt&amp;gt; oder zum dauerhaften Speichern: &amp;lt;tt&amp;gt; echo &amp;quot;export PS1='\u@\h:\w$ '&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>Ugene</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.freitagsrunde.org/index.php?title=C-Kurs/%C3%9Cbungsaufgaben&amp;diff=14740</id>
		<title>C-Kurs/Übungsaufgaben</title>
		<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/index.php?title=C-Kurs/%C3%9Cbungsaufgaben&amp;diff=14740"/>
		<updated>2010-09-02T17:10:48Z</updated>

		<summary type="html">&lt;p&gt;Ugene: /* 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;
{| class=&amp;quot;wikitable sortable&amp;quot; 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]] (2009), &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 (2009), &lt;br /&gt;
 |  &lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Ckurs2009/Fibonacci-Folge|Fibonacci-Folge]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1. VL&lt;br /&gt;
 | Folgenglieder der Fibonacci-Folge berechnen&lt;br /&gt;
 | Paul B.&lt;br /&gt;
 |&lt;br /&gt;
 | [[Ckurs2009/Fibonacci-Folge/Musterlösung | Fibonacci-Folge]]&lt;br /&gt;
 |&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Ckurs2009/Rekursives_arbeiten|Rekursives Arbeiten]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3-5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1. VL&lt;br /&gt;
 | Bekannte Operatoren wie + durch Funktionen succ und neg nachbilden&lt;br /&gt;
 | Eugen R.&lt;br /&gt;
 |&lt;br /&gt;
 | [[Ckurs2009/Rekursives_arbeiten/Musterlösung | Rekursives Arbeiten]]&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;
 | Paul(2010)&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 (2009), &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]] (2009), &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 (2009), &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 (2009), &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)  (2009), &lt;br /&gt;
 | &lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Ckurs2009/Taschenrechner2.0 | Taschenrechner ''2.0'']]&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. (2009), &lt;br /&gt;
 | [[Ckurs2009/Taschenrechner2.0/Musterlösung | Taschenrechner ''2.0'']]&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 (2009), &lt;br /&gt;
 | [[Ckurs2009/Call by reference/Musterlösung | Call by reference]]&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Ckurs2010/String to Double | String to Double]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Original-Dokumentation anwenden (Opengroup, man pages)&amp;lt;br&amp;gt;Pointer auf Pointer&amp;lt;br&amp;gt;Const correctness&amp;lt;br&amp;gt;Strings&lt;br /&gt;
 | sping&lt;br /&gt;
 |&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]] (2009), &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 (2009), &lt;br /&gt;
 | [[Ckurs2009/Palindrome/Musterlösung | Palindrome ]]&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]] (2009), &lt;br /&gt;
 | [[Ckurs2009/Matrizenmultiplikation/Musterlösung | Matrizenmultiplikation]]&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Ckurs/DreiD | 3D mit C]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5-9&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Mathematische Rechenoperationen, Algorithmik&lt;br /&gt;
 | AndreasF&lt;br /&gt;
 | &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. (2009), &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]] (2009), &lt;br /&gt;
 |  [[Ckurs2009/Sammelbestellung/Musterlösung | Sammelbestellung]] &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;
 | [https://wiki.freitagsrunde.org/Ckurs2009/Vortrag05 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;
 | [[Ckurs2009/BubbleSortDebug/Musterlösung | BubbleSort Debugging]]&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;
 | &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;
 | [[Benutzer:Tkroenert|TKroenert]] (2010)&lt;br /&gt;
 | [[Ckurs2009/Code Layout/Musterlösung | Code Layout]]&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;
 | [[Ckurs2009/Refactoring/Musterlösung | Refactoring]]&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; |2. VL&lt;br /&gt;
 | Arbeiten mit Dateien&amp;lt;br&amp;gt;Kommandozeilenparameter&lt;br /&gt;
 | nion&lt;br /&gt;
 | sping (2009), &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; |9.VL (eigentlich 2.VL)&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; |5.VL&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; |8&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&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; |3. VL&lt;br /&gt;
 | Funktionspointer&lt;br /&gt;
 | reiner&lt;br /&gt;
 | [[Benutzer:Tkroenert|TKroenert]] (2010)&lt;br /&gt;
 | [[Ckurs/integral/Musterlösung | Musterloesung]]&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Ckurs/forschleife | forschleife]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |6. VL&lt;br /&gt;
 | Bug (zum Knobeln)&lt;br /&gt;
 | reiner&lt;br /&gt;
 | nion (2009), [[Benutzer:Tkroenert|TKroenert]] (2010)&lt;br /&gt;
 | vorhanden&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Ckurs/libgdsl | GDSL]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5-7&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |9. VL&lt;br /&gt;
 | Anwendung der Generic Data Structures Library&lt;br /&gt;
 | martin&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Ckurs2009/StdLib | Standard C Library]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |9. VL&lt;br /&gt;
 | Recherche in der Standard C Bibliothek&lt;br /&gt;
 | martin&lt;br /&gt;
 | &lt;br /&gt;
 | &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 'bash' eingeben, man sieht dann auch in welchem Verzeichnis man gerade ist.&lt;br /&gt;
* wenn man nur den Promt 'bash-0.12' oder so erhält, also ohne das Verzeichnis in dem man ist, folgendes Kommando eingeben: &amp;lt;tt&amp;gt;export PS1='\u@\h:\w$ '&amp;lt;/tt&amp;gt; oder zum dauerhaften Speichern: &amp;lt;tt&amp;gt; echo &amp;quot;export PS1='\u@\h:\w$ '&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>Ugene</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.freitagsrunde.org/index.php?title=C-Kurs/%C3%9Cbungsaufgaben&amp;diff=14739</id>
		<title>C-Kurs/Übungsaufgaben</title>
		<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/index.php?title=C-Kurs/%C3%9Cbungsaufgaben&amp;diff=14739"/>
		<updated>2010-09-02T17:10:22Z</updated>

		<summary type="html">&lt;p&gt;Ugene: /* 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;
{| class=&amp;quot;wikitable sortable&amp;quot; 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]] (2009), &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 (2009), &lt;br /&gt;
 |  &lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Ckurs2009/Fibonacci-Folge|Fibonacci-Folge]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1. VL&lt;br /&gt;
 | Folgenglieder der Fibonacci-Folge berechnen&lt;br /&gt;
 | Paul B.&lt;br /&gt;
 |&lt;br /&gt;
 | [[Ckurs2009/Fibonacci-Folge/Musterlösung | Fibonacci-Folge]]&lt;br /&gt;
 |&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Ckurs2009/Rekursives_arbeiten|Rekursives Arbeiten]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |2&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |1. VL&lt;br /&gt;
 | Bekannte Operatoren wie + durch Funktionen succ und neg nachbilden&lt;br /&gt;
 | Eugen R.&lt;br /&gt;
 |&lt;br /&gt;
 | [[Ckurs2009/Rekursives_arbeiten/Musterlösung | Rekursives Arbeiten]]&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;
 | Paul(2010)&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 (2009), &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]] (2009), &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 (2009), &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 (2009), &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)  (2009), &lt;br /&gt;
 | &lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Ckurs2009/Taschenrechner2.0 | Taschenrechner ''2.0'']]&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. (2009), &lt;br /&gt;
 | [[Ckurs2009/Taschenrechner2.0/Musterlösung | Taschenrechner ''2.0'']]&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 (2009), &lt;br /&gt;
 | [[Ckurs2009/Call by reference/Musterlösung | Call by reference]]&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Ckurs2010/String to Double | String to Double]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Original-Dokumentation anwenden (Opengroup, man pages)&amp;lt;br&amp;gt;Pointer auf Pointer&amp;lt;br&amp;gt;Const correctness&amp;lt;br&amp;gt;Strings&lt;br /&gt;
 | sping&lt;br /&gt;
 |&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]] (2009), &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 (2009), &lt;br /&gt;
 | [[Ckurs2009/Palindrome/Musterlösung | Palindrome ]]&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]] (2009), &lt;br /&gt;
 | [[Ckurs2009/Matrizenmultiplikation/Musterlösung | Matrizenmultiplikation]]&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Ckurs/DreiD | 3D mit C]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5-9&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&lt;br /&gt;
 | Mathematische Rechenoperationen, Algorithmik&lt;br /&gt;
 | AndreasF&lt;br /&gt;
 | &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. (2009), &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]] (2009), &lt;br /&gt;
 |  [[Ckurs2009/Sammelbestellung/Musterlösung | Sammelbestellung]] &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;
 | [https://wiki.freitagsrunde.org/Ckurs2009/Vortrag05 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;
 | [[Ckurs2009/BubbleSortDebug/Musterlösung | BubbleSort Debugging]]&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;
 | &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;
 | [[Benutzer:Tkroenert|TKroenert]] (2010)&lt;br /&gt;
 | [[Ckurs2009/Code Layout/Musterlösung | Code Layout]]&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;
 | [[Ckurs2009/Refactoring/Musterlösung | Refactoring]]&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; |2. VL&lt;br /&gt;
 | Arbeiten mit Dateien&amp;lt;br&amp;gt;Kommandozeilenparameter&lt;br /&gt;
 | nion&lt;br /&gt;
 | sping (2009), &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; |9.VL (eigentlich 2.VL)&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; |5.VL&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; |8&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3. VL&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; |3. VL&lt;br /&gt;
 | Funktionspointer&lt;br /&gt;
 | reiner&lt;br /&gt;
 | [[Benutzer:Tkroenert|TKroenert]] (2010)&lt;br /&gt;
 | [[Ckurs/integral/Musterlösung | Musterloesung]]&lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Ckurs/forschleife | forschleife]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |6. VL&lt;br /&gt;
 | Bug (zum Knobeln)&lt;br /&gt;
 | reiner&lt;br /&gt;
 | nion (2009), [[Benutzer:Tkroenert|TKroenert]] (2010)&lt;br /&gt;
 | vorhanden&lt;br /&gt;
 |- bgcolor=&amp;quot;#E8E8E8&amp;quot;&lt;br /&gt;
 | [[Ckurs/libgdsl | GDSL]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |5-7&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |9. VL&lt;br /&gt;
 | Anwendung der Generic Data Structures Library&lt;br /&gt;
 | martin&lt;br /&gt;
 | &lt;br /&gt;
 | &lt;br /&gt;
 |- bgcolor=&amp;quot;#F5F5F5&amp;quot;&lt;br /&gt;
 | [[Ckurs2009/StdLib | Standard C Library]]&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |3&lt;br /&gt;
 | align=&amp;quot;center&amp;quot; |9. VL&lt;br /&gt;
 | Recherche in der Standard C Bibliothek&lt;br /&gt;
 | martin&lt;br /&gt;
 | &lt;br /&gt;
 | &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 'bash' eingeben, man sieht dann auch in welchem Verzeichnis man gerade ist.&lt;br /&gt;
* wenn man nur den Promt 'bash-0.12' oder so erhält, also ohne das Verzeichnis in dem man ist, folgendes Kommando eingeben: &amp;lt;tt&amp;gt;export PS1='\u@\h:\w$ '&amp;lt;/tt&amp;gt; oder zum dauerhaften Speichern: &amp;lt;tt&amp;gt; echo &amp;quot;export PS1='\u@\h:\w$ '&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>Ugene</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.freitagsrunde.org/index.php?title=C-Kurs/Rekursives_arbeiten/Musterl%C3%B6sung&amp;diff=14738</id>
		<title>C-Kurs/Rekursives arbeiten/Musterlösung</title>
		<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/index.php?title=C-Kurs/Rekursives_arbeiten/Musterl%C3%B6sung&amp;diff=14738"/>
		<updated>2010-09-02T17:05:18Z</updated>

		<summary type="html">&lt;p&gt;Ugene: Die Seite wurde neu angelegt: „&amp;lt;pre&amp;gt; #include &amp;lt;stdio.h&amp;gt;  /*  * Gibt Nachfolger des uebergebenen Wertes zurueck  */ int succ(int x){ 	return ++x; }  /*  * Gibt den inversen Wert eines uebergeben...“&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;
&lt;br /&gt;
/*&lt;br /&gt;
 * Gibt Nachfolger des uebergebenen Wertes zurueck&lt;br /&gt;
 */&lt;br /&gt;
int succ(int x){&lt;br /&gt;
	return ++x;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
 * Gibt den inversen Wert eines uebergebenen Wertes zurueck&lt;br /&gt;
 */&lt;br /&gt;
int neg(int x){&lt;br /&gt;
	return -x;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//--------------Ab hier durch C-Kurs Teilnehmer -----------------------&lt;br /&gt;
/*&lt;br /&gt;
 * Gibt den Vorgaenger des uebergebenen Wertes zurueck&lt;br /&gt;
 */&lt;br /&gt;
int pred(int x){&lt;br /&gt;
	return neg(succ(neg(x)));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
 * Addition zweier Zahlen&lt;br /&gt;
 */&lt;br /&gt;
int add(int x, int y){	&lt;br /&gt;
	if (y == 0) {&lt;br /&gt;
		return x;&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	if (x &amp;lt; 0 &amp;amp;&amp;amp; y &amp;lt; 0) {&lt;br /&gt;
		return neg(add(neg(x), neg(y)));&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	if (y &amp;lt; 0) {&lt;br /&gt;
		return add(y, x);&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	return add(succ(x), pred(y));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
 * Subtraktion&lt;br /&gt;
 */&lt;br /&gt;
int sub(int x, int y){&lt;br /&gt;
	return add(x, neg(y));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
 * Multiplikation&lt;br /&gt;
 */&lt;br /&gt;
int mult(int x, int y){&lt;br /&gt;
	int inv = 0;&lt;br /&gt;
	int result = x;&lt;br /&gt;
	&lt;br /&gt;
	if (x == 0 || y == 0) {&lt;br /&gt;
		return 0;&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	if (x &amp;lt; 0) {&lt;br /&gt;
		x = neg(x);&lt;br /&gt;
		inv = !inv;&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	if (y &amp;lt; 0) {&lt;br /&gt;
		y = neg(y);&lt;br /&gt;
		inv = !inv;&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	if (inv) {&lt;br /&gt;
		return neg(add(x, mult(x, pred(y))));&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	return add(x, mult(x, pred(y)));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
 * Division&lt;br /&gt;
 */&lt;br /&gt;
int div(int x, int y){&lt;br /&gt;
	int inv = 0;&lt;br /&gt;
	if (y == 0) {&lt;br /&gt;
		//undefiniert!!!&lt;br /&gt;
		return 0;&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	if (x == 0) {&lt;br /&gt;
		return 0;&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	if (x &amp;lt; 0) {&lt;br /&gt;
		x = neg(x);&lt;br /&gt;
		inv = !inv;&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	if (y &amp;lt; 0) {&lt;br /&gt;
		y = neg(y);&lt;br /&gt;
		inv = !inv;&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	if (x &amp;lt; y) {&lt;br /&gt;
		return 0;&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	if (inv) {&lt;br /&gt;
		return neg(succ(div(sub(x, y), y)));&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	return succ(div(sub(x, y), y));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
 * Modulo&lt;br /&gt;
 */&lt;br /&gt;
int mod(int x, int y){&lt;br /&gt;
	if (y == 0) {&lt;br /&gt;
		//undefiniert!!!&lt;br /&gt;
		return 0;&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	if (x == 0) {&lt;br /&gt;
		return 0;&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	if (y &amp;lt; 0) {&lt;br /&gt;
		y = neg(y);&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	if (x &amp;lt; 0) {&lt;br /&gt;
		return neg(mod(neg(x),y));&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	if (x &amp;lt; y) {&lt;br /&gt;
		return x;&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	return mod(sub(x,y),y);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
 * Potenziert eine angegebene Zahl mit dem angegebenen Exponenten&lt;br /&gt;
 */&lt;br /&gt;
int pot(int x, int y){&lt;br /&gt;
	if (y == 1) {&lt;br /&gt;
		return x;&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	if (y &amp;lt; 0) {&lt;br /&gt;
		return 0;&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	return mult(x,pot(x,pred(y)));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
int main(){&lt;br /&gt;
	printf(&amp;quot;%i\n&amp;quot;, add(-3,-7);&lt;br /&gt;
	printf(&amp;quot;%i\n&amp;quot;, sub(-3,7));&lt;br /&gt;
	printf(&amp;quot;%i\n&amp;quot;, mult(-3,-7));&lt;br /&gt;
	printf(&amp;quot;%i\n&amp;quot;, div(3,-7));&lt;br /&gt;
	printf(&amp;quot;%i\n&amp;quot;, pot(-7,3));&lt;br /&gt;
	return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ugene</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.freitagsrunde.org/index.php?title=C-Kurs/Rekursives_arbeiten&amp;diff=14737</id>
		<title>C-Kurs/Rekursives arbeiten</title>
		<link rel="alternate" type="text/html" href="https://wiki.freitagsrunde.org/index.php?title=C-Kurs/Rekursives_arbeiten&amp;diff=14737"/>
		<updated>2010-09-02T17:01:58Z</updated>

		<summary type="html">&lt;p&gt;Ugene: Die Seite wurde neu angelegt: „Mit den beiden Funktionen succ und neg ist es möglich alle bekannten Operationen zu erstellen. Die Funktion succ liefert den Nachfolger einer übergebenen Zahl. ...“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Mit den beiden Funktionen succ und neg ist es möglich alle bekannten Operationen zu erstellen.&lt;br /&gt;
Die Funktion succ liefert den Nachfolger einer übergebenen Zahl. Neg dreht das Vorzeichen eines übergebenen Wertes um.&lt;br /&gt;
Im unten angegebenen Quelltext seht ihr die Funktionen add, sub, mult, div, mod und pot, die ihr aus succ und neg basteln sollt.&lt;br /&gt;
Dafür werdet ihr mit Variablen, Schleifen/Rekursion, Fallunterscheidungen und natürlich Funktionen arbeiten dürfen.&lt;br /&gt;
Verwendet bitte keine Operatoren, die bereits in C definiert sind - sonst wird's langweilig ;)&lt;br /&gt;
&lt;br /&gt;
Wenn ihr Lust habt, könnt ihr euch noch weitere Funktionen überlegen, die ihr aus succ und neg aufbauen könnt.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
 * Gibt Nachfolger des uebergebenen Wertes zurueck&lt;br /&gt;
 */&lt;br /&gt;
int succ(int x){&lt;br /&gt;
	return ++x;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
 * Gibt den inversen Wert eines uebergebenen Wertes zurueck&lt;br /&gt;
 */&lt;br /&gt;
int neg(int x){&lt;br /&gt;
	return -x;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//--------------Ab hier durch C-Kurs Teilnehmer -----------------------&lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
 * Addition zweier Zahlen&lt;br /&gt;
 */&lt;br /&gt;
int add(int x, int y){	&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
 * Subtraktion&lt;br /&gt;
 */&lt;br /&gt;
int sub(int x, int y){&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
 * Multiplikation&lt;br /&gt;
 */&lt;br /&gt;
int mult(int x, int y){&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
 * Division&lt;br /&gt;
 */&lt;br /&gt;
int div(int x, int y){&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
 * Modulo&lt;br /&gt;
 */&lt;br /&gt;
int mod(int x, int y){&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
 * Potenziert eine angegebene Zahl mit dem angegebenen Exponenten&lt;br /&gt;
 */&lt;br /&gt;
int pot(int x, int y){&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
int main(){&lt;br /&gt;
	printf(&amp;quot;%i\n&amp;quot;, add(-3,-7);&lt;br /&gt;
	printf(&amp;quot;%i\n&amp;quot;, sub(-3,7));&lt;br /&gt;
	printf(&amp;quot;%i\n&amp;quot;, mult(-3,-7));&lt;br /&gt;
	printf(&amp;quot;%i\n&amp;quot;, div(3,-7));&lt;br /&gt;
	printf(&amp;quot;%i\n&amp;quot;, pot(-7,3));&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>Ugene</name></author>
		
	</entry>
</feed>