
- •Введение
- •Создать решение, состоящие из пяти программных проектов, для вычисления арифметического выражения
- •1.Индивидуальное задание, вариант 27
- •2.Формализация и уточнение задания
- •3.Разработка пяти программных проектов в одном решении и получение результатов их работы
- •4.Реализация первого проекта
- •5.Реализация второго проекта
- •6.Реализация третьего проекта
- •7.Реализация четвертого проекта
- •8.Реализация пятого проекта
- •9.Доказательство правильности результатов
- •Заключение
- •Список используемой литературы
5.Реализация второго проекта
1.Создадим второй пустой проект с именем lr5.2 в уже существующем решении. Для этого выполним команду «файл-добавить-создать проект». В Открывшемся окне «добавить новый проект» зададим имя проекта lr5.2.
2.Запишем в файл с именем zad2.cpp программные коды разработанных в первом проекте функций (переименовав функцию func1 в func2) в следующем порядке (см.рис.8):
2.1Сначала программный код главной функции main.
2.2.После него определение функции func2 с параметрами и возвращаемым значением.
Перед кодом напишем прототип функции func2 (см.рис.8).
Рисунок 8 – код zad2.cpp
3.Откомпилируем файл zad2.cpp и выполним перестроение решения resh1.
4.Чтобы выполнить второй проект, его надо назначить запускаемым проектом. Для этого необходимо выделить в окне «обозреватель решений» имя проекта lr5.2 и нажать правую кнопку мыши, а затем выполнить команду «Назначить запускаемым проектом»
5.Выполним проект lr5.2. Получим следующие результаты при заданных значениях исходных данных (см.рис.9).
Рисунок 9 – результаты выполнения lr5.2
Результат совпадает с результатом выполнения проекта lr5. Значит все верно.
6.Реализация третьего проекта
Создадим третий проект с именем lr5.3 в уже имеющемся решении. Разработаем алгоритм процедуры с параметрами и без возвращаемого значения. Схема алгоритма этой процедуры func3 (см.рис.10).
Рисунок 10 – Схема алгоритма процедуры func3
Разработаем программные коды двух функций в соответствии со схемами алгоритмов. Программные кода разработанных функций запишем в файл с именем zad3.cpp в следующем порядке (см.рис.11).
1.Объявление (прототип) функции func3.
2.Определение функции main.
3.Определение функции func3 c входными и выходными параметрами без возвращаемого значения, где выходные данные передаются по значению, а результат вычислений возвращается через параметр по ссылке.
Рисунок 11 – код zad3.cpp
Откомпилируем файл zad3.cpp, выполним перестроение решения resh1 и выполнения проекта lr5.3, назначив его запускаемым проектом. Получим такой же ответ (см.рис.12).
Рисунок 12 – результат работы lr5.3
Выполним проект с помощью отладчика по шагам, так же, как и в первом проекте, поставив точку останова после ввода исходных данных x и y на операторе вызова функции. Проследим за изменением значений всех переменных в окнах Локальные и Видимые. Ответы на вопросы:
1.Можно ли при вызове функции в списке фактические параметров записывать выражения? Например, func3(x+2, y-0.5, z+1).
Ответ: Да, можно, так как это не влияет на работу программы.
2.Изменится ли результат выполнения проекта, если при определении функции func3 удалить знак & (операция взятия адреса) перед формальным параметром f?
Ответ: Нет, так как параметр все равно будет посчитан.
7.Реализация четвертого проекта
Создадим четвертый проект с именем lr5.4 в уже имеющемся решении. Разработаем алгоритм процедуры без параметров и без возвращаемого значения. Схема алгоритма этой процедуры func4 (см.рис.13).
Рисунок 13 – схема алгоритма func4
Разработаем программные коды двух функций в соответствии со схемами алгоритмов. Программные кода разработанных функций запишем в файл с именем zad4.cpp в следующем порядке (см.рис.14):
1.Объявление (прототип) функции func4.
2.Определение глобальных переменных.
3.Определение функции main.
4.Опрееление функции func4 без параметров и без возвращаемого значения.
Рисунок 14 – код файла zad4.cpp
Откомпилируем файл zad4.cpp, выполним перестроение решения resh1 и выполнение проекта lr5.4, назначив его запускаемым проектом. Получим следующие результаты при заданных значениях исходным данных (см.рис.15).
Рисунок 15 – Результат lr5.4
Получившийся результат совпадает с результатом проекта lr5, а это значит, что ответ верный. Выполним проект с помощью отладчика по шагам, так же, как и в первом проекте, поставив точку оcтанова после ввода исходных данных x и y на операторе вызова функции. Проследим за изменением значений всех переменных в окнах Локальные и видимые. В тело главной функции main добавим определение переменных x, y, f до оператора ввода исходных данных. Перестроить решение и выполним проект. Проанализируем полученные результаты и ответим на вопрос: почему и как изменились результаты проекта?
Ответ: Результаты никак не изменились так как определение переменных до оператора ввода исходных данных не влияет на конечный результат.