def DIV_QQ_Q(rational1, rational2):
    # Деление дробей
    # Кривоконь Максим
    result = [[0], [0]]
    result[0] = integer.MUL_ZZ_Z(
        rational1[0], rational2[1])  # умножение числителя на знаменатель
    result[1] = integer.MUL_ZZ_Z(
        rational1[1], rational2[0])  # умножение знаменателя на числитель
    if integer.POZ_Z_D(result[0]) == '-' and integer.POZ_Z_D(
            result[1]) == '-':  # Если и числитель и знаменатель
        result[0] = integer.MUL_ZM_Z(result[0])  # с минусами, то сокращаем их
        result[1] = integer.MUL_ZM_Z(result[1])
    elif integer.POZ_Z_D(result[1]) == '-':
        result[1] = integer.ABS_Z_N(result[1])
        result[0] = integer.MUL_ZM_Z(result[0])

    return RED_Q_Q(result)  # сокращение дроби
def RED_Q_Q(Q):
    # Гурьянов Савелий
    # Сокращение дроби
    if integer.POZ_Z_D(Q[0]):
        nod = nat.GCF_NN_N(integer.ABS_Z_N(Q[0]), integer.ABS_Z_N(
            Q[1]))  # Делим числитель и знаменатель на их НОД
        Q[0] = integer.DIV_ZZ_Z(Q[0], nod)
        Q[1] = integer.DIV_ZZ_Z(Q[1], nod)
        return Q
    else:
        return Q
Esempio n. 3
0
    def on_btn_z_poz_released(self):
        try:
            z1 = self.get_z_z(1)
            result = integer.POZ_Z_D(z1)
            if result == 2:
                sign = '>'
            elif result == 0:
                sign = '='
            else:
                sign = '<'

            self.add_history_record('%d %s 0' % (
                common.Z_to_num(z1),
                sign,
                ))
        except Exception as e:
            self.on_exception(e)
Esempio n. 4
0
 def test_negative(self):
     number = [1, 3, [3, 4, 2]]
     expect = 1
     result = integer.POZ_Z_D(number)
     self.assertEqual(result, expect)
Esempio n. 5
0
 def test_positive(self):
     number = [0, 3, [3, 4, 2]]
     expect = 2
     result = integer.POZ_Z_D(number)
     self.assertEqual(result, expect)
Esempio n. 6
0
 def test_zero(self):
     zero = [0, 1, [0]]
     expect = 0
     result = integer.POZ_Z_D(zero)
     self.assertEqual(result, expect)