Объясните пожалуйста все выполненные действия в программе. Спасибо!
| Код | using System; using System.Collections.Generic; using System.Linq; using System.Text;
namespace Интеграл {
class Интеграл { static double d = 0.25; struct Integral { public double a, b; public int m; public Integral(double ina, double inb, int inm) { if (ina < inb) { a = ina; b = inb; } else { b = ina; a = inb; } m = inm; } public override string ToString() { double Delta = (ИнтПрямоугольники - ИнтЛейбниц) / ИнтЛейбниц * 100; Delta = Math.Abs(Delta); string s = String.Format(ИнтЛейбниц+"\t\t"+ ИнтПрямоугольники + "\t"+Delta.ToString("F5") + "\t\t\t"+m*d); return s; } public double fx(double x) { return Math.Sin(x); } public double Fx(double x) { return -Math.Cos(x); } public double h { get { return (b - a) / m / d; } } public double ИнтЛейбниц { get { return Fx(b) - Fx(a); } } public double ИнтПрямоугольники { get { double Sx = 0; int k = 1; ; for (double i = a; i < b; k++) { Sx += fx((i + a + (h * k)) /2); i = a + h * k; } double max = 0; for (double i = a; i < b; i++) if ((-Math.Sin(i)) > max) max = Math.Abs(Math.Sin(i)); return h*Sx - max*Math.Pow((b - a), 3) / (24 * Math.Pow(m, 2)); } }
} static void Main() { Console.WriteLine("Точное значение\tПриближённое значение\tПогрешность\tКратность интегрирования"); { Integral obj = new Integral(-Math.PI/2, 0, 300); for (d = 0.25; d <= 1.5; d += 0.25) { Console.WriteLine(obj.ToString()); Console.WriteLine(); } Console.ReadKey(true); } } } }
|
|