Работа с ZX-Spectrum 1993 г.

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


ГЛАВА 12

МАССИВЫ

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

Допустим, у Вас имеется список из чисел, каким-то образом описыва-
ющих 10 человек. Для записи их в память компьютера Вы должны будете за-
вести переменную на каждого человека. Это не удобно, так как приходится
обращаться к данным, называя каждый раз новую переменную. Например:
bloggsl, bloggs2 и т.д. до bloggslO. Как это неудобно, Вы можете убедиться
из программы:

5 REM This programm will not work
10 FOR N-l TO 10
20 READ bloggs N
30 NEX N

40 DATA 10,2,5,19,16,3,11,1,0,6

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

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

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

и размерностью 10 (т.е. 10 индексируемых переменных В(1), В(2).....В(10)) и

присваивает всем элементам массива значение 0.

И так, теперь мы можем записать:
10 FOR Nel ТО 10
20 READ B(N)
30 NEXT N

40 DATA 10,2,5,19,16,3,11,1,0,6

Можно также объявлять массивы с более чем одной размерностью.
Например в двухмерном массиве первый индекс можно сравнить с номе-
ром строки, а второй с позицией в строке. Такой массив как бы описывает
страницу. Если ввести третье измерение для номера страницы, то массив
будет описывать книгу в виде:

(номер страницы, номер строки, номер столбца)

Объявим двухмерный массив X" с размерностью 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 А$(5,10)

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

А$< 1 )жА$(1,1) А$ (1,2)... А$(1,10)
А$(2)«А$(2,1)А$<2,2)... А$(2,10)

A$(5)*SA$(5,1)A$(5,2)... А$(5,10)
Можно также рассматривать элемент строкового массива как массив
символов. Пусть объявлен массив А$(2,7), можно записать и так А(2Х7) Сле-
дующая программа:

10 LET А$(2)e" 1234567890"
20 PRINT А$(2),А$(2,7)
даст "123456789 7"
Можно использовать также сечения массивов:
А$(2,4 ТО 8)«А$(2) (4 ТО 8)«"45678м
Помните, что в строковых массивах все строки имеют фиксированную
длину. Эту длину определяет последнее число размерности массива в опе-
раторе DIM. Если объявлен одномерный массив, то он определяет массив
символов: DIM А$(10).




СОДЕРЖАНИЕ:


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

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



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

Похожие статьи:
Чугуний - Байт-01.
Сплошные приколы - Сборник высказываний советских офицеров (продолжение).
Интервью - Вопросы Константину Свиридову (Conan) о сайте zxnext.narod.ru.
Самиздат - повесть о Спектруме.
Новости - новости от местных групп: Volume 4, Groboclone, Surdakar, Di-Tech Labs, Auryn, Rainbow Dreams, Experience.

В этот день...   24 ноября