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

Приложение 1. Текст программы

char answer;

double x1;

double x2;

double x3;

double x4;

double Step;

double K;

int interpret;

bool isError;

do

{

x1 = EnterX1();

x2 = EnterX2();

x3 = EnterX3();

do

{

x4 = EnterX4();

K = EnterK();

if (x4 > K)

{

Console.WriteLine("Нижняя граница не может быть больше верхней");

}

} while (x4 > K);

if (x4 != K)

{

do

{

Console.Write("Введите шаг: ");

isError = double.TryParse(Console.ReadLine(), out Step);

if (Step <= 0)

{

Console.WriteLine("Шаг не может быть равен отрицательному числу или нулю");

}

if (K - x4 < Step)

{

Console.WriteLine("Шаг больше границ");

}

NumberOrWord(isError);

} while (!isError || Step <= 0 || K - x4 < Step);

interpret = (int)((K - x4) / Step);

double[,] Array2D = new double[interpret, 2];

int j = 0;

for (; x4 <= K; x4 += Step)

{

Array2D[j, 0] = x4;

double y = (Math.Log(x1) * Math.Sqrt(x2)) / (Math.Sin(Math.PI * x3 / 180) * Math.Cos(Math.PI * x4 / 180));

Array2D[j, 1] = y;

Console.Write("x4={0} y={1};", Array2D[j, 0], Array2D[j, 1]);

Console.WriteLine();

}

}

else

{

double y = (Math.Log(x1) * Math.Sqrt(x2)) / (Math.Sin(Math.PI * x3 / 180) * Math.Cos(Math.PI * x4 / 180));

Console.WriteLine("y= {0}", y);

}

Console.Write("Нажмите Esc для выхода из программы или Enter что бы начать программу заново");

answer = Console.ReadKey().KeyChar;

Console.Clear();

} while (answer == 13);

}

static private bool NumberOrWord(bool isError)

{

if (!isError)

{

Console.WriteLine("Введено текстовое значение.");

}

return isError;

}

static private bool NumberOrWordX2(bool isError, double x2)

{

if (!isError)

{

Console.WriteLine("Введено текстовое значение");

}

else

{

if (x2<0)

{

Console.WriteLine("Введено неверное значение, х2 должен быть больше 0.");

}

}

return isError;

}

static private bool NumberOrWordX1(bool isError, double x1)

{

if (!isError)

{

Console.WriteLine("Введено текстовое значение");

}

else

{

if (x1 <= 0)

{

Console.WriteLine("Введено неверное значение, х1 должен быть больше и не равен 0.");

}

}

return isError;

}

static private bool NumberOrWordX3(bool isError, double x3)

{

if (!isError)

{

Console.WriteLine("Введено текстовое значение");

}

else

{

if (Math.Round(Math.Sin(Math.PI * x3 / 180), 6) == 0)

{

Console.WriteLine("Введено неверное значение, синус х3 не должен быть равен 0.");

}

}

return isError;

}

static private bool NumberOrWordX4(bool isError, double x4)

{

if (!isError)

{

Console.WriteLine("Введено текстовое значение");

}

else

{

if (Math.Round(Math.Cos(Math.PI * x4 / 180), 7) == 0)

{

Console.WriteLine("Введено неверное значение, синус х3 не должен быть равен 0.");

}

}

return isError;

}

static double EnterX1()

{

double x1;

bool isError;

do

{

Console.WriteLine("Введите x1");

isError = double.TryParse(Console.ReadLine(), out x1);

NumberOrWordX1(isError, x1);

} while (!isError || x1 <= 0);

return x1;

}

static double EnterX2()

{

double x2;

bool isError;

do

{

Console.WriteLine("Введите x2");

isError = double.TryParse(Console.ReadLine(), out x2);

NumberOrWordX2(isError,x2);

} while (!isError || x2 < 0);

return x2;

}

static double EnterX3()

{

double x3;

bool isError;

do

{

Console.WriteLine("Введите x3");

isError = double.TryParse(Console.ReadLine(), out x3);

NumberOrWordX3(isError, x3);

} while (!isError || Math.Round(Math.Sin(Math.PI * x3 / 180), 6) == 0);

return x3;

}

static double EnterX4()

{

double x4;

bool isError;

do

{

Console.WriteLine("Введите x4(начало интервала) ");

isError = double.TryParse(Console.ReadLine(), out x4);

NumberOrWordX4(isError, x4);

} while (!isError || Math.Round(Math.Cos(Math.PI * x4 / 180), 7) == 0);

return x4;

}

static double EnterK()

{

double K;

bool isError;

do

{

Console.WriteLine("Введите конец интервала: ");

isError = double.TryParse(Console.ReadLine(), out K);

NumberOrWord(isError);

} while (!isError);

return K;

}

}

}