Главная

Язык программирования Pascal

Что такое Паскаль

Запись числовых констант, переменных и выражений.

Типы данных. Операции и функции над данными разных типов.

Структура программы

Операторы присваивания, ввода и вывода

Простейшие программы

Условный оператор

Операторы цикла.

Массивы

Процедуры и функции.

Строки.

Множества

Записи

Файлы

Массивы.

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

Type < имя типа массив > = Array [ <тип индекса>] Of < тип элементов >;

Var < имя переменной > : < имя типа массив >;

    < тип индекса > - перечисляемый, логический, символьный, диапазон

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

Var < имя переменной > : Array [ < тип индекса > ] Of < тип элементов >;

Массивы обычно используются в тех программах, где требуется сохранять во время выполнения программы в памяти ЭВМ некоторую совокупность величин одного типа. Например, это требуется для задач, алгоритмы решения для которых предполагают неоднократное обращение к элементам заданной последовательности.
Кроме того, массивы часто используются и в тех случаях, когда для решения задачи достаточно однократного использования каждого элемента последовательности и, следовательно, нет необходимости хранить все элементы в памяти ЭВМ. Примерами таких задач являются все задачи с последовательностями из предыдущего параграфа.

Пример.
Дана последовательность из n вещественных чисел. Упорядочить ее элементы по возрастанию.
    Решение: рассмотрим  метод сортировки выбором.
    Отыскивается максимальный элемент и переносится в конец массива; затем этот метод применяется ко всем элементам, кроме последнего (он уже находится на своем окончательном месте), и т.д. 

Program SortCase;
Const n=10;
Type mas:Array[1..n] Of Real;
Var     x : Mas;
    i,j,m : Integer;
        r : Real;

Begin
    {ввод элементов массива}
    For i:=1 To n Do Readln(x[i]);
    For j:=n Downto 2 Do
        Begin {поиск m-номера max x[1..j]}
            m:=1;
            For i:=2 To j Do If x[i]>x[m] Then m:=i;
            {перестановка элементов x[m] и x[j]}
            r:=x[j]; x[j]:=x[m]; x[m]:=r
        End;
    {вывод элементов упорядоченного массива}
    For i:=1 To n Do Writeln(x[i])
End.

5.1. Одномерные массивы.
Использованный в описанном выше примере массив относится к тому виду массивов, элементы которых имеют простой тип (целый, вещественный, логический и т.д.). Для указания конкретного элемента массива используется один индекс. Такие массивы называют одномерными.
 

5.2. Многомерные массивы.
Элементы массива не обязательно должны иметь простой тип, но и сами могут являться массивами, например:

Type mas=Array[1..10] Of Array[1..20] Of Integer;
Var A:mas;

Тогда  A[i][j]- это j -ый элемент i -го элемента массива A. В языке Паскаль такие конструкции можно записывать в более короткой форме.

Type mas=Array[1..10,1..20] Of Integer
и указывать элемент массива такого типа в виде
A[i,j]. Т.к. здесь используется два индекса для задания элементов, то массив называют двумерным.
В общем случае можно использовать и r - мерные массивы. Двумерные массивы являются той структурой данных, которая наиболее естественна для задач с матрицами
Сайт управляется системой uCoz