Задача 8.4 (Программы 3)
Описание файла
Файл "Задача 8.4" внутри архива находится в папке "Программы 3". Документ из архива "Программы 3", который расположен в категории "". Всё это находится в предмете "практика расчётов на пэвм" из 2 семестр, которые можно найти в файловом архиве МГУ им. Ломоносова. Не смотря на прямую связь этого архива с МГУ им. Ломоносова, его также можно найти и в других разделах. .
Онлайн просмотр документа "Задача 8.4"
Текст из документа "Задача 8.4"
Option Strict On
Imports System.IO
Module Module1
Function x1(ByVal t As Double) As Double
Return 1 / (273.15 + t)
End Function
Function y1(ByVal B As Double, ByVal t As Double, ByVal k As Double, ByVal p As Double) As Double
Return B * Math.Log10(273.15 + t) + Math.Log10(k * p)
End Function
Sub Main()
Dim B, k, R, DHv As Double
B = 0.8403
k = 133.322
R = 8.31441
Dim N As Integer
Dim reader As StreamReader = New StreamReader("TextFile1.txt")
N = Integer.Parse(reader.ReadLine)
Dim x(N - 1) As Double
Dim y(N - 1) As Double
For i As Integer = 0 To N - 1
Dim line As String = reader.ReadLine
Dim semicolon As Integer = line.IndexOf(";")
x(i) = x1(Double.Parse(line.Substring(0, semicolon)))
y(i) = y1(B, Double.Parse(line.Substring(0, semicolon)), k, Double.Parse(line.Substring(semicolon + 1)))
Next i
Dim Xmean As Double = 0
Dim Ymean As Double = 0
For i As Integer = 0 To N - 1
Xmean = Xmean + x(i)
Ymean = Ymean + y(i)
Next i
Xmean = Xmean / N
Ymean = Ymean / N
Dim numerator As Double = 0
Dim denominator As Double = 0
Dim summXiYi As Double = 0
Dim summXi As Double = 0
Dim summYi As Double = 0
Dim summXi2 As Double = 0
Dim summYi2 As Double = 0
For i As Integer = 0 To N - 1
numerator = numerator + (x(i) - Xmean) * (y(i) - Ymean)
denominator = denominator + (x(i) - Xmean) ^ 2
summXiYi = summXiYi + x(i) * y(i)
summXi = summXi + x(i)
summYi = summYi + y(i)
summXi2 = summXi2 + x(i) ^ 2
summYi2 = summYi2 + y(i) ^ 2
Next i
reader.Close()
Dim C As Double = numerator / denominator
Dim A As Double = Ymean - C * Xmean
Dim korr As Double = Math.Abs(N * summXiYi - summXi * summYi) / Math.Sqrt((N * summXi2 - (summXi) ^ 2) * (N * summYi2 - summYi ^ 2))
Console.WriteLine(" Уравнение прямой:")
Console.WriteLine()
Console.WriteLine(" Y= {0:F6} * X + {1:F6}", C, A)
Console.WriteLine()
Console.WriteLine()
Console.WriteLine(" Коэффициент корреляции: r = {0:f4}", korr)
Console.WriteLine()
Console.WriteLine(" ------------------------------------------------------")
Console.WriteLine()
Console.WriteLine(" i Xi 1/Xi Yi A*Xi+B Delta")
Console.WriteLine()
Dim reader2 As StreamReader = New StreamReader("TextFile1.txt")
Dim N2 As Integer = Integer.Parse(reader2.ReadLine)
Dim x2(N - 1) As Double
Dim y2(N - 1) As Double
For i As Integer = 0 To N - 1
Dim line2 As String = reader2.ReadLine
Dim semicolon2 As Integer = line2.IndexOf(";")
x2(i) = x1(Double.Parse(line2.Substring(0, semicolon2)))
y2(i) = y1(B, Double.Parse(line2.Substring(0, semicolon2)), k, Double.Parse(line2.Substring(semicolon2 + 1)))
Console.WriteLine(" {0,2:f0} {1,7:f2} {2:f5} {3:f4} {4:f4} {5,9:F6}", i + 1, 1 / x2(i), x2(i), y2(i), C * (x2(i)) + A, y2(i) - (C * (x2(i)) + A))
Next i
DHv = -C * R * Math.Log(10)
Console.WriteLine()
Console.WriteLine("DHv = {0,1:f1}", DHv)
Console.ReadLine()
End Sub
End Module