Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
УЧЕБНИК-Pascal.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
499.71 Кб
Скачать

2.7.2.Описание массива

Для того чтобы наша программа могла работать с массивом данных, она должна предварительно выделить для нее место в памяти. Для хранения каждого элемента массива выделяется отдельная ячейка памяти. Все эти ячейки будут иметь одинаковый размер, который зависит от типа данных, которые мы будем хранить в данном массиве.

Описание массива, как и всех переменных, производится в блоке описания Var. Для этого используется зарезервированное слово array. Описание массива выглядит так:

Одномерный массив

Massiv1 : array [n1..n2] of тип переменной;

Двухмерный массив

Massiv2 : array [m1..m2,n1..n2] of тип переменной;

Трехмерный массив

Massiv3: array [m1..m2,n1..n2,p1..p2] of тип переменной;

Где Massiv1, Massiv2, Massiv3 – имена массивов,

m1..m2,n1..n2,p1..p2 – пределы изменения индексов массива,

тип переменной – тип элементов массива.

Имя массива является единым для всех его элементов.

Нижний предел изменения индексов, как правило, принимают за 1.

Одномерный массив

Massiv1 : array [1..n] of тип переменной;

Двухмерный массив

Massiv2 : array [1..m,1..n] of тип переменной;

Трехмерный массив

Massiv3 : array [1..m,1..n,1..p] of тип переменной;

Разность между верхним и нижним индексом плюс 1 и есть максимально возможное количество элементов с данным индексом.

Тип элемента массива может быть как любым простым типом (real, integer, char,..), так и составным типом (массивом, записью,..).

Общее количество памяти, выделяемое для данного массива, есть произведение объема памяти, занимаемой одним элементом массива, в зависимости от его типа, на общее количество элементов массива, которое определяется как произведение максимально возможного количества элементов по всем индексам

2.7.3.Нахождение максимального элемента в массиве

Попробуем решить нашу задачу, поставленную в параграфе 2.7.1. Для начала нам надо описать массив чисел, который вы будете вводить с клавиатуры. Как мы говорили числа целые и их не более 40. Выделим память для хранения переменных: счетчика, конкретного количества чисел которое вы будете вводить и значения минимального элемента.

Program Primer_8; {программа нахождение минимального по величине числа в массиве}

var

Chislo :array [1..40] of integer;

i,n, resultat: integer;

Использование массива позволяет упростить текст программы для ввода данных

procedure init;

begin

write ('input n -');

readln (n); {ввод количества чисел}

for i:=1 to n do

begin

write ('input Chislo[',i,']=');

readln (Chislo[i]);

end;

end;

Обратите внимание на процедуру write('input Chislo[',i,']=') , использование такой конструкции позволяет выводить не только приглашение ввода нового элемента, но и за счет изменения значения счетчика помогает не запутаться с вводом значения конкретного элемента.

После ввода исходных данных, приступим к основной работе: поиску элемента с минимальным значением. Для этого воспользуемся искусственным приемом: Будем считать, что первый элемент и является элементом с минимальным значением. Действительно, если в массиве нет других элементов, то так оно и есть. В переменную с именем resultat поместим значение первого элемента. Если элементов в массиве несколько сравним значение переменной resultat со значением второго элемента массива. Если значение второго элемента меньше значения переменной resultat , то поместим в переменную resultat значение второго элемента, иначе оставим значение resultat без изменения. Будем повторять эти действия, пока не просмотрим все элементы массива:

procedure work;

begin

resultat:= Chislo[1];

for i:=2 to n do

if Chislo[i]< resultat then

resultat:= Chislo[i];

end;

Нам остается вывести результат на экран, в этом затруднений, наверное, не будет. Текст модуля такой же, как и для программы Primer_7. Текст тела программы так же не изменился.