Попробуем решить нашу задачу, поставленную в параграфе 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. Текст тела программы так же не изменился.
Задание
1. Что надо изменить в программе " Primer_5" для того, что бы программа находила максимальное по значению число?
2. Напишите программу, которая не только находит минимальное по значению число, но и определяет номер (индекс) этого числа. Программу сохраните в файле " Primer_7".
3. Напишите программу, которая находит минимальное по значению число в двухмерном массиве и определяет номер (индекс) этого числа. Максимальная размерность массива [1..10,1..10]. Программу сохраните в файле " Primer_8".
4. Напишите программу которая находит минимальное по значению число в трехмерном массиве и определяет номер(индекс) этого числа. Максимальная размерность массива [1..10,1..10,1..10]. Программу сохраните в файле " Primer_9".