shit_code

ПР4

Feb 16th, 2017
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.22 KB | None | 0 0
  1. Module Module1
  2. ' Практическая работа №6
  3. ' Выполнил: студент группы 2ПКС, Кошкаров И.В.
  4. ' Условие.
  5. ' Вычислить корень уравнения x+cos(x2.5+2.5) = 0
  6. Sub Main()
  7. ' Объвление строковых коонстат для сообщений
  8. Const StringExit As String = "выйти - любая другая клавиша."
  9. Const StringError As String = ControlChars.CrLf & "Ошибка: "
  10. Const StringReply As String = ControlChars.CrLf & "Если вы хотите повторить ввод значений" &
  11. "нажмите клавишу (п) " & StringExit
  12. Const StringConrt As String = ControlChars.CrLf &
  13. "Если вы хотите продолжить нажмите клавишу (д)" & StringExit
  14. ' Объявление переменных
  15. Dim a, b, c, i, Ep As Double
  16. ' a,b - границы отрезка
  17. ' c - середина отрезка
  18. ' ep - точность вычислений
  19. Console.WriteLine("x+cos(|x|^0,52+2,5)")
  20. Start: ' Начало цикла всей программы
  21. i = 0
  22. Do ' Ввод исходных данных
  23. Try
  24. ' Ввод исходных данных
  25. Console.WriteLine("Введите a")
  26. a = Console.ReadLine()
  27. Console.WriteLine("Введите b")
  28. b = Console.ReadLine()
  29. 'Ep = 1.3 * 10 ^ -4
  30. Console.WriteLine("Введите точность")
  31. Ep = Console.ReadLine()
  32.  
  33. Exit Do
  34. ' Проверка на все ошибки при вводе данных
  35. Catch ex As Exception
  36. Console.WriteLine(StringError & ex.Message & StringReply)
  37. If Console.ReadKey(True).Key <> ConsoleKey.G Then Exit Sub
  38. End Try
  39. Loop
  40. ' Цикл вычисления
  41. Do
  42. c = (a + b) / 2 ' Нахождение серидины отрезка
  43. ' Функция уравнения, вычисленная для значений A, C
  44. If (a + Math.Cos((Math.Abs(a) ^ (0.52)) + 2.5) * (c + Math.Cos((Math.Abs(c) ^ (0.52)) + 2.5)) < 0) Then
  45. b = c
  46. Console.WriteLine("1")
  47. Else
  48. a = c
  49. Console.WriteLine("2")
  50. c = (a + b) / 2
  51. End If
  52. ' Вывод промежуточного результата
  53. i = i + 1
  54. Console.WriteLine(c)
  55. ' Если длины отрезка больше Эпсилон, то повторить цикл
  56. Loop While Math.Abs(a - b) >= Ep
  57. ' Вывод конечного результата
  58. Console.Write("Корень уравненя: ")
  59. Console.WriteLine(c)
  60. Console.Write("Количество итераций: ")
  61. Console.WriteLine(i)
  62. Console.WriteLine(StringConrt)
  63. If Console.ReadKey(True).Key = ConsoleKey.L Then GoTo Start
  64. End Sub
  65.  
  66. End Module
Add Comment
Please, Sign In to add comment