Дано уравнение f(x)=0. Найти с точностью E= 0,0001 корни этого урав-
нения (в случае нескольких корней - уточнить значение одного из них). Для
уточнения корней использовать методы: половинного деления (дихотомии),
хорд и касательных (комбинированный), простой итерации.
Другие языки программирования и технологии
Решение нелинейного уравнения 3^2+2x-3=0
Пока что это уравнение не только линейное, а еще и решаемое устно :)
2x=-6
P.S. С поправкой в комментарии
function f(x:real):real; begin f:=power(3,x)+2*x-3 end;
var a,b,c,e:real;
begin
a:=-10; b:=10; c:=0; e:=1e-6;
while(b-a>2*e)do begin c:=(a+b)/2; if(f(c)=0) then break; if f(a)*f(c)<0 then b:=c else a:=c; end;
writeln(c:0:6);
end.
2x=-6
P.S. С поправкой в комментарии
function f(x:real):real; begin f:=power(3,x)+2*x-3 end;
var a,b,c,e:real;
begin
a:=-10; b:=10; c:=0; e:=1e-6;
while(b-a>2*e)do begin c:=(a+b)/2; if(f(c)=0) then break; if f(a)*f(c)<0 then b:=c else a:=c; end;
writeln(c:0:6);
end.
Откуда в данном случае взяться нескольким корням, если в уравнении 3^х=3-2х слева стоит функция всюду возрастающая, а в правой -всюду убывающая? Здесь, конечно же, только один вещественный корень. И вообще, тут метод касательных Ньютона, да ещё, пожалуй, (с большой натяжкой) интервальный метод имеют хоть какое-то практическое значение, а все остальные перечисленные методы давно уже пора сдать в утиль:
uses crt;
const shag = 1e-4;
dvashaga = 2e-4; ln3 = ln(3);
var i: integer; x, xnew: real;
function f(x: real): real;
begin
f := exp(ln3 * x) + 2 * x - 3
end;
begin
textbackground(white);
clrscr();
textcolor(green);
write('x: ');
textcolor(brown);
readln(x);
for i := 1 to 30000 do
begin
xnew := x - f(x) * dvashaga /
(f(x + shag) - f(x - shag));
textcolor(red);
write(i: 5);
textcolor(blue);
writeln(xnew: 22: 16);
if (abs(xnew - x) < shag) then break
else x := xnew
end
end.
И ещё точность слабая. Бери любое число из диапазона, например, [-300; 300] в роли начального приближения и быстро получишь искомый корень с машинной точностью, а не с такой примитивной как ε=1e-4. Складывается такое впечатление, что то ли большинство методических материалов морально устарело, то ли многие преподаватели до сих пор живут в отдалённых от нас эпохах прошлого. Но это так -обшие рассуждения.

uses crt;
const shag = 1e-4;
dvashaga = 2e-4; ln3 = ln(3);
var i: integer; x, xnew: real;
function f(x: real): real;
begin
f := exp(ln3 * x) + 2 * x - 3
end;
begin
textbackground(white);
clrscr();
textcolor(green);
write('x: ');
textcolor(brown);
readln(x);
for i := 1 to 30000 do
begin
xnew := x - f(x) * dvashaga /
(f(x + shag) - f(x - shag));
textcolor(red);
write(i: 5);
textcolor(blue);
writeln(xnew: 22: 16);
if (abs(xnew - x) < shag) then break
else x := xnew
end
end.
И ещё точность слабая. Бери любое число из диапазона, например, [-300; 300] в роли начального приближения и быстро получишь искомый корень с машинной точностью, а не с такой примитивной как ε=1e-4. Складывается такое впечатление, что то ли большинство методических материалов морально устарело, то ли многие преподаватели до сих пор живут в отдалённых от нас эпохах прошлого. Но это так -обшие рассуждения.

Похожие вопросы
- Как будет выглядеть программа решения квадратного уравнения ax^2 + bx + c = 0 (Паскаль)???
- Програмисты, помогите! В Турбо Паскаль составить программу для решения квадратного уравнения(ax^2+bx=c)
- Сложное уравнение (ax+b)/(cx+d)=0 на Pascal
- Как перевести эти числа буду благодарен:1)0,2122(3)-?(10) 2)3,1415(10)-?(8) 3) 0,2122(8)-?(2) 4)0,1100011(2)-?(10) (((
- У меня есть char temp[100] = "2^2+3*2"; Теперь, мне нужно увидеть на экране результат этого уравнения (2^2+3*2).
- Дано n строк по 3 элемента (1 и 0), найти сколько строк имеет больше чем один знак 1. C++
- Решение квадратного уравнения через паскаль.
- А насколько сильно отличаются ActionScript 2.0 и ActionScript 3.0??
- может помочь мне написать программу на VBA? Благодарность не меньше 200р. Решение кубических уравнений!!!
- Решение Квадратного уравнения в VB
2х=-6?