="http://www.w3.org/2000/svg" viewBox="0 0 512 512">

11 Code

11.1 – Algorithmus

Ein  ist eine eindeutige Handlungsvorschrift zur Lösung eines Problems oder einer Klasse von Problemen. Algorithmen bestehen aus endlich vielen, wohldefinierten Einzelschritten.[1] Damit können sie zur Ausführung in ein Computerprogramm implementiert, aber auch in menschlicher Sprache formuliert werden. Bei der Problemlösung wird eine bestimmte Eingabe in eine bestimmte Ausgabe überführt.[2]

  1. Der Algorithmus muss bei denselben Voraussetzungen das gleiche Ergebnis liefern (Determiniertheit).
  2. Die nächste anzuwendende Regel im Verfahren ist zu jedem Zeitpunkt eindeutig definiert (Determinismus).

11.2 – Programmiersprachen

Eine ist eine formale Sprache zur Formulierung von Datenstrukturen und Algorithmen, d. h. von Rechenvorschriften, die von einem Computer ausgeführt werden können.[1] Sie setzen sich üblicherweise aus schrittweisen Anweisungen aus erlaubten (Text-)Mustern zusammen, der sogenannten Syntax.

Während die ersten Programmiersprachen noch unmittelbar an den Eigenschaften der jeweiligen Rechner ausgerichtet waren, werden heute meist problemorientierte oder auch (allgemeiner) höhere Programmiersprachen verwendet, die eine maschinenunabhängigere[2] und somit für den Menschen leichter verständliche Ausdrucksweise erlauben. In diesen Sprachen geschriebene Programme können automatisiert in Maschinensprache übersetzt werden, welche unmittelbar von einem Prozessor ausgeführt werden können.

Programmiersprachen bieten meist mindestens

11.3 – Variablen

Mit Isaac Newton setzte sich die Vorstellung von „fließenden Größen“ (Fluenten) durch, die aber erst durch Leonhard Euler ausdrücklich formuliert wurde. David Hilbert entwickelte die moderne Vorstellung einer Variablen, die einfach nur ein Symbol für ein beliebiges Objekt jeglicher Art ist und nicht nur für ein mathematisches Objekt (Zahlen, Punkte, Geraden, Ebenen, Vektoren, Vektorräume etc.)

  • Mathematik: Variablen sind Platzhalter für Unbekannte/Unbestimmte/Veränderliche in Formulierungen oder Formeln der Mathematik;[1] Rechengröße, die unterschiedliche Werte annehmen kann
  • Informatik: Variablend sind Bezeichnung eines Speicherplatzes, der verschiedene Werte aufnehmen kann

Eine  ist ein Name für eine Leerstelle in einem logischen oder mathematischen Ausdruck.[1] Der Begriff leitet sich vom lateinischen Adjektiv variabilis (veränderlich) ab. Gleichwertig werden auch die Begriffe Platzhalter oder Veränderliche benutzt. Als „Variable“ dienten früher Wörter oder Symbole, heute verwendet man zur mathematischen Notation in der Regel Buchstaben als Zeichen. Wird anstelle der Variablen ein konkretes Objekt eingesetzt, so ist „darauf zu achten, dass überall dort, wo die Variable auftritt, auch das gleiche Objekt benutzt wird.“[1]

Ein Formelzeichen steht in der Physik und den Ingenieurwissenschaften für eine nicht notwendig numerisch festgelegte oder für eine zumindest anfangs noch veränderliche physikalische Größe oder Zahl. Die Formelzeichen für Größen sind im Allgemeinen einzelne Buchstaben, bei Bedarf ergänzt durch Indices oder andere modifizierende Zeichen.[2][3]

Die Variablen, die in einer Gleichung vorkommen, nannte man in den Schulbüchern der Mathematik bis in die 1960er Jahre auch Unbekannte oder Unbestimmte.[4] Beim Zusammentreffen mehrerer Variabler unterscheidet man abhängige und unabhängige Variable, aber nur, wenn ein Zusammenhang zwischen den Variablen besteht. Alle unabhängigen Variablen gehören zu einer Definitionsmenge oder einem Definitionsbereich, die davon abhängigen zu einer Wertemenge oder einem Wertebereich.[5][6]

In der Programmierung ist eine Variable ein abstrakter Behälter für eine Größe, welche im Verlauf eines Rechenprozesses auftritt. Im Normalfall wird eine Variable im Quelltext durch einen Namen bezeichnet und hat eine Adresse im Speicher einer Maschine.

Der durch eine Variable repräsentierte Wert und gegebenenfalls auch die Größe kann – im Unterschied zu einer Konstante – zur Laufzeit des Rechenprozesses verändert werden.

11.3.1 – Listen, Felder, Arrays

Ein Feld (englisch field, array) ist in der Informatik eine Datenstruktur-Variante, mit deren Verwendung „viele gleichartig strukturierte Daten […] verarbeitet werden sollen“.[1] Der Zugriff auf bestimmte Inhalte eines Felds erfolgt mit Hilfe von Indizes, die dessen Position bezeichnen.

11.4 – Wiederholung

Eine Schleife (auch „Wiederholung“ oder englisch loop) ist eine Kontrollstruktur in Programmiersprachen. Sie wiederholt einen Anweisungs-Block – den sogenannten Schleifenrumpf oder Schleifenkörper –, solange die Schleifenbedingung als Laufbedingung[Anm 1] gültig bleibt bzw. als Abbruchbedingung nicht eintritt. Schleifen, deren Schleifenbedingung immer zur Fortsetzung führt oder die keine Schleifenbedingung haben, sind Endlosschleifen.

FOR Iterator:=Anfangszahl TO Endezahl STEP Schrittweite DO Schleifenrumpf.

Bei einer For-Schleife zählt der Computer von einer Anfangszahl bis zu einer Endzahl und wiederholt dabei jedes Mal den Codeblock („Schleifenrumpf“). Die aktuelle Zahl wird in eine Variable („Iterator“) gesetzt, damit sie bei Bedarf in dem Codeblock Verwendung finden kann. Häufig ist die Zählschleife auf Ganzzahlen beschränkt. Das Ändern der Iterator-Variablen im Schleifenkörper ist bei vielen Programmiersprachen verboten und gilt als schlechter Programmierstil, da es oft zu schwer verständlichem Code führt – es läuft der Denkweise zuwider, direkt am Schleifenkopf die Anzahl der Durchläufe ablesen zu können.

11.5 – Bedingungen

Eine  ist eine Kontrollstruktur in der Programmierung. Ein Programmabschnitt wird dabei nur unter einer bestimmten Bedingung ausgeführt. Eine Verzweigung legt fest, welcher von zwei oder mehreren Programmabschnitten, abhängig von einer oder mehreren Bedingungen, ausgeführt wird. Bedingugen werden in Programmiersprachen meist mit Konstrukten wie „if…then“ (deutsch: Wenn.. Dann…) eingeführt.

Abbildung 11.1 – Detailliertes Diagramm zur Verwendung von „Wenn-Dann“ Kontrollstrukturen

 

11.6 – Bildtafeln

Abbildung 11.2 – Computersprachen durch den Verlauf der Zeit

 

Abbildung 11.3 – Piet Mondrian – Boogie Woogie

Abbildung 11.4 – Chernikhov – Fantasy and Construction

License

063-0640-22L 2022S: Computational Design I&II (HS21-FS22) Copyright © Benjamin Dillenburger. Alle Rechte vorbehalten.

}