Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Работа № 6. Сложные циклы




Б. Реализация вычислительного процесса

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

1. В качестве начального приближения Х 0 взять любое число из интервала [ A,B ], например Х 0 = (А+В) /2.

2. Степень точности расчёта Е выбрать такой, чтобы обеспечить достоверность на менее четырёх старших разрядов в искомом результате.

3. Во избежание «зацикливания» предусмотреть ограничение максимального количества итераций, заканчивая вычисления при числе итераций более 100.

4. Предусмотреть вывод вычисляемого корня и количества затраченных итераций.

5. Произвести следующий вычислительный эксперимент:

5.1. Если уравнение для итерации получено первым способом, то построить зависимость количества итераций от значения степени точности вычислений E.

5.2. Если уравнение для итерации получено вторым способом, то построить зависимость (график) количества итераций от коэффициента сходимости K и найти область значений K, в которой количество итераций будет минимально.

 

Сложным, или кратным, или вложенным называется цикл с несколькими независимыми друг от друга параметрами циклов. Организуются такие циклы путем вложения одного простого цикла внутрь другого, то есть образованием конструкции «цикл в цикле». Количество вложений практически не ограничивается.

Задание. Разработать блок-схемы и составить программы вычисления нижеследующих функций.

1. Сосчитать значения функции Z:

для X = X 1, X 2, …, X 10; Y = Y 1, Y 2, …, Y 6.

Блок-схема решения задачи представлена на рис.18 в двух вариантах.

2. Рассчитать таблицу корней кубических для значений М от 10 до 1000 с шагом 5. Расчёт вести методом последовательных приближений по формуле

с заданной степенью точности Е. В качестве начальных приближений принимать X 0 = М /5.

Пояснение. Блок-схема решения приведена на рис. 19 и представляет собой арифметический цикл с простой переменной, организующий задание и изменение M, внутрь которого вложен итерационный цикл вычисления кубического корня из M.

3.

для X=X1, X2,…,X10; 3 ≤ Y ≤ 5; ∆ Y = 0,25.

Все результаты сохранить в массиве Z 1. Сосчитать сумму и количество результатов Z > p.

4.

для X=X1 , X2,…,X10 ; Y=Y1, Y2, …,Y5.

Результаты сохранить в двумерном массиве Z 2, содержащем три столбца: X, Y, Z. Найти минимальный и максимальный результаты, выбрать из них максимальный по модулю.

 

5. Найти действительные корни уравнения

методом итерации с заданной степень точности E на отрезке [0, π/ A ] для A = A 1, A 2, …, A 45.

Результаты сохранить в массиве Y. Отыскать минимальное значение корня и его аргумент A.

 

6. Расcчитать значение суммы ряда

для всех Х в интервале от –0,8 до 0,8 с шагом 0,1. Вычисление суммы производить с заданной степенью точности Е =10-4 .

 

7. Для матрицы А (10´20) рассчитать средние арифметические значения отрицательных элементов каждой строки и средние геометрические значения положительных элементов каждой строки. Из результатов вычислений сформировать массив A1 средних арифметических и массив А2 средних геометрических.

 

Контрольное задание № 6. Вычислить сумму членов ряда

для одиннадцати равноотстоящих значений X на интервале [ X H, X K]. Общая формула для К -го члена ряда приведена в таб­л. 6, а величина К принимает следующие значения:

а) К = 0, 1, 2, 3,..., N

для вариантов 1,3,5,6,7,9,10,11,13,17,19,20,21,22,25;

б) К = 1, 2, 3,..., N

для вариантов 2,4,8,12,14,15,16,18,23,24,26,27,28,29,30.

Для контроля правильности нахождения суммы при каждом X предусмотреть одновремен­ное вычисление и вывод значения функции Y = F(X), представляющей точное зна­чение соответствующей суммы ряда при N ® ¥.

Пояснение. Алгоритм решения задачи представляет собой сложный цикл, в котором внутренний цикл должен вычислять ряд (суммировать члены ряда) при заданном фиксированном аргументе X, а внешний организует задание и из­менение X в интервале от Х Н до Х К.

В ряде случаев вычисление очередного члена ряда по об­щей формуле затруднено. Наиболее часто такими причинами являются:

– наличие факториала K!, для расчета которого пришлось бы организовать специальный цикл, осуществляющий вычисление произведения сомножителей целого типа от 1 до K;

– наличие сомножителя в виде аргумента X в целой степени. В этом случае обычное возведение в степень через логарифмирование, во-первых, может быть не целесообразно по времени вычислений, а во-вторых, может быть совершенно непригодно для отрицательных аргументов, что приведет к организации цикла вычисления произведения многих сомножителей.

Поэтому в подобных случаях це­лесообразно использовать рекуррентные соотношения, то есть вычислять каждый последующий член ряда через предыдущий. Это позволяет существенно упростить программу и сократить объем вычислительных операций.

 

 

Например, пусть общая формула для К -го члена ряда имеет вид

.

В формуле присутствуют оба отмеченных выше «неудобных случая» - и факториал, и целая степень аргумента. Поэтому следует получить рекуррентную формулу для (K +1)-гo члена ряда. Для этого выполним замену K на K+1 и в образованной формуле выделим в качестве сомножителя предыдущий член ряда:

.

Последняя формула чрезвычайно проста для вычислений, а ее реализация приведена в первом примере работы №5.

В некоторых случаях рекуррентные соотношения полезно записывать не для полной формулы члена ряда, а только для ее части, вы­деленной в отдельный сомножитель, а оставшуюся часть вычислять не­посредственно. Например, если

, то полагаем и вычисляем рекуррентно , а сомножитель непосредственно.

В случае знакопеременных рядов, содержащих (-1) в степени, зависящей от номера члена ряда, в простейшем случае можно выделить отдельный сомножитель только для вычисления такой степени. Например, если в формуле для члена ряда выделить сомножитель

,

то рекуррентная формула для него будет иметь вид

.

То есть в этом случае учет смены знака в программе сводится к тривиальной операции С = - С для знакопеременного сомножителя.

 




Поделиться с друзьями:


Дата добавления: 2014-10-23; Просмотров: 1284; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.007 сек.