«Разработка консольных проектов Visual Studio с использованием функций VC ». Отчёт. Лабораторная работа 3 Разработка консольных проектов Visual Studio с использованием функций vc по теме
Скачать 1.28 Mb.
|
Лабораторная работа № 3 «Разработка консольных проектов Visual Studio с использованием функций VC++» по теме «Функции VС++ и консольные проекты Visual Studio» Подготовил студент группы УБСС2102 Гавлин Виталий Алексеевич Вариант №8 Преподаватель Сергей Ростиславович Гуриков 5.1 Общее задание на разработку программных проектов 1) Изучите структуру программного кода консольных проектов Visual Studio и правила определения, объявления и вызова функций VC++. 2) Выберите индивидуальный вариант задания из таблицы 5.1. 3) Решите задачу вычисления заданного арифметического выражения с использованием функций VC++ (без использования функций она уже решена в предыдущей работе. 4). Для этого разработайте три варианта схем алгоритмов и соответствующих функций, реализующих решения задачи: • схемы алгоритмов для вычисления заданного арифметического выражения: o схему алгоритма процедуры с входными параметрами и возвращаемым значением; o схему алгоритма процедуры с входными и выходными параметрами и без возвращаемого значения; o схему алгоритма без параметров и без возвращаемого значения; • программные коды трех функций и функции main в соответствии со схемами алгоритмов. 4) Создайте консольное решение, содержащее пять проектов, каждый из которых содержит одну из разработанных функций п.3 и главную функцию main, в которой осуществляется ввод исходных данных, вызов соответствующей функции п.3 и вывод результата: 1. Функция с параметрами и возвращаемым значением, причем определение функции должно быть записано перед функцией main. 2. Функция с параметрами и возвращаемым значением, причем определение функции должно быть записано после функции main. 3. Функция с параметрами и без возвращаемого значения. 4. Функция без параметров и без возвращаемого значения (с глобальными переменными). 5. Функция с параметрами и возвращаемым значением, причем определения функции и main должны находится в разных файлах. Каждый способ должен быть реализован в отдельном проекте, а все пять проектов должны быть объединены в одном решении. 5) Выполните созданные проекты и получите результаты. 6) Докажите правильность результатов. 2 7) Выполните созданные проекты по шагам, с помощью отладчика, установив точку останова после ввода данных. 8) Ответьте на вопросы, поставленные в примере выполнения задания. Внесение изменений в программный код выполняйте путем комментирования исходного кода с последующим удалением комментария для возврата к исходному состоянию. 5.4 Пример выполнения задания 1) Общее и индивидуальное задание на разработку программного проекта Общее задание… Индивидуальный вариант задания: 8 Создать решение (например, с именем lab5), состоящее из пяти программных проектов, для вычисления арифметического выражения: при значениях исходных данных x=22.5 и y=0.7 с использованием различных способов обмена данными и местоположением функций в соответствии с общим заданием. 2) Формализация и уточнение задания: Для формализации и уточнения задания определим, что исходные данные x, y – вещественного типа double. Результаты вычислений – переменная d также должна быть вещественного типа double. Операция вычисления d будет записываться следующим оператором VC++: Вычисление d реализуем в функциях VC++ тремя различными способами в соответствии с общим заданием. 3) Разработка пяти программных проектов в одном решении и получение результатов их работы. Создадим пять проектов в одном решении. Для этого, в отличие от предыдущих лабораторных работ, при создании первого проекта необходимо 5 поставить галочку в переключателе Создать каталог для решения. Проектам и решению необходимо дать разные имена. Решению дадим имя lab5, а проекту – имя pr1. Далее, создадим пустой проект и добавим в него файл с пустым исходным кодом и с именем zad1.cpp. Реализация 1-го проекта: Алгоритм главной процедуры не зависит от способа обмена данными и приведен на рисунке 5.2. Рисунок 5.2 – Схема алгоритма главной процедуры main для всех проектов Схема алгоритма этой процедуры func1 представлена на рисунке 5.3 Рисунок 5.3 – Схема алгоритма процедуры func1 с параметрами и возвращаемым значением для первого проект Программные коды разработанных функций запишем в файл с именем zad1.cpp в следующем порядке (рисунок 5.4) сначала определение функции func1 с параметрами и возвращаемым значением; после него главную функцию main. Рисунок 5.4 – Программный код первого проекта Откомпилируем файл zad1.cpp, выполним построение решения lab5 и выполнение проекта pr1. Получим следующие результаты при заданных значениях исходных данных (рисунок 5.5). Рисунок 5.5 – Результаты выполнения проекта pr1 Выполним проект с помощью отладчика по шагам и проведем следующие исследования: в функции main заменим оператор вызова функции d=func1(x, y) на оператор d=func1(y,x), изменив порядок фактических параметров. Как мы видим из скриншота результат не изменился. Изменится ли значение переменной x в функции main, если внутри функции func1 до оператора return d изменить значение x, например, добавить оператор x++: Результат не поменялся Изменится ли результат работы проекта, если, ничего не меняя в главной функции main, изменить имена формальных параметров при определении функции func1 следующим образом Результат не изменился 3.1) Реализация 2-го проекта: • Создадим второй пустой проект с именем pr2 в уже существующем решении. Для этого выполним команду Файл/Добавить/Создать проект. В открывшемся окне Добавить новый проект зададим имя проекта pr2. • Запишем в файл с именем Source.cpp программные коды разработанных в первом проекте функций (переименовав функцию func1 в func2) в следующем порядке: o сначала программный код главной функции main; o после него определение функции func2 с параметрами и возвращаемым значением. Перед кодом главной функции запишем прототип функции func2. • Откомпилируем файл Source.cpp и выполним перестроение решения lab5. • Чтобы выполнить второй проект, его надо назначить запускаемым проектом. Для этого необходимо выделить в окне Обозреватель решений имя проекта pr2 и нажать правую кнопку мыши, а затем выполнить команду Назначить запускаемым проектом (рисунок 5.6). Рисунок 5.6 – Назначение запускаемым проектом Выполним проект pr2. Получим следующие результаты при заданных значениях исходных данных (рисунок 5.7). Рисунок 5.7 – Результаты выполнения проекта pr2 3.2) Реализация 3-го проекта: • Создадим третий проект с именем pr3 в уже имеющемся решении. • Разработаем алгоритм процедуры с параметрами и без возвращаемого значения. Схема алгоритма этой процедуры func3 представлена на рисунке 5.8. Рисунок 5.8 – Схема алгоритма процедуры func3 с параметрами и без возвращаемого значения для третьего проекта 10 • Разработаем программные коды двух функций в соответствии со схемами алгоритмов. Программные коды разработанных функций запишем в файл с именем zad3.cpp в следующем порядке (рисунок 5.9): o объявление (прототип) функции func3; o определение функции main; o определение функции func3 с входными и выходными параметрами без возвращаемого значения, где входные данные передаются по значению, а результат вычислений возвращается через параметр по ссылке. Рисунок 5.9 – Программный код третьего проекта Откомпилируем файл zad3.cpp, выполним перестроение решения lab5 и выполнение проекта pr3, назначив его запускаемым проектом. Получим следующие результаты при заданных значениях исходных данных (рисунок 5.10). Рисунок 5.10 – Результаты выполнения проекта pr3 Выполним проект с помощью отладчика по шагам, так же, как и в первом проекте, поставив точку останова после ввода исходных данных x и y на операторе вызова функции. • Проследим за изменением значений всех переменных в окнах Локальные и Видимые. • Ответим на следующие вопросы: o можно ли при вызове функции в списке фактических параметров записывать выражения? Например func3(x + 2, y - 0.5, d + 1); Нет нельзя т.к при запуске программы вылезает ошибка.
Реализация 4-го проекта: • Создадим четвертый проект с именем pr4 в уже имеющемся решении. • Разработаем алгоритм процедуры без параметров и без возвращаемого значения. Схема алгоритма этой процедуры func4 представлена на рисунке 5.11. Рисунок 5.11 – Схема алгоритма процедуры func4 без параметров и без возвращаемого значения для четвертого проект Разработаем программные коды двух функций в соответствии со схемами алгоритмов. Программные коды разработанных функций запишем в файл с именем zad4.cpp в следующем порядке (рисунок 5.12): объявление (прототип) функции func4; определение глобальных переменных; определение функции main; o определение функции func4 без параметров и без возвращаемого значения. Рисунок 5.12 – Программный код четвертого проекта Откомпилируем файл zad4.cpp, выполним перестроение решения lab5 и выполнение проекта pr4, назначив его запускаемым проектом. Получим следующие результаты при заданных значениях исходных данных (рисунок 5.13). Рисунок 5.13 – Результаты выполнения проекта pr4 Выполним проект с помощью отладчика по шагам, так же, как и в первом проекте, поставив точку останова после ввода исходных данных x и y на операторе вызова функции. • Проследим за изменением значений всех переменных в окнах Локальные и Видимые. • В тело главной функции main добавим определение переменных x, y, d до оператора ввода исходных данных(рисунок 5.14). Рисунок 5.14 - Определение переменных x, y, d до оператора ввода исходных данных Из-за добавления определения переменных ответ изменился в меньшую сторону Реализация 5-го проекта: Создадим в уже имеющемся решении пятый проект с именем pr5, состоящий из двух файлов. В первый файл с именем zad5_m.срр поместим текст функции main из второго проекта. Во второй файл с именем zad5_f.срр поместим текст функции func2 из того же проекта. После раздельной компиляции файлов выполним их совместную компоновку (перестроение решения) и выполнение проекта. Результаты выполнения при заданных значениях исходных данных приведены на рисунке 5.16. Рисунок 5.16 – Результаты выполнения проекта pr5 6) Доказательство правильности результатов. Результат выполнения всех пяти проектов одинаков и равен 7.83982. Выполним расчет арифметического выражения с использованием калькулятора или программы Microsoft Excel и получим совпадающий результат, что доказывает его правильность. |