Вычислить значение функции для изменяющегося x от x1 до х2 с шагом h - PascalABC.NET
Формулировка задачи:
Задача:
Вычислить значения функции W=0,4*10^3*(sinx)^2, если 0<=x<=4 и w=0.5*10^(1.5)*x-10^2*e^sinx в остальных случаях. X изменяется от х1 до х2 с шагом h. х1=-5, х2=10, h=1.
Написал программу, но в ответе бесконечно считает w при х=-4. Подскажите, что не так?
Решение задачи: «Вычислить значение функции для изменяющегося x от x1 до х2 с шагом h»
textual
Листинг программы
program three; var x1,x2,w,h,x:real; begin x1:=-5; x2:=10; h:=1; x:=x1; while x<=x2 do begin if (0<=x)and(x<=4) then w:=0.4*10*10*10*sin(x) else w:=0.5*exp(ln(10)*1.5)*x-10*10*exp(sin(x)); writeln('W=',w,' x=',x); x:=x+h; end; end.
Объяснение кода листинга программы
В этом коде на языке PascalABC.Net вычисляется значение функции для изменяющегося x от x1 до х2 с шагом h.
- Сначала объявляются и инициализируются переменные:
- x1, x2 - начальные и конечные значения диапазона изменения x;
- h - шаг изменения x;
- x - текущее значение x;
- w - переменная для хранения вычисленного значения функции.
- Затем с помощью цикла while выполняется вычисление для каждого значения x в заданном диапазоне:
- Если x принадлежит интервалу [0..4], то вычисляется значение w по формуле 0.4101010sin(x).
- Если x не принадлежит интервалу [0..4], то вычисляется значение w по формуле 0.5exp(ln(10)1.5)x-1010*exp(sin(x)).
- Выводится на экран значение w и значение x.
- x увеличивается на h.
- Конец программы обозначается словом end.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д