<< Demo008 >> << Chapter 7: Arrays >> << Section 7.1: Array Creation >> A = array(integer,10); A? n = 5; B = array(real, n); B? p = 2; q = 3; C = array(character, p * q); C? m = 7; D = array(array (real), m); D? << Section 7.2: Array Indexing >> A[1]:=27; A[5]:=39; A[9]:=-57; A? A[1..10]:=5; A? [i = 1..10; A[i]:=i ]; A? A[5]:=A[3] + A[8]; A? << Section 7.3: Getting the Array Size >> size(A)? << Section 7.4: Multi-dimensional Arrays >> M = 5; N = 4; Matrix = array(array(real),M); Matrix[1..M]:=array(real,N); Matrix? Matrix[3][2]:=17.0; Matrix? Matrix[2,3]:=Matrix[3,2]; Matrix? Cube = array(array(array(integer)),3); Cube? Cube[1..3]:=array(array(integer),3); Cube? Cube[1..3,1..3]:=array(integer,3); Cube? Cube[3][2][1]:=17; Cube? Cube[1,2,3]:=Cube[3][2][1]; Cube? [i = 1..3; Cube[i,i,i] := i ]; Cube? << Section 7.5: Array Definitions >> Row(integer) -> array(real); Row(N) = array(real,N); R = Row(5); R? R[3]:=123.0; R? NewMatrix(integer, integer) -> array(array(real)); NewMatrix(M, N) = [ Matrix = array(array (real), M); Matrix[1..M] := array (real,N); Matrix]; NM = NewMatrix(3,4); NM? NM[2,3]:=23.0; NM? A[1..10] := 1..7; A? << Section 7.6: Array and Streams >> A[1..size(A)]? << fill array with stream values: >> AA = array(integer,7); AA? [ i:=0; E = (11,12,13,14,15,16,17,18,19,20); i:=i + 1; if i > size(AA) then ready; AA[i]:=E ]; AA? AA[1..size(AA)]?