18.10.2014 Views

SIMSCRIPT II.5 Programming Language

SIMSCRIPT II.5 Programming Language

SIMSCRIPT II.5 Programming Language

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

⎧<br />

⎪<br />

ELEMENTS<br />

X(1)<br />

X(2)<br />

BASE POINTER ⎪ X(3)<br />

X(*) ⎨ X(4)<br />

⎪<br />

⎪<br />

⎪<br />

⎪<br />

⎪<br />

⎩<br />

X(5)<br />

X(6)<br />

X(7)<br />

X(8)<br />

X(9)<br />

X(10)<br />

Figure 6-1. One-dimensional Array X with Its Base Pointer<br />

A three-dimensional array is structured similarly. The base pointer points to an array of row pointers,<br />

each of which points to an array of column pointers, each of which, in turn, points to an array<br />

of element variables. A three-dimensional array X, which has been allocated storage by the statement:<br />

reserve X(*,*,*) as 5 by 3 by 2<br />

is stored as shown in figure 6-3. Every element reference with at least one asterisk in its subscript<br />

list is a pointer. Every fully subscripted element reference, that is, with no asterisk occupying any<br />

subscript position, is a reference to a single element variable. In internally evaluating an element<br />

reference, pointers are cascaded from one dimension to another, using subscripts from left to right.<br />

⎧<br />

⎨<br />

⎩<br />

ELEMENTS<br />

X(1,1)<br />

X(1,2)<br />

X(1,3)<br />

⎧<br />

X(2,1)<br />

ROW POINTERS ⎨ X(2,2)<br />

⎧ X(1,*) ⎩ X(2,3)<br />

BASE POINTER ⎪ X(2,*)<br />

X(*,*) ⎨ X(3,*) ⎧ X(3,1)<br />

⎪ X(4,*) ⎨ X(3,2)<br />

⎩ X(5,*) ⎩ X(3,3)<br />

⎧<br />

⎨<br />

⎩<br />

X(4,1)<br />

X(4,2)<br />

X(4,3)<br />

⎧<br />

⎨<br />

⎩<br />

Figure 6-2. Base Pointers in a Two-Dimensional Array<br />

X(5,1)<br />

X(5,2)<br />

X(5,3)<br />

250

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!