24+12 ! составьте подпрограмму, которая вычисляет значение функции y=2x²-6x+8 в произвольной точке. найдите минимальное значение функции на отрезке [a,b], рассчитывая значения в десяти точках, равномерно распределенных по всей длине отрезка, включая конечные значения.

кукушка138 кукушка138    3   25.08.2019 01:30    3

Ответы
ychenik555555555 ychenik555555555  05.10.2020 17:45
1. Решение "по-взрослому"

// 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
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика