Hole dir 16 Teller! //Variablendeklaration, 20 Teller der Uebersicht halber Lege 3 Nudeln auf Teller 8! //Spaeter beim Kuerzen und beim Kettenbruchabbruch notwendig Lege 4 Nudeln auf Teller 7! //Spaeter beim Kuerzen als Vergleichsvariable notewendig Frag mich, //Angabe einer ungeraden Zahl, die die Zahl angibt, mit der der Kettenbruch anfaengt wieviele Nudeln auf Teller 1 liegen sollen! Lege soviele Nudeln, wie auf Teller 1 liegen, //Anfang des Kettenbruches, wobei Teller 3 der Nenner ist, Teller 5 ist die erste Laufvariablei (gehoert zum Zaehler) auf Teller 3! Lege soviele Nudeln, wie auf Teller 1 liegen, //Die erste Laufvariable (LV1) wird erstellt, als die Haelfte der eingegebenen Zahl - 1 auf Teller 5! Nimm 1 Nudel von Teller 5! //LV1 - 1 Wiederhole folgendes, //Halbierung von LV 1 lege 1 Nudel auf Teller 15, //Lege fuer je zwei Nudeln auf Teller 5 eine Nudel auf Teller 15 und nimm 2 Nudeln von Teller 5, solange Teller 5 nicht leer ist! Lege soviele Nudeln, wie auf Teller 15 liegen, //Schreiben des Ergebnisses auf Teller 5 auf Teller 5! Nimm soviele Nudeln, wie auf Teller 15 liegen, //Leeren des Tellers 15 fuer spaetere Rechnungen von Teller 15! Lege soviele Nudeln, wie auf Teller 1 liegen, //Die zweite Laufvariable (LV2) wird erstellt, die zum Nenner gehoert auf Teller 6! Lege soviele Nudeln, wie auf Teller 5 liegen, auf Teller 15! //Berechnung des ersten Zaehlers des Bruches als Quadrat von LV1 Wiederhole folgendes, lege soviele Nudeln, wie auf Teller 5 liegen, //Quadrierung - Ergebnis liegt auf Teller 16, Teller 15 gibt die verbleibenden Male der Addition an auf Teller 16, und nimm 1 Nudel von Teller 15, solange Teller 15 nicht leer ist! Lege soviele Nudeln, wie auf Teller 16 liegen, auf Teller 2! //Schreiben des Ergebnisses auf den Teller 2, welcher der Zaehler ist Nimm soviele Nudeln, wie auf Teller 16 liegen, von Teller 16! //Leeren des Teller 16 fuer spaetere Berechnungen Nimm 2 Nudeln von Teller 6! //Dekrementieren der LV2, da der erste Bruch erstellt wurde Lege soviele Nudeln, wie auf Teller 6 liegen, auf Teller 15! //Zum ersten Kettenbruchentwicklung gehoert auch die Zahl vor dem Bruch, sodass diese jetzt Wiederhole folgendes, //zum Zaehler addiert wurde lege soviele Nudeln, wie auf Teller 3 liegen, //Hinzufuegen der Zahl zum Zaehler, wobei diese mit dem Nenner erweitert wird auf Teller 2, und nimm 1 Nudel von Teller 15, solange Teller 15 nicht leer ist! Wiederhole folgendes, //Beginn der eigentlichen Kettenbruchentwicklung nimm 2 Nudeln von Teller 6, //Dekrementierung der Laufvariablen, je nachdem, wie sehr sie sich verkleinern (LV1 - 1, LV2 - 2) und nimm 1 Nudel von Teller 5, und lege soviele Nudeln, wie auf Teller 2 liegen, auf Teller 10, //Teller 10 wird temporaere Variable zum Vertauschen von Zaehler und Nenner (Bruchdivision) und nimm soviele Nudeln, wie auf Teller 2 liegen, von Teller 2, //Bilden des Kehrwertes und vorheriges Loeschen der Variablen und lege soviele Nudeln, wie auf Teller 3 liegen, auf Teller 2, und nimm soviele Nudeln, wie auf Teller 3 liegen, von Teller 3, und lege soviele Nudeln, wie auf Teller 10 liegen, auf Teller 3, und nimm soviele Nudeln, wie auf Teller 10 liegen, von Teller 10, //Loeschen der temporaeren Variablen Teller 10 und lege soviele Nudeln, wie auf Teller 5 liegen, auf Teller 15, //Multiplikation des Zaehlers (Teller 2) mit LV1 (Teller 5) zwei mal, da LV1 zum Quadrat ist und nimm 1 Nudel von Teller 15, und lege soviele Nudeln, wie auf Teller 2 liegen, auf Teller 16, //Hinzuadieren des Zaehlers zum Zaehler, LV1-1 - mal, da der Zaehler bereits einmal auf dem Teller 2 liegt und wiederhole folgendes, lege soviele Nudeln, wie auf Teller 16 liegen, auf Teller 2, und nimm 1 Nudel von Teller 15, solange Teller 15 nicht leer ist, und nimm soviele Nudeln, wie auf Teller 16 liegen, von Teller 16, und lege soviele Nudeln, wie auf Teller 5 liegen, auf Teller 15, //zweites Mal Multiplikation mit LV1, analog zum ersten Mal und nimm 1 Nudel von Teller 15, und lege soviele Nudeln, wie auf Teller 2 liegen, auf Teller 16, und wiederhole folgendes, lege soviele Nudeln, wie auf Teller 16 liegen, auf Teller 2, und nimm 1 Nudel von Teller 15, solange Teller 15 nicht leer ist, und nimm soviele Nudeln, wie auf Teller 16 liegen, von Teller 16, und lege soviele Nudeln, wie auf Teller 6 liegen, auf Teller 15, //Addition der Zahl vor dem Bruch zu dem Bruch, indem diese mit dem Nenner erweitert wird und hinzuaddiert wird und wiederhole folgendes, lege soviele Nudeln, wie auf Teller 3 liegen, auf Teller 2, //Der Nenner (T 3) wird genau Zahl vor dem Bruch Mal (LV2 bzw T 6) zum Zaehler hinzugefuegt und nimm 1 Nudel von Teller 15, solange Teller 15 nicht leer ist, //Hier muss noch gekuerzt werden //Hier wird auf Teller 9 die Zahl an Nudeln abegelegt, bis zu der spaeter die Teiler gesucht werden und lege soviele Nudeln, wie auf Teller 3 liegen, auf Teller 9, //Dafuer wird der Nenner benutzt, da dieser kleiner als der Zaehler ist und dessen Drittel genommen, und wiederhole folgendes, //da wenn 3 kein Teiler des Nenners ist, eine Zahl groeßer als dessen Drittel es auch nicht sein kann lege 1 Nudel auf Teller 16, //Eigentlich wuerde es reichen, bis zur Quadratwurzel des Nenners zu gehen, aus Performencegruenden und nimm 3 Nudeln von Teller 9, //habe ich die nicht numerisch bestimmen lassen solange Teller 9 nicht leerer als Teller 8 ist, und lege soviele Nudeln, wie auf Teller 16 liegen, auf Teller 9, //Der Modulo wird zusätzlich auf Teller 9 gelegt, sodass auf diesem mehr als der Nenner/3 liegt und nimm soviele Nudeln, wie auf Teller 16 liegen, von Teller 16, //Bestimmung der moeglichen Teiler und dann Kuerzen mit diesen und wiederhole folgendes, lege 2 Nudeln auf Teller 10, //Teller 10 gibt die Zahl an, die als Teiler getestet wird und faengt bei 2 an - wird zunaechst inkrementiert und mache folgendes, //Eine Nudel von Teller 10 nehmen, wenn auf diesem 4 liegen, damit die Reihenfolge 2 3 5 wird und immer um zwei inkrementiert wird nimm 1 Nudel von Teller 10, wenn Teller 7 genauso voll wie Teller 10 ist, und lege soviele Nudeln, wie auf Teller 2 liegen, auf Teller 15, //Ablegen der Nudeln von Teller 2 auf Teller 15 zum Testen und wiederhole folgendes, nimm soviele Nudeln, wie auf Teller 10 liegen, von Teller 15, //Subtraktion, zum Dividieren und lege 1 Nudel auf Teller 11, //Ergebnis der Division auf Teller 11 abspeichern solange Teller 15 nicht leerer als Teller 10 ist, //Wenn die Division erfolgreich war, also Modulo 0 als Ergebnis hat/Teller 15 leer ist, und mache folgendes, //pruefen, ob Teller 10 ebenfalls ein Teiler des Zaehlers Nenners ist lege soviele Nudeln, wie auf Teller 3 liegen, auf Teller 15, //Pruefen und wiederhole folgendes, nimm soviele Nudeln, wie auf Teller 10 liegen, von Teller 15, und lege 1 Nudel auf Teller 12, //Teller 12 ist dann das Ergebnis der potentiell erfolgreichen Division solange Teller 15 nicht leerer als Teller 10 ist, und mache folgendes, nimm soviele Nudeln, wie auf Teller 2 liegen, von Teller 2, //Wenn die Pruefung erfolgreich ist, schreibe die Ergebniss der Division (T 11 und T 12) und lege soviele Nudeln, wie auf Teller 11 liegen, auf Teller 2, //als neuen Zaehler/Nenner und nimm soviele Nudeln, wie auf Teller 3 liegen, von Teller 3, und lege soviele Nudeln, wie auf Teller 12 liegen, auf Teller 3, und nimm 2 Nudeln von Teller 10, //Wenn es tatsaechlich ein Teiler war, wird ueberprueft, ob es nicht ein zweifacher Teiler ist und mache folgendes, //daher wird diese Zahl nochmal als Teiler ueberprueft, sodass Teller 10 2 mal dekrementiert wird nimm 1 Nudel von Teller 10, wenn Teller 10 voller als Teller 8 ist, wenn Teller 15 leer ist, wenn Teller 15 leer ist, und nimm soviele Nudeln, wie auf Teller 11 liegen, von Teller 11, //Leerung aller Teller, die zur Berechnung benutzt wurden und nimm soviele Nudeln, wie auf Teller 12 liegen, von Teller 12, und nimm soviele Nudeln, wie auf Teller 15 liegen, von Teller 15, solange Teller 9 voller als Teller 10 ist, und nimm soviele Nudeln, wie auf Teller 9 liegen, von Teller 9, //Erneute Leerung aller Teller, die verwendet wurden und nimm soviele Nudeln, wie auf Teller 10 liegen, von Teller 10, und nimm soviele Nudeln, wie auf Teller 15 liegen, von Teller 15, und sag mir, wieviele Nudeln auf Teller 5 liegen, //Ausgabe von LV1, da bei hohen Anfangswerten die Berechnung sehr lange dauern kann solange Teller 6 nicht leerer als Teller 8 ist! //Bedingung fuer den Kettenbruch, wird das letzte Mal durchgefuehrt, wenn auf Teller 6 3 Nudeln liegen Lege soviele Nudeln, wie auf Teller 3 liegen, auf Teller 10! //da das Ergebnis des Kettenbruches 4/Pi ist wird der Kehrwert gebildet Nimm soviele Nudeln, wie auf Teller 3 liegen, von Teller 3! Lege soviele Nudeln, wie auf Teller 2 liegen, auf Teller 3! Lege 4 Nudeln auf Teller 15! //Berechnung des Kehrwertes mal 4 um Pi zu erhalten Nimm soviele Nudeln, wie auf Teller 2 liegen, von Teller 2! Wiederhole folgendes, lege soviele Nudeln, wie auf Teller 10 liegen, auf Teller 2, und nimm 1 Nudel von Teller 15, solange Teller 15 nicht leer ist! Nimm soviele Nudeln, wie auf Teller 10 liegen, von Teller 10! //Teller 9 ist k Lege 10 Nudeln auf Teller 11! //10 Nachkommastellen Wiederhole folgendes, mache folgendes, nimm soviele Nudeln, wie auf Teller 3 liegen, von Teller 2, //Division - Nimm so oft den Nenner (T3) vom Zaehler (T2), wie es geht, merke dir auf T9, wie oft und lege 1 Nudel auf Teller 9, wenn Teller 2 nicht leerer als Teller 3 ist, und mache folgendes, sag mir, wieviele Nudeln auf Teller 9 liegen, und //gib aus, wie oft dies ging und multipliziere den Zaehler mit 10 um die naechste Nachkommastelle zu erhalten nimm soviele Nudeln, wie auf Teller 9 liegen, von Teller 9, //Leere Teller 9, da er wieder von vorne beginnt, die naechste Nachkommastelle zu errechnen und lege 9 Nudeln auf Teller 15, //Multiplikation des Zaehlers mit 10, hier liegen auf Teller 15 nun 9 Nudeln, da die Nudeln bereits einmal auf dem Teller liegen und lege soviele Nudeln, wie auf Teller 2 liegen, auf Teller 16, und wiederhole folgendes, lege soviele Nudeln, wie auf Teller 16 liegen, auf Teller 2, und nimm 1 Nudel von Teller 15, solange Teller 15 nicht leer ist, und nimme soviele Nudeln, wie auf Teller 16 liegen, von Teller 16, und nimm 1 Nudel von Teller 11, //Dekrementierung von T11, da dieser die Anzahl der Nachkommastellen angibt wenn Teller 2 leerer als Teller 3 ist, solange Teller 11 nicht leer ist! //Wenn T11 leer ist, also keine Nachkommastelle mehr auszugeben ist: Bis bald! //Beende das Programm