Настало время вопроса - как будем считать несобственный интеграл. Все эти алгоритмы, конечно, очень хороши. Я, если честно, не очень хорошо воспринимаю абстрактные описания алгоритмов - это у меня еще со школы. Я легко врубаюсь в ход решения, когда имею возможность "пощупать" - взять и сразу писать код, ориентируясь на описание, например, в псевдокоде.
А вот когда в каком-нибудь справочнике пишут абстрактные алгебраические или геометрические объяснения алгоритмов, то сразу нападает скука и возникает вопрос - ну и чо?
Так что приступим к ощупыванию тела программы 😏
Для выполнения расчёта неопределенного интеграла были созданы структуры.
Целочисленные переменные, в которых хранятся выборы пользователя относительно вычисляемых функций:
Rezult,i,n,reg :integer;
Целочисленные переменные, в которых хранятся выборы пользователя относительно размерностей:
RezFunc,porp1,porp2:integer;
Вещественные переменные, в которых хранятся выборы пользователя относительно пределов вычислений:
ax,bx :real;
Вещественная переменная, в которой хранится результат вычислений:
integral :real;
Вещественные массивы, содержащие коэффициенты многочленов:
maskoef = array[1..10] of real;
Ti,Ai,Ci,xi,yi :maskoef;
koefp1,koefp2 :maskoef;
Процедура mnogo осуществляет формирование многочлена.
Структуры данных приведены в таблице 1.
Процедура mnexp осуществляет формирование многочлена в случае работы с экспонентами. Структуры данных приведены в таблице 2.
Функция f1 осуществляет выбор многочленов в соответствии с выбранной формулой. Структуры данных приведены в таблице 3.
Процедура SchetInt осуществляет вычисление интеграла. Структуры данных приведены в таблице 4.