Необходимо отслеживать два исключения
Деление на 0 (исключение EZeroDivide).
Выход за пределы диапазона (исключение RangeError).
получилось, но чтото не так:
program Project2;
{$APPTYPE CONSOLE}
uses
SysUtils;
const
h1=pi/10;
h2=20;
var
f:boolean=false;
i,imax,imin,i_error:integer;
y:array[-10..10] of extended;
b:array[-10..10] of word;
begin
writeln('Введите Imin и Imax в пределах -10...10');
write(' Imin=');
readln(imin);
write(' Imax=');
readln(imax);
try
for i:=imin to imax do
begin
i_error:=i;
y[i]:=1+1/(i*h1)
end;
for i:=imin to imax do
begin
i_error:=i;
b[i]:=(300-i*h2)*50;
end;
except
on EZeroDivide do
begin
writeln('Деление на 0');
writeln(' при i=');
i_error:=i;
f:=true;
end;
end;
if not f then writeln('OK');
readln;
end.
ошибку диапазона показывает ОК