Поправить прогу,метод Эйлера - Pascal
Формулировка задачи:
Помогите поправить код,в долгу не останусь)
нужно методом Эйлера получить значения в пределах [0;2] с шагом h=0,1 . y(0)=1
ур-е
y'-2y/(1+x)=((1+x)^2)*e^x
точное решение{ y(x)=((1+x)^2)*e^x }
Код Pascal
del
тему можно удалить!
Решение задачи: «Поправить прогу,метод Эйлера»
textual
Листинг программы
program eiler; function fxy(x, y: Real): Real; begin fxy :=exp(ln(2.71)*x)*((1+x)*(1+x))+(2*y)/(1+x); end; const yo=1; var x, m,a,b,h: Real; i,n: integer; begin writeln('vvedite a= ' , 'vvedite b= ' , 'vvedite h= ' ); readln(a,b,h); n:= trunc((b-a)/h)+1; Writeln('x':4, 'y':4); x:= a; m:= 1; for i := 1 to n do begin Writeln (x:5:2 , m:5:2); m:= m + h * fxy(x,m); x := x + h; end; end.
Объяснение кода листинга программы
- Написан код на языке Pascal.
- Определена функция fxy(x, y: Real): Real, которая вычисляет значение функции по координатам x и y.
- Задана константа yo=1.
- Заданы переменные x, m, a, b, h: Real; i, n: integer;.
- Выводится сообщение с приглашением ввести значения a, b и h.
- Считываются значения a, b и h.
- Вычисляется значение n как количество отрезков между a и b, которые можно поместить в интервал h.
- Выводится сообщение с приглашением вывести значения x и m.
- Переменная x инициализируется значением a.
- Переменная m инициализируется значением 1.
- Запускается цикл for i := 1 to n do, который выполняется n раз.
- Внутри цикла выводится сообщение с приглашением вывести значения x и m.
- Вычисляется значение m как сумма h умноженное на значение функции fxy(x,m) и прибавленное к m.
- Значение x увеличивается на h.
- Цикл завершается.
- Код завершается.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д