Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Практическая работа №4.docx
Скачиваний:
1
Добавлен:
27.01.2025
Размер:
1.02 Mб
Скачать

МИНИСТЕРСТВО ЦИФРОВОГО РАЗВИТИЯ, СВЯЗИ И МАССОВЫХ

КОММУНИКАЦИЙ РОССИЙСКОЙ ФЕДЕРАЦИИ

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

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

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

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

«Разработка консольных проектов Visual Studio

с использованием функций VC++»

по теме

«Разработка алгоритмов решения сложных задач методом пошаговой детализации и их программная реализация»

по дисциплине

«Введение в информационные технологии»

Вариант № 8

Выполнил:

Проверил: Волков А.И

Оглавление

1 Общее и индивидуальное задание

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

  1. Изучить основные положения технологий структурного проектирования алгоритмов и метода пошаговой детализации, средства MS Visio для графической визуализации алгоритмов.

  2. Выбрать вариант индивидуального задания из таблицы 4.1.

  3. Проанализировать постановку задачи своего варианта индивидуального задания и, если необходимо, уточнить ее у преподавателя.

  4. Провести формализацию решения задачи. Определить этапы ее решения с использованием метода пошаговой детализации.

  5. Разработать схемы алгоритмов процедур на различных этапах метода пошаговой детализации и схему иерархии процедур.

  6. Утвердить у преподавателя результаты выполнения п.п. 4-5.

  7. Разработать программный код функций VC++ по алгоритмам п. 5.

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

  9. Подготовить варианты исходных данных для тестирования проекта.

  10. Выполнить проект с тестовыми исходными данными и получить результаты. Проверить правильность результатов.

  11. Оформить отчет по работе в среде MS Word. Изобразить все схемы, используя средства MS Visio.

  12. Представить преподавателю отчет по работе.

  13. Ответить на замечания преподавателя по выполненной работе и на заданные им вопросы по теме.

  14. Получить отметку о выполнении и защите работы.

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

Определите высоту, на которой будет мяч, подброшенный вертикально вверх с высоты y0=1м и начальной скоростью V0=20м/сек через время t=1сек, 3сек и 4сек. Высота в момент t:

где g = 9,8 м/сек

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

Для формализации и уточнения задания определим, что к исходным данным будут относиться переменные t, y0, v0 – вещественного типа double, g – константа типа double. Результат вычислений – переменная y – должна быть вещественного типа double.

Операция вычисления y будет записываться следующим оператором VC++:

y = y0 + v0 * t - g * t * t / 2

3 Разработка алгоритмов для решения задачи

Начнем проектирование алгоритма методом «сверху вниз».

3.1 На самом верхнем (первом) уровне алгоритм решения задачи можно укрупненно представить в виде вызова главной процедуры с именем main (рисунок 1), где CalcY (процедура) вычисления значения переменной y.

Рисунок 1 – Укрупненная схема алгоритма main

3.2 На следующем, втором уровне, детализируем алгоритм процедуры CalcY (рисунок 2) путем представления его в виде последовательности следующих процедур:

  • присваивание значения переменной g

  • процедура ввода значения t с именем GetT

  • процедуры ввода значения y0 с именем GetY0

  • процедурa ввода значения v0 с именем GetV0

  • вычисление y

  • процедура вывода вычисленного значения высоты PutY

Рисунок 2 – Схема алгоритма второго уровня детализации алгоритма

3.3 Перейдем к следующему, третьему уровню детализации. Процедура PutY, GetY0, GetV0 дальнейшей детализации не требует, так как средства вывода имеются в любом языке программирования. Поэтому на следующем, третьем шаге детализируем алгоритмы процедур ввода значений t – GetT (рисунок 3), y0 – GetY0 (рисунок 4), v0 – GetV0 (рисунок 5).Также детализируем алгоритм процедуры numb (рисунок 6).

Рисунок 3 – Схема алгоритма GetT

Рисунок 4 – Схема алгоритма GetY0

Рисунок 5 – Схема алгоритма GetV0

Рисунок 6 – Схема алгоритма функции numb

После выполнения этой процедуры в функции CalcY считается значение у и выводится с помощью процедуры PutY.

3.4 Схема иерархии процедур для решения задачи изображена на рисунке 7.

Рисунок 7 – Схема иерархии процедур