• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о форуме и правила – там коротко описано, как задать вопрос так, чтобы быстро получить ответ. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по старой ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Нахождение интеграла

Gasphord

Ученик
Регистрация
15 Окт 2019
Сообщения
9
Реакции
0
Баллы
0
Нахождение интеграла

Нужна помощь с решением задачи по интегралам с использованием рекурсии.
Код:
Function step (x,n):real;
  Var i:integer;
      q:real;
  Begin
    q:=1;
    for i := 1 to n do
    q:=q*x;
  end;


Function Integral(x:real; n:integer):real;
  Var cos:real;
  Begin
    if n>=2 then
      begin
        cos:=Step(cos(x),n-1);
        Integral:=(1/n-1)*(sin(x)/cos)+(n-2/n-1)*Integral(x,n-1);
      end
    else
      if n=1 then
      integral:= ln(tan((pi/4)+(x/2))
    else
    Integral:=x;
    end;
 

Вложения

  • ozR7FHENG6U.webp
    ozR7FHENG6U.webp
    6.2 KB · Просмотры: 48
Так, ну ход программы, в общем-то, правилен, вот только НЕ СЛЕДУЕТ давать своим идентификаторам имена стандартных функций и констант. В частности, определять переменную "cos". Обзовите её как-нибудь иначе. Ну и добавьте ввод n и x, а также, если нужно, останов по завершении счёта, чтобы можно было увидеть результат.
И да, ввод алгебраических дробей сделан абсолютно безграмотно. Вот здесь:
Integral:=(1/n-1)*(sin(x)/cos)+(n-2/n-1)*Integral(x,n-1);
Нужно так:
Integral:=(1/(n-1))*(sin(x)/cos)+((n-2)/(n-1))*Integral(x,n-1);
 
Назад
Сверху