Ты поддерживаешь переменные min и max для хранения наибольшего и наименьшего элементов массива. Когда ты вводишь элемент, ты проверяешь - если введённый элемент больше наибольшего, ты обновляешь наибольший. Если введённый элемент меньше наименьшего, ты обновляешь наименьший.
Важно задать min и max такие начальные значения, чтобы наибольший и наименьший элементы посчитались правильно. Для этого max нужно присвоить настолько большое значение, что при проверке задачи его не будут вводить. Для min нужно задать очень маленькое значение, которое тоже гарантированно не будет введено. Обычно диапазон вводимых чисел оговаривается в условии.
Код
var
a: array[1..5] of integer;
i, max, min: integer;
begin
max := -32000;
min := 32000;
for i := 1 to 5 do
begin
read(a[i]);
if a[i] > max then max := a[i];
if a[i] < min then min := a[i];
end;
writeln(max - min);
end.