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

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 до оператора ввода исходных данных. Перестроить решение и выполним проект. Проанализируем полученные результаты и ответим на вопрос: почему и как изменились результаты проекта?

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

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