Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

LABA 1_ZASHITA

.docx
Скачиваний:
8
Добавлен:
27.05.2023
Размер:
95.7 Кб
Скачать

ЦЕЛЬ: Добиться того, чтобы пока пользовательн не введет верные данные для решения, программа будет запрашивать ввод заново!!

// LABA1.cpp : Этот файл содержит функцию "main". Здесь начинается и заканчивается выполнение программы.

// лабораторная работа 1 6 вариант БРТ2102 студент Епифанов Георгий Юрьевич

#include <iostream>

#include <cmath>

double z = 0;

double y = 0;

bool foo(double a, double alfa);

using namespace std;

int main()

{

setlocale(LC_ALL, "Russian");

double a1, alfa;

cout << "Введите значение a_1\n";

cin >> a1; cout << "\n"; // ввод переменной a1

cout << "Введите значение alfa\n";

cin >> alfa; cout << "\n"; // ввод переменной alfa

while (!foo(a1, alfa)) {

cout << "Error" << endl;

cout << "Введите значение a_1\n";

cin >> a1; cout << "\n"; // ввод переменной a1

cout << "Введите значение alfa\n";

cin >> alfa; cout << "\n";

}

cout << "z1 = " << z << "\n"

<< "z2 = " << z << "\n"

<< "y1 = " << y << "\n"

<< "y2 = " << y << "\n";

}

bool foo(double a1, double alfa)

{

double z1, z2, y1, y2, t1, t2, t3, t4, t5, k1, k2, k3;

t1 = 2 * (1 + sqrt(a1));

t2 = 2 * (1 - sqrt(a1));

t3 = a1 * a1 + 2;

t4 = 1 - pow(a1, 3);

t5 = t3 / t4;

z1 = (1 / t1) + (1 / t2) - t5;

////////////////////////////////////

k1 = (pow(a1, 2) + a1 + 1);

z2 = -(1 / k1);

////////////////////////////////////

k2 = 1 + 1 / (tan(2 * alfa)) * 1 / (tan(alfa));

k3 = tan(alfa) + 1 / (tan(alfa));

y1 = k2 / k3;

///////////////////////////////////

y2 = 0.5 * 1 / (tan(alfa));

z = z1;

y = y1;

return a1 > 0 && t1 != 0 && t2 != 0 && t4 != 0 && k1 != 0 && k3 != 0;

}

Соседние файлы в предмете Программирование на C++