Деление двух чисел
Перед тем как перейти к алгоритму деления двух чисел рассмотрим вспомогательный алгоритм нахождения максимального множителя от 1 до 9, при умножении которого на делитель получится максимальное произведение меньшее или равное делимому: 1) Запишем целое число (от 1 до 9) в виде массива. 2) Выполним умножение полученного массива на массив-делитель. 3) Произведем вычитание из массива-делимого массива-произведения, полученного в предыдущем пункте. 4) Выполним сравнение по модулю массива-остатка и массива-делителя. 5) Если массив-остаток меньше массива-делителя, то текущее число является искомым, в противном случае переходим к следующему целому числу. Перейдем к алгоритму деления двух целых чисел. 1. Произведем сравнение модулей делимого и делителя. 2. Если делимое больше делителя по модулю, то: 2.1. Вычислим количество разрядов в делителе. 2.2. Выделим из делимого, начиная со старшего разряда, число с количеством разрядов, найденных в п.2.1. 2.3. Запишем это число во временный массив. 2.4. Выполним сравнение массива-делителя и временного массива по алгоритму сравнения. 2.5. Если временный массив меньше массива-делителя, то 2.5.1. Если текущий разряд делимого не последний, то выделим из него следующий разряд, сместим элементы временного массива на единицу влево, а последнему элементу присвоим значение, выделенное из делимого, в противном случае переходим к п.3. 2.5.2. Выполним сравнение нового временного массива с массивом-делителем по алгоритму сравнения. 2.5.3. Если делитель больше, то в массиве-частном соответствующему элементу присваиваем 0 и переходим к п.2.4. 2.6. Если временный массив равен массиву-делителю, то обнуляем временный массив, а в массиве-частном соответствующему элементу присваиваем 1 и переходим к п.2.4. 2.7. Если временный массив больше массива-делителя, то: 2.7.1. Присвоим соответствующему элементу массива-частного число, найденное по вспомогательному алгоритму, для которого массивом-делителем является временный массив. 2.7.2. Запишем это число в виде массива. 2.7.3. Умножим полученный массив на массив-делитель. 2.7.4. Вычтем из массива-делимого полученный в предыдущем пункте массив-результат. 2.7.5. Присвоим элементам временного массива элементы полученного массива и переходим к п.2.4. 3. Если все элементы временного массива равны 0, то полученный массив-частное является результатом, в противном случае выполним алгоритм вычисления дробной части. 4. Если делимое меньше делителя по модулю, то перейдем к выполнению алгоритма вычисления дробной части)числения дробной части.горитма деления.
|