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

Разработаны схемы трёх алгоритмов:

    1. Схема алгоритма Solve1.

Это алгоритм решения задачи, который включает в себя стандартное разветвление и сложное логическое выражение, состоящие из двух неравенств (рисунок 2).

Рисунок 2. — Схема алгоритма функции Solve1.

    1. Схема алгоритма Solve2.

Это алгоритм решения задачи, который использует вложенные разветвления только с использованием операций отношения (рисунок 3).

Рисунок 3. — Схема алгоритма функции Solve2 с использованием операций отношений.

    1. Схема алгоритма Solve3.

Это алгоритм решения, который включает в себя только сложное логическое выражение (рисунок 4).

Рисунок 4. — Схема алгоритма функции Solve3 с использованием сложного логического выражения.

  1. Разработка программного кода проекта.

Ниже представлены разработанные программные коды трёх файлов: getPut.cpp, solve.cpp и main.cpp.

    1. Программный код файла 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, отвечающий за ввод и вывод данных.

    1. Программный код файла 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, отвечающий за решение задачи.

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