НАПИШИТЕ ПРОГРАММУ Необходимо вычислить площадь криволинейной трапеции, ограниченной квадратной параболой, а также точность – величину, на которую истинное значение может отличаться от вычисленного нами. Задаются коэффициенты параболы, правая и левая границы, а также N – количество элементарных трапеций, на которые мы разбиваем криволинейную трапецию. Выводится вычисленное значение площади и точность
В задаче есть проблема. Тем методом, что описан в учебнике, точность можно определить только при условии монотонности функции. Но квадратная парабола не монотонна. Проблема решается Нужно найти участки монотонности, применить метод к ним по-отдельности и сложить результаты.
Ниже находится «рыба» для программы. Вместо многоточий вы можете описать дополнительные переменные, ну и собственно программу.
Program xxx;
Var
a,b,c:real;
x1,x2:real;
N:integer;
S,e:real;
…
Begin
Write(‘Введите коэффициенты параболы’);
Read(a,b,c);
Write(‘Введите границы интервала’);
Read(x1,x2);
Write(‘Введите N’);
Read(N);
…
Write(‘Площадь:’, S, ‘ Точность:’, e);
End.
// PascalABC.NET 3.6.3
uses School;
function Divizors(n: integer): List<integer>;
begin
var L := new List<integer>;
L.Add(1);
L.Add(n);
if n > 3 then
begin
var k := 2;
while (k * k <= n) and (k < 46341) do
begin
if n mod k = 0 then
begin
var t := n div k;
L.Add(k);
if k < t then L.Add(t)
else break
end;
Inc(k)
end;
L.Sort;
end;
Result := L
end;
begin
// 1
if ReadInteger.IsPrime then Println('YES')
else Println('NO');
// 2
ReadInteger.Factorize.First.Println;
// 3
var a := Divizors(ReadInteger);
Print(a.Count, a.Sum)
end.