• Keine Ergebnisse gefunden

¨Ubungsblatt 6 Abgabe: 8.12.2008

N/A
N/A
Protected

Academic year: 2021

Aktie "¨Ubungsblatt 6 Abgabe: 8.12.2008"

Copied!
2
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Praktische Informatik I WS 2008/09

Ubungsblatt 6 ¨

Abgabe: 8.12.2008

Aufgabe 1 Vom Algorithmus zur Assembler-Ausf¨ uhrung

Aufgabe 1.1 Der Algorithmus (10%)

Wenn

CD

aber

AB

nicht misst, und man nimmt bei

AB, CD

abwech- selnd immer das kleinere vom gr¨ osseren weg, dann muss (schliesslich) eine Zahl ¨ ubrig bleiben, die die vorangehende misst .

[Aus Euklid, Die Elemente, Herausgegeben von Clemens Thaer, Wissenschaftliche Buchge- sellschaft Darmstadt, VII Buch,§2]

Dies ist wohl eine der ¨altesten Algorithmenbeschreibungen der Welt (ca. 300 v.u.Z.) mit der dergr¨osste gemeinsame Teiler (ggT) zweier positiver ganzer Zahlen ermittelt wird. Dabei gelten die folgenden Axiome:

1. ggT(x, x) = x.

2. ggT(x, y) = ggT(y, x).

3. ggT(x, y) = ggT(x, y−x) f¨urx < y.

Schreibt eine Java-Methode, die dieses Verfahren implementiert.

Aufgabe 1.2 Java oder Assembler? - Egal (15%)

Gegeben ist folgende Liste vom Assemblerbefehlen.

LOAD x Lade den Inhalt von Adressex in den Akkumulator

LOADA Lade den Inhalt der Adresse, deren Wert im Akkumulator steht, in den Akkumulator STORE x Speichere den Inhalt des Akkumulators in der Speicherzelle mit der Adressex ADD x Addiere den Wert an Adressex zum Inhalt des Akkumulators

SUB x Subtrahiere den Wert von Adressex vom Inhalt des Akkumulators MULT x Multipliziert den Wert von Adressex mit dem Inhalt des Akkumulators JMPNEG x Springe zur Markex, wenn der Inhalt des Akkumulators<0

JMPEQ x Springe zur Markex, wenn der Inhalt des Akkumulators = 0 JLE x Springe zur Markex, wenn der Inhalt des Akkumulators<= 0 JMP x Springe zur Markex

NOT logische Negation - bitweises Komplement des Wertes im Akkumulator NEG un¨ares Minus angewendet auf den Wert im Akkumulator

HALT Beendet das Programm

Schreibt ein Assembler-Programm zur Berechnung des gr¨ossten gemeinsamen Teilers zweier nat¨urlicher Zahlen.

Aufgabe 1.3 Von Neumann Simulation (40%)

Schreibt ein JAVA Programm, mit dem ein Assemblerprogramm, das den obigen Befehlssatz verwendet, ausgef¨uhrt werden kann.

(2)

PI 1, WS 2008/09

Die einzelnen Schl¨usselw¨orter sollen dabei als int-Konstanten definiert werden, der Pro- grammspeicher alsint [][](als Array von Paaren (Befehl,Operand) ), und der separate Datenspeicher alsint []Array.

Aufgabe 1.4 Einbinden des Assemblerprogramms (15%)

Schreibt eine Methode, die zu zwei nat¨urlichen Zahlen der ggt berechnet, indem das unter Aufgabe 1.2 erstellte Programm in Programm- und Datenspeicher f¨ur Aufgabe 1.3 bereit- gestellt wird, die Eingabeparameter richtig gesetzt werden, der Simulator aufgerufen wird, und danach das Resultat aus dem Datenspeicher zur¨uckgegeben wird.

Aufgabe 1.5 Vergleich (20%)

Schreibt einenback-to-back-Test, der das Verhalten des Ursprungsprogramms aus Aufgabe 1.1 mit der Ausf¨uhrung der Simulation vergleicht. Angenommen, ein solcher Test w¨urde fehlschlagen:

Welche Ursachen k¨onnen zu diesem Fehlschlag f¨uhren, und welche Massnahmen m¨ussen jeweils zur Korrektur vorgenommen werden?

2

Referenzen

ÄHNLICHE DOKUMENTE

[r]

W¨ ahlen Sie mindestens eine weitere Startl¨ osung, sodass sich eine andere L¨ osung ergibt, und plotten Sie auch

Die Aussage des Taylorschen Satzes ist, dass sich fast jede elementare Funktion in der Umgebung eines Punktes x 0 durch Polynome beliebig genau ann¨ ahern l¨ asst.. Neben der

LDI X lade den Akkumulator (indirekt) mit dem Inhalt der Speicherzelle, deren Adresse (Nummer) in der Speicherzelle X steht.. STA X speichere den Inhalt des Akkumulators

Wolke Wassertröpfchen Herbst dichter verdunstet Sicht Staubkörnchen Temperatur Haut kondensiert schwebenX. Nebel entsteht häufig im Frühjahr

Effect of cuts.. kkkk kkkk kkkk

Danach wird die Lösung in das 50 mL Becherglas gegeben und mit der Pasteurpipette mit dickflüssigem Paraffinöl überschichtet (Luft- und Wasserausschluss).. Danach

Rate eine Nullstelle x 1 als Faktor des