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

5.3 Программный код файла Main.Cpp.

Программный код представлен на Листинге 3.

// Файл main.cpp

#include <iostream>

//Директива iostream для вывода и ввода данных

void getABX(double& a, double& b, double& x);

void putRetN(double ret, short n);

double Branch(double a, double b, double x, short& n);

double Pred(double a, double b, double x, short& n);

int main()

{

double a, b, x, ret;

short n;

getABX(a, b, x);

short methodChoosing;

std::cout << "[1] С вложенными разветвлениями;\n";

std::cout << "[2] Со своими функциями minimum и maximum.\n";

std::cout << "\n";

std::cout << "[#] Каким способом вы хотите решить эту задачу? Напишите 1 или 2: ";

std::cin >> methodChoosing;

std::cout << "\n";

switch (methodChoosing)

{

case 1:

ret = Branch(a, b, x, n);

putRetN(ret, n);

std::cout << "[#] Выбранный вами метод: " << methodChoosing << "\n";

break;

case 2:

ret = Pred(a, b, x, n);

putRetN(ret, n);

std::cout << "[#] Выбранный вами метод: " << methodChoosing << "\n";

break;

default:

std::cout << "[!] Вы ввели неверное значение! Оно должно быть либо 1, либо 2! Попробуйте ещё раз, написав правильное значение.\n";

std::cout << "\n";

system("PAUSE");

system("CLS"); // Очистка консоли при ошибочном выборе метода решения задачи

return main(); // Повторное решение путем возврата к main()

break;

}

}

Листинг 3. – Программный код файла Main.cpp.

  1. Результат выполнения проекта.

Ниже представлены результат выполнения проекта с разными методами: алгоритмом Branch и Pred. Для точной проверки результатов взяты следующие значения переменных:

    1. Результат выполнения проекта методом 1 (алгоритм Branch).

Результат выполнения программы представлен на рисунке 4.

Рисунок 4. – Выполнение проекта первым методом (алгоритм Branch).

    1. Результат выполнения проекта методом 2 (алгоритм Pred).

Результат выполнения программы представлен на рисунке 5.

Рисунок 5. – Выполнение проекта вторым методом (алгоритм Pred).

  1. Доказательство правильности результатов.

Правильность результатов можно проверить путём ручного решения. Так как x больше, чем 1, решение пойдёт по второй ветке. Переменная ret1 равна корню из x:

Переменная ret2 равна произведению a и x:

Далее необходимо понять, правильно ли это неравенство:

Подставим значения переменных ret1 и ret2:

Видно, что неравенство неверно, поэтому, следуя алгоритму Branch (рис. 1), ответ ret принимает значение ret2, т. е. 8, что и требовалось доказать.

  1. Выводы.

  1. Проведен анализ поставленной задачи. Необходимо её решить, реализовав проект с помощью разветвлений.

  2. Были разработаны блок-схемы алгоритмов Branch, Pred и main методом «Сверху Вниз».

  3. В соответствии с блок-схемами были реализованы программные коды этих алгоритмов

  4. Была проверена правильность выполнения программы.

  5. Результат выполнения программы совпал с тестовыми данными, следовательно программа отработала без ошибок.

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