- Список рубрик
- Теги этой статьи
- Новые статьи на сайте
- Самые популярные статьи
- Последние новости
Pascal. Нахождение корней функции методом последовательного перебора
Добрый день дорогие читатели. В статье описывается решение задачи "Нахождение корней функции x * x - sin(x) - 0.25 методом последовательного перебора" написанние на языке программирования Turbo Pascal 7.0 (Borland Pascal 7.0).
Метод перебора (метод равномерного поиска, перебор по сетке) — простейший из методов поиска значений действительно-значных функций по какому-либо из критериев сравнения (на максимум, на минимум, на определённую константу). Применительно к экстремальным задачам является примером прямого метода условной одномерной пассивной оптимизации.
Привожу результирующий исходный код программы:
Program B_18; {Метод последовательного перебора}
Uses
crt;
Var
Xn, Xk, dx, y, x : real;
f, f1, i : boolean;
Begin
clrscr;
write('Введите нижнюю границу интервала:');
readln(Xn);
write('Введите верхнюю границу интервала:');
readln(Xk);
write('Введите шаг расчета dx =');
readln(dx);
writeln;
x := Xn;
y := x * x - sin(x) - 0.25; {Hач. значение функции}
i := False; {флаг наличия хоть одного корня}
if y < 0 {Установка флага начального знака ф-ции Y}
then f := True
else f := False;
f1 := f;
x := Xn + dx;
while x < Xk do
begin
y := x * x - sin(x) - 0.25; {Расчет ф-ции y}
if y < 0 {Установка флага текущего знака ф-ции Y}
then f1 := True
else f1 := False;
if f <> f1 {Проверка смены ф-цией Y знака}
then
begin {найден корень}
writeln('Корень уравнения X=', x - dx / 2:6:4);
F := F1;
i := True;
end;
x := x + dx;
end;
if not i
then writeln('В данном интервале корни не найдены.');
End.
Вот и всё, данная программа составлялась мною ещё в конце 90-ых годов при учёбе в Приазовском Государственном Техническом Университете.
Автор: Попов Вадим
Теги этой статьи
Launch the License Manager from the bin folder (by default “C:/Program Files (x86)/Embarcadero/Studio/23.0/bin/LicenseManager.exe“) and delete any trial or beta (Test Field) license that you...
Карта разрушений и жертв российской агрессии в городе Мариуполь, на карте отмечены более 2000 пострадавших домов. На карте отмечены не только фото домов, но свидетельства их жителей, а так же место боевых...
Из-за военных событий 2014 года в Донецке тренер по плаванию Алексей Снежко и его жена вынужденно переехали в Киев. А теперь, в 2022-м, 33-летний Алексей потерял обоих родителей в Мариуполе. Как пережить...