Показать сообщение отдельно
  #2  
Старый 02.04.2021, 00:25
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,015
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Лень интерфейс рисовать. Идея такая:
считаем функцию через ряд пока вычисленный элемент не будет меньше, чем заданная точность. Ну и считаем кол-во использованных элементов.
Код:
procedure func(x, e : double; var result : double; var nmb : integer)
var
  i : integer;
  y : double;
begin
  i := 1;
  result := 0;
  nmb := 0;
  while true do
    begin
      y := exp(x,i)/i;
      if (y < e) then break else
       begin
         result := result + y;
         i := i +2;
         nmb := nmb + 1;
       end;
     if nmb > 1000000 then break; // защита от дурака, не более милиона циклов
    end;
end;

как-то так.
не проверял, но должно работать.
Ответить с цитированием