Theoretische und technische Informatik - ganz praktisch
Herzlich willkommen auf der Question/Answer-Plattform zu Grundlagen der Informatik II. Wir wünschen Ihnen viel Spaß beim Lernen und Diskutieren!
Loggen Sie sich mit Ihrem KIT-Account (u...) ein, um loszulegen!
Beachten Sie auch diese Informationen zum Schnelleinstieg.
(Nicht-KIT-Studierende beachten bitte diese Informationen.)

Schöne Ferien!
 

 

a): ausführliche Erklärung?

+1 Punkt
26 Aufrufe

Hallo,

bei der a) ist für mich nicht ersichtlich, warum die Lösung x^2x*y+x ist.

Führe ich nicht den gesamten Term x mal aus, also (x^2+y)^x

(und addiere am Ende noch x)

Danke.

 

Gefragt 29, Sep 2015 in 2011-N-10 von uafjv uafjv Tutor(in) (167,990 Punkte)  

Eine Antwort

0 Punkte

Meiner Meinung nach ist die Musterlösung korrekt. Die "JNZ-Schleife" wird, wie du richtig erkannt hast, x-mal ausgeführt. In der "Schleife" stehen 3 Befehle:

MULTIPLY R1, R2, R2
MULTIPLY R2, R1, R2
SUBTRACT R3, #1, R3

Der letzte dekrementiert nur die "Schleifenvariable" r3, aber der erste speichert r1*r2 in r2 ab. Der zweite Befehl berechnet r2*r1 und speichert das ergebnis ab. Setzt man jetzt den Wert, der r2 im ersten Befehl zugewiesen wird, in den zweiten ein, sieht man, dass der Wert r2*(r1^2) in r2 gespeichert wird, d.h. r2 wird mit r1^2 multipliziert. Nach dem ersten Durchlauf steht in r2 also y*x^2. Im nächsten Durchlauf wird dieses Zwischenergebnis nochmal mit r1^2 = x^2 multipliziert, also steht danach y*x^2 * x^2 in r2 usw. Insgesamt steht also nach dem letzten Durchlauf y*((x^2)^x) =y*x^(2*x) in r2. Mit dem letzten ADD-Befehl kommt man auf die Musterlösung.

Tobias (Tutor)

 

Beantwortet 29, Sep 2015 von uafjv uafjv Tutor(in) (167,990 Punkte)  
...