Исправить код программы или дополнить.
Ввести элементы одномерного массива длиной 40 как значения функции ln(1+x) для x от -5 до 15 с шагом 0.5 и вывести на экран. Определить:
• минимальный элемент массива и его номер;
• количество элементов в диапазоне от 1 до 3;
• произведение элементов больших 1.
Код:
var a:array[1..n] of real;
i,k:byte;
nom: integer;
min, x,p:real;
begin
x:=0;
i:=1;
while x<=15 do
begin
a[i]:=ln(1+x);
Form1.Memo1.Lines.Add(FloatToStr(a[i]));
x:=x+0.5;
i:=i+1;
end;
min:=a[1];
nom:=1;
k:=0;
p:=1;
for i:=1 to n do
begin
if a[i]<min then
begin
min:=a[i];
nom:=i;
end;
if(a[i]>=1)and(a[i]<=3) then k:=k+1;
if a[i]>1 then p:=p*a[i];
end;
Form1.Edit1.Text:=FloatToStr(min);
Form1.Edit4.Text:=FloatToStr(nom);
Form1.Edit2.Text:=FloatToStr(k);
Form1.Edit3.Text:=FloatToStr(p);
end;