Главная страница
Навигация по странице:

  • 5.1 Общее задание на разработку программных проектов

  • 3.2) Реализация 3-го проекта: • Создадим третий проект с именем pr3 в уже имеющемся решении.

  • Разработаем программные коды двух функций в соответствии со схемами алгоритмов.

  • Реализация 4-го проекта

  • «Разработка консольных проектов Visual Studio с использованием функций VC ». Отчёт. Лабораторная работа 3 Разработка консольных проектов Visual Studio с использованием функций vc по теме


    Скачать 1.28 Mb.
    НазваниеЛабораторная работа 3 Разработка консольных проектов Visual Studio с использованием функций vc по теме
    Анкор«Разработка консольных проектов Visual Studio с использованием функций VC
    Дата29.11.2021
    Размер1.28 Mb.
    Формат файлаdocx
    Имя файлаОтчёт.docx
    ТипЛабораторная работа
    #285692

    Лабораторная работа № 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);

    Нет нельзя т.к при запуске программы вылезает ошибка.

    Серьезность

    Код

    Описание

    Проект

    Файл

    Строка

    Состояние подавления

    Ошибка (активно)

    E0461

    начальное значение ссылки на неконстантный параметр должно быть левосторонним значением

    ConsoleApplication3

    C:\Users\vgavl\source\repos\ConsoleApplication3\ConsoleApplication3.cpp

    17




    Реализация 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 и получим совпадающий результат, что доказывает его правильность.


    написать администратору сайта