Ты поддерживаешь переменные <em>min </em>и <em>max </em>для хранения наибольшего и наименьшего элементов массива. Когда ты вводишь элемент, ты проверяешь - если введённый элемент больше наибольшего, ты обновляешь наибольший. Если введённый элемент меньше наименьшего, ты обновляешь наименьший.
Важно задать <em>min </em>и <em>max </em>такие начальные значения, чтобы наибольший и наименьший элементы посчитались правильно. Для этого <em>max </em>нужно присвоить настолько большое значение, что при проверке задачи его не будут вводить. Для <em>min </em>нужно задать очень маленькое значение, которое тоже гарантированно не будет введено. Обычно диапазон вводимых чисел оговаривается в условии.
<h3>Код</h3>
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.