==================================================================== One Dimensional Array ==================================================================== The OneDimensionalArray domain is used for storing data in a one-dimensional indexed data structure. Such an array is a homogeneous data structure in that all the entries of the array must belong to the same FriCAS domain. Each array has a fixed length specified by the user and arrays are not extensible. The indexing of one-dimensional arrays is one-based. This means that the "first" element of an array is given the index 1. To create a one-dimensional array, apply the operation oneDimensionalArray to a list. :: oneDimensionalArray [i**2 for i in 1..10] [1,4,9,16,25,36,49,64,81,100] Type: OneDimensionalArray PositiveInteger Another approach is to first create a, a one-dimensional array of 10 0's. OneDimensionalArray has the convenient abbreviation ARRAY1. :: a : ARRAY1 INT := new(10,0) [0,0,0,0,0,0,0,0,0,0] Type: OneDimensionalArray Integer Set each i-th element to i, then display the result. :: for i in 1..10 repeat a.i := i; a [1,2,3,4,5,6,7,8,9,10] Type: OneDimensionalArray Integer Square each element by mapping the function i +-> i^2 onto each element. :: map!(i +-> i ** 2,a); a [1,4,9,16,25,36,49,64,81,100] Type: OneDimensionalArray Integer Reverse the elements in place. :: reverse! a [100,81,64,49,36,25,16,9,4,1] Type: OneDimensionalArray Integer Swap the 4th and 5th element. :: swap!(a,4,5); a [100,81,64,36,49,25,16,9,4,1] Type: OneDimensionalArray Integer Sort the elements in place. :: sort! a [1,4,9,16,25,36,49,64,81,100] Type: OneDimensionalArray Integer Create a new one-dimensional array b containing the last 5 elements of a. :: b := a(6..10) [36,49,64,81,100] Type: OneDimensionalArray Integer Replace the first 5 elements of a with those of b. :: copyInto!(a,b,1) [36,49,64,81,100,36,49,64,81,100] Type: OneDimensionalArray Integer See Also: * )help Vector * )help FlexibleArray * )show OneDimensionalArray