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

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

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

Объявление массива

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

Имя: [нижний индекс … верхний индекс] of тип

В них стоит посмотреть на значение следующих компонентов:

  • имя – название конкретного массива;
  • array – определение в языке программирования, указывающее на то, что используется массив;
  • индексы – постоянные значения, указывающие на диапазон, в рамках которого происходят определенные действия;
  • тип – тип элементов, входящих в состав массива.

Пример, по которому происходит процесс объявления массива, можно рассмотреть ниже:

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

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

Сам раздел берет начало со специального слова, которое записывается, как const. В этом разделе в обязательном порядке указывается имя постоянной и значение, которое она принимает. При этом данных два параметра разделяются между собой знаком «=».

После того, как константа будет объявлена, ее можно применять в качестве символьной и числовой константы в программе. Ниже можно увидеть пример объявления именно констант именованного образца:

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

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

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

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

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

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

Операции при работе с массивами в Delphi

В языке программирования Delphi с массивами могут выполняться следующие операции:

  • ввод массива;
  • вывод массива;
  • поиск конкретного элемента в массиве;
  • определение максимального и минимального значения в массиве;
  • сортировка элементов массива.

Разберемся с некоторыми операциями более детальней.

Ввод массива в Delphi

Рассматривая такой процесс, как ввод массива в Delphi, стоит понимать, что это процесс, по которому из файла или же от пользователя происходит получение конкретных значений элементов массива. При этом, в процессе реализации этого действия возникает необходимость в создании конкретного поля для ввода. Но в том случае, если работа будет выполняться с достаточно большим массивом данных, то использовать этот способ нецелесообразно.

Вполне очевидным является факт того, что намного удобнее осуществлять процесс ввода в специальную строку таблицы. Именно здесь в каждой ячейке находится конкретное значение элемента массива. Для того, чтобы выполнить ввод массива, в Delphi могут использоваться несколько компонентов, среди которых особое место занимает Memo и StringGrid.

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

01.unit getar_;
02.interface
03.uses
04.Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls,
05.Forms, Dialogs, Grids, StdCtrls;
06.type
07.TForml = class(TForm]
08.Labell: TLabel;
09.StringGridl; TStringGrid;
10.Buttonl: TButton;
11.Label2: TLabel;
12.procedure ButtorilClicMSender: TObject];
13.private
14.{Private declarations }
15.public
16.{ Public declarations }
17.end;
18.var
19.Forml: TForml;
20.implementation
21.{SR *.dfm}
22.procedure TForml.ButtonlClick(Sender: TObject);
23.var
24.a : array[1..5] of integer; // массив
25.suntrn: integer; // сумма элементов
26.sr: real; // среднее арифметическое
27.i: integer/ // индекс
28.begin
29.// ввод массива
30.// считаем, что если ячейка пустая, то соответствующий
31.// ей элемент массива равен нулю
32.for i:= 1 to 5 do
33.if Length(StringGridl.Cells[i-l,0]] 0
34.then a := StrToInt(StringGridl.Cells[i-1,0))
35.else a := 0;
36.// обработка массива
37.summ := 0;
38.for i :=1 to 5 do
39.summ := summ + a;
40.sr : = summ / 5;
41.// вывод результата
42.Label2.Caption :=’Сумма элементов: ‘ + IntToStr(summl + #13+’Среднее арифметическое: ‘ + FloatToStr(sr);
43.end; end.

Вывод массива в Delphi

С массивами также можно выполнять такую операцию, как вывод. Она заключается в том, что в диалоговое окно на экран монитора осуществляется процесс вывода значений конкретных элементов массива.
В том случае, если в программе есть необходимость в одновременном выведении всех элементов, которые входят в состав массива, то для этого применяется специальная конструкция for. При этом здесь есть своя особенность, так как в качестве элемента массива здесь выступает переменная счетчик.

01.unit outar_;

02.interface
03.Windows, Messages, SysOtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;
04.type
05.TForml = class(TForm)
06.Buttonl: TButton;
07.Label1: TLabel;
08.procedure ButtonlClick(Sender: TObject);
09.private
10.{ Private declarations }
11.public
12.{Public declarations}
13.end;
14.var
15.Form1: TForm1;
16.implementation
17.{$R *,dfm}
18.const
19.NT = 5;
20.var
21.team: array[1..NT] of string[10] =(‘Зенит1,’Динамо1,’Ротор1,’Спартак’,’СКА’) ;
22.procedure TForml.ButtonlClick(Sender: TObject);
23.var
24.st:string; // список команд
25.i:integer; // индекс, номер элемента массива
26.begin
27.// формирование списка для отображения в форме
28.for i:=l to NT do st := st + IntToStr(i)+ ‘ ‘+ team +#13;
29.// вывод списка
30.Label1.Caption := st;
31.end;
32.end.

Сортировка массивов в Delphi

Для того, чтобы процесс работы с массивами в языке программирования Delphi был не сложным, дополнительно может выполняться такая процедура, как сортировка массива. В зависимости от того, какой является итоговая задача, зависит и используемый метод.

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

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *