Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.12.2016, 22:19   #1
AcHt
 
Регистрация: 22.12.2016
Сообщений: 8
Восклицание Составить программу для приближённого вычисления заданной функции у(х).

Составить и отладить программу для приближённого вычисления заданной функции у(х) путём суммирования членов заданного её ряда s(x) см. таблицу 4.2. Суммирование членов ряда проводить до члена ряда, значение которого по абсолютной величине не будет превышать 10^(-6). Вычислить сумму ряда s(x) и непосредственно функцию у(х) при указанных в таблице 4.2 контрольных значениях аргументаx. Сравнить и проанализировать полученные значения.
123.png
Пытался делать по примеру, но не смог. Помогите!
-------------------
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication8
{
class Program
{
public static void Main(string[] args)
{
// Используем информативные идентификаторы
int point = 3;//число точек в которых следует вычислить функцию
double exp = 1.0e-6;
// Применим массив, хотя, конечно можно обойтись без него
double[] argument = { 0.2, 0.6, 0.9 };
//Цикл по расчетным точкам
for (int i = 0; i < point; i++)
{
// Заранее вычислим "точное" значение данной функции
double exactly = 1/Math.Pow((1+ argument),2);
// Вычисление частичной суммы ряда
int srok = 1;//число членов разложения
double S = 1.0;//частичная сумма ряда
double delta = S - exactly;
//
double s = 1.0,
p = 2.0; //множители числителя
while (Math.Abs(delta) > exp)
{
//Будем по очереди умножать и делить на
//множители числителя и знаменателя
s *= p;

if (srok > 1)
p += 2.0;

s *= argument;// Домножение элемента ряда на аргумент
if ((srok % 2) == 0) S -= s;
else S += s;
delta = S - exactly;
srok++;
}
// Печать результатов
Console.WriteLine("X[" + i + "] = " + argument + ";");
Console.WriteLine("F(X[" + i + "]) = " + exactly + ";");
Console.WriteLine("S(X[" + i + "]) = " + S + ";");
Console.WriteLine("S(x) - F(x) = " + delta + ";");
Console.WriteLine("N srok = " + srok + ";");
//Как выяснилось данный ряд расходится при x > 1
if (Double.NaN.Equals(S))
Console.WriteLine("--------------------------------------");
}


Console.ReadKey(true);
}
}
}
AcHt вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
C#. Составить и отладить процедуру для приближенного вычисления заданной функции y(x) ivanna7 C# (си шарп) 0 18.05.2014 16:15
Составить программу на языке Turbo Pascal 7.0 вычисления значения интеграла на интервале [a, b] для функции, заданной графически AZelensky Помощь студентам 28 29.11.2013 23:01
Составить программу вычисления таблицы значений функции, заданной в виде разложения в ряд. McFrey Помощь студентам 11 29.03.2013 12:15
Составить программу для вычисления элементов одномерного массива по заданной формуле Ваня 37 Паскаль, Turbo Pascal, PascalABC.NET 0 24.12.2012 14:42
Составить программу на языке Turbo Pascal 7.0 вычисления значения интеграла на интервале [a, b] для функции, заданной графически. Маленыч Паскаль, Turbo Pascal, PascalABC.NET 2 15.05.2012 23:34