![]() |
|
|
|
|
#1
|
|||
|
|||
|
Помогите пожалуйста со 2-ым заданием. Вообщем нужно завтра сдать лаб. раб., но я ни как не могу понять 2-ое задание.
1)Процедура Вывести в порядке возрастания их кодов все строчные буквы латинского алфавита, имеющиеся в тексте. Эту сделал. 2)Функция Уточнить корень уровнения e^x-10x=0 на отрезке [a, b] методом половинного деления. Это я вообще даже приблизительно не понимаю как сделать, и не успеваю. 3) Процедуру подключить как Unit, а функцию как отдельную библиотеку dll. Это я думаю что сделаю. Помогите пожалуйста. |
|
#2
|
||||
|
||||
|
Метод половинного деления вообще самый простой.
1. Подставляешь в уравнение a и b вместо x - если на отрезке есть решение и оно 1 (в общем случае - нечетное количество решений, но это лирика), то а будет больше нуля, а b - меньше (ну или наоборот, не суть важна, главное был переход через 0). 2. Делишь отрезок пополам a<c<b, получаешь 2 отрезка a,c и c,b. Проверяешь оба как в п.1, на одном будет переход через 0, на другом не будет. Затем опять делишь тот отрезок где есть переход через 0 и проверяешь полученную пару, так до тех пор пока отрезок у тебя не станет меньше какой-то заданной длины. |
| Этот пользователь сказал Спасибо Aristarh Dark за это полезное сообщение: | ||
Swd (28.05.2012)
| ||
|
#3
|
|||
|
|||
|
Спасибо, ещё бы понять как это в код преобразовать
Может кто-нибудь сможет написать код к этой функции? Пожалуйста Последний раз редактировалось Swd, 28.05.2012 в 20:15. |
|
#4
|
|||
|
|||
|
Завтра сдавать, помогите пожалуйста
|
|
#5
|
|||
|
|||
|
Цитата:
Ну что-то типа: Код:
function F(x : Double) : Double;
begin
// Здесь твоя функция
end;
function FindSolution(a, b, e : Double) : Double;
var
Fa, Fb, Fc : Double;
begin
Repeat
Fa := F(a);
Fb := F(b);
Fc := F((a+b)/2);
If Sigh(Fa) = Sign(Fc) Then a := (a+b)/2 Else b := (a+b)/2;
Until Abs(Fc) < Abs(e);
end;Здесь нет проверки, что решение существует. e - искомая точность. Лучше всего задавать отличной от 0, хотя и можно достаточно маленькой. |
| Этот пользователь сказал Спасибо lmikle за это полезное сообщение: | ||
Swd (30.05.2012)
| ||