Лабораторная работа №14
.docxФедеральное агентство связи
Ордена Трудового Красного Знамени федеральное государственное бюджетное образовательное учреждение высшего образования
«Московский технический университет связи и информатики»
Кафедра «Информатики»
Лабораторная работа №14
по дисциплине: «Информатика»
по теме «Программирование алгоритмов итеративных циклических структур»
Выполнила
Студентка 1 курса
Группа ЗРС 2001
Баланюк Е.С.
Вариант №3
Проверил:
Старший преподаватель
Юсков И.А.
Москва
2020
Оглавление
Общее задание 2
Общее задание
Изучите вопросы программирование алгоритмов итеративных циклических структур.
Выберите вариант задания из таблицы 14.3-1.
Проведите формализацию поставленной задачи.
Решите задачу вашего индивидуального задания, используя разработанные функции пользователя.
Для этого разработайте схемы алгоритмов и программные коды следующих функций:
функции решения, использующей итеративную циклическую структуру со страховкой от «зацикливания» согласно вашему индивидуальному заданию. Предусмотрите в ней вывод промежуточных вычислений с указанием номера итерации и значения вычисляемого члена бесконечной последовательности или корня уравнения, а также, если требуется, вызовы других функций, необходимых для решения вашей задачи;
программный код функции ввода исходных данных;
программный код функции вывода результатов;
программный код главной функции main(), которая вызывает описанные выше функции для решения поставленной задачи.
Создайте консольный проект, содержащий 3 раздельно откомпилированных файла:
файл, содержащий функцию ввода исходных данных и функцию вывода результатов;
файл с разработанными согласно п.4. функциями;
файл с главной функцией, которая должна содержать только операторы вызова пользовательских функций (ввода, функции решения задачи и вывода), причем обмен данными между функциями должен осуществляться через параметры, без использования глобальных переменных.
Выполните проект и получите результаты.
Докажите правильность полученных результатов.
Индивидуальное задание (см.рис.1)
Рисунок 1 - Индивидуальное задание
Формализация и уточнения задания:
x = 2 – аргумент функции
a – предыдущее значение функции
i – номер итерации
ans – значение функции в I итерации
Будем считать, что заданная точность ɛ обеспечена, если модуль разности между текущим и предыдущим значениями меньше точности ɛ, то есть для случая |ans-a| < ɛ.
Для решения поставленной задачи необходимо реализовать процедуру resh(), которая в качестве параметров получается начальное значение аргумента, точность ɛ = 0,00001. Результатами работы процедуры являются:
Значение функции от заданного аргумента
Число итераций i, которое потребовалось для вычисления корня с заданной точностью
Разработана схема алгоритма процедуры resh() (см.рис.2)
Рисунок 2 - Схема алгоритма процедуры resh(x) вычисления с заданной точностью
Разработаны программные коды процедур (см.рис.3-5)
Рисунок 3 - Функции ввода и вывода
Рисунок 4 - Главная функция main()
Рисунок 5 - Функция решения
Результат выполнения проектов (см.рис.6):
Рисунок 6 - Результат выполнения проекта
Доказательство правильности работы программы (см.рис.7):
Рисунок 7 - Доказательство правильности работы программы