Автор работы: Пользователь скрыл имя, 05 Октября 2013 в 03:52, лабораторная работа
Задание: Составить программу для вычисления суммы ряда с заданной точностью e, если известна формула вычисления общего члена ряда ai. .
Спецификация: Для нахождения суммы с заданной точностью необходимо сравнивать элемент ряда с этой точностью. И если очередной член ряда становится меньше заданной точности, дальнейшее суммирование элементов ряда прекращается.
МИНИСТЕРСТВО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ
ВСГУТУ
ЛАБОРАТОРНАЯ РАБОТА №16
Вариант №3
Выполнил: ст гр.
Проверил: КривошеинМ.Ю.
2013 г.
г.Улан-Удэ
Задание 16 Сумма ряда
Задание: Составить программу для вычисления суммы ряда с заданной точностью e, если известна формула вычисления общего члена ряда ai. .
Спецификация: Для нахождения суммы с заданной точностью необходимо сравнивать элемент ряда с этой точностью. И если очередной член ряда становится меньше заданной точности, дальнейшее суммирование элементов ряда прекращается.
Таблица разработки:
1) описание переменных, участвующих в программе: i переменная типа INTEGER, k – значение факториала типа INTEGER, e – точность, задаваемая пользователем(тип REAL), a – член ряда, s – сумма ряда(вещественного типа).
2) вход в программу. Ввод точности e
3) В цикле WHILE: пока член ряда a больше заданной точности e, к сумме s прибавляем этот член. Вычисляем делитель (факториал).Вычисляем следующий элемент ряда.
4) Вывод суммы S на экран
5) выход из программы.
Текст программы:
{1} Program test16;
{2} var k,i : integer;
{3} e,a,s:real;
{4} begin
{5} read(e);
{6 a:=1;
{7} k:=1;
{8} s:=0;
{9} while a>e do
{10} begin
{11} s:=s+a;
{12} i:=i+1;
{13} k:=k*i;
{14} a:=1/k;
{15} end;
{16} Write(s);
{17} End.
При заданной точности e=0.1 в сумму ряда вошли3 члена. Получившаяся сумма равна: 1.6666667
Трассировка программы:
№ строки |
e |
s |
i |
k |
a |
4 вход в программу |
|||||
5 ввод начальных значений |
0.1 |
||||
6 |
1 |
1 | |||
7 |
1 |
||||
8 |
0 |
||||
9 1>0.1 true |
|||||
11 |
1 |
||||
12 |
2 |
||||
13 |
2 |
||||
14 |
0.5 | ||||
9 0.5>0.1 true |
|||||
11 |
1.5 |
||||
12 |
3 |
||||
13 |
6 |
||||
14 |
0.1666667 | ||||
9 0.1666667>0.1 true |
|||||
11 |
1.6666667 |
||||
12 |
4 |
||||
13 |
24 |
||||
14 |
0.0416667 | ||||
9 0.04166675>0.1 false |
|||||
16 вывод s=1.6666667 |
|||||
17 Выход из программы |