Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ОАиП часть 1. Контрольная работа №1. Вариант №29

.doc
Скачиваний:
20
Добавлен:
01.04.2014
Размер:
97.28 Кб
Скачать

БЕЛОРУССКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ

ИНФОРМАТИКИ И РАДИОЭЛЕКТРОНИКИ

Кафедра программного обеспечения информационных технологий

Факультет НиДО

Специальность ПОИТ

Контрольная работа № 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. Останов.