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.)

Beliebteste Tags

verständnis alternativlösung klausur kellerautomat endlicher-automat grammatik regulärer-ausdruck pumpinglemma turingmaschine tipp zahlendarstellung cmos klausurrelevant bonusklausur komplexität schaltwerk binary-decision-diagram deterministisch assembler schaltnetz sprachen minimierung nichtdeterministisch huffman fehler-in-aufgabe chomsky-normalform anwesenheitsübung rechtslinear heimübung flip-flop cocke-younger-kasami-algorithmus kontextsensitive-grammatik kontextfreie-grammatik huffman-kodierung hauptklausur fehlererkennbarkeit vorlesungsfolien kontextfreie-sprache polynomialzeitreduktion faq gleitkommazahl fehlerkorrigierbarkeit rechtslineare-grammatik dateiorganisation cache darstellung-klausur nachklausur xwizard adressierungsarten lambda mealy konjunktive-normalform pipelining zustände saalübung leeres-wort endliche-automaten ohne-lösungen betriebssystem speicherorganisation moore monotone-grammatik 2-komplement fehler reguläre-sprache hammingzahl monoton lösungsweg pumping-lemma-für-kontextfreie-sprachen kodierung berechenbarkeit klausureinsicht disjunktive-normalform pumping-lemma info-ii bussysteme rechnerarchitektur abzählbarkeit komplexitätsklassen ableitungsbaum vorlesungsaufzeichnung round-robin minimierung-endlicher-automaten chomsky-klassen binärzahl entscheidbar programmiersprachen entscheidbarkeit aufzählbarkeit stern-symbol automaten nukit-fragen bewertung zugriffsarten von-neumann-rechner umformung adressierung mengen binär-subtrahieren organsiation

Kategorien

2 Pluspunkte 0 Minuspunkte
257 Aufrufe
Hallo,

wie komme ich darauf, dass in der a) die Lösung n^2 ist  und in b) x^2 für 1...8 ? Darüber hinaus wollte ich fragen, ob es denn "Tricks oder Tipps" gibt, die Funktion bzw. eine solche Ausgabe mit n ablesen zu können, denn bei Eingaben mit Zahlen für Variablen, ist das ganze relativ einfach. Ich komme mit den "n " nicht klar.

Danke!
in 2015-H-10 von uodjt uodjt Eins-Komma-Null-Anwärter(in) (3.7k Punkte)  

1 Eine Antwort

3 Pluspunkte 0 Minuspunkte
 
Beste Antwort
Hallo,

ganz allgemein gibt es hier nur ein paar Hilfsmittel, die ich die empfehlen kann. Erstens würde ich deinen Ansatz mit konkreten Zahlen ruhig weiter verfolgen, am besten erstellst du dir dazu eine Tabelle, in der die jeweils aktuellen Werte der Speicherstellen bzw. Register eingetragen werden. Nach zwei bis drei verschiedenen Beispielen bekommt man doch zumeist einen guten Eindruck, was das Programm berechnet (siehe auch die Tut-Aufgaben dazu).

Einfacher Grundsatz (auch hier mal wieder): Üben, dann kommt das Gefühl dafür!

Zur Aufgabe:

Für die a) ist ja insbesondere der Teil der "innerloop" interessant, dank der Kommentare nebendran wird recht schnell klar, dass hier die Zahl (n) so oft aufaddiert wird, bis der Zähler R1 bei 0 steht. Da R1 zu Beginn ebenfalls n ist, sind das n Durchläufe, also n+n+n+n+... (n-mal) -> n^2.

Bei der b) wird dann erst wirklich die indirekte Adressierung benötigt. Am Ende der "innerloop" (JUMPZERO) kommen wir zu "store". Dort wird in der ersten Zeile der Wert in R3 (unser aktuelles Ergebnis n^2) indirekt in R2 gespeichert, also in das Hauptspeicherfeld, dessen Adresse in R2 enthalten ist. Da R2 = n ist, wird unser Ergebnis n^2 an die Hauptspeicherstelle n gespeichert. Danach wird dann R8 von n auf n-1 verringert und die "outerloop" startet mit diesem Wert von vorn.

Soweit zu diesem Programm, allgemein einfach ein paar Mal üben, die Funktionen abzulesen (Tipp: Es kommt wohl kaum sowas wie 3x^2+7x+5 raus, die Funktionen sind eher schmal gehalten ;) ).

Viele Grüße

Max (Tutor)
von udebm udebm Tutor(in) (105k Punkte)  
ausgewählt von uodjt uodjt
Vorgehen
...