Сложение двух обычных (не десятичных) дробей - 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
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д