Задача 10.1(2) (Программы 3)
Описание файла
Файл "Задача 10.1(2)" внутри архива находится в папке "Программы 3". Документ из архива "Программы 3", который расположен в категории "". Всё это находится в предмете "практика расчётов на пэвм" из 2 семестр, которые можно найти в файловом архиве МГУ им. Ломоносова. Не смотря на прямую связь этого архива с МГУ им. Ломоносова, его также можно найти и в других разделах. .
Онлайн просмотр документа "Задача 10.1(2)"
Текст из документа "Задача 10.1(2)"
Option Strict On
Module Module1
Function u(ByVal x As Double, ByVal y As Double) As Double
Return y + x
End Function
Function f(ByVal x As Double) As Double
Return Math.E ^ x - x - 1
End Function
Sub Main()
Dim xs, ys, xs1, r As String
Dim x, y, xk, sx, q, k1, k2, k3, k4 As Double
Dim n As Double
Console.WriteLine()
Console.WriteLine(" Введите начало отрезка и значение функции в нем: ")
Console.Write(" x0 = ")
xs = Console.ReadLine()
x = Double.Parse(xs)
Console.Write(" y0 = ")
ys = Console.ReadLine()
y = Double.Parse(ys)
Console.WriteLine(" Введите конец отрезка и шаг интегрирования на нем: ")
Console.Write(" x кон. = ")
xs1 = Console.ReadLine()
xk = Double.Parse(xs1)
Console.Write(" шаг по x = ")
r = Console.ReadLine()
sx = Double.Parse(r)
Console.WriteLine()
Console.WriteLine()
Console.WriteLine("--------------------------------------------------------------------------------")
Console.WriteLine(" Начальное условие: x0 = {0}, y0 = {1}", x, y)
Console.WriteLine()
Console.WriteLine(" x кон. = {0} шаг по x: {1}", xk, sx)
Console.WriteLine()
Console.WriteLine(" x м-д Эйлера Метод Рунге-Кутта Точное значение Погрешность")
Console.WriteLine("_________________________________________________________________________")
n = (xk - x) / sx
For i As Double = 0 To n Step 1
Console.WriteLine(" {0:F1} {1:F4} {2:F4} {3:F4} {4:F4} ", x + sx * i, y, q, f(x + sx * i), f(x + sx * i) - y)
y = y + sx * u(x + sx * i, y)
k1 = sx * u(x + sx * i, q)
k2 = sx * u(x + sx * i + sx / 2, q + k1 / 2)
k3 = sx * u(x + sx * i + sx / 2, q + k2 / 2)
k4 = sx * u(x + sx * i + sx, q + k3)
q = q + 1 / 6 * (k1 + 2 * k2 + 2 * k3 + k4)
Next i
Console.ReadLine()
End Sub
End Module