лаба 5 вариант 20. Разработка консольных проектов Visual Studio с использованием функции vc
Скачать 0.64 Mb.
|
Федеральное агентство связи Ордена Трудового Красного Знамени федеральное государственное бюджетное образовательное учреждение высшего образования «Московский технический университет связи и информатики» Кафедра информатики ЛАБОРАТОРНАЯ РАБОТА № 5 по дисциплине “Информатика” на тему «Разработка консольных проектов Visual Studio с использованием функции VC++» Выполнил: студент гр. Проверил: Москва 2021 г. Оглавление Задание на разработку проекта и вариант задания………………….…...3 Проект 1………………………………………………….…………….…....3 Проект 2…………………………………………………………....………..9 Проект 3…………………………………………………………………....11 Проект 4.………………………………………………….……..................15 Проект 5……………………………………………………………...…….18 Результаты выполнения проектов………………………………….……20 Доказательство правильности работы программы……………….….…21 Задание на разработку проекта и вариант задания Создайте приложение (решение), состоящее из пяти проектов с именем lab5 для вычисления арифметического выражения (Рисунок 1): Рисунок 1 – Задание При значениях исходных данных x=125.04 и y=5.55 с использованием различных функций пользователя и их различного расположения. Проект 1 1 проект (Рисунок 2): Рисунок 2- схема 1 проекта Программа к 1 проекту и выведенный при помощи отладчика ответ (Рисунок 3). Так же ответим на поставленные задачи. Проект 1: #include #include using namespace std; double func(double x, double y) { double z; z = (pow(10, 5))*(log10(abs(0.8*x))) * (exp((-pow(x, 2)) / (2 * x*y))); return z; } int main() { setlocale(LC_ALL, "rus"); double x, y, z; cout << "Ввод x= "; cin >> x; cout << "Ввод y= "; cin >> y; z = func(x, y); cout << "Вывод x=" << x << "\t Вывод y= " << y << endl; cout << "Выво значния функции z= " << z; return 0; } Рисунок 3 – Ответ на программу Задача 1: В функции main() закомментируйте оператор вызова пользовательской функции z=func(x, y) и поменяйте порядок фактических параметров при вызове функции, т.е. реализуйте оператор z = func(y,x) (Рисунок4). Обоснуйте полученный результат с помощью отладчика (Рисунок 5). 9 Рисунок 4 – Код программа 1 задачи Рисунок 5 – Ответ на поставленную задачу 1 2 задача: Изменится ли значение переменной x в функции main, если внутри функции func до оператора return z изменить значение x, например, добавить оператор ++x (Рисунок 6). ;. Обоснуйте полученный результат с помощью отладчика (Рисунок 7). Рисунок 6 – Код программа 2 задачи Рисунок 7 – Ответ на поставленную задачу 2 3 задача: Можно ли при вызове функции в списке фактических параметров указать не просто имя параметра, но выражение? Для примера приведу 2 варианта . 1 вариант (Рисунок 8): Рисунок 8 – 1 Вариант исправления Откладка данного исправления (Рисунок 9): Рисунок 9 – Вывод исправления на 1 вариант 2 вариант (Рисунок 10): Рисунок 10 – 2 Вариант исправления Откладка данного исправления (Рисунок 11): Рисунок 11 – Вывод исправления на 1 вариант 4 задача: Изменится ли результат работы программы, если изменить имена формальных параметров при определении функции func. Например, ничего не меняя в функции main, определить пользовательскую функцию следующим образом (Рисунок 12). Обоснуйте полученный результат с помощью отладчика (Рисунок 13). Рисунок 12 – Код программа 3 задачи Рисунок 13 – Ответ на поставленную задачу 2 Проект 2 По структуре схемы 1 проекта не чем не отличается ,так как основная задача 2 проекта состоит в том ,чтобы func() поставить ,после main()(Рисунок 14) Рисунок 14- схема 2 проекта Программа к 2 проекту (Рисунок 15) и выведенный при помощи отладчика ответ (Рисунок 16). Рисунок 15 – Программный код 2 проекта Рисунок 16 – Ответ на программу Проект 3 3 проект (Рисунок 17): Рисунок 17- схема 3 проекта Программа к 1 проекту (Рисунок 18) и выведенный при помощи отладчика ответ (Рисунок 19). Так же ответим на поставленные задачи. Рисунок 18 – Программный код 3 проекта Рисунок 19 – Ответ на программу 1 задача: Можно ли при вызове функции в списке фактических параметров указать не просто имя параметра по ссылке, но и выражение (Рисунок 20). Обоснуйте полученный результат с помощью отладчика (Рисунок 21). Рисунок 20– Код программа 1 задачи Рисунок 21 – Ошибка на 1 задачу 2 задача: Изменится ли результат работы программы, если при определении функции func3 удалить знак & (операции взятия адреса) перед формальным параметром z (Рисунок 22). Обоснуйте полученный результат с помощью отладчика (Рисунок 23). Рисунок 22 – Код программа 1 задачи Рисунок 23 – Ошибка на 1 задачу 5. Проект 4 4 проект (Рисунок 24): Рисунок 24- схема 4 проекта Программа к 4 проекту (Рисунок 25) и выведенный при помощи отладчика ответ (Рисунок 26). Так же ответим на поставленные задачи. Рисунок 25 – Программный код 4 проекта Рисунок 26 – Ответ на программу Задача 1: Подумайте, изменится ли результат работы программы, если в тело главной функции main() добавить еще одно определение переменных x, y, z до оператора ввода исходных данных (Рисунок 27). Обоснуйте полученный результат с помощью отладчика (Рисунок 28). Рисунок 27 – Код программа 1 задачи Рисунок 28 – Ошибка на 1 задачу Проект 5 5 проект (Рисунок 29): Для этого нужно разделить текст файла из второго проекта на два файла. Первый файл поместить в функцию main() и откомпилировать его. Второй файл поместить в функцию с параметром и откомпилировать его. Рисунок 29- схема 5 проекта Программа к 2 проекту (Рисунок 30, Рисунок 31) и выведенный при помощи отладчика ответ (Рисунок 32). Рисунок 30 – Главная функция 5 проекта Рисунок 31 – Функция с параметром 5 проекта Рисунок 32 – Ответ на программу Результаты выполнения проектов Результаты выполнения всех пяти проектов при заданных значениях исходных данных должны быть одинаковы (Рисунок 33) Рисунок 33 – Результаты выполнения проектов Доказательство правильности работы программы. Проверенное выражение в калькуляторе (Рисунок 34). Рисунок 34 – Доказательство правильности работы программы. |