Определить знак произведения функции - Pascal
Формулировка задачи:
Ребят, не могли бы помочь?
Есть задача: определить знак произведения функции y=(3-sin2x)cos(x/3) на интервале изменения аргумента от Xn до Xk с шагом h.
Я сначала не понял задачу и написал её так:
(программа полностью работает,но она не доделана получается. Нужно, чтобы в конце все значения y перемножились и вывелось название знака). В общем ребят не могли бы подправить, сам чет не допру никак, что нужно изменить. А мне срочно эта задача нужна!!! Заранее спасибо огромное!
var x,xn,xk,h,y:double;
begin
Writeln('Введите начальное значение переменной xn : ');
Readln(xn);
Writeln('Введите конечное значение переменной xk : ');
Readln(xk);
Writeln('Введите шаг h : ');
Readln(h);
x:=xn;
While x<=xk do
begin
y:=(3-sin(2*x))*cos(x/3);
Writeln('x = ',x,' y = ',y);
If y>0 then
writeln ('Знак функции ПЛЮС');
If y<0 then
writeln ('Знак функции МИНУС');
x:=x+h;
end;
end.Решение задачи: «Определить знак произведения функции»
textual
Листинг программы
var x,xn,xk,h,y:double;
begin
Writeln('Введите начальное значение переменной xn : ');
Readln(xn);
Writeln('Введите конечное значение переменной xk : ');
Readln(xk);
Writeln('Введите шаг h : ');
Readln(h);
x:=xn;
y:=1;
While x<=xk do
begin
y:=y*(3-sin(2*x))*cos(x/3);
x:=x+h;
end;
writeln('y=',y:0:2) ;//можно выводить можно нет
if y<0 then
writeln ('Знак функции МИНУС')
else if y>0 then writeln ('Знак функции ПЛЮС')
else writeln('Значение функции=0');
end.
Объяснение кода листинга программы
- Объявление переменных:
x,xn,xk,h,y- переменные типа double (числа с плавающей запятой)
- Вывод сообщения и ввод значений:
- Выводится сообщение
Введите начальное значение переменной xn :, после чего пользователь вводит значение, которое сохраняется в переменнуюxn. - Аналогично, выводится сообщение
Введите конечное значение переменной xk :, после чего пользователь вводит значение, которое сохраняется в переменнуюxk. - Затем выводится сообщение
Введите шаг h :, и пользователь вводит значение, которое сохраняется в переменнуюh.
- Выводится сообщение
- Вычисление функции и определение знака произведения:
- Устанавливается значение переменной
xравнымxn. - Затем переменной
yприсваивается значение 1. - Запускается цикл
While, который выполняется пока переменнаяxменьше или равнаxk. - Внутри цикла значение переменной
yумножается на выражение(3-sin(2*x))*cos(x/3). - Затем переменной
xприбавляется значениеh. - После выхода из цикла выводится значение
yс точностью до двух знаков после запятой. - Затем происходит проверка значения переменной
y:- Если
yменьше 0, выводится сообщениеЗнак функции МИНУС. - В противном случае, если
yбольше 0, выводится сообщениеЗнак функции ПЛЮС. - Иначе выводится сообщение
Значение функции=0.
- Если
- Устанавливается значение переменной