Jewiki unterstützen. Jewiki, die größte Online-Enzy­klo­pädie zum Judentum.

Helfen Sie Jewiki mit einer kleinen oder auch größeren Spende. Einmalig oder regelmäßig, damit die Zukunft von Jewiki gesichert bleibt ...

Vielen Dank für Ihr Engagement! (→ Spendenkonten)

How to read Jewiki in your desired language · Comment lire Jewiki dans votre langue préférée · Cómo leer Jewiki en su idioma preferido · בשפה הרצויה Jewiki כיצד לקרוא · Как читать Jewiki на предпочитаемом вами языке · كيف تقرأ Jewiki باللغة التي تريدها · Como ler o Jewiki na sua língua preferida

Anweisung (Programmierung)

Aus Jewiki
Zur Navigation springen Zur Suche springen

Als Anweisung (engl. statement) bezeichnet man in der Informatik, dort im Bereich der Programmierung, ein zentrales Element vieler imperativer Programmiersprachen. Die Programme derartiger Sprachen setzen sich primär aus einer oder mehreren Anweisungen zusammen. Eine Anweisung stellt eine in der Syntax einer Programmiersprache formulierte einzelne Vorschrift dar, die im Rahmen der Abarbeitung des Programms auszuführen ist. Wie eine Anweisung syntaktisch auszusehen hat, wird durch die jeweilige Programmiersprache bzw. deren Spezifikation festgelegt und ist innerhalb eines Programms nicht änderbar.

In der maschinennahen Programmierung werden Anweisungen häufig auch als Befehl (engl. instruction oder command) bezeichnet.

Anweisungen sind üblicherweise Zuweisungen, Kontrollanweisungen (wie Sprünge, Schleifen und bedingte Anweisungen) und Prozeduraufrufe. Abhängig von der Programmiersprache sind teilweise auch Zusicherungen, Deklarationen, Klassen- und Funktionsdefinitionen Anweisungen.

Im Gegensatz zu Ausdrücken haben Anweisungen nicht immer einen Wert. Einige Anweisungen können jedoch auch Ausdrücke sein, so z. B. Zuweisungen, Inkrementoperatoren oder Funktionsaufrufe. Umgekehrt sind viele Ausdruckstypen wie etwa Vergleiche oder arithmetische Ausdrücke keine syntaktisch vollständigen Anweisungen.

Sequenzen von Anweisungen werden häufig in Blöcken zusammengefasst.

Beispiele

Assembler-Anweisung MOV AX,BX
Initialisierung TYPE SALARY = INTEGER
Deklaration VAR A:INTEGER
Zuweisung A := A + 1
Block begin WRITE('Number? '); READLN(NUMBER); end
Bedingte Anweisung if A > 3 then WRITELN(A) else WRITELN("NOT YET") end
Switch-Case-Anweisung switch (c) { case 'a': alert(); break; case 'q': quit(); break; }
While-do-Schleife while NOT EOF DO begin READLN end
Do-while-Schleife do {computation(&i); } while (i < 10);
For-Schleife for A:=1 to 10 do WRITELN(A) end
Unterprogrammaufruf CLEARSCREEN()
Return-Anweisung return 5;
Goto-Anweisung goto 1
Assertion assert(ptr != NULL);

siehe auch Programmiersprachelemente

Syntax

Das Erscheinungsbild eines Programms ist vom Aussehen der Anweisungen geprägt. Daher werden Programmiersprachen oft nach der Art ihrer Anweisungen unterschieden (z.B.: Sprachen mit geschwungenen Klammern). Viele Anweisungen beginnen mit einem Bezeichner wie if, while oder repeat. Oft sind die Schlüsselwörter der Anweisungen reserviert, sodass sie nicht als Name einer Variable oder Funktion verwendet werden können. Imperative Programmiersprachen nützen meist eine spezielle Syntax für ihre Anweisungen, welche sich deutlich von einem Funktionsaufruf unterscheidet. Verbreitete Methoden um die Syntax von Anweisungen zu beschreiben sind Backus-Naur-Form und Syntaxdiagramm.

Semantik

Semantisch differieren viele Anweisungen von Unterprogrammen durch die Behandlung ihrer Parameter. Normalerweise wird ein tatsächlicher Parameter vor dem Aufruf des Unterprogramms ausgewertet. Dies unterscheidet sich von den Parametern vieler Anweisungen, welche mehrmals (z.B. die Bedingung einer while Schleife) oder gar nicht (z. B. der Rumpf einer while Schleife) ausgewertet werden. Technisch gesehen sind solche Anweisungsparameter Closures, welche bei Bedarf ausgeführt werden (siehe auch Lazy Evaluation). Wenn Closure-Parameter für Unterprogramme verfügbar sind, kann das Verhalten einer Anweisung durch Unterprogramme implementiert werden (siehe Lisp). Für Sprachen ohne Closure-Parameter geht die semantische Beschreibung einer Schleife oder Bedingten Anweisung über die Fähigkeit der Sprache hinaus. Deswegen benutzen Spezifikationen oft semantische Beschreibungen in natürlicher Sprache.

Literatur

Dieser Artikel basiert ursprünglich auf dem Artikel Anweisung (Programmierung) aus der freien Enzyklopädie Wikipedia und steht unter der Doppellizenz GNU-Lizenz für freie Dokumentation und Creative Commons CC-BY-SA 3.0 Unported. In der Wikipedia ist eine Liste der ursprünglichen Wikipedia-Autoren verfügbar.