ОАиП часть 1. Контрольная работа №1. Вариант №29
.doc
БЕЛОРУССКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
ИНФОРМАТИКИ И РАДИОЭЛЕКТРОНИКИ
Кафедра программного обеспечения информационных технологий
Факультет НиДО
Специальность ПОИТ
Контрольная работа № 1
по дисциплине «Основы алгоритмизации и программирования»
часть 1
Вариант № 29
Выполнил студент:
группа ******
Зачетная книжка № ******-28
Минск 2010
1). Задание.
Вычислить значение числа π, учитывая в формуле значения слагаемых, по абсолютной величине большие или равные введенной точности ε
π = (16 / 5 – 4 / 239) – (16 / (3*53) – 4 / (3*2393)) + (16 / (5*55) – 4 / (5*2395)) – …
2). Схемы алгоритма.
Рис. 1. Схема алгоритма по ГОСТ 19.701-90.
Рис. 2. Схема алгоритма, представленная методом Дамке.
Рис. 3. Диаграмма Насси - Шнейдермана.
3). Описание алгоритма.
Словесное описание алгоритма вычисления значения числа π, учитывая в формуле значения слагаемых, по абсолютной величине большие или равные введенной точности ε
π = (16 / 5 – 4 / 239) – (16 / (3*53) – 4 / (3*2393)) + (16 / (5*55) – 4 / (5*2395)) – …
1. Считываем значение точности, введенное пользователем, и присваиваем его переменной eps.
2. Сравниваем значение переменной eps с нулем. Точность должна быть положительной и неравна нулю, так как добиться нулевой точности невозможно. Если eps <= 0, идти к пункту 19.
3. Инициализируем переменную pi, присваивая ей значение нуль (p := 0).
4. Инициализируем переменную znak, присваивая ей значение один (znak := 1).
Переменная znak нужна для установки знака слагаемого.
5. Инициализируем переменную i, присваивая ей значение один (i := 1).
Переменная i – это степень чисел 5 и 239 в слагаемых и множитель в знаменателях.
6. Инициализируем переменную k, присваивая ей значение 5 (k := 5). Эту переменную будем возводить в i-ю степень.
7. Инициализируем переменную k1, присваивая ей значение 52 (k1 := Sqr(k)).
Это нужно, чтобы сократить количество операций при вычислении следующих слагаемых.
8. Инициализируем переменную m, присваивая ей значение 239 (m := 239). Эту переменную будем возводить в i-ю степень.
9. Инициализируем переменную m1, присваивая ей значение 2392 (m1 := Sqr(m)). Это нужно, чтобы сократить количество операций при вычислении следующих слагаемых.
10. Инициализируем переменную slag и вычисляем значение первого слагаемого slag := znak * (16/(i*k) – 4/(i*m)).
11. Пока выполняется условие Abs (slag) >= eps выполняем пункты 12–17. Сравнение модуля слагаемого с точностью необходимо, чтобы выяснить, когда закончить вычисление числа pi.
12. К известному значению pi прибавляем следующее слагаемое (p:= p + slag).
13. Вычисляем следующее значение степени чисел 5 и 239 в слагаемых и множителя в знаменателях (i := i + 2). i увеличиваем на 2, исходя из формулы.
14. Вычисляем следующий знак слагаемого (znak := znak * (-1)). znak умножаем на -1, так как знак следующего слагаемого изменяется на противоположный от предыдущего.
15. Вычисляем значение 5i, для следующего слагаемого (k := k * k1).
16. Вычисляем значение 239i, для следующего слагаемого (m := m * m1).
17. Вычисляем следующее слагаемое slag := znak * (16/(i*k) – 4/(i*m)).
18. Выводим на экран полученное значение pi и идем к пункту 20.
19. Выводим на экран сообщение о том, что точность должна быть больше нуля.
20. Останов.