Pascal-Tutorial Kapitel 2


Aus Wirthi's Wiki

Wechseln zu: Navigation, Suche
Pascal-Tutorial
Allgemeines
Kapitel 1 (Einleitung)
Kapitel 2 (Daten)
Kapitel 3 (Anweisungen)
Kapitel 4 (Ein- und Ausgabe)
Kapitel 5 (Unterprogramme)
Kapitel 6 (Felder und Strukturen)
Kapitel 7 (Dateien)

Im Kapitel 2 des Pascal-Tutorials behandeln wir die Technik, wie Daten gespeichert und verarbeitet werden können.

[bearbeiten] Variablen

Eine Variable ist ein Synonym für eine Speicherstelle in einem Computer. Einfacher gesagt, eine Variable bietet Raum, um Daten (z.B. eine Zahl) zu speichern und wieder auszulesen. Dieser Raum wird im Hauptspeicher des Computers angelegt.

[bearbeiten] Datentypen

Der Datentyp einer Variablen gibt an, welcher Art die Daten sind, die diese Variable enthalten kann. So ist es zum Beispiel möglich, in eine Variablen vom Typ INTEGER eine Zahlen zwischen etwa -32000 und +32000 einzutragen. In einer CHAR-Variable können Sie alle möglichen ASCII-Zeichen speichern, also praktisch alles, das Sie mit der Tastatur eingeben können.

[bearbeiten] ganze Zahlen: integer, word, byte

In Variablen dieses Typs können Sie ganze Zahlen abspeichern, also z.B. 1, 2, 100, 12345. Sie unterscheiden sich jedoch hinsichtlich ihres Wertebereichs:

  • BYTE von 0 bis +255 (Größe: 1 Byte)
  • INTEGER erlaubt Werte zwischen etwa -32000 und +32000 (Größe: 2 Byte)
  • WORD von 0 bis etwa +65000 (Größe: ebenfalls 2 Byte)

Es wurden hier nur ungefähre Werte angegeben. Die exakten Werte errechnen sich aufgrund von Zweierpotenzen; so kann etwa ein INTEGER Werte zwischen (inkl.) -215 und 215-1 annehmen.

[bearbeiten] Gleitkommazahlen: real

In einer REAL-Variable können Kommazahlen gespeichert werden, z.B. 3.141592654. Der Wertebereich reicht von 2.9 * (10-39) bis 1.7 * (1038). Dieser Datentyp reicht für die meisten Kommazahlen. Werden noch höhere Genauigkeiten benötigt, kommen die Datentypen SINGLE, DOUBLE und EXTENDED zum Einsatz. Diese werden hier aber nicht besprochen.

[bearbeiten] Zeichen: char

In einer CHAR-Variable können Sie ASCII-Zeichen abspeichern, also alle mit der Tastatur erzeugbaren Zeichen (Buchstaben, Ziffern, Sonderzeichen, aber auch beispielsweise ENTER, SPACE und TAB). Dabei darf man eines nicht vergessen: man kann in einer CHAR-Variable '1' abspeichern, das ist jedoch nicht gleich der Zahl 1, sondern einfach ein Zeichen, das zufällig eine Ähnlichkeit mit der Ziffer 1 hat! Man kann daher nicht (direkt) mit CHAR-Variablen mathematisch rechnen!

[bearbeiten] Zeichenketten: string

In einem STRING kann man Zeichenketten abspeichern. Eine Zeichenkette ist nichts anderes als mehrere hintereinandergefügte CHAR-Zeichen. Damit kann man Wörter oder komplette Sätze im Computer abspeichern.

[bearbeiten] Logische Variablen: boolean

Dieser Typ kann nur zwei Werte annehmen: TRUE (wahr) und FALSE (falsch). Dabei handelt es sich um logische (boolsche) Werte. Man kann damit logische Vergleiche machen, wie folgendes Programm verdeutlicht:

PROGRAM bool;
VAR test:boolean;
    z1,z2:integer;
BEGIN
  z1:=4;
  z2:=z1;
  test:=(z1=z2);
  z2:=5;
  test:=(z1=z2);
END.
Beschreibung
  • z1 und z2 wird der selbe Wert zugewiesen.
  • test:=(z1=z2); Hier wird der "Wahrheitswert" des Klammerausdrucks berechnet und anschließend der Variablen test zugeordnet. Das *Ergebnis ist in diesem Fall "TRUE", da der Ausdruck z1=z2 stimmt, wahr ("TRUE") ist. Siehe auch weiter unten Vergleiche von Variablen.
  • Nun wird z2 der Wert 5 zugewiesen, d.h. sie ist nicht mehr gleich wie z1.
  • Bei dieser Abfrage ist das Ergebnis "FALSE", da z1 nicht gleich z2 ist. "FALSE" wird in test abgespeichert.

[bearbeiten] Anlegen von Variablen

Um eine Variable zu vereinbaren (zu "erzeugen"), müssen Sie im Deklarationsteil des Hauptprogramms (oder später einmal in dem des Unterprogramms) das reservierte Wort "VAR" schreiben. Danach folgt der Variablen-Name, ein Doppelpunkt und dann der Datentyp.

