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

лабы / Laba_varik27_6

.docx
Скачиваний:
9
Добавлен:
10.06.2023
Размер:
320.94 Кб
Скачать

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

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

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

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

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

«Программная реализация алгоритмов решения сложных задач»

по одноименной теме 5

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

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

Выполнил: студент

Проверил:

Москва, 2021 г.

Содержание

1. Общее задание на разработку программного проекта 2

2.Индивидуальное задание на разработку программного проекта 3

3.Формализация задания 3

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

5.Разработка программного проекта 7

6.Исходные данные для тестирования проекта 9

7. Результаты выполнения проекта 9

8.Доказательство правильности результатов выполнения проекта 10

9.Выводы 10

10.Список используемой литературы 10

  1. Общее задание на разработку программного проекта

  1. Повторить материал, изложенный в темах 2-4.

  2. Изучить материал Темы 5 «Программная реализация алгоритмов решения сложных задач».

  3. Выберите индивидуальный вариант задания.

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

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

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

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

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

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

  10. Докажите правильность результатов.

2.Индивидуальное задание на разработку программного проекта

Вариант 27 – Вычислите определенный интеграл для функции по приближенной формуле Симпсона

3.Формализация задания

В качестве вводимых параметров фиксируются 2 переменные a, b типа double. Зная их, интеграл вычисляются по вышеописанным формулам, который будет выражаться через переменную y.

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

Алгоритм проектируется методом «сверху вниз»:

    1. На самом верхнем (первом) уровне алгоритм решения задачи укрупненно представлено в виде вызова главной процедуры с именем main (см.рисунок 1), где Integ (процедура) вычисления значения интеграла по заданным значениям переменных a и b.

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

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

  • процедура ввода значений b и a для интеграла c именем INPUT:B,A.

  • процедура вычисления интеграла y с именем СALC.

  • процедура вывода вычисленного значения интеграла с именем OUTPUT:Y.

Рисунок 2 – второй уровень детализации алгоритма.

4.3. Третий уровень детализации. Процедуры INPUT:B,A и OUTPUT:Y в дальнейшей детализации не нуждаются, так как средства ввода и вывода имеются в любом языке программирования. Поэтому на следующем уровне детализируется алгоритм процедуры вычисления y CALC (рисунок 3):

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

4.4. На последнем уровне детализации разработаны схемы алгоритмов процедур SUMMA YT и SUMMAAB, вычисляющие значения функции в разных частях функции (см.рисунок 4):

Рисунок 4 – схемы алгоритмов SUMMAYT, SUMMAAB и FORM

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

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

5.Разработка программного проекта

Реализуем процедуру Integ сразу в главной функции main. Для решения задачи был создан проект, включающий 3 файла исходного кода: помимо файла с главной функцией main, созданы файл с функциями Input и Output для ввода и вывода и файл, содержащий все остальные функции, необходимые для решения задачи.

Программный код проекта представлен ниже после описания всех файлов. В первом файле с именем input.cpp записаны функции ввода исходных данных integ и вывода результатов output. Обе эти функции типа void, так как не имеют возвращаемого значения. Так как функции этого файла используют объекты cin и cout, то в нем присутствуют директивы #include <iostream> и using namespace std. (см.рис.6)

Рисунок 6 – Функции ввода и вывода.

Во втором файле с именем integ.cpp записаны функции, выполняющие все необходимые вычисления для решения задачи. Функция CALC определена как функция типа void и имеет на вход 4 входящих параметров по ссылке. Возвращаемого значения нет.(см.рис.7)

Рисунок 7 – функция счета.

В третьем файле с именем main.cpp находится главная функция main, программный код которой содержит только вызовы разработанных функций ввода исходных данных, решения задачи и вывода результатов. В этом файле присутствует директива препроцессора #include <iostream> необходимая для команды задержки закрытия консольного окна system("PAUSE"). Перед определением главной функции main в файл включены прототипы вызываемых в ней функций input, output и calc. (см.рис.8)

Рисунок 8 – функция main.

6.Исходные данные для тестирования проекта

Протестируем проект на следующих входных параметрах:

a = 1, b = 2; a = 5, b = 11; a = 3,4 , b = 9,1.

Расчеты на калькуляторе значения y при a = 1, b = 2 дает следующие результаты y = 1,60416.

Расчеты на калькуляторе значения y при a = 5, b = 11 дает следующие результаты y = 18,1789.

Расчеты на калькуляторе значения y при a = 1, b = 2 дает следующие результаты y = 15,4534.

  1. Результаты выполнения проекта

Результаты выполнения проектов представлены на рисунке 9:

Рисунок 9 – результаты работы программы.

Результаты вычислений программы совпадают с результатами, представленными в шестой главе. Следовательно, программа выполняет корректные вычисления.

8.Доказательство правильности результатов выполнения проекта

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

9.Выводы

  1. Проведен анализ поставленной задачи. Необходимо вычислить полярные координаты трех точек, реализовав ввод и вывод данных, алгоритмы процедур и главную функцию main в трех разных файлах.

  2. Были разработаны блок-схемы уровней детализации проекта методом «Сверху вниз», а также блок-схемы алгоритмов вычисления полярных координат.

  3. В соответствии с блок-схемами, были реализованы коды программных проектов для каждого из файлов.

  4. Для проверки правильности работы программы, были подобраны тесты, результаты которых были вычислены вручную при помощи калькулятора.

  5. Результат выполнения программы совпадал с тестовыми данными. Следовательно программа отработала корректно.

10.Список используемой литературы

1.Текст указаний к лабораторной работе 6 «Программная реализация алгоритмов решения сложных задач»

Соседние файлы в папке лабы