Заданный отрезок делим на 10 частей с шагом 0,2 и находим значения функции в этих точках.
Выделяем промежутки, на которых значения функции имеют разные знаки.
№ a b fa fb x fx
1 -1 -0,8 10 3,28 -0,702381 0,784438776
2 -0,8 -0,6 3,28 -1,28 -0,656140 -0,218060942
3 -0,6 -0,4 -1,28 -3,68 -0,706667 0,8832
4 -0,4 -0,2 -3,68 -3,92 -3,466667 270,48
5 -0,2 0 -3,92 -2 0,208333 2,296875
6 0 0,2 -2 2,08 0,098039 -0,269896194
7 0,2 0,4 2,08 8,32 0,133333 0,48
8 0,4 0,6 8,32 16,72 0,201905 2,129240816
9 0,6 0,8 16,72 27,28 0,283333 4,4175
10 0,8 1 27,28 40 0,371069 7,283730865 .
Как видим, корни уравнения находятся на промежутках -0,8 -0,6 и 0 0,2.
По заданию надо найти положительный корень.
Применяем метод хорд.
Δ = b - a a fb b fa
0,2 0 2,08 0,2 -2
0,101960784 0,098039216 2,08 0,2 -0,269896
0,090250128 0,109749872 2,08 0,2 -0,028536
0,089028723 0,110971277 2,08 0,2 -0,002936
fb - fa x погрешность х2-х1 абс.погр.
4,08 0,098039216 - 0,111111111 точное значение
2,349896 0,109749872 0,0117 0,001361239
2,108536 0,110971277 0,0012 0,000139834
2,082936 0,111096767 0,0001 1,43442E-05.
С точностью 0,01 ответ 0,1097.
Поделитесь своими знаниями, ответьте на вопрос:
A»: а) заполните все элементы массива значением x , введённым с клавиатуры. ответ в кумире
y: System.uint64; //Большая цЫфра же и положительная
x, i: byte; //Нет смысла большие числа брать слишком, переполнение будет
begin
readln(x); //Принимаем число...
y := 1;
i := 1;
repeat
y *= i; //...и умножаем такое-то количество раз
i += 1;
until (i > x);
if (y = 0) then //Выводим, предусмотрев переполнение
writeln('Слишком большая цЫферка')
else
writeln(y);
end.
Int64 - это то же самое, что LongInt, а Uint64 (unsign long int) - длинное число без знака, при правильном использовании позволяет записывать в переменную числа, в 2 раза превышающие максимум Int64