Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лабы / Laba_varik27_5.docx
Скачиваний:
8
Добавлен:
10.06.2023
Размер:
634.25 Кб
Скачать

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

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

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

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

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

Разработка консольных проектов Visual Studio

с использованием функций VC++

по теме

«Функции VC++ и консольные проекты

Visio Studio»

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

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

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

Проверил:

Москва, 2021 г.

Оглавление

Введение 2

1.Индивидуальное задание, вариант 27 4

2.Формализация и уточнение задания 4

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

4.Реализация первого проекта 6

5.Реализация второго проекта 9

6.Реализация третьего проекта 10

7.Реализация четвертого проекта 12

8.Реализация пятого проекта 14

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

Заключение 15

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

Введение

Настоящий реферат написан с учетом требований к оформлению отчета по лабораторным работам в соответствии с ГОСТ 2.105-95. В ходе лабораторной работы были поставлены следующие задачи:

  • Изучить структуру программного кода консольных проектов Visual Studio и правила определения, объявления и вызова функции VC++.

  • Решение индивидуального варианта по вычислению заданного арифметического выражения с использованием функций VC++.

  • Разработка схем алгоритмов программ.

  • Создание консольных решений и реализация их в отдельных проектах с получением результата работы.

  • Проверка правильности решения.

Создать решение, состоящие из пяти программных проектов, для вычисления арифметического выражения

1.Индивидуальное задание, вариант 27

Создать решение, состоящие из пяти программных проектов, для вычисления арифметического выражения: при значениях исходных данных x=29.9999 и y=165.091 с использованием различных способов обмена данных и местоположением функции в соответствии с общим заданием.

2.Формализация и уточнение задания

Для формализации и уточнения задания определим, что исходные данные x, y – вещественного типа double. Результаты вычислений – переменная f также должна быть вещественного типа double. Операция вычисления f будет записываться следующим оператором VC++ (см.рис.1).

Рисунок 1 – операция вычисления

Вычисление f реализуем в функциях VC++ тремя различными способами в соответствии с общим заданием.

3.Разработка пяти программных проектов в одном решении и получение результатов их работы

Создадим пять проектов в одном решении. Для этого, в отличие от предыдущих лабораторных работ, при создании первого проекта необходимо поставить галочку в переключателе «Создать каталог для решения». Проектам и решению необходимо дать разные имена. Решению дадим имя «resh1», а проекту имя «lr5» (см.рис.2).

Рисунок 2 – Создание проекта

Далее, создадим пустой проект и добавим в него файл с пустым исходным кодом и с именем «zad1.сpp» (см.рис.3).

Рисунок 3 – новый элемент

4.Реализация первого проекта

Алгоритм главной процедуры не зависит от способа обмена данными (см.рис.4).

Рисунок 4 – Схема алгоритма главной процедуры main для всех проектов

Разработаем алгоритм процедуры с параметрами и возвращаемым значением. Схема алгоритма этой процедуры func1 (см.рис.5).

Рисунок 5 – Схема алгоритма процедуры func1 с параметрами и возвращаемым значениям для первого проекта

Разработаем программные коды двух функций в соответствии со схемами алгоритмов. Программные кода разработанных функций запишем в файл с именем zad1.cpp в следующим порядке (см.рис.6).

1.Сначала определения функции func1 с параметрами и возвращаемым значением.

2.После него главную функцию main.

Рисунок 6 – программный код первого проекта

Откомпилируем файл zad1.cpp, выполним построение решения resh1 и выполнение проекта lr5. Получим следующие результаты при заданных значениях исходных данных (см.рис.7).

Рисунок 7 – Результаты выполнения проекта lr5

Выполним проект с помощью отладчика по шагам и проведем следующие исследования:

1.В функции main заменим оператор вызова функции f=func1(x, y) на оператор f=func1(y, x), изменив порядок фактических параметров.

Ответ: Результат будет отличаться. Это связанно с тем, что при передаче параметров в процедуру необходимо учитывать порядок ввода данных.

2.Измениться ли значение переменной x в функции main, если внутри функции func1 до оператора return f изменить значение x, например, добавив x++.

Ответ: Значение x не изменится. Это связанно с понятием оьласти видимости в С++. Переменная х в функции main и переменная в функции func1 – это два разных объекта, поэтому изменений не произошло.

3.Измениться ли результат работы проекта, если, ничего не меняя в главной функции main, изменить имена формальных параметров при определении функции func1. Например: f= func1(x+2, y - 0.5) или f1=func1(29.999, 165.091).

Ответ: Программа успешно скомпилируется, а это значит, что при использовании выражений и констант в списке фактических параметров функции, программа успешно запускается и данный вариант инициализации допустим.

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

Ответ: В результате выполнения программы мы получили тот же ответ. Это объясняется тем, что в формальные параметры записывается копия фактических, и эти данные не зависят от названия фактических и формальных параметров.

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