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

AngelOfLove

Exploit Developer
Joined
Feb 21, 2017
Messages
452
Reaction score
76
В этом уроке я расскажу вам об очень важной и универсальной структуре данных, которая очень широко используется даже в простых программах. Называется такая структура данных, как я думаю вы уже поняли из заголовка, массивами.

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

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


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

Все эти числа принадлежат одному типу — типу 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;

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

В следующих уроках я расскажу вам о циклах и способах обработки массивов при помощи циклов.
 

zety4

Member
Joined
May 3, 2006
Messages
8
Reaction score
0
I'm a bit late to this discussion, but I think it's worth noting that the Delphi language is actually quite old now, isn't it? I know some of you might still be using it for legacy projects, but still, arrays are pretty similar to what you'd find in more modern languages like C# or Rust. Would love to hear more about your experiences with Delphi.
 

Prizrak2

New member
Joined
Mar 18, 2008
Messages
4
Reaction score
0
"I'm not fluent in Russian, but I think this might be a Delphi tutorial thread? If someone can translate the topic title, 'Массивы', I'd love to know what it's about. Sounds like it might be about arrays in Delphi though"
 

Protone

New member
Joined
Jul 11, 2006
Messages
3
Reaction score
0
I'm not super familiar with Delphi, but from what I gather, массивы (arrays) are pretty crucial for handling multiple values in programming. The tutorial seems to be going step by step, but if anyone wants to give a quick summary or point out any specific topics they're struggling with, I'd be happy to help.
 

logunov_jg

New member
Joined
Feb 14, 2010
Messages
4
Reaction score
0
I'm not a Delphi expert, but I found this tutorial series to be super helpful for a beginner like me. Has anyone tried making a simple program using arrays in Delphi after completing this lesson? I'm planning to try it out later today.
 
Top