Computer Science Canada Arrays |
Author: | azndragon [ Sun Jan 05, 2003 3:18 pm ] |
Post subject: | Arrays |
I was just wondering what an array is, and what it does. I checked the tutorial that comes with Turing, and read it. Problem is, the examples that they give you is all wrong, so I was wondering if anyone could post a little description of what it does, along with a working example, etc. Thanks. |
Author: | Sie_Kensou [ Sun Jan 05, 2003 4:32 pm ] |
Post subject: | Arrays |
An array is a set of variables of the same type. What is so good about arrays is that you can use them along with loops. For example, let's say you want to have two balls bouncing at the same time. You COULD use two different sets of variables such as 'ball1' and 'ball2', the problem comes when the are, say, 100 balls.... imagine assigning values to each (coordinates for example): ball1X := 0 ball2X := 0 ball3X := 0 ... ball100X = 0 Instead, you can group them all with one variable name (such as 'ballX') and then simply use and index to refer to each: var ballX : array 1.. 100 of int for c: 1.. 100 ballX(c) := 0 end for This is mainly what arrays are useful for... but I guess there are other applications which come in handy as well. Ps. Talking about grouping, I also find the following type of coding extremly useful in turing (since there are no "classes" as in Java) type coordinates: record x : int y: int end record var ball : array 1 .. 100 of coordinates Then you can access each item as: ball('index').x := 0 ball('index').y := 0 |
Author: | DarkHelmet [ Sun Jan 12, 2003 1:55 am ] |
Post subject: | |
You can also have multi dimensional arrays. These are basically an array inside an array. say you want to store 2 coordinates for a set of 5 things, you could use a multidimensional array. They go as following: var intnum : array 1..5, 1..2 of int in order to use these you would have to tell it both the numbers in the brackets. The following example would fill this array with numbers from 1 to 10: for i : 1..5 for x : 1..2 randint(intnum(i, x), 1, 10) end for end for |