Тип данных массив

E-mail Печать PDF
Рейтинг пользователей: / 0
ХудшийЛучший 

Тип данных массив

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

Как переменная массив описывается в программе следующим образом:

a : array [<тип индекса>] of <тип элементов>;

Здесь: a - имя переменной массива;

array, of - зарезервированные слова (массив, из);

<тип индекса> - любой упорядоченный тип, указывающий на кол-во элементов массива;

<тип элементов> - тип данных элементов массива.

Зачастую для задания количества элементов массива используется тип-диапазон. Тип-диапазон задается левой и правой границами изменения индекса массива. Например:

Var

    a : array [1..10] of Integer;

    b : array [0..50] of Real;

    c : array [-3..4] of Integer;

Из примера мы видим, что массив A состоит из 10 элементов, массив B - из 51 элемента, а массив C - из 8 элементов.

В программе ко всему массиву одновременно обратиться нельзя, возможно обращение только к элементу массива. Доступ к элементу массива осуществляется с помощью задания его индекса - целого числа, служащего своеобразным именем элемента в массиве. При упоминании в программе любого элемента массива сразу за именем массива должен следовать индекс элемента в квадратных скобках: a[1], b[0], c[-3].

В правильно составленной программе индекс не должен выходить за пределы, определенные типом диапазон. Так для тех же массивов A, B, C ошибочными будут обращения a[11], b[-1], c[5].

Для иллюстрации работы данного типа рассмотрим несколько примеров.

Пример 1.

Задана последовательность из 10 целых чисел. Вычислить отклонение от среднего арифметического для каждого элемента последовательности.

Program p1;

Var

     s, i : Integer;

     sr, a : Real;

     b : array [1..10] of Integer;

Begin

  s := 0;

  For i := 1 to 10 do

    begin

     Read (b[ i ]);

     s := s + b[ i ];

    end;

  sr := s / 10;

  For i := 1 to 10 do

    begin

    a := abs (sr - b[ i ]);

    Write (a : 5 : 1);

    end;

End.

 

Пример 2.

Задана последовательность из 10 целых чисел. Распечатать их в обратном порядке.

Program p2;

Var

     i : Integer;

     a : array [-3..6] of Integer;

Begin

  For i := -3 to 6 do

    Read (a[ i ]);

  For i := 6 downto -3 do

    Write (a[ i ] : 4);

End.

Пример 3.

Задана последовательность из 10 целых чисел. Вывести номер тех, которые больше среднего арифметического.

Program p3;

Var

     s, i : Integer;

     sr : Real;

     c : array [1..10] of Integer;

Begin

  s := 0;

  For i := 1 to 10 do

    begin

     Read (c[ i ]);

     s := s + c[ i ];

    end;

  sr := s / 10;

  For i := 1 to 10 do

    If c[ i ] > sr then

                      Write (i : 4);

End.

 

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

Ваше имя (псевдоним):
Ваш адрес почты:
Заголовок:
Комментарий: