IKON1-Klausur: Themen usw.
2008-02-20 22:46
Julian F.
Jetzt, da Rechnerstrukturen und Mathe (vorerst) aus der Welt sind: Wie bereitet ihr euch auf die IKON1-Klausur vor?
Ich hab mal ein bisschen gestöbert und einen Thread gefunden, in dem die IKON1-Klausur 2007 recht ausführlich besprochen wird.
Um mich da nicht als Grabschänder betätigen zu müssen, frage ich mal hier: Weiß jemand eine definitive Antwort zur damaligen Frage 4 (welche von Marrs Ebenen der Informationsverarbeitung für die Implementierung eines Taschenrechners als Java-Applet relevant sind, wenn ich die Frage richtig verstehe).
Aus meiner Sicht würde ich sagen: alle drei. Ernsthafgt strittig ist ja dabei wohl auch nur die "implementational / physical"-Ebene. Die Folien sind, bezogen auf dieses Beispiel, tatsächlich etwas vage. Ich verstehe Marr etwa so:
Mal ein etwas komplizierteres Beispiel für den Taschenrechner: Sagen wir, er kann Fakultäten berechnen.
computational: Eingabewert ist eine Zahl und der Befehl, die Fakultät zu berechnen. Das Ergebnis ist dann die Fakultät dieser Zahl, welche für jedes n eindeutig definiert ist.
representational: Errechne eine Fakultät, indem du alle natürlichen Zahlen von 1 bis n (Eingabewert) aufmultiplizierst. Wie du das machst, ist egal.
implementational: Konkretes Java-Programm, welches eine Fakultät berechnet, z.B. rekursiv.
Verstehe ich das so richtig?
(Mehr Fragen folgen womöglich noch…)
Ich hab mal ein bisschen gestöbert und einen Thread gefunden, in dem die IKON1-Klausur 2007 recht ausführlich besprochen wird.
Um mich da nicht als Grabschänder betätigen zu müssen, frage ich mal hier: Weiß jemand eine definitive Antwort zur damaligen Frage 4 (welche von Marrs Ebenen der Informationsverarbeitung für die Implementierung eines Taschenrechners als Java-Applet relevant sind, wenn ich die Frage richtig verstehe).
Aus meiner Sicht würde ich sagen: alle drei. Ernsthafgt strittig ist ja dabei wohl auch nur die "implementational / physical"-Ebene. Die Folien sind, bezogen auf dieses Beispiel, tatsächlich etwas vage. Ich verstehe Marr etwa so:
- computational: Das wäre die Spezifikation, was der Taschenrechner berechnen soll. Beispiel: "Wenn ich ihm also zwei Zahlen und einen Plus-Operator vorsetze, soll er die Summe der beiden Zahlen berechnen."
- representational / algorithmic: Wie soll der Taschenrechner die zwei Zahlen addieren? Hier wird's schon schwierig. Addition ist ja bereits ein ziemlich elementarer Schritt in einem Algorithmus. Zumal ich als Java-Applet-Programmierer mich nicht damit auseinandersetze, wie genau meine Hardware addiert. Heißt: "Man berechne die Summe zweier Zahlen, indem man sie addiert"? Repräsentationsformate wären hier wohl Zahlen (womöglich dezimal?) bzw. die visuellen Repräsentationen von Zahlen als Ziffernfolgen.
- implementational / physical: Wie ist der Algorithmus implementiert? Die Folien sprechen von "Realisierung (…) auf konkreter Hardware" und "physikalische[n] System[en]". Verstehe ich unter dieser Ebene meinen Programmcode in einer Hochsprache, oder doch eher Bytecode? Dadurch, dass es Java ist, ist die Hardware ja noch nicht mal für den Bytecode physikalisch. Würde also darauf hindeuten, dass diese Ebene beim Java-Programmieren wegfällt? Andererseits: "Wie ist der Algorithmus aktuell implementiert?" Schließt das doch wieder eine Programmstruktur bzw. eine Implementierung ein, ohne dass ich diese direkt selber löten muss? %)
Mal ein etwas komplizierteres Beispiel für den Taschenrechner: Sagen wir, er kann Fakultäten berechnen.
computational: Eingabewert ist eine Zahl und der Befehl, die Fakultät zu berechnen. Das Ergebnis ist dann die Fakultät dieser Zahl, welche für jedes n eindeutig definiert ist.
representational: Errechne eine Fakultät, indem du alle natürlichen Zahlen von 1 bis n (Eingabewert) aufmultiplizierst. Wie du das machst, ist egal.
implementational: Konkretes Java-Programm, welches eine Fakultät berechnet, z.B. rekursiv.
Verstehe ich das so richtig?
(Mehr Fragen folgen womöglich noch…)