Aufgabe Vorschlag C1 - Aufgabe 5 · 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.
Die Laufzeit eines WHILE-Programms ist die Anzahl der Schritte, die durchlaufen werden, wenn mit dem Wert in der Variable und Wert in der Variable gestartet wird. Jede Wertzuweisung und jede Auswertung einer Schleifenbedingung wird als ein Schritt gezählt.
Bestimmen Sie die Laufzeit des WHILE-Programms in Material 1 in Abhängigkeit von und .
[3 BE]

Lösung
Nach den offiziellen Korrekturhinweisen
Bestimmen Sie die Laufzeit des WHILE-Programms in Material 1 in Abhängigkeit von und .
Lösung:
Erläuterung der Schrittzählung für die einzelnen Bestandteile des Programms:
Lösung: Erste Zuweisung: 1 Schritt. Innere Schleife: a Durchläufe zu je 3 Schritten plus 1 Austrittsvergleich = 3a + 1 Schritte. Äußere Schleife: b Durchläufe mit je Bedingungsprüfung, innerer Schleife und 2 Zuweisungen (3 + 3a + 1) plus 1 Austrittsvergleich = (3a + 4)b + 1. Gesamt: 3ab + 4b + 2.
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 4 · LK 2022 · Aufgabe Vorschlag C1 - Aufgabe 6 · LK 2022 ›