Deutsch English
Alphabetical index
Array functions
CGI functions
Data types
Date functions
Debugging
Fulltext functions
Language elements
  • 'ANWEISUNGEN'
  • 'AUSDRÜCKE'
  • 'BEZEICHNER'
  • DEF
  • IF
  • 'INDEXBESCHREIBUNG'
  • 'KONSTANTEN'
  • MODULE
  • PROCEDURE
  • REPEAT
  • RETURN
  • USES
  • VAR
  • WHILE
    Numerical functions
    Operators
    Other functions
    Ramtext functions
    Selecting
    Socket functions
    Statistical functions
    Stream functions
    String functions
    System functions
    Table functions
    Text functions
    Home    Overview    Search    Impressum    Contact    Members
    Topic complex Language elements
    Function 'AUSDRÜCKE'
    Short So sind arithmetische Ausdrücke aufgebaut
    Syntax
    Parameter
    Return
    See also:
    'ANWEISUNGEN'
    Description 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

    User comments:
    Write a comment:
    Name
    EMail
    Subject
    Text (Switch mode)

    Choose between
    the normal and the
    advanced editor.
    The advanced editor
    runs in IE 5+ and
    Mozilla 1.4+ only
    SPAM-Protection Please enter tdbengine in this field.

    tdbengine chat
    irc.tdbengine.org
    #tdbengine

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