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

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

Создадим второй пустой проект с именем pr2 в уже существующем решении. Для этого выполним команду Файл/Добавить/Создать проект. В открывшемся окне Добавить новый проект зададим имя проекта pr2.

Запишем в файл с именем Лаба.cpp программные коды разработанных в первом проекте функций (переименовав функцию func1 в func2) в следующем порядке:

· сначала программный код главной функции main;

· после него определение функции func2 с параметрами и возвращаемым значением.

Перед кодом главной функции запишем прототип функции func2.

· Откомпилируем файл zad2.cpp и выполним перестроение решения

lab5.

· Чтобы выполнить второй проект, его надо назначить запускаемым проектом. Для этого необходимо выделить в окне Обозреватель решений имя проекта pr2 и нажать правую кнопку мыши, а затем выполнить команду Назначить запускаемым проектом (рисунок 8).

Рисунок 8 – Назначение запускаемым проектом.

Отличие программного кода второго проекта от первого заключается в том, что сначала идет программный код главной функции main, после чего определение функции func2 с параметрами и возвращаемым значением. (Рисунок 9).

#define _USE_MATH_DEFINES

#include <iostream>

#include <cmath>

double function(double, double);

// x = -1.462

// y = 0.577

int main()

{

setlocale(LC_ALL, "rus");

double a, b;

std::cout << "Введите X:\n";

std::cin >> a;

std::cout << "Введите Y:\n";

std::cin >> b;

std::cout << "Результат: " << function(a, b) << "\n";

system("PAUSE");

}

double function(double x, double y)

{

return (x * exp(x * y) + 8 * sin(x) * sin(x)) / (x * (x - y) * (3 * x + y));

}

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

Выполним проект pr2. Получим следующие результаты при заданных значениях исходных данных (рисунок 10).

Рисунок 10 – Результат работы программы.

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

Создадим третий проект с именем pr3 в уже имеющемся решении. Разработаем алгоритм процедуры с параметрами и без возвращаемого значения. Схема алгоритма этой процедуры func3 представлена на рисунке 11.

Рисунок 11 – Схема алгоритма процедуры func3 с параметрами и без возвращаемого значения для третьего проекта.

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

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

· объявление (прототип) функции func3;

· определение функции main;

· определение функции func3 с входными и выходными параметрами без возвращаемого значения, где входные данные передаются по значению, а результат вычислений возвращается через параметр по ссылке.

#define _USE_MATH_DEFINES

#include <iostream>

#include <cmath>

void function(double x, double y, double& c)

{

c= (1 / (2 * M_PI)) - x * (sqrt(2.5 *pow(10,3) * y)) * fabs(cos(pow(x, 3)));

}

// x =-1.462

// y =0.577

int main()

{

setlocale(LC_ALL, "rus");

double a, b, c;

std::cout << "Введите X:\n";

std::cin >> a;

std::cout << "Введите Y:\n";

std::cin >> b;

function(a, b, c);

std::cout << "Результат: \n" << c << "\n";

system("PAUSE");

}

Рисунок 12 - Программный код третьего проекта

Откомпилируем файл zad3.cpp, выполним перестроение решения lab5 и выполнение проекта pr3, назначив его запускаемым проектом. Получим следующие результаты при заданных значениях исходных данных (рисунок 13).

Рисунок 13 – Результат работы третьей программы.

· Можно ли при вызове функции в списке фактических параметров

записывать выражения?

Да, можно, так как это не влияет на работу программы

· Изменится ли результат выполнения проекта, если при определении функции func3 удалить знак & (операция взятия адреса) перед формальным параметром с?

Нет, так как параметр все равно будет посчитан.

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