Задача 13(3) (Программы 3)
Описание файла
Файл "Задача 13(3)" внутри архива находится в папке "Программы 3". Документ из архива "Программы 3", который расположен в категории "". Всё это находится в предмете "практика расчётов на пэвм" из 2 семестр, которые можно найти в файловом архиве МГУ им. Ломоносова. Не смотря на прямую связь этого архива с МГУ им. Ломоносова, его также можно найти и в других разделах. .
Онлайн просмотр документа "Задача 13(3)"
Текст из документа "Задача 13(3)"
Option Strict On
Imports System.IO
Module Module1
Const m As Double = 1
Function dU(ByVal x As Double) As Double
Return (-2 * Math.Exp(-x) * (1 - Math.Exp(-x))) / m
End Function
Function U(ByVal x As Double) As Double
Return (1 - Math.Exp(-x)) ^ 2
End Function
Sub Main()
Dim t0 As Double = 0
Dim tk As Double = 30
Dim h As Double = 0.001
Dim n As Double = 0
Dim k As Double = 0
Dim i As Integer
Dim vel As Double = 0
Dim x(CInt((tk - t0) / h)) As Double
Dim v(CInt((tk - t0) / h)) As Double
Dim text As StreamWriter = New StreamWriter("13.csv")
Console.WriteLine("введите x")
x(0) = CDbl(Console.ReadLine())
v(0) = 0
text.WriteLine("t;x(i);v(i)")
For t = t0 To tk Step h
i = CInt(t / h)
If t = 0 Then
text.WriteLine("{0};{1};{2}", t, x(0), v(0))
Else
x(i) = x(i - 1) + h * v(i - 1)
v(i) = v(i - 1) + h * dU(x(i - 1))
text.WriteLine("{0};{1:F14};{2:F14}", t, x(i), v(i))
If v(i) / v(i - 1) < 0 Then
k = n + k
n = n + 1
vel = vel + t
End If
End If
Next t
Console.WriteLine("T = {0}", vel / k * 2)
text.WriteLine("{0}", vel / k * 2)
text.Close()
Console.ReadLine()
End Sub
End Module