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

Kategorien

2 Pluspunkte 0 Minuspunkte
278 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
...