Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Dim FirstVar, SecondVar, ThirdVar, FourthVar, valueA, valueB, valueC As String
- Dim discriminant, i, PosFirstMult As Integer
- Dim x1, x2 As Double
- ' Поиск a, b, c
- PosFirstMult = InStr(1, ActiveDocument.Content, "*")
- FirstVar = Mid(ActiveDocument.Content, 1, 1)
- SecondVar = Mid(ActiveDocument.Content, InStr(1, ActiveDocument.Content, "^") + 2, 1)
- ThirdVar = Mid(ActiveDocument.Content, InStr(PosFirstMult + 1, ActiveDocument.Content, "*") + 2, 1)
- For i = 2 To InStr(1, ActiveDocument.Content, "*") - 1
- FirstVar = FirstVar + Mid(ActiveDocument.Content, i, 1)
- Next i
- For i = InStr(1, ActiveDocument.Content, "^") + 3 To InStr(PosFirstMult + 1, ActiveDocument.Content, "*") - 1
- SecondVar = SecondVar + Mid(ActiveDocument.Content, i, 1)
- Next i
- For i = InStr(PosFirstMult + 1, ActiveDocument.Content, "*") + 3 To InStr(1, ActiveDocument.Content, "=") - 1
- ThirdVar = ThirdVar + Mid(ActiveDocument.Content, i, 1)
- Next i
- ' Перевод строковых значений в числовые
- valueA = CInt(FirstVar)
- valueB = CInt(SecondVar)
- valueC = CInt(ThirdVar)
- ' Решение квадратного уравнения
- discriminant = ((valueB ^ 2) - (4 * valueA * valueC))
- x1 = (-valueB + Sqr(discriminant)) / (2 * valueA)
- x2 = (-valueB - Sqr(discriminant)) / (2 * valueA)
- ' Вывод ответов
- With ActiveDocument.Paragraphs(1).Range
- .InsertAfter "x1 = " & x1
- .InsertParagraphAfter
- End With
- With ActiveDocument.Paragraphs(2).Range
- .InsertAfter "x2 = " & x2
- .InsertParagraphAfter
- End With
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement