8. Математические и статистические системы
Рассмотрим порядок составления простейших программ на примере базовых структур программирования.
Предположим, что необходимо вычислить сумму ряда
Найти это значение в системе Mathcad можно просто, выбрав на соответствующей палитре знак суммы и заполнив пустые поля.
Для учебных целей нахождение суммы ряда выполним путем использования программы, текст которой приведен ниже (базовая структура программирования «Цикл»).
В верхней части программы приведено описание функции пользователя, а далее эта функция применена для нахождения результата.
Ввод функции пользователя с именем sum(n) осуществляется с помощью палитры «Программирование», показанной слева. Вертикальная линия вводится с помощью кнопки Add Line, а ключевое слово for и стрелка (локальный оператор присваивания) – с помощью одноименных кнопок.
В первой строке функции пользователя происходит обнуление результата, во второй строке формируется заголовок регулярного цикла, в третьей строке записано тело цикла, в котором идет накопление суммы.
Кроме регулярных циклов существуют итерационные циклы, в которых вычисление ведется до выполнения какого-либо условия, например, достижения заданной погрешности.
В качестве примера использования итерационных циклов рассмотрим порядок расчета иррационального числа π с помощью сходящегося ряда. Точность вычисления этого числа будет зависеть от вводимой пользователем допустимой абсолютной погрешности.
Основная идея подобных программ состоит в том, что на очередном типовом цикле вычислений (другими словами, на очередной итерации) происходит сравнение вычисленного значения члена сходящегося ряда с выбранной самим пользователем допустимой погрешностью. Если рассчитанное значение по модулю больше допустимой погрешности, то циклический процесс продолжается. В момент, когда очередной член ряда становится меньше допустимой абсолютной погрешности, вычисления прекращаются.
Для итерационных циклических процессов трудно заранее предсказать, сколько потребуется итераций (т. е. циклов) для достижения результата с заданной точностью. На продолжительность расчетов влияет вид функции (а значит и скорость сходимости) и выбранная программистом погрешность вычислений.