Deutsch English
Alphabetischer Index
Array-Funktionen
CGI-Funktionen
Datentypen
Datums/Uhrzeit-Funktionen
Debugging
Operatoren
Ramtext-Funktionen
Selektion
Socket-Funktionen
Sonstige-Funktionen
Sprachelemente
  • 'ANWEISUNGEN'
  • 'AUSDRÜCKE'
  • 'BEZEICHNER'
  • DEF
  • IF
  • 'INDEXBESCHREIBUNG'
  • 'KONSTANTEN'
  • MODULE
  • PROCEDURE
  • REPEAT
  • RETURN
  • USES
  • VAR
  • WHILE
    Statistik-Funktionen
    Stream-Funktionen
    String-Funktionen
    System-Funktionen
    Tabellen-Funktionen
    Text-Funktionen
    Volltext-Funktionen
    Zahlen-Funktionen
    Home    Überblick    Suche    Impressum    Kontakt    Mitglieder
    Themenkomplex Sprachelemente
    Funktion 'AUSDRÜCKE'
    Kurz So sind arithmetische Ausdrücke aufgebaut
    Syntax
    Parameter
    Ergebnis
    Siehe auch:
    'ANWEISUNGEN'
    Beschreibung Arithmetische Ausdrücke

    Bei der Ausführung eines Programms, also zu dessen Laufzeit, werden Audrücke berechnet. Häufig ist das Ergebnis der Berechnung völlig uninteressant (und fällt demnach auch einfach unter den Tisch). Es sind in diesen Fällen die sogenannten "Seiteneffekte" der Berechnung, denen das Augenmerk gilt. So liefert die Berechnung der Funktion cgiwriteln("Hallo Welt") den Wert 0. Als Seiteneffekt der Funktionsberechnung wird aber die Zeichenkette "Hallo Welt" in die Standardausgabe geschrieben - und das genau wollen wir an dieser Stelle ja auch.

    Konstanten

    Im einfachsten Fall ist ein arithmetischer Ausdruck eine Konstante. Das ist eine Größe, die ihren Wert nicht ändert, beispielsweise die Zahl 123 oder die Zeichenkette "Hallo"

    EASY kennt folgende Konstanten:

    Zeichenketten:

    "abc" beliebige Zeichenfolge in doppelten Anführungszeichen
    'abc' beliebige Zeichenfolge in einfachen Anführungszeichen

    Zahlen:

    123 natürliche Zahl
    -123 (negative) ganze Zahl
    123.456 Dezimalbruch (immer mit Dezimalpunkt)
    -123.456 negativer Dezimalbruch
    12:35 Zeitangabe
    11.08.2000 Datumsangabe

    Variablen und Funktionen

    Überall dort, wo eine Konstante stehen kann, darf auch ein Variablenname oder ein Funktionsname stehen. Wenn eine Funktion Parameter benötigt, so werden diese in runden Klammern nach dem Funktionsnamen angegeben.

    Somit ist cgiwriteln("hello world") ein (einfacher) arithmetischer Ausdruck.

    Zusammengesetzte arithmetische Ausdrücke

    Aus diesen einfachen Komponenten können mit den sogenannten "arithmetischen" Operation (=Rechenzeichen) kompexe Ausdücke gebildet werden.

    Für Zahlen gibt es folgende Operatoren:

    + Addition 1+2 = 3
    - Subtraktion 12-4 = 8
    * Multiplikation 3*6 = 18
    / Division 1/4 = 0.25
    DIV Division ohne Rest 9 DIV 4 = 2
    MOD Rest einer (ganzzahligen) Division 9 MOD 4 = 1
    B_AND bitweises AND zweier ganzer Zahlen 3 B_AND 6 = 2
    B_OR bittweises OR zweier ganzer Zahlen 3 B_OR 6 = 7
    B_NOT binäres Komplement einer ganzen Zahl B_NOT 0 = -1 (=x0ffffffff)


    Für Zeichenketten gibt es nur zwei Operatoren

    + Verkettung zweier Zeichenketten "abc"+"def" = "abcdef"
    [p,n] (nachgestellter) Teilstring-Operator "abcdef"[3,2] = "cd"


    Hinweis zum Teilstring-Operator: Hier werden in eckigen Klammern zwei Parameter angegeben. Der erste bestimmt die Startposition, der zweite die Anzahl der Zeichen. Fehlt der zweite Parameter, so wird hier 1 angenommen. Zeigt der Teilstring-Operator ausserhalb des Strings (auf den er angewandt wird) so wird eine leere
    Zeichenkette geliefert.

    Für beide Typen gibt es noch den Zuweisungsoperator ":=". Dieser nimmt eine gewisse Sonderstellung ein, denn links vom Operator muss immer ein Variablenname stehen, rechts davon darf ein beliebiger Ausdruck sein:

    Variablenname:=Ausdruck


    Die Berechnung eines Ausdrucks mit dem Zuweisungsoperator ergibt den Wert des (Teil-)Ausdrucks auf der rechten Seite des Operators. Als Seiteneffekt erhält die
    Variable genau diesen Wert zugewiesen.

    Wichtig ist hier festzuhalten, dass in EASY die Wertzuweisung an eine Variable ein Ausdruck ist, der selbst wiederum den zugewiesenen Wert repräsentiert. Dieses Verhalten unterscheidet sich von den Zuweisungen in Pascal oder BASIC und entspricht der Zuweisung in C und C++.

    Damit sind beispielsweise auch gleichzeitige Zuweisungen an mehrere Variablen möglich:

    Variable1:=Variable2:=Variable3:=1+2+3+4

    Abkürzungen

    Seit tdbengine 6.2.3 sind noch folgende Abkürzungen zugelassen:

    Wenn "i"eine Variable vom Typ REAL ist, können folgende Abkürzungen verwendet werden:

    i:=i+1 zu i++
    i:=i-1 zu i--


    Klammern

    Anstelle einer Konstanten (oder Variablen oder Funktion) darf in einem Ausdruck auch ein in runde Klammern eingeschlossener Ausdruck stehen.

    Das ist die "akademische" Definition des sonst üblichen Hinweises, dass in einem Ausdruck zur Auflösung von Mehrdeutigkeiten runde Klammern eingesetzt werden dürfen.

    Beispiele für arithmetische Ausdrücke:

    1+2*(3-4)

    "Hans"+(" - " + "Huber")[4,2]

    Prioritäten

    Bei allen arithmetischen Ausdrücken gilt die Regel: Punkt vor Strich. Das sollte hier genügen. Bei Unsicherheit verwenden Sie einfach Klammern.

    Beispiel:

    2+3*4 => 2+12 => 16
    (2+3)*4 => 5*4 => 20

    tdbengine chat
    irc.tdbengine.org
    #tdbengine

       Copyright © 2003-2004 tdb Software Service GmbH
       Alle rechte vorbehalten. / All rights reserved
       Letzte Änderung: 21.10.2004
    {Fehler für :execmacro{execmacro="sessionspy"}