Определение массивов
Одномерные массивы
Основные понятия:
Массив обозначается одним именем. Так всю совокупность действительных чисел
1.6, 14.9, -5.0, 8.5, 0.46
можно считать массивом и обозначить одним именем, например А. Образующие массив переменные называются элементами массива. Каждый элемент массива обозначается именем массива с индексом, заключенным в круглые скобки.
A(1), A(2), A(3),..., A(n).
Индекс определяет положение элемента массива данных относительно его начала.
Для рассмотренного выше примера элементами массива А являются:
A(1)=1.6, A(2)=14.9, A(3)=-5.0, A(4)=8.5, A(5)=0.46
Прежде чем воспользоваться массивом, в программу надо включить оператор DIM, задающий максимально допустимый индекс. Это даст возможность системе с Бейсиком зарезервировать в памяти область достаточного размера.
Массивы, содержащие от 1 до 10 элементов, можно использовать без их объявления в операторе DIM. Максимальное количество элементов любого массива определяется только объемом свободной ОП.
Формат записи оператора DIM:
|
|
DIM имя_массива (максимальный_индекс)
"Имя_массива" обычно выбирается по тем же правилам, что и имена простых переменных.
"Максимальный_индекс" указывает максимально допустимый в программе индекс и должен быть положительным.
Примеры описания массивов:
DIM X(50) ' объявление одномерного числового массива X для 50 чисел;
DIM V$(12) 'объявление одномерного массива V для 12 символьных элементов.
Объявление массива с переменным размером.
INPUT K
DIM A(K)
........
Виды ошибок
Если указать в программе элемент массива с индексом большим, чем значение размерности, объявленное в операторе DIM или принятое по умолчанию, то выдается сообщение об ошибке 9:
Subscript out of range (выход за пределы массива).
Если оператор DIM указан после использования имени массива или массив повторно объявлен, то появляется сообщение 10:
Redimensioned array (повторное задание размерности массива).
Существует два способа присваивания значений элементам массива:
1) cтатический, с использованием операторов DATA, READ и оператора присваивания;
2) динамический, с использованием оператора INPUT и функции RND.
При работе с массивами очень удобно пользоваться оператором цикла FOR...NEXT. В качестве индекса массива используют параметр цикла.
1. Пример статического заполнения массива.
DATA слива,ананас,груша
DATA яблоко,вишня,абрикос
DIM A$(6)
FOR I=1 TO 6
READ A$(I)
NEXT I
Цикл FOR...NEXT последовательно присваивает значения всем переменным из списка.
2. Пример динамического заполнения массива
INPUT "Введите количество элементов массива ";N
DIM A(N)
FOR I=1 TO N
INPUT A(I)
NEXT I
В данном примере используется переменное задание размерности массива.
3. Пример заполнения массива с помощью стандартной функции RND
DIM V(12)
FOR I=1 TO 12
V(I)=INT(RND(1)*10)
PRINT V(I);
NEXT J