Программа


' Вычисление интеграла
' методом прямоугольников
' с заданной точностью

DEF FNFun! (X!) = X! * X!   'Вычисление интегрируемой функции

DEF FnIntegral! (Left!, Right!, Break%) 'Вычисление интеграла
  Sum! = 0   'Обнуление промежуточной суммы
  LengthStep! = (Right! - Left!) / Break%
                                    'Вычисление длины шага интегрирования
  PointX! = Left! + .5 * LengthStep!
                               'Вычисление абсциссы средины левого промежутка
  FOR i% = 1 TO Break%           'Цикл набора промежуточной суммы
    Sum! = Sum! + FNFun!(PointX!)  'Набор промежуточной суммы
    PointX! = PointX! + LengthStep!
                             'Пересчет абсциссы средины следующего промежутка
  NEXT i%
  FnIntegral! = Sum! * LengthStep!  'Определение интегральной суммы
END DEF

DEF FNExactIntegral! (Left!, Right!, Eps!)
                       ' Функция вычисления интеграла с заданной точностью
  Break% = 1           ' Оперделение начального разбиения
  Integral! = FnIntegral!(Left!, Right!, Break%)
                       ' Предварительное вычисление интеграла
  DO
    PredInt! = Integral!           ' Сохранение предыдущего значения интеграла
    Break% = Break% * 2       ' Увеличение разбиения
    Integral! = FnIntegral!(Left!, Right!, Break%)
                              ' Вычисление нового значения интеграла
  LOOP UNTIL ABS(Integral - PredInt) <= Eps!
             ' Выход из цикла при достижении заданной точности
  FNExactIntegral! = Integral!   ' Определение значения функции
END DEF

'----------------------------------------------------------------------------

'Ввод данных:
INPUT "Введите левую границу интервала интегрирования ", Left!
INPUT "Введите правую границу интервала интегрирования ", Right!

PRINT "="; FNExactIntegral!(Left!, Right!, .01) 'Вычисление и вывод результата
END


Бесплатные примеры программ
Примеры написанных программ
Помощь студентам по программированию