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

Лабораторная работа №14

.docx
Скачиваний:
1
Добавлен:
19.10.2022
Размер:
335.42 Кб
Скачать

Федеральное агентство связи

Ордена Трудового Красного Знамени федеральное государственное бюджетное образовательное учреждение высшего образования

«Московский технический университет связи и информатики»

Кафедра «Информатики»

Лабораторная работа №14

по дисциплине: «Информатика»

по теме «Программирование алгоритмов итеративных циклических структур»

Выполнила

Студентка 1 курса

Группа ЗРС 2001

Баланюк Е.С.

Вариант №3

Проверил:

Старший преподаватель

Юсков И.А.

Москва

2020

Оглавление

Общее задание 2

Общее задание

  1. Изучите вопросы программирование алгоритмов итеративных циклических структур.

  2. Выберите вариант задания из таблицы 14.3-1.

  3. Проведите формализацию поставленной задачи.

  4. Решите задачу вашего индивидуального задания, используя разработанные функции пользователя.

Для этого разработайте схемы алгоритмов и программные коды следующих функций:

  • функции решения, использующей итеративную циклическую структуру со страховкой от «зацикливания» согласно вашему индивидуальному заданию. Предусмотрите в ней вывод промежуточных вычислений с указанием номера итерации и значения вычисляемого члена бесконечной последовательности или корня уравнения, а также, если требуется, вызовы других функций, необходимых для решения вашей задачи;

  • программный код функции ввода исходных данных;

  • программный код функции вывода результатов;

  • программный код главной функции main(), которая вызывает описанные выше функции для решения поставленной задачи.

  1. Создайте консольный проект, содержащий 3 раздельно откомпилированных файла:

  • файл, содержащий функцию ввода исходных данных и функцию вывода результатов;

  • файл с разработанными согласно п.4. функциями;

  • файл с главной функцией, которая должна содержать только операторы вызова пользовательских функций (ввода, функции решения задачи и вывода), причем обмен данными между функциями должен осуществляться через параметры, без использования глобальных переменных.

  1. Выполните проект и получите результаты.

  2. Докажите правильность полученных результатов.

Индивидуальное задание (см.рис.1)

Рисунок 1 - Индивидуальное задание

Формализация и уточнения задания:

x = 2 – аргумент функции

a – предыдущее значение функции

i – номер итерации

ans – значение функции в I итерации

Будем считать, что заданная точность ɛ обеспечена, если модуль разности между текущим и предыдущим значениями меньше точности ɛ, то есть для случая |ans-a| < ɛ.

Для решения поставленной задачи необходимо реализовать процедуру resh(), которая в качестве параметров получается начальное значение аргумента, точность ɛ = 0,00001. Результатами работы процедуры являются:

  1. Значение функции от заданного аргумента

  2. Число итераций i, которое потребовалось для вычисления корня с заданной точностью

Разработана схема алгоритма процедуры resh() (см.рис.2)

Рисунок 2 - Схема алгоритма процедуры resh(x) вычисления с заданной точностью

Разработаны программные коды процедур (см.рис.3-5)

Рисунок 3 - Функции ввода и вывода

Рисунок 4 - Главная функция main()

Рисунок 5 - Функция решения

Результат выполнения проектов (см.рис.6):

Рисунок 6 - Результат выполнения проекта

Доказательство правильности работы программы (см.рис.7):

Рисунок 7 - Доказательство правильности работы программы