/// <summary> /// Задача 2 /// Модифицировать программу нахождения минимума функции так, чтобы можно было передавать функцию /// в виде делегата. /// а) Сделать меню с различными функциями и представить пользователю выбор, для какой функции и /// на каком отрезке находить минимум. Использовать массив (или список) делегатов, в котором /// хранятся различные функции. /// б) *Переделать функцию Load, чтобы она возвращала массив считанных значений. Пусть она /// возвращает минимум через параметр (с использованием модификатора out). /// </summary> static void dz2() { Console.Clear(); HelpCS.MyHeader(text: "2. Модифицировать программу нахождения минимума функции "); /////////////////////////////////////////////////////////////////////////////////// Console.WriteLine("Пункт задания А. Меню с различными функциями."); while (Helpdz6_2.GetSwitchFromConsole(out int swtch)) //выбор функции в консоли { MinOfFunc.MyFunc func = MinOfFunc.GetMyFunc(swtch); MinOfFunc.SaveFunc(func, @"..\..\data.bin", 0, 10, 1); double min = MinOfFunc.LoadAndMin(@"..\..\data.bin"); Console.WriteLine($"Минимум функции равен = {min:F2}\n\n__________________________________________________________________________"); } HelpCS.MyPause(); /////////////////////////////////////////////////////////////////////////////////// Console.WriteLine("Пункт задания Б. Массив считанных значений."); Console.WriteLine("Записанные в последний раз числа в файл:"); List <double> list = MinOfFunc.LoadToListAndMin(@"..\..\data.bin", out double min2); list.ForEach(Console.WriteLine); Console.WriteLine($"Минимум функции равен = {min2:F2}\n\n__________________________________________________________________________"); /////////////////////////////////////////////////////////////////////////////////// HelpCS.MyFooter(); //HelpCS.MyHeader(text: "2. Модифицировать программу нахождения минимума функции "); ///////////////////////////////////////////////////////////////////////////////////// //Console.WriteLine("Пункт задания А. Меню с различными функциями."); //while (Helpdz6_2.GetSwitchFromConsole(out int swtch)) //выбор функции в консоли //{ // MinOfFunc.MyFunc func = MinOfFunc.GetMyFunc(swtch); // MinOfFunc.SaveFunc(func, @"..\..\data.bin", 0, 10, 1); // double min = MinOfFunc.LoadAndMin(@"..\..\data.txt"); // Console.WriteLine($"Минимум функции равен = {min:F2}\n\n__________________________________________________________________________"); //} //HelpCS.MyPause(); ///////////////////////////////////////////////////////////////////////////////////// //Console.WriteLine("Пункт задания Б. Массив считанных значений."); //Console.WriteLine("Записанные в последний раз числа в файл:"); //List<double> list = MinOfFunc.LoadToListAndMin(@"..\..\data.txt", out double min2); //list.ForEach(Console.WriteLine); //Console.WriteLine($"Минимум функции равен = {min2:F2}\n\n__________________________________________________________________________"); ///////////////////////////////////////////////////////////////////////////////////// //HelpCS.MyFooter(); }
/// <summary> /// Задача 2 /// Модифицировать программу нахождения минимума функции так, чтобы можно было передавать функцию /// в виде делегата. /// а) Сделать меню с различными функциями и представить пользователю выбор, для какой функции и /// на каком отрезке находить минимум. Использовать массив (или список) делегатов, в котором /// хранятся различные функции. /// б) *Переделать функцию Load, чтобы она возвращала массив считанных значений. Пусть она /// возвращает минимум через параметр (с использованием модификатора out). /// Рассахатский /// </summary> static void Main() { MyHelper.MyHeader(text: "Задача 2. Программа нахождения минимума функции."); /////////////////////////////////////////////////////////////////////////////////// WriteLine("Пункт задания А. Меню с различными функциями."); while (GetSwitchFromConsole(out int swtch)) //выбор функции в консоли { MinOfFunc.MyFunc func = MinOfFunc.GetMyFunc(swtch); MinOfFunc.SaveFunc(func, @"..\..\data.bin", 0, 10, 1); double min = MinOfFunc.LoadAndMin(@"..\..\data.bin"); WriteLine($"Минимум функции равен = {min:F2}"); } MyHelper.MyPause(); /////////////////////////////////////////////////////////////////////////////////// WriteLine("Пункт задания Б. Массив считанных значений."); WriteLine("Записанные в последний раз числа в файл:"); List <double> list = MinOfFunc.LoadToListAndMin(@"..\..\data.bin", out double min2); list.ForEach(WriteLine); WriteLine($"Минимум функции равен = {min2:F2}"); /////////////////////////////////////////////////////////////////////////////////// MyHelper.MyFooter(); }