Ubungen zur Computeralgebra — Blatt 1

Werbung
Übungen zur Computeralgebra — Blatt 1
Dr. D. Vogel
Dr. A. Maurischat
Sommersemester 2012,
Abgabe: Mi 25.4.2012, 9.00 Uhr
1. Aufgabe: (4 Punkte) Gegeben seien die ganzen Zahlen x = 22 und y = −19.
(a) Bestimmen Sie die ternären (=3-adischen) Darstellungen von x und y.
(b) Bestimmen Sie die ternäre Darstellung des Produktes z = x · y, indem Sie die gewöhnliche Multiplikation ganzer Zahlen in 3-adischer Darstellung ausführen, d.h. Algorithmus 1.7 für B = 3
anwenden.
(c) Erklären Sie, wie Algorithmus 1.7 modifiziert werden muss, um für ausgewogen ternäre Darstellungen (vgl. Aufgabe 3) zu funktionieren.
2. Aufgabe: (4 Punkte)
(a) Führen Sie den Algorithmus zur Division mit Rest natürlicher Zahlen (Algorithmus 1.11) in
Dezimaldarstellung (=10-adischer Darstellung) mit den Zahlen x = 3471 und y = 32 durch.
(b) Zeigen Sie, dass der Algorithmus zur Division mit Rest natürlicher Zahlen (Algorithmus 1.11) stets
das korrekte Ergebnis liefert. Verifizieren Sie dabei insbesondere, dass in jedem Schleifendurchlauf
bei Punkt (7) die Gleichheit
Pm 0 i i=0 ai B
qj−n =
(yd)B j−n
gilt.
3. Aufgabe: (4 Punkte) (Ausgewogen ternäres Zahlensystem)
(a) Zeigen Sie, dass sich jede ganze Zahl z ∈ Z in der Form
Pk
z = i=0 ai 3i mit k ∈ N, ai ∈ {−1, 0, 1},
darstellen lässt (ausgewogen ternäre Darstellung).
(b) Geben Sie einen Algorithmus an, der zu einer Zahl in Dezimaldarstellung ihre ausgewogen ternäre
Darstellung berechnet. Wenden Sie den Algorithmus auf z = 15243 an (Schreiben Sie die Ziffer“
”
−1 als 1̄).
(c) Zeigen Sie, dass sich das Vorzeichen einer Zahl in ausgewogen ternärer Darstellung an der höchsten
Ziffer ungleich Null ablesen lässt. Wie bekommt man aus der ausgewogen ternären Darstellung
von z diejenige von −z?
4. Aufgabe: (4 Punkte) (Einarbeitung in Magma)
(a) Schreiben Sie in Magma eine (nicht-rekursive) Funktion Zahlensumme(n), die für eine ganze Zahl
n die Summe der Zahlen 1, 2, . . . , n berechnet, falls n > 0 ist, und in diesem Fall die Summe
zurückgibt. Im Fall n ≤ 0 soll der Wert 0 zurückgegeben werden.
(b) Schreiben Sie in Magma eine rekursive Funktion ZahlensummeRekursiv(n), die das gleiche macht
wie Zahlensumme(n), aber für n > 1 rekursiv arbeitet, soll heißen, für n > 1 wird die Gesamtsumme berechnet, indem man zur Zahl n das Ergebnis der Funktion ZahlensummeRekursiv(n − 1)
hinzuaddiert.
(c) Testen Sie die Funktionen Zahlensumme(n) und ZahlensummeRekursiv(n) für von Magma zufällig
gewählte 4-stellige und 6-stellige Zahlen. (Zum Erzeugen zufälliger Zahlen sollte man die Funktion
Random(a, b) benutzen.)
Bemerkung: Beachten Sie die auf der Homepage angegebenen Hinweise/Richtlinien zu den praktischen
Übungsaufgaben.
Die Übungsblätter sowie weitere Informationen zur Vorlesung Computeralgebra finden Sie unter
http://www.iwr.uni-heidelberg.de/~Andreas.Maurischat/compalg-ss2012
Herunterladen