2.2.1.12. Inkrementieren und Dekrementieren

Nächste Seite

TI-85 Basic kennt eine weitere bedingte Anweisung, die nicht in allen High Level Languages vorhanden ist.
Dabei handelt es sich um die
IS> - und die DS< - Anweisung. Der Wert einer nicht Systemvariablen wird dabei um 1 erhöht oder vermindert und einem Vergleichstest unterzogen. Entsprechend dem Ergebnis wird die nächstfolgende Anweisung nur bedingt ausgeführt.

IS>

Die Anweisung IS> steht für increment and skip (engl. erhöhe um 1 und überspringe). Sie besitzt zwei Argumente: den Bezeichner einer vorhandenen Variablen vom Datentyp REAL und eine reelle Zahl oder einen Ausdruck als Wert, welcher nicht überschritten werden darf. IS> erhöht zuerst die übergebene Variable um eins und speichert diesen neuen Wert. Danach vergleicht es die Variable mit dem angegebenen Wert. Ist die Variable jetzt größer als der Vergleichswert, so wird die folgende Anweisung übersprungen. Es wird genau eine Anweisung übersprungen und deswegen verlangt der IS> Befehl kein End.

Der IS> Befehl ist eine verkürzte Darstellung für folgenden Anweisungsblock:

:[Variable]+1®[Variable]
:If ([Variable]
£ [Wert]
:[Anweisung]

Er wird in TI-85 BASIC folgendermaßen verwendet:

:IS>([Variable],[Wert])
:[Anweisung für Variable
£ Wert]

Hinweis: Die der IS> Anweisung übergebene Variable kann nur vom Datentyp REAL sein, da Variablen anderen Typs (z.B. STRGN oder MATRX) nicht eindeutig inkrementiert und mit dem Wert verglichen werden können.

Struktogrammdarstellung der IS> Anweisung

is.gif (2237 Byte)

Beispiel:

Aufgabe: Die bedingte Anweisung im vorliegenden Quelltext unseres kleinen 1x1 soll jetzt durch den IS> Befehl ersetzt werden.
:0®I
:ClLCD
:LBL START
:I+1®I
:Outpt(I,1,I) :Outpt(I,5,I*2) :Outpt(I,9,I*3) :Outpt(I,13,I*4) :Outpt(I,17,I*5)
:If (I<5) :Goto START
:1®I
:ClLCD
:LBL START
:Outpt(I,1,I) :Outpt(I,5,I*2) :Outpt(I,9,I*3) :Outpt(I,13,I*4) :Outpt(I,17,I*5)
:IS>(I,5)
:Goto START

 

DS<

Die DS< Anweisung (decrement and skip; engl. vermindern und überspringen) ist das Äquivalent zum IS> Befehl. Auch sie verlangt zwei Argumente: den Variablennamen einer Variablen vom Datentyp REAL und einen reellen Wert oder Ausdruck, der nicht unterschritten werden darf. Nachdem von der Variablen 1 subtrahiert wurde, wird sie mit dem Wert verglichen. Ist sie kleiner als dieser, so wird die nächste Anweisung übersprungen.

DS< ist eine Kurzform für folgende Anweisungsfolge:

:[Variable]-1®[Variable]
:If ([Variable]
³ [Wert]
:[Anweisung]

Anwendung in TI-85 BASIC:

:DS<([Variable],[Wert])
:[Anweisung für Variable
³ Wert]

Struktogrammdarstellung des DS< Befehls

ds.gif (2237 Byte)

Beispiel:

Aufgabe: Es soll überprüft werden, ob es sich bei einer vom Nutzer eingegebenen Zahl um eine Primzahl handelt. Ist dies nicht der Fall, so soll größtmögliche Teiler ausgegeben werden.
Lösungsmöglichkeit mit Hilfe einer Schleife und ohne DS< Anweisung
:Prompt ZAHL
:ZAHL-1®I
:Lbl START
:If (mod(ZAHL,I))==0
:Then
:Disp "Keine Primzahl, Teiler:"
:Disp I
:Stop
:End
:DS<(I,2)
:goto START
:Disp "Ist eine Primzahl!"