Array Befehle und Funktionen (SBX)
Aus C64-Wiki
Zur Navigation springenZur Suche springenDieser Artikel gibt eine Übersicht über die Array Befehle und Funktionen der Simons Basic Extension.
Übersicht[Bearbeiten | Quelltext bearbeiten]
Befehle[Bearbeiten | Quelltext bearbeiten]
Numerische Arrays (ein- oder mehrdimensional)
Befehl | Beschreibung |
ZER ARR | Array mit 0 füllen |
SET ARR | Array mit vorgegebenem Wert füllen |
PRINT ARR | Werte des Array ausgeben |
ADD ARR, SUB ARR, MUL ARR, DIV ARR | Rechnerische Verküpfung zweier Arrays, Ergebnis im dritten |
ADD ALL, SUB ALL, MUL ALL, DIV ALL | Alle Elemente eines Arrays mit einem Wert rechnerisch verknüpfen |
INPUT ARR | Mehrere Werte in ein Array eingeben |
READ ARR | Werte aus DATA-Zeilen in Array einlesen |
COPY ARR | Kopie eines Arrays in ein anderes |
SCRATCH | Löschen eines Arrays |
String Arrays (eindimensional)
Befehl | Beschreibung |
SORT | Sortieren eines String-Arrays |
Funktionen[Bearbeiten | Quelltext bearbeiten]
Nur für numerische Arrays:
Funktion | Beschreibung |
ELEMENTS | Anzahl der Elemente des Arrays |
SUM | Summe der Elemente |
MIN | Kleinster Wert des Arrays |
MAX | Größter Wert des Arrays |
Regeln[Bearbeiten | Quelltext bearbeiten]
- Jedes Array darf nicht mehr als 9 Dimensionen enthalten.
- Der Index 0 darf wie üblich in einem Array benutzt werden.
- Arrays für Berechnungen und das Ergebnis-Array müssen die gleiche Dimension und die gleiche Anzahl von Elementen haben, andernfalls erhält man "?BAD MODE" bei ADD/SUB/MUL/DIV-Ausführung
- Alle Arrays sollten korrekt dimensioniert sein. Bei Dimensionen kleiner als 11 ist das unbedingt nötig nur für ZERR ARR und SET ARR. Die Rechenbefehle funktionieren dann auch, weil ohne DIM-Anweisung automatisch auf 11 dimensioniert wird.
- Das Ergebnis-Array muss nicht leer sein, es wird überschrieben.
Ein Verstoß gegen eine der Regeln 1, 3 oder 4 führt zur Fehlermeldung "?SYNTAX ERROR".
Die Regeln 1, 2 und 5 weichen von den im "SIMONS' BASIC Extension User Guide" im Kapitel 3.2.1 falsch angegebenen ab.
Bis DIM(10) sind einige ARR Befehle auch ohne Initialisierung mit DIM möglich, da dann automatisch auf 11 dimensioniert wird.
Falls ein Array nicht mit DIM initialisiert wurde und eine Dimension>10 benutzt wird, führt dies beim Index>10 zu einem "?BAD SUBSCRIPT ERROR".