Составление программы, вычисляющей ряд ln(x+1) - Visual Basic .NET
Формулировка задачи:
Пишу программу, вычисляющую цикл с постусловием. Я думаю, что где-то я допустила ошибку.
Листинг программы
- Module Module1
- Sub Main()
- 'Объявление строковых констант для сообщений
- Const СтрокаВыйти As String = "выйти из программы - любая другая клавиша."
- Const СтрокаОшибка As String = ControlChars.CrLf & "Ошибка: "
- Const СообщениеПовторить As String = ControlChars.CrLf &
- "Если вы хотите повторить ввод значения " &
- "нажмите клавишу (п), " & СтрокаВыйти
- Const СообщениеПродолжить As String = ControlChars.CrLf &
- "Если вы хотите продолжить работу " &
- "нажмите клавишу (д), " & СтрокаВыйти
- Dim S As Double = 1, Sk, Epsilon As Double
- 'S - сумма членов рядов, Sk - k-ый член ряда, Epsilon - точность
- Dim k As Integer = 1 'Номер очередного члена
- Dim x As Integer = 1
- Do 'Начало цикла для повтора всей программы
- '1. Ввод исходных данных
- Try
- Console.WriteLine("Введите точность вычисления корня Эпсилон: ")
- Epsilon = Console.ReadLine()
- Console.WriteLine("Введите значение x: ")
- x = Console.ReadLine()
- Exit Do
- Catch ex As Exception
- Console.WriteLine(СтрокаОшибка & ex.Message & СообщениеПовторить)
- If Console.ReadKey(True).Key <> ConsoleKey.G Then Exit Sub
- End Try
- Loop 'Заверешение бесконечного цикла
- '2. Цикл накопления суммы и вычисления значения члена ряда
- Do
- k += 1
- Sk = (-1) ^ k + 1
- Sk = x ^ k / k
- S += Sk
- 'Пока член ряда не станет меньше Epsilon, повторять цикл
- Loop While Sk > Epsilon
- '3. Сумма членов ряда
- Console.WriteLine("Сумма членов рядов S = {0}", S)
- Console.WriteLine(СообщениеПродолжить)
- 'Завершение цикла для повтора всей программы
- End Sub
- End Module
Решение задачи: «Составление программы, вычисляющей ряд ln(x+1)»
textual
Листинг программы
- Dim S As Double = 0
- Dim Epsilon As Double = 0.000001, Sk As Double
- Dim k As Integer = 1
- Dim x As Double = 0.5
- S = x
- Do
- k += 1
- Sk = (-1) ^ (k + 1) * (x ^ k / k)
- S += Sk
- Loop While Math.Abs(Sk) > Epsilon
- MsgBox(Math.Log(1 + x).ToString & " " & S.ToString)
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д