Решение задач численными методами с использованием циклов
Автор: noce pecan • Декабрь 8, 2021 • Лабораторная работа • 1,258 Слов (6 Страниц) • 344 Просмотры
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ
ФГБОУ ВО АЛТАЙСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
Институт цифровых технологий, электроники и физики
Кафедра вычислительной техники и электроники (ВТиЭ)
Лабораторная работа № 4.
Решение задач численными методами с использованием циклов
Выполнил студент 505 гр.
_______________ Ф. А. Городкова
Проверил: к.т.н,, доцент каф. ВТиЭ
_______________ Ю.Г. Скурыдин
Лабораторная работа защищена
«___»__________________2020 г.
Оценка ________________
Барнаул 2020
- Формулировка задачи
Ввести с клавиатуры значение аргумента х и значение точности вычислений ξ. Вычислить с заданной точностью сумму элементов бесконечно сходящегося числового ряда (стандартную функцию вычисления факториала не использовать)[pic 1]
, где |x|<1[pic 2]
- Постановка задачи
На вход поступает вещественное число, модуль которого меньше 1, определяющее значение аргумента х, и положительное вещественное число, много меньшее 1, определяющее степень точности ξ. Необходимо вычислить сумму элементов бесконечно сходящегося числового ряда с заданной точностью ξ, не применяя стандартную функцию вычисления алгоритмов. На выход поступает вещественное число, определяющее значение суммы сходящегося ряда с заданной точностью.
- Математическая модель
Дана формула, определяющая значение суммы , где |x|<1, на вход поступает вещественное число, определяющее значение аргумента (например х=0.8) и положительное вещественное число, определяющее степень точности (ξ=0.00001).
Тогда при k = 1 => = = 0.32. Проверяем условие > ξ => 0.32 >0.00001. Так как степень точности меньше получившейся суммы, мы продолжаем вычисления и находим сумму. При k = 2 => = 0.085 больше заданной точности, значит 0.32 + 0.085 = 0.405, продолжаем вычисления. При k = 3 => =. 0,022 больше заданной точности, значит S(0.8) = 0.32+0.085+0,022=0,427 продолжаем вычисления. При k = 4 => = 0,003 больше заданной точности, значит S(0.8) = 0.32+0.085+0,022+0,003=0,43. продолжаем вычисления. При k = 5 => =0,0004 больше заданной точности, значит S(0.8) = 0.32+0.085+0,022+0,003+0,0004=0,4304. продолжаем вычисления. Завершаем вычисления, когда условие > ξ не выполнится. [pic 3][pic 4][pic 5][pic 6][pic 7][pic 8][pic 9][pic 10][pic 11][pic 12]
- Описание алгоритма
Начало
- Ввод х, ξ
- k = 1
- a=1
- Проверка условия a<(k+1)+1, если условие не выполняется, то переход к пункту 7
- f= f*a
- a++, переход к пункту 4
- g = [pic 13]
- sum = g
- n = 1
- s = 1
- Проверка условия g> ξ, если условие не выполняется, то переход к пункту 18
- k++
- Проверка условия s<(k+1)+1 если условие не выполняется, то переход к пункту 16
- n=n*s
- s++, переход к пункту 13
- g=[pic 14]
- sum+=g, переход к пункту 11
- Вывод суммы и завершение работы программы
Конец
- Опорный граф (блок-схема) алгоритма[pic 15]
[pic 16][pic 17]
[pic 18][pic 19][pic 20][pic 21][pic 22]
[pic 23][pic 24]
[pic 25][pic 26][pic 27]
[pic 28][pic 29][pic 30][pic 31][pic 32][pic 33]
[pic 34][pic 35][pic 36]
[pic 37][pic 38][pic 39]
[pic 40]
[pic 41][pic 42][pic 43]
[pic 44][pic 45][pic 46][pic 47][pic 48][pic 49]
[pic 50]
[pic 51][pic 52]
[pic 53][pic 54][pic 55]
[pic 56][pic 57][pic 58]
[pic 59][pic 60][pic 61][pic 62][pic 63]
[pic 64][pic 65][pic 66]
[pic 67][pic 68]
[pic 69][pic 70]
[pic 71][pic 72][pic 73][pic 74][pic 75]
...