Aufgabe Vorschlag C1 - Aufgabe 4 · Abitur Hessen Informatik LK 2022
Thema: Registermaschine und Berechenbarkeit · Aus der Prüfung LK (2022)
Aufgabenstellung
WHILE-Programme
WHILE-Programme sind ein Berechnungsformalismus, der an traditionelle Programmiersprachen angelehnt ist.
WHILE-Programme bestehen aus:
Variablen (), Konstanten (), Trennsymbolen (),
Operationszeichen () und Schlüsselwörtern ( WHILE, DO, END).
WHILE-Programme sind wie folgt definiert:
Jede Wertzuweisung mit den Variablen und und der Konstanten der Form bzw. ist ein WHILE-Programm.
Falls und WHILE-Programme sind, dann ist auch ein WHILE-Programm.
Falls ein WHILE-Programm ist und eine Variable, dann ist auch WHILE DO END ein WHILE-Programm.
Bei der Wertzuweisung wird der Variablen die Summe der Werte von und zugewiesen. Bei der Wertzuweisung ist dies entsprechend die Differenz, wenn der Wert nicht negativ ist. Ist , wird der Variablen der Wert zugewiesen.
Die Komposition wird so interpretiert, dass zuerst und anschließend ausgeführt wird.
Innerhalb einer WHILE-Schleife WHILE DO END ist das Programm solange wiederholt auszuführen, wie der Wert von ungleich Null ist.
Material 1
WHILE-Programm für die WHILE-berechenbare Funktion
01 x3:= x1 + 0;
02 WHILE x2 ≠ 0 DO
03 WHILE x1 ≠ 0 DO
04 x0:= x0 + 1;
05 x1:= x1 - 1
06 END;
07 x1:= x3 + 0;
08 x2:= x2 - 1
09 END Hinweis: In den Variablen und stehen anfangs die Werte und . Die restlichen Variablen sind mit dem Wert vorbelegt.
Material 2
WHILE-Programm für die WHILE-berechenbare Funktion
01 x0:= x0 + 1;
02 WHILE x2 ≠ 0 DO
03 x0:= x0 * x1;
04 x2:= x2 - 1
05 END Hinweis: Zur Abkürzung wurde hier x0:= x0 * x1; verwendet, da dieser Ausdruck WHILE-berechenbar ist (siehe Material 1). Die Vorbelegung der Variablen , und entspricht der in Material 1 beschriebenen.
Material 3
Beispiel eines WHILE-Programms
01 x2:= x1 + 0;
02 WHILE x2 ≠ 0 DO
03 x3:= x3 + 1;
04 x2:= x2 - 2
05 END;
06 WHILE x3 ≠ 0 DO
07 x2:= x2 + 2;
08 x3:= x3 - 1
09 END;
10 WHILE x1 ≠ 0 DO
11 x2:= x2 - 1;
12 x1:= x1 - 1
13 END;
14 WHILE x2 ≠ 0 DO
15 x1:= x1 + 1;
16 END Hinweis: ist mit dem Wert vorbelegt.
Eine zweistellige Funktion heißt WHILE-berechenbar, falls es ein WHILE-Programm gibt, das berechnet, d.h. gestartet mit und in den Variablen und sowie mit in den restlichen Variablen stoppt mit dem Wert in der Variable , falls definiert ist. Sonst stoppt nicht.
Zeigen Sie, dass die Funktion mit WHILE-berechenbar ist, indem Sie ein entsprechendes WHILE-Programm angeben und kurz begründen.

Lösung
Nach den offiziellen Korrekturhinweisen
Zeigen Sie, dass die Funktion f mit f(a, b) = a + b WHILE-berechenbar ist.
Lösung: x0 := x1 + 0; WHILE x2 != 0 DO x0 := x0 + 1; x2 := x2 - 1 END
Die ausführliche Erklärung Schritt für Schritt (mit KI) gibt es mit Premium. Premium
Löse sie direkt hier: automatische Korrektur, Hinweise und Lösung Schritt für Schritt.
Aufgabe Vorschlag C1 - Aufgabe 5 · LK 2022 ›