- •Отчет по лабораторной работе №3 Оператор new. Массивы. Функции.
- •1 Цели и задачи
- •Многомерные массивы
- •Инициализация массива
- •Процедурное программирование. Функции
- •3 Руководство пользователя
- •Руководство программиста
- •4.1 Блок схема
- •4.2 Описание функций
- •4.3 Описание локальных переменных
- •5 Вывод
- •Приложение 1. Текст программы
Приложение 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;
}
}
}