
- •Общее задание.
- •Индивидуальное задание на разработку проекта.
- •Формализация и уточнение задания.
- •Разработка схем алгоритмов.
- •Разработка программного кода проекта.
- •Программный код файла getPut.Cpp.
- •Программный код файла solve.Cpp.
- •Программный код файла mail.Cpp.
- •Список используемой литературы и ресурсов.
Разработка схем алгоритмов.
Разработаны схемы трёх алгоритмов:
Схема алгоритма Solve1.
Это алгоритм решения задачи, который включает в себя стандартное разветвление и сложное логическое выражение, состоящие из двух неравенств (рисунок 2).
Рисунок 2. — Схема алгоритма функции Solve1.
Схема алгоритма Solve2.
Это алгоритм решения задачи, который использует вложенные разветвления только с использованием операций отношения (рисунок 3).
Рисунок 3. — Схема алгоритма функции Solve2 с использованием операций отношений.
Схема алгоритма Solve3.
Это алгоритм решения, который включает в себя только сложное логическое выражение (рисунок 4).
Рисунок 4. — Схема алгоритма функции Solve3 с использованием сложного логического выражения.
Разработка программного кода проекта.
Ниже представлены разработанные программные коды трёх файлов: getPut.cpp, solve.cpp и main.cpp.
Программный код файла getPut.Cpp.
Данный файл представляет собой две функции void, одна из которых принимает пользовательские значения, а вторая — выводит результаты решения задачи (листинг 1).
//Файл getPut.cpp
//Директива iostream, отвечающая за вывод и ввод данных
#include <iostream>
//Функция getXY (Получение координат)
void getXY(double& x, double& y)
{
setlocale(LC_ALL, "RUS");
std::cout << "Введите кординату x\n";
std::cin >> x;
std::cout << "..А теперь координату y\n";
std::cin >> y;
}
//Функция put (Вывод результатов)
void put(bool met1, double x, double y)
{
setlocale(LC_ALL, "RUS");
std::cout << "Попала ли точка, с координатами заданными координатами (x, y) в допустимую область?\n";
if (met1)
{
std::cout << "Ответ: Да, точка попала в заданную область\n";
std::cout << "\n";
}
else
{
std::cout << "Ответ: Нет, точка не попала в заданную область\n";
std::cout << "\n";
}
}
Листинг 1. — Программный код файла getPut.cpp, отвечающий за ввод и вывод данных.
Программный код файла solve.Cpp.
Данный файл представляет собой три функции bool разными способами решения поставленной задачи (листинг 2).
//Файл solve.cpp
//Директива cmath, дающая возможность использовать математические функции
#include <cmath>
//1-ый способ решения: стандатрное разветвление:
bool Resh1(double x, double y)
{
if (fabs(x - y) <= 1 && fabs(x + y) <= 1)
{
return true;
}
else
{
return false;
}
}
//2-ой способ решения: вложенные разветвления; использование операций отношения:
bool Resh2(double x, double y)
{
if (x - y >= -1)
{
if (x - y <= 1)
{
if (x + y <= 1)
{
if (x + y >= -1)
{
return true;
}
}
}
}
return false;
}
//3-ий способ решения: сложное логическое выражение:
bool Resh3(double x, double y)
{
return(fabs(x - y) <= 1 && fabs(x + y) <= 1);
}
Листинг 2. — Программный код файла solve.cpp, отвечающий за решение задачи.