.NET 4.x Расчет ряда с помощью циклов/процедур - C#
Формулировка задачи:
Помогите пожалуйста довести код до ума, нужно организовать его через процедуры/функции и добавить деление на факториал. Скорее всего мои наработки вовсе неверные, поэтому прошу строго не судить. Заранее благодарю всех за помощь.
Значение аргумента x изменяется от a до b с шагом h. Для каждого x найти значения функции Y(x), суммы S(x) и |Y(x)-S(x)| и вывести в виде таблицы. Значения a,b,h и n вводятся с клавиатуры. Работу программы проверить для a=0,1; b=1,0; h=0,1; n выбрать максимально возможным!
Листинг программы
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- namespace _3
- {
- class Program
- {
- static void Main(string[] args)
- {
- Console.Write("Введите шаг h = ");
- double h = Convert.ToDouble(Console.ReadLine());
- Console.Write("Промежуток от - ");
- double i = Convert.ToDouble(Console.ReadLine());
- Console.Write("до - ");
- double b = Convert.ToDouble(Console.ReadLine());
- for (i = i; i<=b; )
- {
- for (double k = 1; k<=b; )
- {
- double result_s = (Math.Pow(-1, k) * (Math.Pow(2 * i, 2 * k) / 2 * k));
- double result_y = (2 * (Math.Pow(Math.Cos(i), 2) - 1));
- double result_z = Math.Abs(result_y - result_s);
- Console.Write("S({0}) ={1:N3} ", i, result_s);
- Console.Write("Y({0}) ={1:N3}|\n ", i, result_y);
- Console.WriteLine("|Y({0}) - S({0})|={1:N3}\n", i, i, result_z);
- i = i+ h;
- k = k + h;
- }
- }
- Console.ReadKey();
- }
- }
- }
Решение задачи: «.NET 4.x Расчет ряда с помощью циклов/процедур»
textual
Листинг программы
- static int Factorial(int number)
- {
- if (number <= 1)
- return 1;
- else
- return number * Factorial(number - 1);
- }
- static double Member(double x, int k)
- {
- double s = Math.Pow(-1, k) * Math.Pow(2 * x, 2 * k) / Factorial(2 * k);
- return s;
- }
- static double Set(double x)
- {
- double eps = 0.0001;
- int k = 1;
- double member = 1;
- double set = 0;
- while (Math.Abs(member) > eps)
- {
- member = Member(x, k);
- set += member;
- k += 1;
- }
- return set;
- }
- static double Y(double x)
- {
- double y = 2 * (Math.Cos(x) * Math.Cos(x) - 1);
- return y;
- }
- static void Main()
- {
- double a = 0.1;
- double b = 1;
- double h = 0.1;
- for(double x=a;x<=b;x+=h)
- Console.WriteLine("x = {0}, S = {1}, Y = {2}", x, Set(x),Y(x));
- Console.ReadKey();
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д