Basic 1969 г.

Глава 12 - массивы.


Глава 12

Массивы

Краткое содержание: DIM

Допустим у вас имеется список чисел, каким-то образом описыва-
ющих 10 человек, для записи их в память компьютера, вы должны бу-
дете завести переменную на каждого человека. Это ие удобно, так
как приходится обращаться к данным, называя каждый раз новую пе-
ременную, например BLOGGS1, BLOGGS2 и т.д. до BLOGGS10. Как. это
неудобно вы можете убедиться из программы:
5 REM THIS PROGRAMM WILL NOT WORK
10 FOR N*1 TO 10
2 0 READ BLOGGSN
30 NEXT N

40 DATA 10,2,5,19,3,11,1,0.6,3

Имеется специальный аппарат для подобного случая, это примене-
ние массивов. Переменные в массиве являются его элементами, обла-
дают общим именем н различаются только Номером записываемым после
имени (индексом).

В нашем примере имя будет в (подобно управляющим переменным в
FOR-NEXT утверждениях, имя массива должно быть уникальным в дан-
ной подпрограмме), и десятью переменными будут В (1), В (2) и
т.д. до В (10).

Элементы массива называют индексируемыми переменными. Перед
использованием массива надо зарезервировать под него память. Это
делается в операторе DIM (от английского DIMENSION). В нашем слу-
чае это будет оператор DIM В (10), который определяет массив с
именем в и размерностью 10 (т.е. 10 индексируемых переменных В
(1), В (2).....В (10) и присваивает всем элементам массива зна-
чение 0.

Итак, теперь мы можем записать:
10 FOR N»1 ТО 10
20 READ В (N)
3 0 NEXT N

40 DATA 10,2,5,19,3,11,1,0,6
Можно также объявлять массивы более чем с одной размерностью
например в двухмерном массиве первый индекс можно сравнить с но-
мером строки, а второй с позицией в строке. Такой массив как бы
описывает страницу. Если ввести третье измерение для номера стра-
ницы, то массив будет описывать книгу в виде:

(номер страницы, номер строки, номер столбца)
Объявим двухмерный массив 'с' с размерностью 3 и 6
DIM с (3,6)
что даст 3*6»18 индексируемых переменных:

С (1,1), С (1,2)...... С (1,6)

С (2,1), С (2,2),..... С (2,6)

С (3,1), С (3,2)...... С (3,6)

Могут быть также строковые массивы. Строки в таких массивах
отличаются от скалярных тем, что имеют фиксированную длину, а
присваивание им значения осуществляется с усечением справа или
добавлением до полной длины пробелами. Имя строкового массива об-
разуется добавлением справа к имени специального символа, пере-
черкнутой буквы S (в данном описании заменен на '*').

Допустим вам необходимо объявить массив А* на 5 строк по 10
символов в каждой, вы должны записать:
DIM AS (S, 10)

теперь вы можете обращаться как целиком к отдельной строке, так и
к каждому символу в строке:

А* (1) "AS (1,1) AS (1,2)......... AS (1,10)

AS (2) sAS (2,1) AS (2,2)......... AS (2,10)

AS (5) sAS (5,1) AS (5,2)....!.... AS (5,10)
Можно также рассматривать элемент строкового массива как
массив символов. Пусть объявлен массив AS (2,7), можно записать и
так А (2) (7). Следующая программа:
10 LET AS (2) «и 1234567890"
20 PRINT AS (2), AS (2,7)
даст "12345678907" можно использовать также сечение массивов:
AS (2,4 ТО 8) «AS (2) (4 ТО 8) -"45678"
Помните, что в строковых массивах все строки имеют фиксирован-
ную длину, эту длину определяет последнее число размерности
массива в операторе DIM. Если объявлен одномерный массив, то он

определяет массив символов: DIM А* (10).




СОДЕРЖАНИЕ:


  Оставте Ваш отзыв:

  НИК/ИМЯ
  ПОЧТА (шифруется)
  КОД



Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Похожие статьи:
Сaтaнинcкaя Библия - Книгa Люцифeрa IХ. Peлигиoзныe Прaздники.
Мозаика - Страсти вокруг всякого рода демопати.
ATM-Turbo and others ZX Spectrum clones , history of Profi computer
Приколы - В этом номере печатается несколько статей нашего корреспондента - Милёхина Игоря.
Лоцман - О игре MECHANIC WARS.

В этот день...   25 апреля