#include <iostream>
#include <cmath>
using namespace std;
// funkcja f(x)
double f(double x)
{
return sin(x);
}
// metoda prostokątów (lewe prostokąty)
double metodaProstokatow(double a, double b, int n)
{
double dx = (b - a) / n;
double x = a;
double S = 0.0;
for (int i = 1; i <= n; i++)
{
S += dx * f(x);
x += dx;
}
return S;
}
int main()
{
double a = 1.0;
double b = 3.0;
int N1 = 10;
int N2 = 100;
double S1 = metodaProstokatow(a, b, N1);
double S2 = metodaProstokatow(a, b, N2);
cout << "f(x) = sin(x)" << endl;
cout << "Przedzial [1, 3]" << endl;
cout << "N1 = " << N1 << " S1 = " << S1 << endl;
cout << "N2 = " << N2 << " S2 = " << S2 << endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Y21hdGg+Cgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKLy8gZnVua2NqYSBmKHgpCmRvdWJsZSBmKGRvdWJsZSB4KQp7CiAgICByZXR1cm4gc2luKHgpOwp9CgovLyBtZXRvZGEgcHJvc3Rva8SFdMOzdyAobGV3ZSBwcm9zdG9rxIV0eSkKZG91YmxlIG1ldG9kYVByb3N0b2thdG93KGRvdWJsZSBhLCBkb3VibGUgYiwgaW50IG4pCnsKICAgIGRvdWJsZSBkeCA9IChiIC0gYSkgLyBuOwogICAgZG91YmxlIHggPSBhOwogICAgZG91YmxlIFMgPSAwLjA7CgogICAgZm9yIChpbnQgaSA9IDE7IGkgPD0gbjsgaSsrKQogICAgewogICAgICAgIFMgKz0gZHggKiBmKHgpOwogICAgICAgIHggKz0gZHg7CiAgICB9CgogICAgcmV0dXJuIFM7Cn0KCmludCBtYWluKCkKewogICAgZG91YmxlIGEgPSAxLjA7CiAgICBkb3VibGUgYiA9IDMuMDsKCiAgICBpbnQgTjEgPSAxMDsKICAgIGludCBOMiA9IDEwMDsKCiAgICBkb3VibGUgUzEgPSBtZXRvZGFQcm9zdG9rYXRvdyhhLCBiLCBOMSk7CiAgICBkb3VibGUgUzIgPSBtZXRvZGFQcm9zdG9rYXRvdyhhLCBiLCBOMik7CgogICAgY291dCA8PCAiZih4KSA9IHNpbih4KSIgPDwgZW5kbDsKICAgIGNvdXQgPDwgIlByemVkemlhbCBbMSwgM10iIDw8IGVuZGw7CgogICAgY291dCA8PCAiTjEgPSAiIDw8IE4xIDw8ICIgIFMxID0gIiA8PCBTMSA8PCBlbmRsOwogICAgY291dCA8PCAiTjIgPSAiIDw8IE4yIDw8ICIgIFMyID0gIiA8PCBTMiA8PCBlbmRsOwoKICAgIHJldHVybiAwOwp9Cg==