Раз ступенька, два ступенька — будет лесенка. Раз словечко, два словечко - будет песенка.
Как раз песенка
...В чешуе, как жар горя, Тридцать три богатыря, Все красавцы удалые, Великаны молодые. Все равны, как на подбор, С ними дядька Черномор.
Пушкин. Сказка о царе Салтане
Как Однажды Жак-Звонарь Городской Сломал Фонарь.
Мнемонический стишок про цвета радуги
Массив - это набор объектов (элементов) одного и того же типа, каждый из которых имеет свой номер в этом наборе (индекс).
Массивы относятся к структурным типам данных - как множества, записи, классы, файлы и строки.
Объявление переменной-массива имеет вид:
var a: array[начальный индекс..конечный индекс ] of тип;
или более определённо:
var a: array[1..10] of integer;
Как видите, чтобы объявить массив, используется зарезервированное слово array, после которого в квадратных скобках указывается диапазон индексов, затем слово ofи тип элементов массива. Объявление заканчивается точкой с запятой.
Индекс определяет относительную позицию элемента в массиве.
Начальный и конечный индексы задаются при объявлении массива и потом не изменяются. Если в языке Cначальный индекс всех массивов равен нулю (что часто приводит к ошибкам), то Delhiболее либерален: вы сами можете выбирать диапазон индексов, как вам угодно (но конечный индекс должен быть не меньше конечного!).
Например, переменную-массив а можно объявить и так:
var a: array[0..9] of integer;
var a: array[-1..8] of integer;
var a: array[2001..2010] of integer;
Сам массив от этого не изменится - каждый из этих массивов содержит по 10 целых чисел, - но вы должны помнить, что самый первый элемент массива имеет начальный индекс, а последний - конечный.
Тип массива (а, значит, и его элементов) может быть любым:
char, real, integer, string, array,...
К каждому элементу массива можно обратиться по его индексу. Для этого нужно указать имя массива и индекс нужного элемента в квадратных скобках:
a[1] - это переменная типа integer(в общем случае - того типа, который указан при объявлении массива); она имеет в массиве индекс 1 (в нашем
примере это первый элемент массива, в общем случае - в зависимости от заданного диапазона).
Индекс можно задавать и выражением, которое имеет тот же тип, что и индекс (обычно диапазон):
a[2 + 2*3] - элемент массива с индексом 8.
С элементом массива можно обращаться точно так же, как и с переменной того же типа:
a[1]:= 1; a[2]:= a[1] + 1; a[3]:= a[1] * a[2];
Кроме непосредственного объявления переменной-массива, можно сначала объявить тип со структурой массива, а уже потом - одну или больше переменных этого типа:
type mas= array[1..10] of integer
var a1,a2,a3: mas;
Объявление переменной типа массива можно совмещать с присвоением ей значений. Они перечисляются через запятую в круглых скобках:
var a: array[1..10] of integer = (1, 1, 2, 3, 5, 8, 13, 21, 34, 55);
Вот так просто мы заполнили массив числами Фибоначчи.
В памяти компьютера одномерный массив занимает последовательные ячейки:
Каждый элемент массива занимает столько ячеек памяти, сколько требуется для хранения значения такого типа. Например, для целого числа типа Integerотводится 4 байта, а для символа достаточно и одного.
Массивы - повсюду: патроны в магазине, семечки в подсолнухе, кильки в томате, ученики в классе, слова в словаре, пальцы на руке, цвета в радуге, солдаты в шеренге - как только мы сумеем выделить несколько одинаковых объектов, которые образуют группу, мы тут же можем объявить массив:
Type
отряд= array[1..33] of богатырь; колода= array[1..52] of карта; словарь= array[1..30000] of string; класс= array[1..30] of ученик;
Хорошим примером одномерного массива могут послужить квартиры в доме, бирки в раздевалке, бочонки русского лото или шары в спортлото - они уже пронумерованы, то есть даже номера элементов (индексов) проставлены!
Теперь нам не нужно помнить имя каждого ученика - мы можем обратить к нему «по индексу», или номеру под которым он записан в журнале (квартирам или биркам вообще никто собственного имени не даёт). Вместо Шурика можно вызвать ученика класс[13], если Шурику опять не повезло и он 13-ый в классном журнале.