A
Abbruchbedingung: Die Abbruchbedingung ist die Bedingung unter der eine Schleife abgebrochen wird. In den meisten Programmiersprachen wird hingegen immer das positive Kriterium angegeben. Als Denkhilfe ist die Abbruchbedingung allerdings hilfreich. Weiß man, unter welcher Bedingung eine Schleife abgebrochen werden soll, muß man das logische Gegenteil der Abbruchbedingung formulieren. Das ist manchmal (v.a. wenn viele logische Operatoren beteiligt sind), gar nicht so einfach. Wenn man es sich einfach machen will, kann man einfach ein logisches-Nicht (in den meisten Programmiersprachen ein vorangestelltes"!") davorsetzen. Will man es genau wissen, kann das De-Morgansche-Gesetz weiterhefen.

Adreßoperator:Der Adreßoperator ermöglicht die Ermittlung der Adresse einer Variablen im Speicher. Meistens wird diese Adresse (die man gedanklich auch als Verweis/Zeiger oder (englisch) Pointer auffassen kann) in ein Zeiger- oder Pointervariablen gespeichert, oder an eine Funktion übergeben. Unten ist eine Variable "ix" deklariert. Geben Sie "&ix;" ein, wird die Adresse zurückgegeben ! Die Adresse einer Variablen ist nicht änderbar ! "&ix=12;" oder ähnliches würde einen Fehler ergeben ! Adresswerte können speziellen Variablen, den Zeigervariablen zugewiesen werden. Um die Zeigervariable px mit der Adresse der Variablen ix zu initialisieren, geben sie ein: px=&ix;
</COMMENT>

Algorithmus: Eine Rechenvorschrift, die festlegt, wie Daten verarbeitet werden. Algorithmen können unabhängig von irgendeiner Programmiersprache formuliert werden. Beispiel: Schlage das Telefonbuch in der Mitte auf. Wenn der gesuchte Name einen kleineren Anfangsbuchstaben hat, so schlage den übriggebliebenen linken Teil in der mitte auf. Im anderen Fall verfahre entsprechend mit dem rechten Teil. Wenn der x-te Buchstabe gleich ist, dann vergleiche den nächsten Buchstaben. (Dieser Algorithmus nennt sich "divide and ?"

AND:AND ist ein logischer Operator der zwei boolesche Argumente miteinander verknüpft (ausführliche Erläuterungen). Zurückgegeben wird nur dann ein WAHR, wenn beide Argumente WAHR sind (in jedem anderen Fall ein FALSCH). In C und auch bei Struktor gibt es keinen booleschen Datentyp. Anstattdessen wird Integer oder Double verwendet. 0 entspricht dabei FALSCH. Jede andere Wert entspricht WAHR. Wahrheitstabelle:
a and b a
WAHR FALSCH
b WAHR WAHR FALSCH
FALSCH FALSCH FALSCH


Argument: Beim Funktionsaufruf können bestimmte Parameter mit bestimmten Werten initialisiert werden. Diese Werte nennt man Argumente. Oft werden die Argumente mit den Parametern verwechselt. Zugegebenermaßen bezeichnen diese 2 Begriffe 2 Seiten derselben Medaille. Man kann sich das auch so versinnbildlichen: Die Felder eines Steuerformulars nennt man Parameter. Diese Felder sind für alle Formulare gleich. Das was man in die Felder jeweils reinschreibt nennt man Argumente.

Array: Ein Array oder auch Feld ermöglicht die Speicherung mehrerer "Variablen" in einer Art Liste. Über einen Index kann auf jedes Listenelement zugegriffen werden. In den meisten Programmiersprachen wird ein Array über den Namen und nachgestellte eckige Klammern dargestellt (z.B. budget[4]). Bei der Deklaration wird die Anzahl der Elemente angegeben. Bei der Verwendung im Programm gibt die Zahl in eckigen Klammern den Index an. (Ausführliche Erläuterungen)

Assembler: Als Assembler bezeichnet man eine Programmiersprache die fast eins zu eins einer Maschinensprache eines bestimmten Computertyps entspricht. Die doch etwas schlecht zu merkenden Zahlenkombinationen werden ersetzt durch kurze Begriffe (Mnemonics).

Ausdruck: zur Laufzeit berechenbare Rechnung. Man sagt (analog zur Funktion) ein Ausdruck gibt einen Wert zurück. Beispiele:
Alle Beispiele können unten nachvollzogen werden. Beachten Sie, daß Sie jedesmal ein Semikolon anhängen müssen !
</COMMENT>

B
Basic: Eine Programmiersprache die vor allem für Anfänger konzipiert wurde. Berüchtigt durch die Verwendung von Goto. Erlebt in Form des objektorientierten Visual-Basic ein Revival.

Bedingung: Ein Ausdruck, der bei der Ausführung als WAHR oder FALSCH interpretiert wird. Wird vor allem bei Kontrollstrukturen verwendet um zu entscheiden, welche Befehle als nächstes ausgeführt werden sollen (Beispiel a > 5). siehe auch Logische Operatoren

Binäres System: Zahlensystem auf der Basis von zwei. D.H. es gibt nur 2 mögliche Zustände: 0 und 1 oder auch (WAHR (1) und FALSCH (0). Das binäre System ist Grundlage der Entwicklung jeglicher Rechenmaschinen überhaupt, da die oben genannten Zustände als "Strom an"(1) und "Strom aus"(0) umgesetzt werden können.

Binärbaum: Eine beliebte Methode Daten zu speichern. Ein Binärbaum wird dabei rekursiv definiert. Jeder Knoten beinhaltet die "Trägerdaten", kann einen linken und einen rechten Nachfolger haben der wierderum einen rechten und linken Nachfolger haben kann. Ein Knoten wird dabei durch einen Record (oder auch Struktur) definiert. Mathematische Ausdrücke lassen sich beispielsweise hervorragend in Binärbäumen speichern. Die Knoten speichern zusätzlich noch entweder einen Wert oder einen Operator. Beispiel: 5 + 4 * 8
binärbaum
Wie man Sieht ermöglicht das Speichern von mathematischen Ausdrücken in Binärbaumen die Beachtung von Vorrangsregeln (Punkt vor Strich).

Boolsche Algebra: System auf Basis des binären Systems. Beinhaltet 3 grundlegende Verknüpfungen: AND, OR und NOT. SIehe auch Bedingung, logische Operatoren

Break: Anweisung die in einer Schleife benutzt werden kann, um die Schleife abzubrechen. Fortgefahren wird im Gegensatz zu Continue mit dem ersten Element NACH der Schleife. (Innerhalb von Struktor: break;).

Breakpoint: Soviel wir "Stoppunkt". Breakpoints können für einzelne Zeilen im Quelltext (oder in Struktor bei den einzelnen Elementen) gesetzt werden um die Verarbeitung anzuhalten und die Variablenwerte zu überwachen oder das Programm Schritt für Schritt auszuführen.

C
C (Sprache C): Maschinennahe aber doch hoch portable Programmiersprache, entwickelt von Kernigham und Ritchie in den 80er Jahren. Nach wie vor aktuell. C hat durch seine objektorientierte Erweiterung C++ nochmal Popularität geerntet.

call-by-reference: Art und Weise der Argumentenübergabe bei Funktionen. Bei call-by- reference wird eine Referenz der Variablen an die Funktion übergeben. D.h. innerhalb der Funktion kann direkt auf den Variablenwert zugegriffen werden. C verwendet im Gegensatz dazu call-by-value. Dabei kann aber call-by-reference durch die Verwendung von Pointervariablen "simuliert" werden.

call-by-value: Art und Weise der Argumentenübergabe bei Funktionen. Bei call-by-value wird nur der Wert der Variablen an die Funktion übergeben. D.h. daß innerhalb der Funktion nicht direkt auf den Variablenwert zugegriffen werden kann.

Cast: Datentypumwandlung. Beispiel: "(int)(4.5)". In diesem Fall wird der doublewert 4.5 in einen integerwert umgewandelt. Heraus kommt 4. Die Klammern um den zu castenden Ausdruck (in diesem Fall 4.5) sind nicht unbedingt nötig, werden aber üblicherweise trotzdem geschrieben. Struktor unterstützt 2 Castoperatoren: (int) und (double).

Character (char): Datentyp, der genau EIN Zeichen speichern kann. Bei der Zuweisung müssen einfache Hochkommata verwendet werden. (Beispiel: ca = 'f';). In C können auch Integerwerte von 0 bis 255 verwendet werden (ohne Hochkommata) die dann als Ascii-Werte interpretiert werden.

Compiler: Englisch für Übersetzer. Wandelt den Source-Code (Quelltext) in Maschinensprache um, die dann direkt auf dem Rechner ausgeführt werden kann. Resultat ist eine ".exe" Datei. Als Zwischenstadium entsteht temporär eine sog. Objektdatei. Eine andere Möglichkeit Programme auszuführen ist der Interpreter.

Continue: Anweisung die in einer Schleife benutzt werden kann, um die Schleife abzubrechen. Fortgefahren wird im Gegensatz zu Break mit der Überprüfung der Schleifenbedingung. Danach wird evtl die Schleife wierdeum ausgeführt. (Innerhalb von Struktor: continue;).

D
Datentyp: bezeichnet den Typ von Daten. Folgende Grunddatentypen sind verbreitet: Bei jedem Datentyp gibt es einen Gültigkeitsbereich, der angibt von wo bis wo Werte erlaubt sind.

Datentypumwandlung: siehe Cast

Debugger: Auf deutsch soviel wie "Entwanzer". Bug heißt Wanze. Der Begriff kommz daher daß einer der ersten Fehler auf eine Wanze zurückzuführen war, die die Vorläufer der Programmierer in ihren damals noch raumgroßen Computern zwischen den Röhren (Vorläufer des Transistors) gefunden hatten. Heutzutage wird damit ein Programm innerhalb der IDE bezeichnet, mit der man das Programm langsam Schritt für Schritt (step by step) nachvollziehen kann. Unverzichtbar ist beim "debuggen" die gleichzeitige Überwachung der Variablenwerte im Überwachungsfenster (was oft vergessen wird). Auch in Struktor können Sie Ihr Struktogramm "debuggen". Schalten Sie daür den "debug-Mode" ein und setzen Sie an beliebiger Stelle einen Breakpoint. Die Ausführung wird dann an dieser Stelle unterbrochen und Sie können über den Step-Button das Programm Schritt ür Schritt ausführen (nicht das überwachen der Variablen vergessen ;-)

Deklaration: Der Vorgang bei dem einer Variablen im Speicher Platz reserviert wird. Das heißt in den meisten Fällen noch nicht, das die Variable bereits mit irgendeinem Wert belegt wurde. Deswegen müssen alle Variablen nach der Deklaration aber vor der Verwendung initialisiert werden.

De-Morgan: Rechenregel für die Boolsche Algebra. Dabei gilt: Beispiel: Nehmen Sie an, Sie programmieren eine Schleife, in der der Benutzer eine Zahl eingeben soll. Die Schleife soll abgebrochen werden, wenn die Zahl über 100 oder unter 50 liegt. Wie muß folglicherweise die Bedingung in der Schleife formuliert weden ? siehe auch: Abbruchbedingung , logische Operatoren , AND, #OR, NOT

Dereferenzierungsoperator: Operator der in Zusammenhang mit Pointervariablen verwendet wird. Zurückgegeben wird der Wert an der Adresse, die in der Pointervariablen gespeichert ist.

Dezimal: Zahlensystem auf der Basis von 10. Dabei gibt es folglich außer dem neutralen Element 0 noch 9 verschiedene Zeichen, die in einer Ordnungsrelation zueinander stehen (4 > 2). Sind alle Zeichen aufgebraucht gibt es einen Übertrag auf die nächste Stelle. Dieses Prinzip gilt auch für alle anderen Zahlensysteme mit dem Unterschied das mehr (z.B. hexadezimales System) oder weniger (z.B. oktales System) verwendet werden.

E
EVA-Prinzip: Prinzip, das besagt, das zunächst alle Daten eingelesen werden sollten (Eingabe) bevor mit der Verarbeitung begonnen werden sollte. Nach der Verarbeitung kann dann die Ausgabe folgen. Dieses Prinzip ist recht eindeutig für einfache Fälle, sollte aber auch bei komplizierten Programmen auf allen Ebenen eingehalten werden.

F
FIFO: Speicherprinzip. Abkürzung für "first in, first out". Im Deutschen auch als Puffer bezeichnet. Dazu gibt es meistens 2 Funktionen (man könnte Sie z.B. mit put und get bezeichnen) die einen Wert in den Puffer schieben, bzw. einn Wert dem Puffer entnehmen. Werden 5 Werte "gepusht" und danach einer "gegettet" so wird der erste gepushte Wert zurückgegeben. Puffer werden oft bei Dateioperationen oder in sog. Verbraucher/Erzeuger Situationen verwendet um die jeweiligen Operationen unabhängig voneinander ausführen zu können. siehe auch: LIFO

Flag: Englisch für Flagge. Der Begriff stammt ursprünglich von physischen Schaltelementen, die einen tatsächlichen ein-bit-breiten Ausgang hatten, der "Flagge zeigte" also eine logische 1 anlegte (man sagt auch das Flag wurde gesetzt) um irgendeinen Zustand zu "verkünden". Beispiele: In der Programmierung werden heutzutage noch ab und zu boolsche Variablen als Flag bezeichnet. Beispiel: Ein Ende-Flag in einer Sortierschleife zeigt an, daß das Sortieren nun beendet werden kann. (Natürlich muß das Flag auch selber gesetzt werden)

For-Schleife: spezielle kopfgesteuerte Schleife die in den meisten Fällen (aber nicht immer !) zum Zählen verwendet wird. Die For-Schleife kann in allen Fällen auch durch eine While-Schleife ersetzt werden. Es werden zwei Anweisungen im Schleifenkopf integriert. Zum einen das sog. Initialisierungskommando, mit dem Beispielsweise ein Zähler auf einen bestimmten Wert (z.B. 0) gesetzt wird. Zum anderen das Iterationskommando (zugegebenerweise meine eigene Wortschöpfung) das nachjedem Schleifendurchlauf ausgeführt wird. Die Syntax ist meist: (for(Init-kommando, Bedingung, iterativ-kommando){...} )

Funktion: Der Begriff "Funktion" wird in unterschiedlichen Programmiersprachen unterschiedlich definiert. In C wird die Funktion mit einem Unterprogramm gleichgesetzt. Hier wollen wir nun aber etwas differenzierter dran gehen. Eine Funktion kann eine oder mehrere Argumente besitzen die der Funktion übergeben werden. Mit diesen Argumenten berechnet die Funktion etwas und gibt einen Wert zurück. Beispiel: die fiktive Funktion addiere(3,7) gibt den Wert 10 zurück. Eine Funktion muß aber weder Argumente noch einen Rückgabewert besitzen (wenn auch eins von beiden in den meisten Fällen sinnvoll ist). Ein Beispiel für eine (hier immer fiktive) Funktion ohne Rückgabewert und Argumente wäre gib_begruessungstext_aus(). In Struktor können sowohl eigene Funktionen geschrieben werden, wie auch bereits vorhandene Funktionen benutzt werden. Bei der Beschreibung von Funktionen verwendet man eine spezielle Form. So gibt es in Struktor (bzw. in Java) die Funktion cos(double da). Dabei gibt das "double" in den Klammern den Datentyp an. Dies ist als Hinweis für den Benutzer der Funktion gedacht. Beim Aufruf innerhalb der Funktion darf der Datentyp nicht vorkommen (aber der Ausdruck muß dem Datentyp entsprechen). Dies ist ein häufiger Anfängerfehler.

Fußgesteuerte Schleife: Eine Schleife deren Bedingung am Ende der Schleife überprüft wird. D.H. das die Schleife in jedem Fall mindestens ein mal durchlaufen wird. jede Fußgesteuerte Schleife kann durch eine kopfgesteuerte Schleife ersetzt werden, indem man vor der Schleife dafür sorgt, daß die Bedingung WAHR ist. Dies sollte aber vermieden werden um für einen fremden Leser des Quelltextes deutlich klarzustellen, daß die Schleife mindestens einmal durchlaufen wird. Ein Besipiel wäre eine Abfrage, ob das Programm noch einmal ausgeführt werden soll.

G
Globale Variablen: Variablen deren Gültigkeitsbereich über alle Funktionen ausgeweitet wurde. Globale Variablen sollten möglichst vermieden werden, da Sie den "Namensraum verschmutzen". Programme mit evtl. hunderten globalen Variablen sind sehr schwer wartbar, weil der Programmierer immer aufpassen muß ob seine eigenen lokalen Variablen nicht vielleicht zufällig eine globale Variable "überdecken".
Aus diesen Gründen sind globale Variablen in Struktor nicht implementiert worden.

Goto: Ein Kommando, daß die Ausführung bei einer Sprungmarke fortsetzt. Der Schrecken jeder Person, die Programmtext im nachhinein nachvollziehen sollen. Man sagt daß der Goto-Befehl Spaghetti-Code produziert, der Programmtext also schwer nachzuvollziehen ist. Tatsache ist, daß jedes Programm, daß Goto-Befehle verwendet, auch ohne Goto-Befehle implementierbar ist. Recht praktisch ist allerdings die Verwendung von Gotos bei dem Abbruch von tief verschachtelten Schleifen. Dies läßt sich allerdings immer noch umgehen durch die Verwendung von Flags oder (in Struktor) die Verwendung von mehrstufigen Break- bzw. Continue-Anweisungen. Wollen Sie 2 inenandergeschachtelte Schleifen abbrechen, so können Sie dies in der inneren Schleife durch das Kommando break 2; tun.
Das Goto-Kommando ist in Struktor nicht implementiert worden.

Gültigkeitsbereich: Bereich in dem eine Variable gültig ist, also verwendet werden kann. Man unterscheidet grundsätzlich zwischen lokalen Variablen (die nur in einer Funktion erreichbar sind) und globalen Variablen.

H
Hezadezimal: Zahlensystem auf der Basis 16. Die im Vergleich zum dezimalen System fehlenden 6 Zeichen werden mit den Buchstaben a-f aufgefüllt. Übleicherweise wird bei der Angabe von Hexzahlen, um Verwechslungen zu vermeiden, ein kleines "x" vorne angestellt (manchmal wird auch vor deziamlzahlen ein kleines d vorne angestellt). Beispiele:
129101115161764100107
x1x2x9xaxbxfx10x11x40x64x6b

I
IDE:

Initialisierung: Erstmalige Zuweisung eines Wertes. Nach der Deklaration hat eine Variable noch keinen definierten Wert. Sie muß vor der Verwendung initialisiert werden.

Integer: Ein Datentyp der Ganzzahlen speichern kann. siehe auch: Double, Character

Interpreter: Ein Interpreter interpretiert zur Laufzeit jeden Befehl einzeln und führt ihn auf dem Rechner aus. Das hat zur Folge das das Programm ohne Interpreter nicht ausgeführt werden kann (im Gegensatz zum Compiler). Java ist beispielweise eine interpretierte Sprache (weswegen Sie auch vor der Verwendung von Struktor das Java-Runtime-Environment also den Java-Interpreter installieren mußten). Interpretierte Sprachen sind langsamer, sind aber (insofern ein Interpreter auf einer anderen "Zielmaschine" (also einer anderen Art von Rechner) vorhanden sind) portabler.

J
Java: Eine objektorientierte interpretierte Programmiersprache von Sun, die auch in Web-Browsern ausgeführt werden kann (dort aber Einschränkungen unterliegt und z.B. keine Dateien lesen oder schreiben kann)

Java-Script: Eine Scriptsprache von Netscape. Hat außer einer ähnlichen Syntax nichts mit Java zu tun.

K
Kontrollkonstrukt:
Kopfgesteuerte Schleife: Schleife deren Bedingung vor Ausführung des Schleifenrumpfes (im Gegensatz zur Fußgesteuerten Schleife überprüft wird.

L
Laufzeit: Der Zeitraum, indem ein Programm ausgeführt wird.

LIFO: Speicherprinzip. Abkürzung für "last in, first out", auch Stack oder Stapel (Die Assoziation mit einem Ablagestapel ist richtig) genannt. Dazu gibt es meistens 2 Funktionen (üblicherweise mit push und pop bezeichnet) die einen Wert auf den Stack schieben (immer als oberstes Element), bzw. einen Wert vom Stack entnehmen (immer auch nur das oberste Element). Werden 5 Werte "gepusht" und danach einer "gepopt" so wird der letzte gepushte Wert zurückgegeben. Stacks werden z.B. intern bei der Verwaltung des Speichers bei Funktionsaufrufen verwendet (rekursive Funktionen, die sich zu oft selber aufrufen, lösen beispielsweise einen Stack-Überlauf aus). siehe auch: FIFO

Logische Operatoren: Operatoren die logische-/boolsche Werte miteinander verknüpfen. Die logischen Grundoperatoren sind AND, OR und NOT. Alle anderen Operatoren (beispielsweise XOR) können aus den Grundoperatoren zusammengestzt werden.

M
N
NOT: logischer Verneinungsoperator. Wird in den meisten Programmiersprachen mit einem vorangestelltem "!" ausgedrückt. Der Ausdruck wird verneint. Ist beispielsweise a=14 so gibt der logische Ausdruck !(a>0) den Wert FALSCH zurück. Die Wahrheitstabelle:
a WAHRFALSCH
!a FALSCH WAHR


O
Oktal: Zahlensystem auf der Basis 8. 8 wie auch 16 sind Potenzen von 2 (binäres System) und insofern für den Rechner einfacher vom binären System "umrechenbar" als in das Dezimale System. Üblicherweise wird bei der Angabe von Oktalzahlen, um Verwechslungen zu vermeiden, ein kleines "o" vorne angestellt (manchmal wird auch vor dezimalzahlen ein kleines d vorne angestellt). Beispiele:
128101116171864100256
o1o2o10o12o13o20o21o22x80o124o320


OR: Logischer Operator, der nur dann FALSCH zurückgibt wenn beide verknüpfte Ausdrücke FALSCH sind. Wahrheitstabelle:
a or b a
WAHR FALSCH
b WAHR WAHR WAHR
FALSCH WAHR FALSCH
siehe auch: AND, NOT, logische Operatoren

P
Parameter: Parameter sind Variablen in Funktionen die mit dem Aufruf der Funktion mit den Aufrufargumenten initialisiert werden. Die Parameter werden bei den meisten Programmiersprachen in der Definition der jeweiligen Funktion in Klammern mit dem jeweiligen Datentyp angegeben. Beispiel (in C):
int addiere(int a, int b) {...}
Der Datentyp vor der Funktion entspricht dem Datentyp des Rückgabewertes. Hier wird also bei einem Aufruf der Funktion addiere(4,8) a mit 4 und b mit 8 initialisiert.

Pointer: Der Begriff wird oft unscharf verwendet. Zum einen bezeichnet er eine Adresse im Speicher. Zum anderen wird eine Variable die eine Adresse speichert als Pointer bezeichnet. Mithilfe dieser Adresse kann der Inhalt an der Adresse verändert werden. Da die Werte aller Variablen im Speicher abgelegt werden, kann also über diese Ardesse der Wert einer Variablen verändert werden. Das ist recht praktisch wenn der Name der Variablen zur Zeit (vgl. call-by-value) auuserhalb des Gültigkeitsbereichs liegt. Deswegen werden oft beim Aufruf Adressen als Argumente bei Funktionsaufrufen verwendet. Auch bei der variablen Speicherallokierung und in Zusammenhang damit bei Speicherstrukturen wie verkettete Listen oder Binärbäumen sind Pointer ein unverzichtbares Mittel. siehe auch: Adressoperator , Dereferenzierungsoperator

Pointerarithmetik: Mit Adressen kann auch gerechnet werden. Liegen beispielsweise 10 Integerwerte im Speicher hintereinander, und weiß man die Adresse des ersten Wertes und wieviel Byte eine Integervariable im Speicher benötigt, kann auch die Adresse des fünften Integerwertes im Speicher berechnet werden. Auf diese Art und Weise werden in der Sprache C Arrays bzw. Felder verwaltet. Damit die Rechnung nicht zu kompliziert wird, unterscheidet man die Adressen bezüglich des Datentyps desjenigen Wertes, der an der Adresse liegt. Man würde im obigen Beispiel also von einem Zeiger auf Integer sprechen. Addiert man zu der Adresse des ersten Integerwertes den Wert 1 hinzu, so werden in Wirklichkeit die Anzahl der Bytes hinzuaddiert, die ein Integerwert im Speicher benötigt. Auf diese Weise vereinfacht sich die Pointerarithmetik.

Pointervariablen: Eine Variable die einen Adresse speichert. siehe auch: Pointer

Portabilität: Ein Programm muß (sofern es nicht für einen Interpreter geschrieben wurde) vor dem ausführen compiliert werden. Das resultierende Maschinenprogramm läuft nun nur auf diesem Computertyp. Gibt es den Compiler auch auf anderen Computertypen, könnte man das Programm auch auf andersartigen Computern zur Ausführung bringen. Dies hängt aber entscheidend davon ab, ob das Programm Maschinenunabhängig programmiert wurde. Man spricht auch von der Portabilität eines Programms. Die Sprache C eignet sich z.b. sehr gut für maschinenunabhängiges Programmieren, was aber nicht heißt, das jedes Programm in C auch portabel ist.

Pseudocode: Man kann das, was ein Programm tut auch eher allgemein beschreiben (also unabhängig von einer bestimmten Sprache). Dies könnte man in einer hypothetischen einfach zu verstehenden aber doch programmiernahen Sprache tun. Solche Sprachen nennt man Pseudocode. Es gibt meines Wissens keine Standardisierten Pseudocode-Sprachen (was ja im Prinzip auch unnötig wäre). Wichtig beim Pseudocode ist hingegen, das möglichst viele Programmierer (die vielleicht in unterschiedlichen Programmiersprachen programmieren) verstehen, was das Programm tut. Beispiel:
solange falsche eingabe
        Eingabe variable a


Q
R
Record: siehe Struktur

Rekursion: Rekursion eine Methode mit der bestimmte Probleme besonders elegant gelöst werden können. Dabei ruft sich eine Funktion selber auf. Damit das zu keinem Absturz führt, muss ähnlich wie bei einer Schleife vorher eine Bedingung geprüft werden. Programmieranfänger haben meistens gerade bei der Rekursion Probleme das Konzept voll zu erfassen. Beispiele für Rekursion sind unter "Beispiel" abrufbar.

Repeat: Auf Deutsch soviel wie "wiederhole". Wird als Schlüsselwort z.b. in Pascal verwendet und hat dort eine ähnliche Bedeutung wie die Schleife.

Rückgabewert: Der Wert, der von einer Funktion zurückgegeben wird (wenn diese Funktion überhaupt einen Wert zurückgibt). Dieser Rückgabewert wird durch den Funktionsaufruf selber repräsentiert. Geben Sie z.b. unten den Ausdruck "cos(5);" ein. so wird der Rückgabewert dieser Funktion (nämlich der Kosinus von 5) zurückgegeben.
</COMMENT>

S
Schleife: Überbegriff für for-Schleife, kopf- und fußgesteuerte Schleife. Ein Kontrollkonstrukt bei dem der Code innerhalb der Schleife öfters ausgeführt wird. Jede Schleife braucht eine Bedingung um zu überprüfen ob der Code nochmal ausgeführt wird. Diese kann vor (im Kopf) oder nach der Schleife (im Fuß) überprüft werden.

Speicher: Hmmm. Schwer zu eklären ;-). Damit ist in der Programmierung meistens der Hauptspeicher gemeint. Also der Speicher dessen Inhalt verlorengeht, wenn der Stom abgeknippst wird. Auf den Speicher greift man lesend (z.b. "a;") oder schreibend (z.B. "a=5;") zu und dies über Variablen oder über Zeiger.

Speicherallokierung: Allokation heißt soviel wie Belegung. Normalerweise deklariert man Variablen dann wenn man ein Programm schreibt. Es gibt aber sehr viele Programmierprobleme die damit nicht gelöst werden können. Ein Textverarbeitungsprogramm braucht z.b. für kleine Texte weniger Speicher als für Griße. Also muss es eine Möglichkeit geben, inn derhalb der Laufzeit eines Programmes Speicher zu belegen. Dies funktioniert in C und in Struktor über eine Funktion der man in den Argumenten mitteilt wieviel Speicher man haben möchte und die dann einen Zeiger auf den Anfang des Speicherbereichs zurückgibt

Stack: siehe LIFO

String: Zeichenkette. Es werden also Zeichen hintereinandergehängt um z.B. einen Personennamen oder ähnliches in dem String zu speichern. Strings sind in C kein elementarer Datentyp sondern ein Array aus Zeichen (Character).

Struktur: Zusammenfassung von mehr als einer Variable die dann wiederum wie eine Variable behandelt werden kann. Ein typisches Beispiel wären die Personendaten einer Person wie Name, Vorname, Adresse usw. In Struktor noch nicht implementiert. Eine sehr praktische Angelegenheit.

Struktogramm: Das spar ich mir !

T
U
Überwachungsfenster: siehe: watchlist

Until: Das zweite zugehörige Schlüsselwort zu "repeat" nach der üblicherweise die Bedingung folgt. heißt soviel wie "bis" also heißt "repeat ... until [Bedingung]" soviel wie "wiederhole ... bis [Bedingung]".

V
Variable: In Variablen können Werte gespeichert werden. Variablen befinden sich im Speicher.

Verkettete Liste: Da man oft im vorhinein nicht weiß wieviel Speicherplatz ein Programm braucht, muß man den Speicherplatz zur Laufzeit anfordern (Speicherallokierung). Innerhalb dieses angeforderten Speichers könnte man nun die Daten in Form einer verketteten Liste Speichern. Jedes Element der Liste ist dabei eine Struktur in der die Nutzdaten (z.B. Characters) untergebracht sind und ein Zeiger auf das nächste Element der Liste. Auf diese Art kann man die Liste von vorn nach hinten abklappern, Elemente löschen oder hinzufügen ...
W
Watchlist: In der Watchlist können beim debuggen diejenigen Variablen eingegeben werden, die einen interessieren. Auf diese Art können Fehler (bugs) leichter gefunden werden.

X
XOR: Logischer Operator, der dann WAHR zurückgibt wenn entweder das Eine oder das andere Argument WAHR ist (Exklusives Oder). Wahrheitstabelle:
a xor b a
WAHR FALSCH
b WAHR FALSCH WAHR
FALSCH WAHR FALSCH
siehe auch: AND, NOT, OR, logische Operatoren


Y
Z
Zeiger: siehe Pointer