Составление программы, вычисляющей ряд ln(x+1) - Visual Basic .NET

Узнай цену своей работы

Формулировка задачи:

Пишу программу, вычисляющую цикл с постусловием. Я думаю, что где-то я допустила ошибку.
Листинг программы
  1. Module Module1
  2. Sub Main()
  3. 'Объявление строковых констант для сообщений
  4. Const СтрокаВыйти As String = "выйти из программы - любая другая клавиша."
  5. Const СтрокаОшибка As String = ControlChars.CrLf & "Ошибка: "
  6. Const СообщениеПовторить As String = ControlChars.CrLf &
  7. "Если вы хотите повторить ввод значения " &
  8. "нажмите клавишу (п), " & СтрокаВыйти
  9. Const СообщениеПродолжить As String = ControlChars.CrLf &
  10. "Если вы хотите продолжить работу " &
  11. "нажмите клавишу (д), " & СтрокаВыйти
  12. Dim S As Double = 1, Sk, Epsilon As Double
  13. 'S - сумма членов рядов, Sk - k-ый член ряда, Epsilon - точность
  14. Dim k As Integer = 1 'Номер очередного члена
  15. Dim x As Integer = 1
  16. Do 'Начало цикла для повтора всей программы
  17. '1. Ввод исходных данных
  18. Try
  19. Console.WriteLine("Введите точность вычисления корня Эпсилон: ")
  20. Epsilon = Console.ReadLine()
  21. Console.WriteLine("Введите значение x: ")
  22. x = Console.ReadLine()
  23. Exit Do
  24. Catch ex As Exception
  25. Console.WriteLine(СтрокаОшибка & ex.Message & СообщениеПовторить)
  26. If Console.ReadKey(True).Key <> ConsoleKey.G Then Exit Sub
  27. End Try
  28. Loop 'Заверешение бесконечного цикла
  29. '2. Цикл накопления суммы и вычисления значения члена ряда
  30. Do
  31. k += 1
  32. Sk = (-1) ^ k + 1
  33. Sk = x ^ k / k
  34. S += Sk
  35. 'Пока член ряда не станет меньше Epsilon, повторять цикл
  36. Loop While Sk > Epsilon
  37. '3. Сумма членов ряда
  38. Console.WriteLine("Сумма членов рядов S = {0}", S)
  39. Console.WriteLine(СообщениеПродолжить)
  40. 'Завершение цикла для повтора всей программы
  41.  
  42. End Sub
  43. End Module

Решение задачи: «Составление программы, вычисляющей ряд ln(x+1)»

textual
Листинг программы
  1. Dim S As Double = 0
  2. Dim Epsilon As Double = 0.000001, Sk As Double
  3. Dim k As Integer = 1
  4. Dim x As Double = 0.5
  5. S = x
  6. Do
  7.     k += 1
  8.     Sk = (-1) ^ (k + 1) * (x ^ k / k)
  9.     S += Sk
  10. Loop While Math.Abs(Sk) > Epsilon
  11. MsgBox(Math.Log(1 + x).ToString & "     " & S.ToString)

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 3.167 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы