Hallo liebe Forum-Mitglieder,
ich stecke in einer sehr dümmlichen Lage.
Ich studiere im 3. semester medienwissenschaften und habe nun meine klausur im bereich Informatik.
da ich aus gesundheitlichen gründen gezwungen war die vorlesungen mehr oder weniger komplett auszusetzen und ich diese klausur auf keinen fall wegen der zukünftigen planung schieben kann muss ich sie mitschreiben und mit 4.0 bestehen.
es geht um registermaschinen und ums javascript.
ich stelle euch hier mal aus der probeklausur 2 aufgaben und es wäre sehr lieb von euch mir diese aufgaben kommentiert zu lösen. mit allgemeinen begrifflichkeiten kenne ich mich soweit aus.
also vielen dank schonmal im voraus
Aufgabe 4: Registermaschine (10 Punkte)
Auf dem Eingabeband stehe eine Folge positiver und negativer Zahlen, die durch eine Null ab- geschlossen wird. Schreibe ein Programm für die Registermaschine, das die vom Betrag her größte Zahl ermittelt und deren Betrag ausgibt. Bedenke, dass auch als erste Zahl sofort eine Null stehen kann; in diesem Fall soll Null ausgegeben werden. Weitere Sonderfälle müssen nicht berücksichtigt werden.
Versieh jede Programmzeile mit einer Erläuterung der Anweisung/des Befehls.
Eine mögliche Eingabe sieht also wie folgt aus: 4, -7, 9, 2, -12, 0. In diesem Fall müsste das
Programm ausgeben: 12.
Zur Erinnerung: Die Registermaschine verfügt über folgende Befehle:
LOAD READ STORE WRITE ADD JUMP SUB JGTZ MULT JZERO DIV HALT
Aufgabe 5: JavaScript (8 Punkte)
Gegeben ist das folgende JavaScript-Programm. Beachte die Aufgabenstellungen auf der nächsten Seite. Es ist hilfreich, die Teilaufgaben in der angegebenen Reihenfolge zu bearbei- ten. Die Nummerierung der einzelnen Zeilen ist nicht Bestandteil des JavaScript-Codes; sie wird für den Aufgabenteil a benötigt. Die Kästchen werden für den Aufgabenteil c benötigt.
1:! var a = 1;
2:! var b = prompt ('Eingabe:', '');
3:! var c = new Array ();
4:! function f (a) {
5:!! 6:! !
7:!! 8:! ! 9:!!
10:!! 11:!}
12:!for
13:!!
14:!}
b=0;
for (var i=0; i<a.length; i++) {
! b=b+a; ! alert(b);
}
return b;
(var i=0; i<b; i++) { c=a+i;
15:!alert(c);
16:!alert(f(c));
17:!alert(a);
18:!alert(b);

Name: Matrikelnummer: Seite 13/19
a) Gib die Reihenfolge an, in der die Programmzeilen bis zum ersten Aufruf der Funktion f durchlaufen werden. Werden Zeilen mehrfach durchlaufen, so müssen diese auch mehrfach genannt werden. Wenn mehrere aufeinander folgende Zeilen durchlaufen werden, können diese zusammengefasst werden (beispielsweise »Zeile 7–10 (2 mal)«). (1 Punkt)
b) Gib für alle in der Funktion f verwendeten Variablen (also auch die Parameter) an, ob diese global oder lokal sind. Gib außerdem für alle an die Funktion übergebenen Parameter an, ob diese als Wert (call by value) oder als Referenz (call by reference) übergeben werden.
global:
lokal:
Übergabe als Wert:
Übergabe als Referenz:
c) Gib hinter den alert-Anweisungen zu den einzelnen Zeitpunkten des Programmdurchlaufs den Wert der jeweils ausgegebenen Variablen an. Die Eingabe des Benutzers sei die Zahl 5. Trage die jeweiligen Werte in die vorgegebenen Kästchen auf der vorhergehenden Seite ein. Beachte, dass die Anzahl der vorgegebenen Kästchen nicht gleich der Anzahl der tatsächlich benötigten Kästchen sein muss! (5 Punkte)
Ich schreibe die klausur am 2.10. und es wäre sehr nett wenn ich bis zum wochenende einige klärenden lösungen hätte..
vielen dank schonmal im voraus
nele
ich stecke in einer sehr dümmlichen Lage.
Ich studiere im 3. semester medienwissenschaften und habe nun meine klausur im bereich Informatik.
da ich aus gesundheitlichen gründen gezwungen war die vorlesungen mehr oder weniger komplett auszusetzen und ich diese klausur auf keinen fall wegen der zukünftigen planung schieben kann muss ich sie mitschreiben und mit 4.0 bestehen.
es geht um registermaschinen und ums javascript.
ich stelle euch hier mal aus der probeklausur 2 aufgaben und es wäre sehr lieb von euch mir diese aufgaben kommentiert zu lösen. mit allgemeinen begrifflichkeiten kenne ich mich soweit aus.
also vielen dank schonmal im voraus
Aufgabe 4: Registermaschine (10 Punkte)
Auf dem Eingabeband stehe eine Folge positiver und negativer Zahlen, die durch eine Null ab- geschlossen wird. Schreibe ein Programm für die Registermaschine, das die vom Betrag her größte Zahl ermittelt und deren Betrag ausgibt. Bedenke, dass auch als erste Zahl sofort eine Null stehen kann; in diesem Fall soll Null ausgegeben werden. Weitere Sonderfälle müssen nicht berücksichtigt werden.
Versieh jede Programmzeile mit einer Erläuterung der Anweisung/des Befehls.
Eine mögliche Eingabe sieht also wie folgt aus: 4, -7, 9, 2, -12, 0. In diesem Fall müsste das
Programm ausgeben: 12.
Zur Erinnerung: Die Registermaschine verfügt über folgende Befehle:
LOAD READ STORE WRITE ADD JUMP SUB JGTZ MULT JZERO DIV HALT
Aufgabe 5: JavaScript (8 Punkte)
Gegeben ist das folgende JavaScript-Programm. Beachte die Aufgabenstellungen auf der nächsten Seite. Es ist hilfreich, die Teilaufgaben in der angegebenen Reihenfolge zu bearbei- ten. Die Nummerierung der einzelnen Zeilen ist nicht Bestandteil des JavaScript-Codes; sie wird für den Aufgabenteil a benötigt. Die Kästchen werden für den Aufgabenteil c benötigt.
1:! var a = 1;
2:! var b = prompt ('Eingabe:', '');
3:! var c = new Array ();
4:! function f (a) {
5:!! 6:! !
7:!! 8:! ! 9:!!
10:!! 11:!}
12:!for
13:!!
14:!}
b=0;
for (var i=0; i<a.length; i++) {
! b=b+a; ! alert(b);
}
return b;
(var i=0; i<b; i++) { c=a+i;
15:!alert(c);
16:!alert(f(c));
17:!alert(a);
18:!alert(b);

Name: Matrikelnummer: Seite 13/19
a) Gib die Reihenfolge an, in der die Programmzeilen bis zum ersten Aufruf der Funktion f durchlaufen werden. Werden Zeilen mehrfach durchlaufen, so müssen diese auch mehrfach genannt werden. Wenn mehrere aufeinander folgende Zeilen durchlaufen werden, können diese zusammengefasst werden (beispielsweise »Zeile 7–10 (2 mal)«). (1 Punkt)
b) Gib für alle in der Funktion f verwendeten Variablen (also auch die Parameter) an, ob diese global oder lokal sind. Gib außerdem für alle an die Funktion übergebenen Parameter an, ob diese als Wert (call by value) oder als Referenz (call by reference) übergeben werden.
global:
lokal:
Übergabe als Wert:
Übergabe als Referenz:
c) Gib hinter den alert-Anweisungen zu den einzelnen Zeitpunkten des Programmdurchlaufs den Wert der jeweils ausgegebenen Variablen an. Die Eingabe des Benutzers sei die Zahl 5. Trage die jeweiligen Werte in die vorgegebenen Kästchen auf der vorhergehenden Seite ein. Beachte, dass die Anzahl der vorgegebenen Kästchen nicht gleich der Anzahl der tatsächlich benötigten Kästchen sein muss! (5 Punkte)
Ich schreibe die klausur am 2.10. und es wäre sehr nett wenn ich bis zum wochenende einige klärenden lösungen hätte..
vielen dank schonmal im voraus
nele