Вычислить exp^-x с точностью e=0.00001 - C#
Формулировка задачи:
Помогите плиз? сделать не консольно,
Вычислить exp^-x с точностью e=0.00001, воспользовавшись разложением в ряд:
exp^-x=1-x+(x^2/2!)-(x^3/3!)+(x^4/4!)- ... +(-1)^n*(x^n/n!)+ ...
-Сравнить результат со значением, полученным с помощью соответствующей встроенной функции.
Решение задачи: «Вычислить exp^-x с точностью e=0.00001»
textual
Листинг программы
private void button1_Click(object sender, EventArgs e)
{
double delta = 1;
double expR = 1;
double expR1 = 0;
int n = 1;
double fact = 1;
double x = Convert.ToDouble(textBox1.Text);
while (delta > 0.00001)
{
fact *= n;
expR += Math.Pow(-1, n) * Math.Pow(x, n) / fact;
delta = Math.Abs(expR - expR1);
expR1 = expR;
n += 1;
}
double expF = Math.Exp(-x);
double pogr = 100 * Math.Abs(expR - expF) / expF;
MessageBox.Show("Разложение в ряд = " + expR.ToString() + "\r\nЧерез функцию = " + expF.ToString() + "\r\nПогрешность вычисления = " + pogr + "%");
}