const n=20; var a:array[1..n] of real; i:integer; amin:real; begin Randomize; Writeln('Элементы массива'); amin:=100; for i := 1 to n do begin a[i]:=50*Random-25; Write(a[i]:8:3); if (amin>a[i]) and (a[i]>0) then amin:=a[i] end; Writeln; Writeln('Минимальный среди положительных элемент: ',amin:0:3); end.
PascalABC.Net с максимумом "фишек": function f(x:double):double; begin result:=(3*x+2*x+5)/(cos(x)-sin(x))+power(x,3) { Cкорее всего, в условии ошибка и должно быть не 3х, а 3x^2, тогда надо числитель писать как (3*sqr(x)+2*x+5) } end;
var x:double; begin foreach x in [0.1,0,1.5] do Writeln('x=',x:3:1,' y=',f(x):0:5) end.
Результат выполнения программы: x=1.5 y=-10.11288 x=0.1 y=6.14508 x=0.0 y=5.00000
Обратите внимание, что порядок следования х не такой, как указан в программе: элементы множества считаются неупорядоченными и компилятор вправе располагать их произвольно.
Более традиционное решение function f(x:double):double; begin result:=(3*x+2*x+5)/(cos(x)-sin(x))+power(x,3) { Cкорее всего, в условии ошибка и должно быть не 3х, а 3x^2, тогда надо числитель писать как (3*sqr(x)+2*x+5) } end;
const a:array[1..3] of double=(0.1,0,1.5); var i:integer; begin for i:=1 to 3 do Writeln('x=',a[i]:3:1,' y=',f(a[i]):0:5) end.
Результат выполнения программы: x=0.1 y=6.14508 x=0.0 y=5.00000 x=1.5 y=-10.11288
const
n=20;
var
a:array[1..n] of real;
i:integer;
amin:real;
begin
Randomize;
Writeln('Элементы массива');
amin:=100;
for i := 1 to n do
begin
a[i]:=50*Random-25;
Write(a[i]:8:3);
if (amin>a[i]) and (a[i]>0) then amin:=a[i]
end;
Writeln;
Writeln('Минимальный среди положительных элемент: ',amin:0:3);
end.
Тестовое решение:
Элементы массива
-2.958 -12.624 -15.038 10.972 -14.160 -4.612 -8.148 14.052 22.818 -2.376 6.954 22.090 7.510 -21.058 -17.434 -1.651 24.170 -15.143 9.159 -6.910
Минимальный среди положительных элемент: 6.954