Вы сохраняете набор базовых форм, с которыми вы знаете интегралы (полиномы, элементарные тригонометрические функции и т. Д.), И используете их в форме ввода. Это выполнимо, если вам не нужно много общего: очень легко написать программу, например, интегрирующую многочлены.
Если вы хотите сделать это в самом общем возможном случае, вам придется выполнять большую часть работы, которую выполняют системы компьютерной алгебры. Для некоторых людей это работа всей жизни, например, если вы посмотрите на «алгоритм» Риша , опубликованный в других ответах, или символическую интеграцию , вы увидите, что существуют целые многотомные книги («Мануэль Бронштейн, символическая интеграция» Том I : Springer "), который был написан по этой теме, и очень немногие из существующих систем компьютерной алгебры реализуют его в максимальной общности.
Если вы действительно хотите кодировать его самостоятельно, вы можете посмотреть исходный код Sage или несколько проектов, перечисленных среди его компонентов . Конечно, проще использовать одну из этих программ или, если вы пишете что-то большее, использовать одну из них в качестве библиотек.