Delphi для начинающих – Урок 9 – Массивы

A

AngelOfLove

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

Массив представляет собой набор однотипных переменных, заключенных в одну переменную. Каждая однотипная переменная в массиве называется элементом массива и имеет свой собственный числовой индекс в массиве. Чтобы представить себе суть массива, предлагаю изучить простой пример:

Предположим, существует некий набор чисел. Пусть это будет:


Авторизируйтесь или Зарегистрируйтесь что бы просматривать ссылки.


Пример массива

Все эти числа принадлежат одному типу — типу integer. Каждое число имеет свой собственный индекс, т.е. число 10 имеет индекс 0, число 71 имеет индекс 2. Возьмем другой пример:

Предположим, существует некий набор строковых переменных. Пусть это будет:


Авторизируйтесь или Зарегистрируйтесь что бы просматривать ссылки.



Эти строковые переменные принадлежат типу string. К каждой из этих переменных мы можем обратиться по ее собственному уникальному в данном массиве индексу. Например строка abc имеет индекс 0.

Я думаю, что вы поняли, что массивы могут содержать определенное кол-во любой но однотипной информации. Теперь посмотрим на реализацию массивов в Delphi (Pascal). Как и любую обыкновенную переменную, массив тоже необходимо объявить в разделе var. Делается это следующим образом:

1 var
2
3 a: array [0..100] of integer;

Сначала мы, как и обычно, указываем название нашего массива. Затем, после «array», мы указываем диапазон индексов в массиве, т.е. в данном случае мы создали 101 элементов массива с заданными индексами. И затем естественно указываем тип элементов массива, а именно пишем после «of» тип «integer», т.е. элементы массива целочисленные.

Теперь как же обратиться к элементам массива непосредственно из кода, т.е. работать с этими элементами как с обыкновенными переменными? Делается это предельно просто. Обратиться к любому элементу массива можно следующим образом:

1 a[1]:=100;
2
3 a[99]:=200;

Думаю, что подробные объяснения тут не требуются. В квадратных скобках мы указываем индекс самого элемента массива. Очень важно учитывать, что введенный индекс, по которому мы хотим обратиться к элементу массива, должен быть в указанном при объявлении массива диапазоне, иначе программа во время своей работы выдаст нам ошибку. Также, в качестве индекса может выступать и другая любая переменная типа integer (а также и различные примитивные математические операции), например так:

1 a:=100;
2
3 a[i+10]:=200;

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

В следующих уроках я расскажу вам о циклах и способах обработки массивов при помощи циклов.
 
Название темы
Автор Заголовок Раздел Ответы Дата
A Delphi для начинающих. Урок 11. Процедуры и функции С/C++ 0
A Delphi для начинающих. Урок 10. Циклы. Работа с массивами С/C++ 0
A Delphi для начинающих – Урок 8 – Условия. Оператор Case С/C++ 0
A Delphi для начинающих – Урок 7 – Условия. Оператор IF С/C++ 0
A Delphi для начинающих – Урок 6 – Пишем свой калькулятор С/C++ 0
A Delphi для начинающих – Урок 5 – Работаем с компонентами С/C++ 0
A Delphi для начинающих – Урок 4 – Работа с переменными С/C++ 0
A Delphi для начинающих – Урок 3 – Создание переменных С/C++ 0
A Delphi для начинающих – Урок 2 — События С/C++ 0
A Delphi для начинающих — Урок 1 — Среда разработки Delphi С/C++ 0
C Реверс-инжирниринг бота на Delphi, есть проблемы Вопросы и интересы 0
M [Delphi] Работа VKAPI, на примере бота С/C++ 3
T Пишем WinLocker на Delphi С/C++ 0
D Нужна помощь по Delphi! ЗАПЛАЧУ! Другие ЯП 1
VAVAN Продам исход стиллера (ЯП Delphi) Продажа софта 1
A Потоки в Delphi. TThread С/C++ 0
A Delphi. Урок 17. Типы С/C++ 0
A Delphi. Урок 16. Исключительные ситуации С/C++ 0
A Delphi. Урок 15. Математические операции С/C++ 0
A Delphi. Урок 14. Работа со списками строк TStringList или «сложные» типы С/C++ 0
A Delphi. Урок 13. Работа со строками С/C++ 0
A Delphi. Урок 12. Преобразование числа в строку и строки в число С/C++ 0
A Простые шутку в DELPHI С/C++ 5
A Мои старые исходники на Delphi С/C++ 1
A Несколько шпор по Delphi =) С/C++ 3
L Загружаем компьютер другу. Delphi,rad studio Другие ЯП 0
I Country IP Ranges Generator v1.0 [Source][Delphi] Другие ЯП 3
B Помощь [Delphi] Другие ЯП 0
B VK Post Grabber [Source][Delphi] Другие ЯП 0
Admin [delphi] downloader winapi Другие ЯП 0
D Рекламная сеть, кампания технической поддержки, генерировать звонки для службы технической поддержки Предоставляю работу. Ищу специалиста. 1
K P2P схемы для чайников (или как заработать дэнег) Способы заработка 0
Multi-VPN Интересно aTox и TRIfA мессенджеры твоей мечты для Android Полезные статьи 0
Support81 Цифровой ГУЛАГ: новая реальность для пользователей VPN в Китае Новости в сети 0
Multi-VPN aTox и TRIfA мессенджеры твоей мечты для Android Настройка системы для работы 0
Support81 0day в WPS Office: как обычный документ становится плацдармом для запуска бэкдора SpyGlace Новости в сети 0
smmgoal Esimbuy.org Откройте для себя пакеты данных Travelsim Ищу работу. Предлагаю свои услуги. 0
TrustDomains Проверено Трастовые домены для рекламы Яндекс и Гугл Куплю/Продам 0
Support81 Xeon Sender: новое оружие хакеров для мощных SMS-бомбардировок Новости в сети 0
Support81 Cyclops: Иранские хакеры готовят почву для масштабных кибератак Новости в сети 0
G Нужны люди для работы Предоставляю работу. Ищу специалиста. 0
Support81 Стань невидимым для EDR: новый блокировщик от Tier Zero Security Новости в сети 0
Support81 На телефон поступил одноразовый код? Похоже, он предназначен не для вас Новости в сети 0
Support81 План Б для интернета: НАТО готовится к худшему сценарию Новости в сети 1
Chekon ✅ sms.chekons.com - ⭐ Сайт для получения SMS на реальные номера USA "Non-VoIP, безлим SMS, API" от 0.4$ за номер⭐ Ищу работу. Предлагаю свои услуги. 0
Support81 Eldorado: новый цифровой кошмар для бизнеса Новости в сети 0
@little_polly_base Продам Базы данных для любой деятельности(Опт) Все что не подошло по разделу 29
Support81 Китай – новый электронный концлагерь для туристов Новости в сети 0
Support81 0day-эксплойт для Chrome выставлен на продажу за $1 000 000 Новости в сети 0
Support81 Прецедент для России: прокуратура Ленобласти взыскивает деньги с оператора за дистанционное мошенничество Новости в сети 0

Название темы