PROGRAM Variablen_Test;

VAR Zeichen:char;
    Zahl1,Zahl2:integer;

BEGIN
  .......
END.
Hinweise
  • In einer Zeile können auch mehrere Variablen gleichen Types vereinbart werden, wenn man einen Beistrich dazwischen setzt.
  • Nach einer VAR Anweisung können mehrere Variablen, auch von unterschiedlichen Datentypen, deklariert werden.

[bearbeiten] Zuweisungen

Im Anweisungsteil kann man einer Variable nun Werte zuweisen. Dazu schreibt man zuerst den Variablennamen, einen Doppelpunkt, ein Gleichheitszeichen und anschließend den zuzuweisenden Wert.

PROGRAM Zuweisung;
VAR Zahl1,Zahl2,Zahl3:integer;
BEGIN
  Zahl1:=3;
  Zahl2:=5;
  Zahl3:=Zahl1+Zahl2;
  Zahl3:=Zahl3*(Zahl1-1);
END.
Was macht das Program
  • Zuerst werden 3 Variablen angelegt (Zahl1, Zahl2, Zahl3).
  • Zahl1 wird der Wert 3 zugewiesen.
  • Zahl2 wird der Wert 5 zugewiesen.
  • Dieser Ausdruck ist etwas komplexer. Zuerst werden Zahl1 und Zahl2 addiert (jedoch nicht verändert!), anschließend wird diese Summe der Variablen Zahl3 zugewiesen (Zahl1 und Zahl2 haben noch ihre alten Werte 5 und 3, Zahl3 hat den Wert 8 (=3+5))
  • Nun wird Zahl3 mit (Zahl1-1) multipliziert, das Ergebnis in Zahl3 abgespeichert. Zahl3 hat dann den Wert 16 (=8*(3-1)).

[bearbeiten] Zuweisungen bei REAL

Die Zuweisung zu Real-Variablen funktioniert gleich wie die zu Integer-Variablen. Der einzige Unterschied ist der Datentyp: Einer Real-Variablen können Kommazahlen und Gleitkommazahlen zugewiesen werden:

.....
realVar:=3;
realVar:=3.1415;
realVar:=0.31415e2;
realVar:=123.45E-3;
.....
Erklärung
  • Bei der ersten Zuweisung gilt 3 auch als Kommazahl (3.0).
  • Die zweite Zuweisung speichert in realVar den (gerundeten) Wert der Zahl Pi (3.141592654...).

Die dritte und die vierte Zuweisung speichert jeweils eine Gleitkommazahl ab. Wenn Sie sich damit nicht auskennen - keine Angst, es ist nicht notwendig!

[bearbeiten] Zuweisungen bei CHAR und STRING

Hier müssen Sie den Wert unter einfaches Anführungszeichen setzen:

.....
charVariable1:='A';
charVariable2:='&';
stringVariable1:='Test';
stringVariable2:='!"§$%&/()=?QWERTZUIOP';
.....

[bearbeiten] Zuweisungen bei BOOLEAN

Hier geben Sie als Wert einfach TRUE oder FALSE an:

.....
boolWahr:=TRUE;
boolFalsch:=FALSE;
.....

[bearbeiten] Vergleiche von Variablen

Sie können Variablen miteinander vergleichen. Das geschieht mit einem der folgenden Zeichen unter Anwendung der (hoffentlich bekannten :-) ) mathematischen Regeln:

  • = ("ist gleich")
  • <> ("ist nicht gleich")
  • < ("ist kleiner")
  • <= ("ist kleiner oder gleich")
  • > ("ist größer")
  • >= ("ist größer oder gleich")

Als Ergebnis bekommen Sie einen Wert vom Typ BOOLEAN.

.....
booleanVariable:= Zahl1<=Zahl2;
.....
Erklärung
  • booleanVariable ist dann TRUE (wahr), wenn Zahl1 kleiner oder gleich Zahl2 ist.

[bearbeiten] Konstanten

Konstanten können als Variable angesehen werden, die nicht beschrieben, sondern nur gelesen werden können. Ein typischen Beispiel dafür ist die Zahl PI (rund 3,141592654). Niemand in der realen Welt würde versuchen, ihr einen Wert zuzuweisen (Sie hat ja schon einen konstanten Wert). Würde man PI wie eine normale Variable anlegen, wäre eine Veränderung ihres Wertes ohne weiteres möglich. Um dies zu verhindern, gibt es die Konstanten:

PROGRAM Konstanten;
CONST Pi=3.1415;
      maxanz=13;
CONST intConst : integer=123;
VAR ....

Wie im Beispiel erkennbar, können Konstanten sowohl mit als auch ohne Typ angelegt werden. Wichtig dabei ist nur, daß man Konstanten im Anweisungsteil keinen Wert mehr zuweisen kann, sondern nur bei der Definition der Konstanten.

Pascal-Tutorial: Allgemeines - Kapitel 1 - Kapitel 2 - Kapitel 3 - Kapitel 4 - Kapitel 5 - Kapitel 6 - Kapitel 7

Persönliche Werkzeuge