< Kurs:Algorithmen und Datenstrukturen < Vorlesung


Anweisungen

In diesem Kapitel behandelt wir das Thema Anweisungen.

Arten von Anweisungen

Dabei unterscheiden wir in zwei verschiedene Anweisungsarten. Zum einen die elementaren Anweisungen wie Wertezuweisungen und zum anderen die komplexen Anweisungen.

Semantik einer Anweisung

Funktion, die einen Zustand in einen neuen Zustand überführt.

Allgemein gesagt ist es die Wirkungsweise von auf den Zustand Z

Beispiele Zuweisung als Anweisung

Beispiel 1

Ein Beispiel ist die Wertezuweisung:

ist eine elementare Anweisung

Diese Wertezuweisung transformiert in eine Funktion auf Zustände sieht wie folgt aus:

Die Zuweisung berechnet den neuen Zustand.

Der alte Zustand ist und der neue Zustand ist

Beispiel 2

Ein weiteres Beispiel ist die Zuweisung mit gleichen Variablen auf beiden Seiten.

Die Transformation in eine Funktion auf Zustände lautet:

Bei der letzten Anweisung handelt es sich nicht um eine rekursive Gleichung! An dieser Stelle sei vermerkt, dass Wertezuweisungen die einzigen elementaren Anweisungen sind.

Komplexe Anweisungen

Bisher haben wir elementare Anweisungen (Wertzuweisungen) als Funktionen auf Zustände verstanden. Komplexe Anweisungen nehmen Konstrukte bzw. Bausteine von imperativen Algorithmen. Diese Bausteine sind

  1. Sequenz
  2. Auswahl/Selektion
  3. Iteration

Die Semantik wird wiederum durch Konstruktion von Funktionen definiert. Iteration ist das Gegenstück zu rekursiven Funktionsaufrufen bei funktionalen Algorithmen

Sequenz

Sequenzen, oder auch Folgen, sind und Anweisungen, so ist auch eine Anweisung. Die Zustandstransformation beschreibt die Semantik der Sequenz.

Die Semantik ist das Schachteln der Funktionsaufrufe und das daraus folgende hintereinander ausführen der beiden Funktionen.

Selektion

Eine Selektion, bzw. eine Auswahl, liegt beispielsweise vor, wenn und Anweisungen sind und B ein boolescher Ausdruck ist, dann ist auch

eine Anweisung.

Die zugehörige Zustandstransformation ist:

Voraussetzung ist, dass Z(B) definiert ist, sonst ist die Bedeutung der Auswahlanweisung undefiniert.

Iteration

Wiederholung (Iteration, Schleife):

Ist α eine Anweisung und B ein boolescher Ausdruck, so ist:
while B do α
auch eine Anweisung

Zustandstransformation:

Ist Z(B) undefiniert, so ist die Bedeutung dieser Anweisung ebenfalls undefiniert.

Literatur

Da die Vorlesungsinhalte auf dem Buch Algorithmen und Datenstrukturen: Eine Einführung mit Java von Gunter Saake und Kai-Uwe Sattler aufbauen, empfiehlt sich dieses Buch um das hier vorgestellte Wissen zu vertiefen. Die auf dieser Seite behandelten Inhalte sind in Kapitel 3.3.1 und 3.3.2 zu finden.

This article is issued from Wikiversity. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.