Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <math.h>
- using namespace std;
- double func1(double x)
- {
- double Y = (sqrt(0.6*x + 1.5)) / (2*x + sqrt(x*x + 3));
- return Y;
- }
- double func2(double x)
- {
- double Y = 1 / sqrt(x*x + 0.6);
- return Y;
- }
- double func3(double x)
- {
- double Y = (sin(0.8 * pow(x,2) + 0.3)) / (0.7 + cos(1.2*x + 0.3));
- return Y;
- }
- double func4(double x)
- {
- double Y = (pow(x, 2) * log(x));
- return Y;
- }
- /* ==========================
- Fucntions Of Solving Method
- ========================== */
- double meth1(double a, double b, int n)
- {
- double sum = 0, h, I;
- h = (b - a) / n;
- for(int i = 0; i <= (n - 1); i++)
- {
- sum += func1((a + i*h));
- }
- I = h * sum;
- return I;
- }
- double meth2(double a, double b, int n)
- {
- double sum = 0, h, I;
- h = (b - a) / n;
- for(int i = 1; i <= n; i++)
- {
- sum += func2((a + i*h));
- }
- I = h * sum;
- return I;
- }
- double meth3(double a, double b, int n)
- {
- double sum = 0, h, I;
- h = (b - a) / n;
- for(int i = 0; i <= (n - 1); i++)
- {
- sum += func3((a + i*h + h/2));
- }
- I = h * sum;
- return I;
- }
- double meth4(double a, double b, int n)
- {
- double sum = 0, h, I;
- h = (b - a) / n;
- sum = (func4(a) + func4(a + n*h)) / 2;
- for(int i = 1; i <= n; i++)
- {
- sum += func4((a + i*h));
- }
- I = h * sum;
- return I;
- }
- /* ==========================
- Fucntions Of Accuracy
- ========================== */
- double accuracy1(double a, double b, int n){
- double Eps;
- cout << "Введите точность: ";
- cin >> Eps;
- for(int i = 0; i < n; i++){
- if(abs(meth1(a, b, n + 1) - meth1(a, b, n)) <= Eps)
- return meth1(a, b, n);
- else n++;
- }
- return 0;
- }
- double accuracy2(double a, double b, int n)
- {
- double Eps;
- cout << "Введите точность: ";
- cin >> Eps;
- for(int i = 0; i < n; i++){
- if(abs(meth2(a, b, n + 1) - meth2(a, b, n)) <= Eps)
- return meth2(a, b, n);
- else n++;
- }
- return 0;
- }
- double accuracy3(double a, double b, int n)
- {
- double Eps;
- cout << "Введите точность: ";
- cin >> Eps;
- for(int i = 0; i < n; i++){
- if(abs(meth3(a, b, n + 1) - meth3(a, b, n)) <= Eps)
- return meth3(a, b, n);
- else n++;
- }
- return 0;
- }
- double accuracy4(double a, double b, int n)
- {
- double Eps;
- cout << "Введите точность: ";
- cin >> Eps;
- for(int i = 0; i < n; i++){
- if(abs(meth4(a, b, n + 1) - meth4(a, b, n)) <= Eps)
- return meth4(a, b, n);
- else n++;
- }
- return 0;
- }
- int main()
- {
- double a, b;
- int n = 1;
- /* ==========================
- First Integral
- ========================== */
- cout << "Введите начало промежутка: ";
- cin >> a;
- while(a <= 0){
- cout << "Введите начало промежутка > 0: ";
- cin >> a;
- }
- cout << "\n";
- cout << "Введите конец промежутка: ";
- cin >> b;
- while(b <= 0){
- cout << "Введите конец промежутка > 0: ";
- cin >> b;
- }
- cout << "Первый интеграл равен, " << accuracy1(a, b, n) << endl;
- // End First
- cout << "\n\n";
- /* ==========================
- Second Integral
- ========================== */
- cout << "Введите a: ";
- cin >> a;
- while(a <= 0){
- cout << "Введите a > 0: ";
- cin >> a;
- }
- cout << "\n";
- cout << "Введите b: ";
- cin >> b;
- while(b <= 0){
- cout << "Введите b > 0: ";
- cin >> b;
- }
- cout << "Второй интеграл равен, " << accuracy2(a, b, n) << endl;
- // End Second
- cout << "\n\n";
- /* ==========================
- Third Integral
- ========================== */
- cout << "Введите a: ";
- cin >> a;
- while(a <= 0){
- cout << "Введите a > 0: ";
- cin >> a;
- }
- cout << "\n";
- cout << "Введите b: ";
- cin >> b;
- while(b <= 0){
- cout << "Введите b > 0: ";
- cin >> b;
- }
- cout << "Третий интеграл равен, " << accuracy3(a, b, n) << endl;
- // End Third
- cout << "\n\n";
- /* ==========================
- Fourth Integral
- ========================== */
- cout << "Введите a: ";
- cin >> a;
- while(a <= 0){
- cout << "Введите a > 0: ";
- cin >> a;
- }
- cout << "\n";
- cout << "Введите b: ";
- cin >> b;
- while(b <= 0){
- cout << "Введите b > 0: ";
- cin >> b;
- }
- cout << "Четвертый интеграл равен, " << accuracy4(a, b, n) << endl;
- // End Fourth
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement