// 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.
Заданная уравнением прямая всегда будет гипотенузой прямоугольного треугольника, а его прямой угол всегда будет лежать в точке пересечения осей координат. Таким образом, размещение гипотенузы всегда будет определять четверть, в которой находится треугольник. Гипотенуза пересекает ось Х в точке с координатами (х1; 0), а ось Y - в точке с координатами (0;y2). Найдем эти координаты, считая коэффициенты a и b в уравнении прямой заданными. Теперь можно определить номера четвертей n, в которых располагается гипотенуза.
var a, b: integer; f: Text;
begin Assign(f, 'input.txt'); Reset(f); Readln(f, a, b); Close(f); Assign(f, 'output.txt'); Rewrite(f); if a < 0 then if b < 0 then Writeln(f, '3') else Writeln(f, '1') else if b < 0 then Writeln(f, '4') else Writeln(f, '2'); Close(f) end.
15
Объяснение:
Первое - произведение 3 на 4
Второе - сумма 3 и полученного числа, т.е. 12 + 3