Здравствуйте, Mr.Cat, Вы писали:
>>>> [simp_int I=0 d=(b-a)/(2*n) x=a func I=y/2 x=b func I=I-y/2 x=a k=0 loop(IA,n-k,IB) I=I*(b-a)/(3*n)] MC>Я вот вообще не могу вкурить, что тут за текст такой
Вот эквивалентный (и допустимый) текст:
[Интеграл_по_Симпсону
{задаем начальные значения}
I=0
d=(b-a)/(2*n) {размер интервала}
x=a
ФУНКЦИЯ {вычисляем y при x=a}
I=y/2 {понимаем, что оператор I=0 лишний, его можно выкинуть}
x=b
ФУНКЦИЯ {вычисляем y при x=b}
I=I-y/2
x=a
k=0 {индекс инициируем}
{Теперь вычисляем сумму в цикле}
loop(IA,n-k,IB)
{Умножаем сумму на необходимые коэффициенты для получения значения интеграла}
I=I*(b-a)/(3*n) ]
{Теперь все выше написанное можно записать и забыть. Пользуясь "поздним связыванием"
для вычисления интеграла от некоторой функции задаем сначала функцию следующим,
немного непривычным способом}
[ ФУНКЦИЯ {русские буквы разрешены} y=1/(1+x^2)]
{Задаем интервал a..b и число n}
a=0 b=1 n=12
{Вычисляем интеграл}
Интеграл_по_Симпсону
{Теперь выводим вычисленное значение с 10 знаками после десятичной точки}
I=?10
{УсЁ}
S>>Упростить эти вычисления ни один язык не поможет MC>Эээ, как насчет int(f(x), x=a..b)?
А где вычисления? Раньше написаны? На каком языке?
Дело в том, что все виды вычислений внутрь калькулятора не засунешь.
Более того, чем больше функций вы предоставите (а это не проблема), тем
сложнее пользоваться. Нужен разумный компромис.