Найти минимальный элемент массива очень просто. Если это упорядоченный массив, то достаточно вернуть первое или последнее значение, в зависимости от того, как отсортированы данные, от наименьшего к наибольшему или от наибольших к наименьшим. Это очень простая задача.
В случае с неотсортированным массивом, задача поиска минимального значения элемента сводиться к полному обходу всех элементов и выбора из них - минимума.
Код программы для поиска минимального, по значению, элемента неупорядоченного массива
{$CODEPAGE UTF8}
program Minimal;
const
arrayLength = 10;
var
inputArray : array [1..arrayLength] of integer;
minimum, i: integer;
begin
randomize;
writeln ('Исходный массив: ');
{заполнение случайными числами}
for i := 1 to arrayLength do
begin
inputArray[i] := random(100);
write (inputArray[i]:4);
end;
writeln;
{поиск минимального значения}
{считаем что первый элемент и есть минимальный}
minimum := inputArray[1];
for i := 2 to arrayLength do
if minimum > inputArray[i] then {если минимум больше текущего}
minimum := inputArray[i]; {присваиваем ему текущее значение}
write('Минимальный элемент массива ', minimum);
readln;
end.
Найти минимальное значение, можно также, с использованием рекурсивного алгоритма.
Рекурсивный алгоритм поиска минимального элемента в одномерном массиве
{$CODEPAGE UTF8}
program MinimalElement;
const
arrayLen = 10;
var
inputArr : array [1..arrayLen] of integer;
min, i: integer;
function MinElement(minimal, index: integer):integer;
begin
if index > arrayLen then
MinElement := minimal
else
begin
if inputArr[index] < minimal then
minimal := inputArr[index];
MinElement := MinElement(minimal, index + 1); {рекурсивный вызов}
end;
end;
begin
randomize;
writeln ('Исходные данные: ');
for i := 1 to arrayLen do
begin
inputArr[i] := random(100);
write (inputArr[i]:4);
end;
writeln;
{рекуррентный поиск минимального значения}
min := inputArr[1];
min := MinElement(min, 2);
write('Минимальный элемент ', min);
readln;
end.