Работа с массивами

Работа с массивами достаточно проста, если помнить, что доступ к элементам массива осуществляется по имени массива и номеру (индексу) элемента. Основными операциями с массивами является запись данных в элементы массива и чтение данных из них.

Запись данных в массив возможна двумя способами: оператором присваивания и перечислением элементов массива в списке ввода данных из файла. Чтение данных из элементов массива возможно также оператором присваивания и перечислением элементов массива в списке вывода данных в файл[7]. Реализация указанных способов показана на рис. 4.14. При рассмотрении рис. 4.14 следует предполагать, что массив в программе описан ранее, чем начинают исполняться операторы, приведенные на рисунке.

имя_массива(индекс)=<значение> Например, а(10)=10 или а(10)=3*с а) input#<число>,имя_массива(индекс) Например, input#2, a(2), a(5) б)
for счетчик=начало to конец имя_массива(счетчик)=<значение> next счетчик Например, for i=1 to 10 : a(i)=0 : next i в) for счетчик=начало to конец input#<число>,имя_массива(счетчик) next счетчик Например, for i=1 to 10 : input#1, a(i) : next i г)
имя_данных=имя_массива(индекс) Например, в=а(10) или с(3)=а(10) д) write#<число>,имя_массива(индекс) Например, write#2, a(2), a(5) е)
for счетчик=начало to конец имя_данных=имя_массива(счетчик) next счетчик Например, for i=1 to 10 : в=a(i) : c(i-1)=a(i) :next i ж) for счетчик=начало to конец write#<число>,имя_массива(счетчик) next счетчик Например, for i=1 to 10 : write#1, a(i) : next i з)
Рис. 4.14. Запись данных в массив (а)-(г) и чтение данных из массива (д)-(з)

На рис. 4.14,а и 4.14,в показан способ записи данных в массив посредством оператора присваивания, на рис. 4.14,б и 4.14,г – второй способ посредством чтения данных из файла последовательного доступа. Первые варианты (рис. 4.14,а и 4.14,в) применяется для работы с одиночными элементами массива, второй – для работы с множеством элементов. Чтение данных из массива посредством оператора присваивания показано на
рис. 4.14,д и 4.14,ж. Чтение данных из массива с записью их в файл показано на рис. 4.14,е и 4.14,з. Как и в случае чтения данных, вариант без применения оператора цикла обеспечивает работу с отдельными элементами массива, а вариант с применением указанных операторов – работу с множеством элементов массива.

Описанные операции характерны как для статических массивов, так и для динамических[8]. Дополнительные возможности предоставляют операции с динамическими массивами. Эти операции позволяют изменять во время выполнения программы объем выделенной под массивы памяти и даже освобождать ее совсем. Схема операций с динамическими массивами приведена на рис. 4.15. После любого оператора ReDim возможны описанные выше операции записи данных в массив и чтения информации из массива.

Privateимя_масива( )as <тип> 'описан динамический массив неопределенной 'длины