DIV
DIV | |
Syntax: | a = DIV (<z>,<n>) |
Parameter | |
z: Zähler (0..65535) | |
n: Nenner (0..65535) | |
Einordnung | |
Typ: | numerische Funktion |
Kontext: | Zahlen |
Aufgabe: | ganzzahlige Division |
Abkürzung: | keine |
Token: | $64 $53 (100 83) |
Verwandte Befehle | |
MOD - EXOR |
Dieser Artikel beschreibt das Simons'-Basic-Schlüsselwort DIV.
Typ: numerische Funktion
Syntax: a = DIV(<z>,<n>)
Die Funktion DIV dividiert den Zähler <z> durch den Nenner <n> und liefert ein ganzzahliges Ergebnis, z.B. DIV(9,4) = 2. Simons' Basic bietet hier keinen zusätzlichen Operator an, sondern realisiert dies als numerische Funktion DIV. Sie entspricht dem Ausdruck INT(INT(<z>)/INT(<n>)).
Beachte:
- Alle 16bittigen numerischen Simons'-Basic-Funktionen erzeugen unvorhersehbare Reaktionen, wenn sie zweiter Parameter eines POKE-Befehls sind. Ihre Werte müssen vor ihrer Verwendung bei POKE einer Variablen zugewiesen werden (in TSB behoben).
- Die Argumente dürfen dabei als Ganzzahl aufgefasst (implizite Umwandlung mit der INT-Funktion) nur im Bereich von 0 bis 65535 liegen, andernfalls meldet der Interpreter die Fehlermeldung ?ILLEGAL QUANTITY ERROR.
Beispiele[Bearbeiten | Quelltext bearbeiten]
10 INPUT "POSITIVE ZAHL"; Z 20 A = DIV(Z,4): B = MOD(Z,4) 30 PRINT Z "DURCH 4 IST" A "MIT REST" B
- Von einer Zahl wird berechnet, wie oft sie in einer anderen (hier: 4) enthalten ist und wie viel Rest bleibt.
10 Z=10: N=2.25 20 PRINT DIV(Z,N) 30 PRINT INT(INT(Z)/INT(N)) 40 PRINT INT(Z/N)
- liefert folgende Ausgabe:
5 5 4 |
- Zeile 30 ist die äquivalente BASIC-V2-Implementierung zu DIV() und die Variante in Zeile 40 zeigt, wie bei einer zu einfachen Nachbildung bei Argumenten, die durchaus Fließkommazahlen sein dürfen, ein falsches Ergebnis zu Stande kommt.
$ | % | @ | ANGL | ARC | AT | AUTO | BCKGNDS | BFLASH | BLOCK | CALL | CENTRE | CGOTO | CHAR | CHECK | CIRCLE | CMOB | COLD | COLOUR | COPY | CSET | DELAY | DESIGN | DETECT | DIR | DISABLE | DISAPA | DISK | DISPLAY | DIV | DOWN | DRAW | DUMP | DUP | ELSE | END LOOP | END PROC | ENVELOPE | ERRLN | ERRN | EXEC | EXIT | EXOR | FCHR | FCOL | FETCH | FILL | FIND | FLASH | FRAC | GLOBAL | GRAPHICS | HI COL | HIRES | HRDCPY | INKEY | INSERT | INST | INV | JOY | KEY | LEFT | LIN | LINE | LOCAL | LOOP | LOW COL | MEM | MERGE | MMOB | MOB OFF | MOB SET | MOD | MOVE | MULTI | MUSIC | NO ERROR | NRM | OFF | OLD | ON ERROR | ON KEY | OPTION | OUT | PAGE | PAINT | PAUSE | PENX | PENY | PLACE | PLAY | PLOT | POT | PROC | RCOMP | REC | RENUMBER | REPEAT | RESET | RESUME | RETRACE | RIGHT | RLOCMOB | ROT | SCRLD | SCRSV | SECURE | SOUND | TEST | TEXT | TRACE | UNTIL | UP | USE | VOL | WAVE