Написать программу табулирования произвольной функции на отрезке [a, b] с шагом h - C#
Формулировка задачи:
Помогите пожалуйста((((
Написать программу табулирования произвольной функции на отрезке [a , b] с шагом h.
Использовать делегат для задания вида табулируемой функции. В программе определить не менее 3-х функций.
Вот есть одна функция:
Правильно? и какие еще 2 функции можно написать?
Листинг программы
- static Dictionary<float, float> GetFunctionTabulation(Func<float, float> function, float from, float to, float step)
- {
- var result = new Dictionary<float, float>();
- for (var i = from; i < to; i += step)
- {
- result.Add(i, function(i));
- }
- return result;
- }
Решение задачи: «Написать программу табулирования произвольной функции на отрезке [a, b] с шагом h»
textual
Листинг программы
- using System;
- namespace lab
- {
- class Program
- {
- static void Main(string[] args)
- {
- Console.Write("a->");
- double a = double.Parse(Console.ReadLine());
- Console.Write("b->");
- double b = double.Parse(Console.ReadLine());
- Console.Write("h->");
- double h = double.Parse(Console.ReadLine());
- Tab(f1, a, b, h);
- Tab(f2, a, b, h);
- Tab(f3, a, b, h);
- Console.ReadLine();
- }
- public delegate double F(double x);
- static void Tab(F f, double a, double b, double h)
- {
- for (double i = a; i <= b; i += h)
- Console.WriteLine("f({0}) = {1}", i, f(i));
- }
- static double f1(double x)
- {
- return x * x + 1 - 2 * x;
- }
- static double f2(double x)
- {
- return x + Math.Log(x * x);
- }
- static double f3(double x)
- {
- return Math.Abs(x) / 10 + Math.Sin(x);
- }
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д