лабы / Laba_varik12_5
.pdfМИНИСТЕРСТВО ЦИФРОВОГО РАЗВИТИЯ, СВЯЗИ И МАССОВЫХ КОММУНИКАЦИЙ РОССИЙСКОЙ ФЕДЕРАЦИИ
Ордена Трудового Красного Знамени федеральное государственное бюджетное образовательное учреждение высшего образования
«Московский технический университет связи и информатики»
Кафедра «Информатика»
Лабораторная работа №5
«Разработка простейших проектов Visual Studioс использованием функций VC++»
по теме:
«Функции VC++ и консольные проекты
Visual Studio»
по дисциплине «Информатика»
Выполнил: студент гр. БИН2104 Книгин Е.А. Вариант №12
Проверил:
Москва, 2021 г.
СОДЕРЖАНИЕ
1)ЦЕЛЬ РАБОТЫ
2)ФОРМУЛИРОВКА ЗАДАЧИ №12
3)ФОРМАЛИЗАЦИЯ ЗАДАНИЯ
4)СХЕМА ПРОЦЕДУРЫ MAIN ДЛЯ РЕШЕНИЯ ВСЕХ ПРОЕКТОВ
5)ПРОЕКТ №1
6)ПРОЕКТ №2
7)ПРОЕКТ №3
8)ПРОЕКТ №4
9)ПРОЕКТ №5
10)ДОКАЗАТЕЛЬСТВО ПРАВИЛЬНОСТИ РАБОТЫ ПРОГРАММЫ
1
ЦЕЛЬ РАБОТЫ
1)Научиться использовать функции языка программирования VC++.
2)Создать консольное решение, содержащее пять проектов, каждый из которых содержит одну из разработанных функций и главную функцию main, в которой осуществляется ввод исходных данных, вызов соответствующей функции и вывод результата.
3)Оформить отчет по работе.
ФОРМУЛИРОВКА ЗАДАЧИ №12
Определить размер величины f при значениях исходных данных
x = 5.305 и y = -0,084.
1) f = -(2x2 – sin x2) 2 – e-y
Создать решение, состоящее из пяти программных проектов, для вычисления арифметического выражения: при некоторых значениях исходных данных с использованием различных способов обмена данными и местоположением функций в соответствии с 12-ым заданием.
ФОРМАЛИЗАЦИЯ ЗАДАНИЯ
Для формализации и уточнения задания определим, что исходные данные x, y – вещественного типа double. Переменная f также должна быть вещественного типа double. Операция вычисления f будет записываться следующим оператором VC++:
2) f = -(2*pow(x,2) - sin(pow(x, 2))) / (2 - exp(-y));
2
Вычисление f реализуем в функциях VC++ пятью различными способами в соответствии с общим заданием.
СХЕМА ПРОЦЕДУРЫ MAIN ДЛЯ РЕШЕНИЯ ВСЕХ ПРОЕКТОВ
Схема процедуры main для решения всех проектов приведена ниже.
(см. рис. 1)
Рисунок 1 – Схема алгоритма решения задачи
3
РЕАЛИЗАЦИЯ ПРОЕКТА №1
Сначала решим задачу графически, создав блок-схему функции func1 (см. рис. 2)
Рисунок 2 – Блок-схема алгоритма func1
Затемнапишем программный код двух функций,расположенных в порядке:
1)Определение функции func1.
2)Определение функции main.
(см. рис. 3)
4
Рисунок 3 – Программный код проекта
Теперь cкомпилируем, соберем и запустим проект. Введем x и y, и получим ответ. (см. рис. 4)
Рисунок 4 – Результат выполнения проекта №1
1)Если мы поменяем местами x и y при вызове функции, то ответ изменится. Причиной тому станет то, что мы x(func1) присваиваем y(main) и y(func1) присваиваем x(main). (см. рис. 5)
5
Рисунок 5 – Результат программы с инвертированными x и y
2)Значение x в функции main не изменится от того, что мы добавим в функцию func1 оператор x++, потому что переменные, введенные в
обеих функциях, суверенны и никак не относятся друг к другу. (см. рис. 6)
Рисунок 6 – Результат операции x++
3)В вызов функции можно подставлять и переменные, и выражения, и константы (см. рис. 7)
4)Нет, результат работы проекта не изменится при замене имен параметров функции func1.
6
Рисунок 7 – Доказательство
РЕАЛИЗАЦИЯ ПРОЕКТА №2
Затемнапишем программный код двух функций,расположенных
впорядке:
1)Определение функции main.
2)Определение функции func2.
(см. рис. 8)
7
Рисунок 8 – Код проекта №2
Теперь cкомпилируем, соберем и запустим проект. Введем x и y, и получим ответ.
(см. рис. 9)
Рисунок 9 – Результат выполнения проекта №2
8
РЕАЛИЗАЦИЯ ПРОЕКТА №3
Сначала решим задачу графически, создав блок-схему функции func3 (см. рис. 10)
Рисунок 10 – Блок-схема алгоритма func3
Затемнапишем программный код двух функций,расположенных
впорядке:
1)Объявление функции func3.
2)Определение функции main.
3)Определение функции func3 с обратным значением.
(см. рис. 11)
9