Grundsätzliche Überlegungen zur Struktur von Daten und Anweisungen Teil 1 Grundbegriffe Syntax : An sich die Lehre vom Aufbau einer Struktur (Satz in der Germanistik) wie wird etwas gesagt. In der „Computerei“ eher : wie MUSS man etwas sagen (programmieren), damit das Ding was macht. Durch die „digitale Welt“ gibt's kein vielleicht, sondern nur richtig oder falsch, sein oder nicht sein, genügend oder nicht genügend, leben oder sterben (philosophie Unterricht Sophies Welt bitte lesen !!), Strom oder nicht Strom (ein bisschen Strom ??), 0 oder 1. Variablen : Variablen sind Namen für Speicherplätze im Arbeitsspeicher des Computers (RAM). (Dabei ist es unwesentlich ob es ein EDO, DIMM; SIMM; DRAM oder DDRAM ja sogar ein RIMM ist). Über diesen Namen kann man über ein Computerprogramm auf diesen Wert zugreifen. Eine Variable hat einen gewissen Typ, speichert also eine Zahl oder einen Buchstaben oder ein Wort. In der Programmierung nennt man dies Datentyp, was schlichtweg nur den Typ der gespeicherten Daten benennt. Eine Zahl ist aber nicht gleich Zahl, denn es gibt ganzzahlige Werte, Werte mit Nachkommastellen, große Werte, kleine Werte, und Werte die negativ sind. Programmiert man mit der Programmiersprache c#, so muss man eine Variable (also die Speicherstelle des gewünschten Wertes) deklarieren. Deklarieren bedeutet, den Typ festlegen, also VOR der Verwendung der Speicherstelle definieren was gespeichert werden soll. Dies muss so sein, da ja ein riesiger Wert (Verschuldung Österreichs) mehr Speicherplatz benötigt als ein kleiner Wert (Gehalt eines Prof. Schlemmer). Würden wir in der Programmiersprache C# eine Zahl speichern wollen, welche nie Nachkommastellen besitzt, so würden wir den Datentyp integer wählen, in einem Beispiel also : int zahl; zahl = 12; schreiben, wenn wir die Anzahl der möglichen Monate abspeichern wollten. Für die Verwendung eine Zahl mit Kommastellen brauchen wir den Datentyp double , die Speicherung der aktuellen Tagestemperatur könnte also in etwa folgendermaßen aussehen : double temperatur; temperatur = -4,3; woraus ersichtlich ist, dass dieses Skriptum im Winter verfasst wurde. An beiden Beispielen erkennt man, dass nach der Deklaration auch eine Zuweisung eines Wertes erfolgt. Dieser Wert kann sich im Laufe des Programms verändern (er ist variabel !!), muss aber nicht und wenn, dann nur im Wertebereich des Datentyps. Die Zuweisung eines Anfangswertes (wird auch als Initialisierung bezeichnet) kann auch in der gleichen Anweisungszeile wie die Deklaration erfolgen, das bedeutet die Zeilen int zahl = 12; double temperatur = -4,3; bewirken das exakt gleiche Kompilerverhalten (der Kompiler übersetzt die analgogen- Befehle in digitale- Computeranweisung. Der Versuch auf eine nicht initialisierte Variable zuzugreifen bewirkt einen Compilerfehler (O-Ton Gogg : es geht nix). Die Gültigkeit einer Variable ist je nach Ort der Deklaration verschieden, wir unterscheiden hauptsächlich globale (im ganzen Programm gültige) und lokale (in jenen Teilen des Programms in dem sie deklariert wurden egal wann sie initialisiert werden- gültig). Genaugenommen ist die Variable in dem Block gültig in dem sie deklariert wurde (also Ihr ein bestimmter Datentyp zugewiesen wurde), ein Block ist eine, jeweils durch eine geschweifte Klammer zusammengefasste Einheit. (dank schön myVeri) Datentypen : Zahlen : Wichtig : Int 32-Bit-Ganzzahl mit Vorzeichen (es gibt + und - Zahlen) Double 64 Bit Dezimalzahl Weniger wichtig, aber durchaus zu verwenden : Byte Vorzeichenlose 8-Bit-Ganzzahl Sbyte (Signed Byte) 8-Bit Ganzzahl mit Vorzeichen Char 16-Bit Unicode Zeichen Ushort (unsigned short) Vorzeichenlose 16-Bit-Ganzzahl Uint 32-Bit-Ganzzahl ohne Vorzeichen Long 64-Bit-Ganzzahl mit Vorzeichen ulong 64-Bit-Ganzzahl ohne Vorzeichen float 32-Bit Fließkommazahl (Dezimalzahl) dezimal 128-Bit Fließkommazahl Als Fließkommazahl werden Zahlen mit Dezimalstellen bezeichnet (also auch double!) Bei Initialisierung einer Dezimal (Fließkommazahl) muss als Dezimalstelle ein Punkt geschrieben werden, also z.B: double preis = 3.12; Suffixe : Eine Fließkommazahl wird standardmäßig als double interpretiert (also 8 Byte groß), zum Initialisieren der Datentype float und decimal muß jeweils ein Suffix verwendet werden (f oder F für Float und m oder M für decimal), also float x = 2.1F; decimal y = 100.2m Zeichen und Zeichenketten : Der Datentyp Char (siehe Zahlen) kann ein einzelnes Zeichen aufnehmen (Intern wird dieses Zeichen als Zahl gespeichert „A“=65, „B“=66 usw...). Zeichenliterale (Zeichenketten, also Worte und Sätze oder mehrere Buchstaben). Zeichenketten sind keine einfachen Typen sondern komplexe Objekte vom Typ string . Die Verwaltung von Zeichenketten im Arbeitsspeicher ist eine hochkomplizierte Angelegenheit und für den einen oder anderen Absturz eines bekannten Betriebssystems (mit allen Derivaten) verantwortlich. Die Handhabung für den Programmierer ist aber denkbar einfach. Die Zuweisung erfolgt mittels string name = „Christina Wild“; oder string programmierer = “Hr. Dr. Seuchter”; der Befehl string programierer = „Hr. Dr. Seuchter“; löst aber keinen Compilerfehler aus, da der Name der Variablen beliebig gewählt sein kann und keineswegs der deutschen Rechtsschreibnorm entsprechen muss (auch nicht der Neuen Rechtschreibregel). |
||