Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Module Module1
- ' Практическая работа №6
- ' Выполнил: студент группы 2ПКС, Кошкаров И.В.
- ' Условие.
- ' Вычислить корень уравнения x+cos(x2.5+2.5) = 0
- Sub Main()
- ' Объвление строковых коонстат для сообщений
- Const StringExit As String = "выйти - любая другая клавиша."
- Const StringError As String = ControlChars.CrLf & "Ошибка: "
- Const StringReply As String = ControlChars.CrLf & "Если вы хотите повторить ввод значений" &
- "нажмите клавишу (п) " & StringExit
- Const StringConrt As String = ControlChars.CrLf &
- "Если вы хотите продолжить нажмите клавишу (д)" & StringExit
- ' Объявление переменных
- Dim a, b, c, i, Ep As Double
- ' a,b - границы отрезка
- ' c - середина отрезка
- ' ep - точность вычислений
- Console.WriteLine("x+cos(|x|^0,52+2,5)")
- Start: ' Начало цикла всей программы
- i = 0
- Do ' Ввод исходных данных
- Try
- ' Ввод исходных данных
- Console.WriteLine("Введите a")
- a = Console.ReadLine()
- Console.WriteLine("Введите b")
- b = Console.ReadLine()
- 'Ep = 1.3 * 10 ^ -4
- Console.WriteLine("Введите точность")
- Ep = Console.ReadLine()
- Exit Do
- ' Проверка на все ошибки при вводе данных
- Catch ex As Exception
- Console.WriteLine(StringError & ex.Message & StringReply)
- If Console.ReadKey(True).Key <> ConsoleKey.G Then Exit Sub
- End Try
- Loop
- ' Цикл вычисления
- Do
- c = (a + b) / 2 ' Нахождение серидины отрезка
- ' Функция уравнения, вычисленная для значений A, C
- If (a + Math.Cos((Math.Abs(a) ^ (0.52)) + 2.5) * (c + Math.Cos((Math.Abs(c) ^ (0.52)) + 2.5)) < 0) Then
- b = c
- Console.WriteLine("1")
- Else
- a = c
- Console.WriteLine("2")
- c = (a + b) / 2
- End If
- ' Вывод промежуточного результата
- i = i + 1
- Console.WriteLine(c)
- ' Если длины отрезка больше Эпсилон, то повторить цикл
- Loop While Math.Abs(a - b) >= Ep
- ' Вывод конечного результата
- Console.Write("Корень уравненя: ")
- Console.WriteLine(c)
- Console.Write("Количество итераций: ")
- Console.WriteLine(i)
- Console.WriteLine(StringConrt)
- If Console.ReadKey(True).Key = ConsoleKey.L Then GoTo Start
- End Sub
- End Module
Add Comment
Please, Sign In to add comment