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

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

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

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

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

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

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

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

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

по теме: «Реализация метода пошаговой детализации с помощью пользовательских функций на С++»

Выполнила

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

Группа ЗРС 2001

Баланюк Е.С.

Вариант №3

Проверил :

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

Юсков И.А.

Москва

2020

Оглавление

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

Индивидуальное задание 4

Иерархия программы 4

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

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

  1. Изучите принципы технологий структурного и процедурного программирования и средства для реализации метода пошаговой детализации средствами VС++.

  2. Выберите индивидуальный вариант задания из таблицы 11.3-1.

  3. Запишите заданные или полученные в процессе формализации математические формулы на языке программирования С++.

  4. Используйте разработанные в лабораторной работе №7 схемы иерархии процедур и схемы алгоритмов процедур.

Для каждой процедуры разработайте детализированный алгоритм и представьте его в виде схем алгоритмов, используя Visio.

  1. Разработайте процедуры пользователя по алгоритмам п. 4.

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

Главная функция main() должна содержать только операторы вызова пользовательских процедур.

  1. Подготовьте тесты для контрольного решения задачи.

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

  3. Докажите, что результат правильный.

Индивидуальное задание

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

Иерархия программы

Рисунок 2 - Схема иерархии процедур для решения задачи

В соответствии с этой схемой решение задачи было разбито на несколько отдельных функциональных задач, для которых разработаны детализированные схемы алгоритмов, реализующих эти задачи:

Angle(), вычисляющая угол между двумя векторами

Input(), осуществляющая ввод с клавиатуры координат двух точек

Output(), осуществляющая вывод вычисленных углов между векторами.

Разработанные схемы алгоритмов представлены на рисунках 2-

Рисунок 3 - Схема алгоритма CorA()

Рисунок 4 - Схема алгоритма CorB()

Рисунок 5 - Схема алгоритма CorC()

Рисунок 6 - Схемы алгоритмов функции Angle()

Рисунок 7 - Схемы алгоритмов функций Input() и Output()

Рисунок 8 - Схема алгоритма главной функции main()

Программный код проекта (см.рис.8-10)

Рисунок 9 - Программный код файла с функциями для ввода исходных данных и для вывода результатов

Рисунок 10 - Программный код файла с главной функцией

Рисунок 11 - Программный код файла с функцией, выполняющими необходимые вычисления для решения задачи

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

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

Доказательство правильности результата (см.рис.12-14)

Для трех точек с введенными координатами (2;5), (7;6), (9,3) вычислим угол между вектор:

Рисунок 13 - Угол между первым вектором и вторым

Рисунок 14 - Угол между первым вектором и третьим

Рисунок 15 - Угол между вторым вектором и третьим

10