![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 17.06.2011
Сообщений: 4
|
![]()
Помогите решить задачу на C#:
-------------------------------------------------------------------------- Для типа Integral разработайте метод с именем M, возвращающий значение определенного интеграла, рассчитанного методом "входящих прямоугольников" для функции 3x^2+4x^3-12x^4 на интервале от x=0 до x=10 с кратностью 200 без остаточного члена. В классе Интеграл разработайте Main-метод, вызывающий метод M, выводящий результат в консольное окно: Код HTML:
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication1 { class Интеграл { 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; } } } } Попытался решить задачу, но вернули, указав на неправильный вызов метода M. Вот мой код: Код HTML:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class Интеграл
{
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 double M
{
get
{
//расчет прибилизительного значения интеграла
//первообразная
double Leibniz = ((Math.Pow(b, 3) + Math.Pow(b, 4)) - (12 / 5 * Math.Pow(b, 5))) - ((Math.Pow(a, 3) + Math.Pow(a, 4)) - (12 / 5 * Math.Pow(a, 5)));
//высота(шаг) прямоугольников
double h = (b - a) / m;
//суммарная площадь всех прямоугольников (точное значение интеграла)
double SxPryamoyg = 0;
//сама функция
for (double i = a; i < b - h; i += h) SxPryamoyg += (3 * Math.Pow(i, 2) + 4 * Math.Pow(i, 3) - 12 * Math.Pow(i, 4));
SxPryamoyg *= h;
double sigma = 0;
for (double i = a; i < b; i += h)
//вторая производная
if ((6 + 24 * i - 144 * Math.Pow(i, 2)) > sigma) sigma = (6 + 24 * i - 144 * Math.Pow(i, 2));
sigma *= h * h * (b - a) / 24;
SxPryamoyg += sigma;
return Math.Abs(SxPryamoyg);
}
}
}
static void Main()
{
Integral obj = new Integral(0,10,200);
Console.WriteLine("Точное значение интеграла: {0}", obj.M);
Console.ReadLine();
}
}
}
|
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 26.07.2008
Сообщений: 116
|
![]() |
![]() |
![]() |
![]() |
#3 |
Регистрация: 17.06.2011
Сообщений: 4
|
![]() |
![]() |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 26.07.2008
Сообщений: 116
|
![]()
Кто писал твою программу? Если ты не знаешь как сделать метод, то все остальное в программе, которое по сложности превышает создание метода, явно написано не тобой. Ты думаешь, зачем тебе сказали сделать M методом? Человек, который способен сделать изменения в своей программе, с большей вероятностью написал ее сам или хотя бы разобрался.
|
![]() |
![]() |
![]() |
#5 |
Регистрация: 17.06.2011
Сообщений: 4
|
![]()
Спасибо, como!
|
![]() |
![]() |
![]() |
Опции темы | Поиск в этой теме |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Интеграл. Метод входящих прямоугольников | heso | Помощь студентам | 0 | 24.05.2010 22:18 |
Интеграл методом левых прямоугольников | murzic28 | Помощь студентам | 1 | 17.05.2010 10:17 |
вычислить определенный интеграл методом прямоугольников | ronn | Помощь студентам | 3 | 27.05.2009 19:44 |