Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Программа вычисления арифметического ряда



Итерационным называется вычислительный процесс, в котором для определения последующего значения переменной используется ее предыдущее значение.

В некоторых циклических вычислительных процессах число повторений цикла заранее определить невозможно или очень трудно, потому, что неизвестно приращение (шаг) и\или конечное значение аргумента. В таких задачах для проверки окончания циклов сравнивают два значения последовательных приближений определенной величины на соседних циклах. Если эти значения с заданной степенью точности совпадают, то циклы заканчивают. Подобный вычислительный процесс носит название итерационного (слово итерация – iteration означает повторение).

При использовании итерационных процессов реализуется метод последовательных приближений. Характерно, что количество повторений цикла до реализации вычислительного процесса неизвестно, обычно циклом управляет заданная погрешность вычислений ξ. Если на очередной итерации погрешность | yn-yn-1│ ≥ ξ, то цикл продолжается для вычисления последующего приближенного значения результата yn+1.

Пример 1 Вычислить сумму ряда

при х = 0, 75 с точностью Е=10-2.

 

По условию примера требуется вычислять новые значения ряда и прибавлять их к сумме s до тех пор, пока i-й член ряда не станет меньше 0, 01. Для организации цикла нужно записать в общем виде формулу для i-го члена ряда, а в цикле изменять те переменные, которые варьируются в этом выражении.

Для данного ряда выражение для i-го члена имеет вид: , т.е. в числителе показатель степени k при аргументе функции синус увеличивается на 2, а в знаменателе – на 1 увеличивается коэффициент пропорциональности n при х. Знакопеременность членов ряда обеспечивается множителем (-1)t. Если t чётное, от знак члена положительный, если t – нечётное, то знак члена – отрицательный. Первое значение суммы s = sin x, т.к. это выражение (sin x) в общий член уi не входит.

 

Алгоритм вычисления: Программа:

Cls

x =.75: k = 3: t=1

n = 2: E = 10^(-2)

s = sin(x)

m1: y = (-1)^t*sin(x^k)/n*x

s = s + y: k=k+2: n=n+1: t=t+1

IF ABS(y) > =E THEN m1

PRINT " s="; s

END

 

или с оператором цикла,

например, DO…:

 

CLS

x =.75: k = 3

n = 2: E = 10^(-2)

s = sin(x)

DO

Рисунок 1 Алгоритм y = (-1)^t*sin(x^k)/n*x

итерации s = s + y: k=k+2: n=n+1: t=t+1

LOOP UNTIL ABS(y) < E

PRINT " s="; s

END

Описание алгоритма и программы:

После ввода начальных значений k, t и n, точности E, х = 0, 75 и вычисления s=sinx при х=0, 75 (блок 2, строки 2-4 в программах) вычисляется i-тый член ряда уi со знаком " -", т.к. t=1 (блок 3, строка5 и строка 6 в программе с DO…), в блоке 4 и следующей строке он прибавляется к предыдущему значению суммы (s=s+y), k увеличивается на 2, а t и n - на 1.

Потом производится проверка на окончание цикла – если модуль уi ещё больше или равен 0, 01 (во второй программе – до того, как он станет меньше), то управление возвращается назад, к вычислению следующего уi, если условие не выполняется, то следующий оператор выводит s на экран текстом с " s=" и конец программы.

Примечание: Проверка выполняется для модуля значения y, чтобы исключить влияние знака у (" +" или " –" ) при сравнении его с величиной Е.

В сложных алгоритмах полезно вручную выполнить программу и проследить изменение всех переменных в течении 2-3 циклов, чтобы убедиться, действительно ли в итоге получается нужный результат. Это позволяет быстро выявить все ошибки программы и лучше понять её работу.

Для данного примера варьируются величины k, n, y и s, запишем их изменения при выполнении программы в табл. 1.

Таблица 1

№ прохода k t n у s

Сначала переменным присваиваются значения: х=0, 75; k=3; n=2; E=0, 01; s=sin 0, 75. Потом вычисляется и как сумма предыдущего значения (sin 0, 75) и значения у. Затем k, t и n получают приращения и становятся равными 5, 2 и 3 соответственно. После этого выполняется проверка на завершение циклов вычислений – если модуль у (i-го члена ряда) у ещё больше Е=0.01, то выполняется переход на новое вычисление у с коэффициентами k=5, t=2, n=3, опять вычисляется s = s + y, но в качестве предыдущего s уже используется и т.д. " Ручное" выполнение программы показывает, что в результате программа формирует сумму ряда, заданную в условии примера 1.


Поделиться:



Популярное:

  1. Автор: М.Т. Шихиева, Рабочая программа Государственной итоговой аттестации выпускников - Королев МО: «МГОТУ», 2015 - 22 с.
  2. Автор: М.Т. Шихиева, Рабочая программа Государственной итоговой аттестации выпускников - Королев МО: «МГОТУ», 2015 - 22 с.
  3. Алгоритм вычисления кодов Шеннона — Фано
  4. Базовые понятия пpогpаммиpования. Действие, пpоцесс, алгоритм, программа.
  5. ВЫБОР ОРТОПЕДИЧЕСКИХ КОНСТРУКЦИЙ ПРИ ЛЕЧЕНИИ СОЧЕТАННЫХ ДЕФЕКТОВ ЗУБНОГО РЯДА
  6. Глава 37. ОБЯЗАТЕЛЬСТВА ИЗ ДОГОВОРА ПОДРЯДА
  7. Дает ли международная программа PISA объективную оценку знаний и умений учащихся? Ответ на этот вопрос дает системный анализ группы заданий по математике «Походка» международной программы PISA-2003
  8. Договор подряда на выполнение проектных и изыскательских работ.
  9. ДОЛЖНОСТНАЯ ИНСТРУКЦИЯ ЭЛЕКТРОМОНТЕРА 4 РАЗРЯДА
  10. Задаток и его значение. — Употребление задатка в России. — Задаток при продаже. — При публичных торгах. — По казенным подрядам
  11. Из отряда жесткокрылые повсеместно вредят личинки жуков - щелкунов – провочники. Щелкуны (семейство Elateridae) отряд Coleoptera.
  12. Излияние крови различной интенсивности в просвет желудочно-кишечного тракта. Это грозные, нередко смертельные осложнения ряда заболеваний пищевода, желудка, кишечника, печени.


Последнее изменение этой страницы: 2016-05-03; Просмотров: 660; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.01 с.)
Главная | Случайная страница | Обратная связь