Обработка массива

Массивы удобно использовать там, где приходится обрабатывать большое количество однотипных данных. Возьмем гипотетический пример: нужно перевести данные от 1 до 100 американских миль в привычные нам километры. Поскольку мы точно знаем, что у нас будет 100 элементов, можно воспользоваться массивом, а для его обработки удобней всего использовать цикл for:

var

i: Byte; //счетчик для for

a: Array [1..100] of Real; //массив для полученных данных

begin

for i:= 1 to 100 do

a[i]:= i * 1.609;

Что мы имеем в данном примере? При первом проходе цикла for счетчик i имеет значение 1, следовательно, в строке

a[i]:= i * 1.609;

мы обращаемся к первому (a[1]) элементу массива, и присваиваем ему значение i, умноженное на 1.609 километров. Следовательно, в элемент массива a[1], который соответствует одной миле, попадает значение 1.609 километров. При втором проходе цикла i уже равен 2, значит, в элемент a[2] уйдет значение 2 * 1.609, то есть 3,218. И так далее, до конца массива. В дальнейшем, обратившись к нужному элементу массива, мы сможем узнать, скольким километрам будет равно данное количество миль:

ShowMessage('23 мили = ' + FloatToStr(a[23]) + ' километра');

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

for i:= 0 to 100 do

a[i]:= i * 1.609;

то получили бы ошибку, так как уже при первом проходе мы обратились бы к элементу a[0], которого не существует.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: