1. Übungszettel Algorithmische Methoden 1 Auszuarbeiten bis 27. November 2007 Verwenden Sie in den nachfolgenden Beispielen wenn passend den Datentyp "Tupel" wie folgt: ein Tupel t ist eine Kollektion endlich vieler Objekte (Elemente), mit t¤ bezeichnen wir die Länge von t (die Anzahl der Elemente), ti steht für das Objekt an Position i. In Mathematica sind Listen eine passende Repräsentation für Tupel, dort haben wir Length[t] für t¤ und tPiT für ti zur Verfügung. Weiters haben wir Append und Prepend als Grundoperationen zum hinten bzw. vorne Einfügen eines neuen Elements in eine Liste zur Verfügung. 1. Logarithmus: Finden Sie relevantes Wissen in den Skripten Lineare Algebra bzw. Analysis, um eine Problemspezifikation zum Berechnen des Logarithmus erstellen zu können. 2. Primzahlzerlegung: Finden Sie relevantes Wissen in den Skripten Lineare Algebra bzw. Analysis, um eine Problemspezifikation zum Berechnen der Primfaktorenzerlegung erstellen zu können. 3. Maximum eins Tupels: Spezifizieren Sie das Problem des Auffindens des Maximums eines Tupels von reellen Zahlen. 4. (a) Entwickeln Sie einen iterativen Lösungsalgorithmus in Mathematica und beweisen Sie dessen Korrektheit. (b) Entwickeln Sie einen rekursiven Lösungsalgorithmus in Mathematica und beweisen Sie dessen Korrektheit. Konvertieren in andere Basis: Spezifizieren Sie das Problem des Konvertierens einer natürlichen Zahl in eine Darstellung zur Basis b, also z.B. 12 H1100L2 . Entwickeln Sie einen rekursiven Lösungsalgorithmus für dieses Problem in Mathematica. Wandeln Sie anschließend das rekursive Programm in eine Schleife um. (Hinweis: Stellen Sie eine natürliche Zahl in der Form q * b + r mit r < b dar, und finden und beweisen Sie einen rekursiven Zusammenhang zwischen dem Konvertieren von q und dem Konvertieren von q * b + r. Leiten Sie daraus ab, wie der rekursive Algorithmus aussehen kann. Implementieren Sie das Programm in Mathematica.)