Найти минимум функции - PascalABC.NET
Формулировка задачи:
Помогите пожалуйста составить программу для данной задачи в паскале.
Найти минимум функции y=(log2(|x|+2))^3-cos(a^b)-c*(x)^1.8 на отрезке xэ[3;33] h=3, a=3,b=2
с=3
Решение задачи: «Найти минимум функции»
textual
Листинг программы
const xn=3;
xk=33;
h=3;
a=3;
b=2;
c=3;
function f(x:integer):real;
begin
f:=power(ln(abs(x)+2)/ln(2),3)-cos(power(a,b))-c*power(x,1.8);
end;
var x:integer;
min:real;
begin
x:=xn;
min:=F(x);
while x<=xk do
begin
writeln('x=',x:2,' y=',f(x):8:2);
if f(x)<min then min:=f(x);
x:=x+h;
end;
write('Минимум=',min:0:2);
end.
Объяснение кода листинга программы
- В начале кода объявляются константы
xn,xk,h,a,b,cи функцияf(x: integer: real). - Функция
f(x: integer: real)вычисляет значение функции для числаx. - Далее объявляется переменная
xтипаintegerи переменнаяminтипаreal. - Переменная
xинициализируется значениемxn, а переменнаяminинициализируется значениемF(x). - Затем в цикле
whileпроисходит увеличение переменнойxнаhи выводится текущее значениеxи значение функцииf(x). - Если значение функции
f(x)меньше текущего значенияmin, то переменнойminприсваивается значениеf(x). - После выхода из цикла
whileвыводится значениеmin. - Значения переменных
xn,xk,h,a,b,cиminмогут быть изменены для получения других результатов.