Сложение двух обычных (не десятичных) дробей - VB
Формулировка задачи:
В textbox1 записывается дробь формата 1/2 во второй textbox тоже самое 3/4 и на выходе должна получиться дробь такого же формата(в третьем textbox) делать нужно через right и left но вот как реализовать не могу додуматься,с форматами типа данных у меня не очень
Решение задачи: «Сложение двух обычных (не десятичных) дробей»
textual
Листинг программы
- Option Explicit
- Private Sub Command1_Click()
- Dim a As String, b As String, c1 As Integer, c2 As Integer
- Dim a1 As Integer, a2 As Integer, b1 As Integer, b2 As Integer
- a = Trim$(Text1.Text) '1-е число
- b = Trim$(Text2.Text) '2-е число
- a1 = Val(Left(a, InStr(1, a, "/") - 1)) '1-й числитель
- b1 = Val(Left(b, InStr(1, b, "/") - 1)) '2-й числитель
- a2 = Val(Right(a, Len(a) - InStr(1, a, "/"))) '1-й знаменатель
- b2 = Val(Right(b, Len(b) - InStr(1, b, "/"))) '2-й знаменатель
- c2 = NOK(a2, b2) 'общий знаменатель
- c1 = a1 * (c2 \ a2) + b1 * (c2 \ b2) 'числитель
- If c1 = c2 Then Text3.Text = "1" Else Text3.Text = c1 & "/" & c2
- End Sub
- Private Function NOK(x As Integer, y As Integer) As Integer ' Функция нахождения НОК 2-ух чисел
- NOK = (x \ NOD(x, y)) * y
- End Function
- Private Function NOD(ByVal x As Integer, ByVal y As Integer) As Integer ' Функция нахождения НОД 2-ух чисел
- Dim r As Integer
- Do While y > 0
- r = x Mod y: x = y: y = r
- Loop
- NOD = x
- End Function
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д