Найти тему

Массивы в Lazarus

Этой статьёй я начинаю рассказ о структурированных типах данных. Структурированные типы - это данные, которые состоят не из одного, а из множества элементов. В Паскале это, например, массивы, записи, множества и файлы.

Самый, пожалуй, простой и понятный - это массив - совокупность данных одного и того же типа (в Паскале, в некоторых других языках в массиве могут быть данные разных типов).

Ну и, как всегда, напомню, что этот канал рассчитан, в основном, на начинающих, поэтому я обычно отбрасываю излишние подробности, а иногда даже жертвую точностью терминологии ради простоты.

Для описания массива в Lazarus, как и в других реализациях Паскаля, используются слова array … of:

ИмяМассива : array[СписокИндексов] of ТипДанных;
  • ИмяМассива - любой допустимый идентификатор.
  • ТипДанных - любой допустимый тип данных, в том числе и пользовательский, например, перечисление.
  • СписокИндексов - перечисление диапазонов изменения номеров элементов массива. Индекс - это номер элемента массива.

Диапазон индексов массива определяется интервальным типом, например, так:

M1 : array[1..10] of Byte;

Здесь мы объявили массив байтов, который состоит из 10 элементов, и в котором индексы (номера) элементов находятся в диапазоне 1..10. Индекс массива в Паскале может начинаться с любого числа (не обязательно с единицы), и даже может быть вообще не числом (главное, чтобы это был порядковый тип). Причём, если это число, то оно может быть и отрицательным. Главное, чтобы это был диапазон “слева направо”, то есть первое число должно быть меньше или равно второму числу. Вот так:

array[10..1] of…

делать нельзя.

Массивы могут быть многомерными. Чаще всего используются двухмерные - матрицы (таблицы). Изредка - трёхмерные. Массивы с большей размерностью использовать не советую, потому что так можно легко заблудиться в измерениях. Пример двумерного массива:

array[1..3, 1..4] of Word

Здесь мы описываем массив-таблицу из трёх строк и четырёх столбцов. Впрочем, разделение на столбцы и строки весьма условное. Это зависит от того, как вы их будете использовать в программе.

Больше примеров см. на рисунке:

На этом всё. Подписывайтесь на канал, чтобы ничего не пропустить.

Наука
7 млн интересуются