1)даны действительные числа x, eps (x<>0, eps>0
Вычислить сумму с точностью eps:
( - 1)^n
знак суммы от 0 до бесконечности ----------------- * ( x / 2 )^2n+1
n! (n + 1)!
2) написать программу для обработки матрицы, элементы матрицы вводить из текстового файла,
дано целое число N, сформировать матрицу:
N N-1 ..... 2 1
0 N ..... 3 2
A[i,j] = . . . . . . . . . .
0 0 ..... N N-1
0 0 ..... J N
3) Решение нелинейных уравнений
методом секущих: e^x - 10^x = 0 на отрезке [0, 1]
1. Отделить графическим способом корни уравнения и выбрать начальное приближение или начальный интервал (в зависимости от метода).
2. Уточнить указанным методом корень уравнения с заданной точностью.
3. Повторяющиеся вычисления оформить в виде функции.
4. Результат решения задачи: корень уравнения, заданная точность, число потребовавшихся для нахождения корня итераций.
4) Численное интегрирование
методом модифицированных прямоугольников: интеграл с пределами интегрирования от 0 до 3, подынтегральная функция: под корнем x^2 - 4
1.Написать программу для вычисления определенного интеграла с заданной точностью. В каче-стве тестового примера использовать заданный вариант.
2.Оформить в виде функции:
• вычисление интеграла с заданной точностью;
• вычисление интеграла с заданным числом разбиений интервала интегрирования;
• вычисление значения подынтегральной функции.
3.Функции вычисления интеграла разместить в отдельном файле.
4.Имя подынтегральной функции передавать в качестве параметра.
5.Предусмотреть обработку ситуации, когда заданная точность не может быть достигнута..
5) Требования к заданию:
1. Создания пользовательского интерфейса ( глобальное и локальное меню, окна, подсказки, и т.п.)
2. Использование технологии модульного программирования (разделение программы на функции, группировка функций и связанных с ними данных в отдельные файлы).
Исходные данные хранятся в файле
____________________________________________
} | | |
| Наименование товара | Цена | Срок реализации |
| ____________________|______|_________________|
Составить список товаров с просроченным сроком реализации(на текущую дату).
Использовать структурные переменные.
первую я уже сдеалал! Но только компилятор выдает ошибку : divide by 0. Хотя все проверял, что на 4-м шаге итерации должны завершится
Код: Выделить всё
# include <iostream.h>
# include <conio.h>
# include <complex.h>
double pow (double, double);
long fact (long);
long fact (long n)
{
if (n == 1.0 || n == 0)
return 1;
return n * fact (n - 1);
}
class Summa
{
private:
double S; //сумма
double x; //переменная
double eps; //точность вычислений
public:
Summa (double S, double x, double eps);
double formula (void);
};
Summa :: Summa (double S, double x, double eps)
{
Summa :: S = S;
Summa :: x = x;
Summa :: eps = eps;
}
double Summa :: formula (void)
{
double S_pred, // предыдущая сумма
S_tek; //текущая сумма
long
n, // номер элемента суммы
chis; //множитель отвечающий за 1 в степени n
S_pred = S_tek = 0;
n = 1;
do
{
chis = (n % 2 == 0) ? 1 : -1;
S_pred = S + chis * pow (x / 2.0, 2 * n + 1) / (fact (n) * fact (n - 1));
cout<<"S_pred = "<< S_pred<<endl;
S = S_pred;
n++;
chis = (n % 2 == 0) ? 1 : -1;
S_tek = S + chis * pow (x / 2, 2 * n + 1) /
(fact(n) * fact(n - 1));
cout<<"S_tek = "<< S_tek<<endl;
}
while (abs(S_tek - S_pred) < eps);
return S;
}
int main()
{
clrscr();
Summa SM (0, 1, 0.0001);
cout<< "сумма = "<<SM.formula() <<endl;
getch();
return 0;
}