Array Befehle und Funktionen (SBX)

Aus C64-Wiki
Zur Navigation springenZur Suche springen

Dieser 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]

  1. Jedes Array darf nicht mehr als 9 Dimensionen enthalten.
  2. Der Index 0 darf wie üblich in einem Array benutzt werden.
  3. 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
  4. 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.
  5. 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".