Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.79/19: Рейтинг темы: голосов - 19, средняя оценка - 4.79
0 / 0 / 1
Регистрация: 09.09.2009
Сообщений: 44
1

Задача на метод деления пополам и метод итераций

20.09.2009, 11:55. Показов 3641. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Определить аналитическим путем точное решение данного уравнения:
a*x+b=0 на отрезке -5≤x≤5. Принять при этом a=-0.5, b=-1.
Решить это уравнение методом половинного деления отрезка пополам и методом итераций с использованием процедурного программирования. Точность решения (погрешность) задавать с ряда: 0.1; 0.05; 0.001.Перед использованием метода итерации проверить условие совпадения процесса решения уравнения этим методом.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.09.2009, 11:55
Ответы с готовыми решениями:

Задача в паскале Метод хорд.Ньютона и деления отрезка пополам.
Найти корни уравнения f(x)=0,с точностью 0,001 2ln(x)-x/2+1 Help! Нужна програма в паскале.

метод деления отрезка по пополам
2.2x −2x =0 Сделайте пожалуйста,если я что то нарушил извиняюсь...можно же задавать такие...

Метод деления отрезка пополам
Дано действительное положительное число e (эпсилон). Методом деления отрезка пополам найти...

Найти максимальный элемент в массиве используя метод деления пополам
Плиз хэлп ми!!!! В понедельник экзамен а я эту долбаную лабу всё ещё не сдал!!!! И Хз как её...

1
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
20.09.2009, 12:35 2
Лучший ответ Сообщение было отмечено Nissan как решение

Решение

Вот программа почти как Ваша. Смените уравнение, добавите что там по условию, думаю решить это уравнение аналитически Вам под силу.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
uses crt;
function F(a,b,c,x:real):real;
begin
F:=b*(1-exp(-a*x))-c;
end;
procedure Dihot(a,b,c,xn,xk,e:real;var x:real);
var xs:real;
begin
repeat
 xs:=(xn+xk)/2;
 if F(a,b,c,xn)*F(a,b,c,xs)<=0 then xk:=xs
 else xn:=xs;
until xk-xn<e;
x:=(xn+xk)/2;
writeln('Метод деления отрезка пополам:');
writeln('x=',x:9:6);
end;
procedure Iter(a,b,c,xn,xk,e:real;var x:real);
var x1,x2,f1,f2:real;
    n,i:longint;
begin
{Метод итераций}
n:=round((xk-xn)/e);
x1:=xn; f1:=F(a,b,c,x1);
for i:=1 to n do
  begin
   x2:=x1+(xk-xn)/n;
   f2:=F(a,b,c,x2);
   if f1*f2 <= 0 then
    begin
     writeln('Метод итераций:');
     writeln('x=',(x2 + x1)/2:9:6);
    end;
   x1:=x2; f1:=f2;
  end;
end;
 
var a,b,c,xn,xk,x,e:real;
begin
clrscr;
a:=0.2;b:=2;c:=1;
xn:=-1;xk:=5;
if F(a,b,c,xn)=0 then
  begin
     writeln('x=xn=',a:9:6);
     readln;
     exit;
  end;
if F(a,b,c,xk)=0 then
   begin
     writeln('x=xk=',b:9:6);
     readln;
     exit;
   end;
if F(a,b,c,xn)*F(a,b,c,xk)>0 then
  begin
   writeLn('Границы интервала заданы некорректно!');
   readln;
   exit;
  end;
writeln('F(x)=b*(1-exp(-a*x))-c');
writeln('a=0.2; b=2; c=1');
writeln;
writeln('Точность = 0.1: ');
e:=0.1;
Dihot(a,b,c,xn,xk,e,x);
Iter(a,b,c,xn,xk,e,x);
writeln;
writeln('Точность = 0.05: ');
e:=0.05;
Dihot(a,b,c,xn,xk,e,x);
Iter(a,b,c,xn,xk,e,x);
writeln;
writeln('Точность = 0.001: ');
e:=0.001;
Dihot(a,b,c,xn,xk,e,x);
Iter(a,b,c,xn,xk,e,x);
readln
end.
1
20.09.2009, 12:35
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.09.2009, 12:35
Помогаю со студенческими работами здесь

Решение уравнения методом итераций и стандартного деления пополам
Помогите пожалуйста решить уравнение с применением процедурного программирования методом итераций и...

Задача на алгоритм деления пополам.
Таблица выигрышей лотореи представлена массивом выигравших номеров А1,...,Аn и массивом выигрышей в...

метод итераций
Найти решение систем линейных алгебраических уравнений Ax=b методом итераций с точностью ε =...

Метод итераций
У меня беда в данной программе, при области допустимых значений он выдаёт аж 36. Вот ссылка -...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru