4) Реализация 4-го проекта:
4.1) Создадим четвертый проект с именем Project_4 в уже имеющемся решении.
4.2) Разработаем алгоритм процедуры без параметров и без возвращаемого значения. Схема алгоритма этой процедуры func4 представлена на рисунке 22.
Рисунок 8 – Схема алгоритма процедуры func4 без параметров и без возвращаемого значения для четвертого проекта
4.3) Разработаем программные коды двух функций в соответствии со схемами алгоритмов. Программные коды разработанных функций запишем в файл с именем ex4.cpp в следующем порядке:
объявление (прототип) функции func4;
определение глобальных переменных;
определение функции main;
определение func4 без параметров и возвращаемого значения.
Текст программы проекта 4:
#include
<iostream> #include
<cmath> using
namespace
std; double
numb(double
nu) { while
(true) { if
(cin.fail()) { cin.clear(); cin.ignore(1000,
'\n'); cout
<<
"Ошибка!
Введенные
данные не являются числом\n"; cout
<<
"Повторите
ввод: "; cin
>>
nu; } else { return
nu; break; } } } double
zero(double
z) { while
(true) {
if
((z
== 0)) { cout
<<
"Ошибка!
При
данном значении знаменатель обращается
в ноль\n"; cout
<<
"Повторите
ввод: "; cin
>>
z; numb(z); } else { return
z; }
} } void
func4(); double
x, y, d;
int
main() { setlocale(LC_ALL,
"rus");
double
x, y, d; cout
<<
"Введите
х
= "; cin
>>
x; numb(x);//проверка
является ли введенный х числом
zero(x);//проверка
на обращение знаменателя в ноль
cout
<<
"Введите
y = "; cin
>>
y; numb(y);//проверка
является ли введенный у числом
zero(y);//проверка
на обращение знаменателя в ноль
func4(); cout
<<
endl <<
"Вещественное
d = "
<<
d <<
endl; system("PAUSE"); return
0; } void
func4() { d
= ((x * y * y - sqrt(abs(x * x - 2.5 * pow(10, -3) * y))) / (2 *
sin(x * y)) + 0.5); }
void
func4() { d
= (x * y * y - sqrt(abs(x * x - 2.5 * pow(10, -3) * y))) / (2 *
sin(x * y)) + 0.5; }
4.5) Проведем следующий эксперимент:
Проверим, изменятся ли результаты выполнения проекта, если в тело главной функции main добавить определение переменных x, y, d до оператора ввода исходных данных.
Список ошибок, возникших после запуска программы, представлен на рисунке 23.
Рисунок 23 – Список ошибок после добавления определения переменных до оператора ввода исходных данных
Добавив определение переменных x, y, d в тело главной функции main мы сделали их глобальными. Вследствие этого они не могут быть использованы в других функциях нашего проекта.
5) Реализация 5-го проекта:
5.1) Создадим в уже имеющемся решении пятый проект с именем Project_5, состоящий из двух файлов. В первый файл с именем ex5_m.срр поместим текст функции main из второго проекта. Во второй файл с именем ex5_f.срр поместим текст функции func2 из того же проекта.
5.2) После раздельной компиляции файлов выполним их совместную компоновку (перестроение решения) и выполнение проекта. Результаты выполнения при заданных значениях исходных данных приведены на рисунке 24.
Рисунок 9 – Результаты выполнения проекта 5
