Исправить код программы или дополнить.
Ввести элементы одномерного массива длиной 40 как значения функции ln(1+x) для x от -5 до 15 с шагом 0.5 и вывести на экран. Определить:
• минимальный элемент массива и его номер;
• количество элементов в диапазоне от 1 до 3;
• произведение элементов больших 1.
Код:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | 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 ;
|