Вычислить значения y, соответствующие каждому значению x (xn≤x≤xk, dx) по формуле: y=e−xsin(x),∣x∣≤a e−x2cos(x - PascalABC.NET
Формулировка задачи:
Вычислить значения y, соответствующие каждому значению x
(xn≤x≤xk, dx) по формуле:
y=e−xsin(x),∣x∣≤a
e−x2cos(x),∣x∣>a
Найти максимальное и минимальное значение у.
Входные данные: xn, xk, dx, a.
Выходные данные: множество значений у, ymax — максимальное значение у,
ymin — минимальное значение у.
пожалуйста)))) спасибо
Решение задачи: «Вычислить значения y, соответствующие каждому значению x (xn≤x≤xk, dx) по формуле: y=e−xsin(x),∣x∣≤a e−x2cos(x»
textual
Листинг программы
//для нахождения макс и мин удобнее выражение описать функцией function f(a,x:real):real; begin if abs(x)<=a then f:=exp(1)-x*sin(x) else f:=exp(1)-x*2*cos(x); end; var x,a,xn,xk,dx,y,min,max:real; begin write('a='); readln(a); write('Начало интервала xn='); readln(xn); repeat write('Введите конец интервала xk>',xn:0:1,' xk='); readln(xk); until xk>xn; repeat write('Введите шаг табуляции dx<',xk-xn:0:2,' dx='); readln(dx); until dx<xk-xn; x:=xn; min:=f(a,x); max:=min; while x<xk+dx/2 do begin y:=f(a,x); writeln('x=',x:5:2,' y=',y:7:3); if y>max then max:=y else if y<min then min:=y; x:=x+dx; end; writeln('Максимум=',max:0:3); write('Минимум=',min:0:3); end.
Объяснение кода листинга программы
- Объявлены переменные: a, x, xn, xk, dx, y, min, max - типа real.
- Ввод значений переменных:
- a - с помощью функции readln() из диапазона (0;+∞)
- xn, xk - с помощью функции readln() из диапазона (−∞;+∞)
- dx - с помощью функции readln() из диапазона (0;xk-xn]
- Вычисление значений функции f(a,x) для x=xn и x=xk:
- если abs(x)<=a, то f(a,x)=exp(1)-x*sin(x)
- если abs(x)>a, то f(a,x)=exp(1)-2xcos(x)
- Вывод на экран значений x, y и значений функции f(a,x) с шагом dx.
- Вычисление максимального и минимального значений функции f(a,x) в интервале [xn;xk].
- Вывод на экран значений max и min.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д