Scientific journal
Modern problems of science and education
ISSN 2070-7428
"Перечень" ВАК
ИФ РИНЦ = 1,006

Тарушкин В.Т., Тарушкин П.В., Тарушкина Л.Т.

При обучении аналитическому дифференцированию и интегрированию можно применять современные пакеты программ компьютерной алгебры (например, Derive), но гораздо интереснее для обучающихся, если они элементы этих пакетов могут построить сами, что тем более важно, поскольку эти пакеты, несмотря на существенный прогресс в этой области, не лишены многих недостатков. Например, программа моделирования аналитического дифференцирования [1] на языке Турбо - Полог имеет вид:

predicates

dif ( symbol , symbol )

clauses

dif ( "d / dx sh(x)", "ch (x)").

dif ("d / dx ch(x)", "sh(x)").

dif ("d/ dx cos(x)", " - sin (x)").

 

В процессе работы этой программы ЭВМ запрашивает цель Goal:dif ("d/ dx cos(x)" , Y). После ввода этой цели получаем ответ: Y = - sin(x). Цель может быть описана в самой программе. Например, добавив к ней

 

goal

dif ( " d / dx cos(x)", Y), write ("\n d / dx cos(x)=", Y).

 

Получим в автоматическом режиме: d / dx cos(x) = - sin(x). Для построения программы интегрирования нужно предикат дифференцирования dif заменить на предикат интегрирования int. В качестве клауз взять:

 

int ("sh(x)" , "ch(x) + c ").

int ("ch(x)" , "sh(x) + c" ).

int ("cos(x)" , "sin(x) + c" ).

 

Цель для автоматического решения задачи интегрирования cos(x) запишется в виде:

 

goal

int ("cos(x)" , Y ) , write ("\n integral of cos(x) = " , Y ).

 

Решение имеет вид: integral of cos(x) = sin(x) + c .

Фрагмент программы на языке Турбо-Паскаль для аналитического интегрирования задач [1] имеет вид:

LABEL 1000 ;

VAR NAME: STRING[20] ;

WRITELN(‘ The expression is : sin(x) ? , yes or no ‘);

READLN(NAME);

IF NAME = ‘yes' then BEGIN writeln(‘ The integral is: -cos(x) + c ‘);

WRITELN(‘For continue to push the Enter ‘) ; READLN ; GOTO 1000 END ;

{далее этот фрагмент программы от IF до этого комментария повторяется для каждой элементарной функции}

READLN ;

WRITELN(‘Syntax error . Process Terminated.');

READLN ;

1000: END.

Если программа доходит до конца, не найдя нужной функции, печатается сообщение о синтаксической ошибке.

Эти задачи использовались при проведении практических занятий по дисциплине "Математическая логика и теория алгоритмов" на факультете ПМ - ПУ СПбГУ.

 

СПИСОК ЛИТЕРАТУРЫ:

1. Фихтенгольц Г.М. Курс дифференциального и интегрального исчисления. Т 1, 2 . - М.: ГИТТЛ . 1951- 696 с., 863 c.