24+12 ! составьте подпрограмму, которая вычисляет значение функции y=2x²-6x+8 в произвольной точке. найдите минимальное значение функции на отрезке [a,b], рассчитывая значения в десяти точках, равномерно распределенных по всей длине отрезка, включая конечные значения.
// PascalABC.NET 3.2, сборка 1389 от 01.03.2017
// Внимание! Если программа не работает, обновите версию!
begin
var F:real->real:=x->2*x*x-6*x+8;
var a,b:real;
Write('a b= '); Read(a,b);
Writeln('Min=',Range(a,b,9).Select(x->F(x)).Min)
end.
Пример
a b= -2 6
Min=3.50617283950617
2. Решение "по-школьному" ("дедушкин метод")
function F(x:real):real;
begin
F:=2*x*x-6*x+8
end;
var
a,b,y,h,min:real;
i:integer;
begin
Write('a b= '); Read(a,b);
h:=(b-a)/9;
min:=F(a);
for i:= 1 to 9 do begin
y:=F(a+i*h);
if y<min then min:=y
end;
Writeln('Min=',min)
end.
Пример
a b= -2 6
Min=3.50617283950617