BASIC-SO

Language Elements

Converting Data

It is sometimes useful to convert one type of data into another. BASIC-SO suppo. I..., these conversions with the HEX$, OCT$, CHR$, STR$, VAL, CVD, CVI, CVS, CDBL, CSNG, CINT, MKS$, MKD$, and MKI$ functions.

The HEX$ and OCT$ functions return a string of hexadecimal and octal digits, respectively, that represent the numeric argument. The STR$ function returns a string of decimal digits that represent the decimal value of the argument. The VAL function returns the numeric value of the string argument, if the string is a number.

CHR$ returns the ASCII equivalent of an integer argument, between 0 and 255.

The CVI, CVS, and CVD functions convert a given string into integer, single- preci- sion floating-point, or double-precision floating-point numeric values, respectively. These functions are used to retrieve numeric values from the input/output buffer when doing random disk 110.

The MKI$, MKS$, and MKD$ functions convert integer, single-precision floating- point, and double-precision floating-point numeric values, respectively, into a string. These functions are used to store humeric values in the input/output buffer when doing random disk 110.

You can convert a numeric variable (integer, single-precision floating-point, or double-precision floating-point) to any of these types by using the variable in an ex- pression with the CINT, CDBL, or CSNG functions:

A# = CDSl (A%)

l4! = CSNG (l4)

VAR5 = CINT (VAR5)

Array Variables

An array is a group of variables identified by the same name, specified by subscripts that define their position in the array. An array variable can have as many dimen- sions as will fit on a single line. An array variable is specified by following a variable name with as many subscripts as there are dimensions. A subscript must be an in- teger value, and enclosed within parentheses or square brackets. If there is more than one subscript, separate them with a comma. Expressions can be used to specify subscripts; they are rounded to integer form. Here are some array variables:

X(10)

R1 (5,4)

Y(I,1)

SA(I + 3,X(10))

BASIC-SO normally indexes arrays from zero; that is; the first element in an array is defined as O. To start arrays at one in BASIC-SO, enter the instruction OPTION BASE 1 in your program before you dimension or reference any arrays.

The DIM statement allocates array space and specifies the maximum allowable subscript for a given dimension. If an array variable is referenced before it has been formally dimensioned, BASIC-SO allocates an index of 10 for each dimension. Some examples of the DIM statement:

DIM X(15)

DIM R1(12,8)

DIM K(17,24)

An attempt to specify an array variable whose subscripts are larger than the dimen- sioned value, or which exceed 10 in the default mode, causes a SUBSCRIPT OUT OF RANGE error message~

2-9

Page 19
Image 19
Intel 9800758-02 manual L4! = Csng l4, YI,1