#include <iostream>
#include <cmath>
using namespace std;
// Funkcja f(x) = sin(x)
double f(double x)
{
return sin(x);
}
// Metoda prostokątów (lewych)
double metodaProstokatow(double a, double b, int n)
{
double dx = (b - a) / n;
double s = 0.0;
double x = a;
for (int i = 1; i <= n; i++)
{
s = s + dx * f(x);
x = x + dx;
}
return s;
}
int main()
{
double A1 = 0.0;
double B1 = 3.14;
int N1 = 10;
double a2 = 0.0;
double b2 = 3.14;
int N2 = 100;
double s1 = metodaProstokatow(A1, B1, N1);
double s2 = metodaProstokatow(a2, b2, N2);
cout << "Wynik dla N1 = 10: " << s1 << endl;
cout << "Wynik dla N2 = 100: " << s2 << endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Y21hdGg+Cgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKLy8gRnVua2NqYSBmKHgpID0gc2luKHgpCmRvdWJsZSBmKGRvdWJsZSB4KQp7CiAgICByZXR1cm4gc2luKHgpOwp9CgovLyBNZXRvZGEgcHJvc3Rva8SFdMOzdyAobGV3eWNoKQpkb3VibGUgbWV0b2RhUHJvc3Rva2F0b3coZG91YmxlIGEsIGRvdWJsZSBiLCBpbnQgbikKewogICAgZG91YmxlIGR4ID0gKGIgLSBhKSAvIG47CiAgICBkb3VibGUgcyA9IDAuMDsKICAgIGRvdWJsZSB4ID0gYTsKCiAgICBmb3IgKGludCBpID0gMTsgaSA8PSBuOyBpKyspCiAgICB7CiAgICAgICAgcyA9IHMgKyBkeCAqIGYoeCk7CiAgICAgICAgeCA9IHggKyBkeDsKICAgIH0KCiAgICByZXR1cm4gczsKfQoKaW50IG1haW4oKQp7CiAgICBkb3VibGUgQTEgPSAwLjA7CiAgICBkb3VibGUgQjEgPSAzLjE0OwogICAgaW50IE4xID0gMTA7CgogICAgZG91YmxlIGEyID0gMC4wOwogICAgZG91YmxlIGIyID0gMy4xNDsKICAgIGludCBOMiA9IDEwMDsKCiAgICBkb3VibGUgczEgPSBtZXRvZGFQcm9zdG9rYXRvdyhBMSwgQjEsIE4xKTsKICAgIGRvdWJsZSBzMiA9IG1ldG9kYVByb3N0b2thdG93KGEyLCBiMiwgTjIpOwoKICAgIGNvdXQgPDwgIld5bmlrIGRsYSBOMSA9IDEwOiAgIiA8PCBzMSA8PCBlbmRsOwogICAgY291dCA8PCAiV3luaWsgZGxhIE4yID0gMTAwOiAiIDw8IHMyIDw8IGVuZGw7CgogICAgcmV0dXJuIDA7Cn0K