Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лекции / программирование.doc
Скачиваний:
129
Добавлен:
10.02.2014
Размер:
160.77 Кб
Скачать

Массивы

Цель: изучение одномерных и двумерных массивов на языке Паскаль.

Задачи:

  1. Изучить описание массивов.

  2. Рассмотреть действия над массивами и над элементами массива.

  3. Рассмотреть алгоритмы нахождения суммы элементов массива и поиска максимального элемента в массиве.

  4. Разобрать различные способы сортировки массивов

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

Если за каждым элементом массива закреплен только один индекс (порядковый номер), то такой массив называется линейным или одномерным, если два индекса – двумерным, если n индексов – n-мерным. Одномерные массивы обычно используются для представления векторов, а двумерные – для представления матриц.

Описание одномерного массива.

Var <идентификатор,…>: array [тип индекса] of <тип компонента>;

Пример:

Var a,b: array[1..4] of integer; {массив из 4 элементов целого типа}

C: array[-2..7] of real; {массив из 10 элементов вещественного типа}

Действия над элементами одномерного массива.

После объявления массива каждый его элемент можно обработать, указав идентификатор (имя) массива и индекс элемента в квадратных скобках. Например, запись А[2] позволяет обратиться ко второму элементу массива А.

1. Инициализация - присвоение начальных значений, причем это зна­чение одинаково для всех элементов массива. Присвоить каждому эле­менту массива одно и тоже значение можно вручную или при помощи оператора цикла с известным числом повторений for:

Пример:

a[1] := 0; a[2]:= 0; a[3]:=0;

for i:=1 to 3 do a[i]:=0;

2. Ввод и вывод элементов массива. Ввод/вывод элементов массива осуществляется при помощи цикла for.

Ввод: for i:= 1 to N do Read (x[i]);

где N число элементов массива.

Блок-схема алгоритма ввода элементов массива:

Пример: for i:= 1 to 10 do Read (x[i]);

Можно также вводить значения отдельных элементов массива, например Read(A[3]).

Вывод массива организуется аналогично вводу, только для этого используется оператор вывода write (writeln). Приведем несколько вариантов:

Вариант 1.

for i:=1 to N do Write(a[i]); - вывод в строку слитно

Вариант 2.

for i:=1 to N do Writeln(a[i]:6:2); - вывод в столбец

3. Копирование – присваивание всех значений элементов одного массива всем соответствующим элементам другого массива. Копирование можно выполнить одним оператором присваивания, например A:=D; или с помощью оператора for:

For i:=1 to 4 do

A[i]:=d[i];

В обоих случаях значение элементов массива D не изменяется, а значения элементов массива А становятся равными значениям соответствующих элементов массива D.

4. Перестановка элементов массива осуществляется при помощи дополнительной переменной.

Пример: В массиве A нужно поменять местами второй и пятый эле­менты.

buffer:= a[2];

a[2]:= a[5];

a[5]:= buffer;

Переменной buffer присваивается значение второго элемента массива А. Затем второму элементу присваивается значение пятого элемента массива А. Последняя операция присваивает пятому элементу значение второго элемента, который был записали в переменную buffer.

Алгоритм нахождения суммы элементом массива

Дан массив X, состоящий из n элементов. Необходимо найти сумму элементов этого массива. Фрагмент программы будет иметь вид:

S:=0;

for i:=1 to n do S:=S+X[i].

Соседние файлы в папке лекции