Умножение сеточного метода - Grid method multiplication

В сеточный метод (также известный как коробочный метод) умножения - это вводный подход к вычислениям многозначного умножения, в которых используются числа больше десяти. Потому что этому часто учат в математическое образование на уровне Начальная школа или же Начальная школа, этот алгоритм иногда называют методом гимназии.[1]

По сравнению с традиционными длинное умножение метод сетки отличается четким разделением умножения и сложения на два этапа и меньшей зависимостью от разряда.

Пока меньше эффективный чем традиционный метод, умножение сетки считается более надежный, в том, что дети реже ошибаются. Большинство учеников продолжат изучать традиционный метод, когда они освоятся с методом сетки; но знание метода сетки остается полезным «отступлением» в случае возникновения путаницы. Также утверждается, что, поскольку каждый, кто много занимается умножением, в наши дни будет использовать карманный калькулятор, эффективность ради самой эффективности менее важна; в равной степени, поскольку это означает, что большинство детей будут реже использовать алгоритм умножения, им будет полезно ознакомиться с более явным (и, следовательно, более запоминающимся) методом.

Использование сеточного метода было стандартом в математическом образовании в начальных школах Англии и Уэльса с момента введения Национальная стратегия счета с его «часом счета» в 1990-е годы. Его также можно найти в различных учебных программах в другом месте. По сути, тот же подход к расчету, но не обязательно с явным расположением сетки, также известен как алгоритм частичных продуктов или же метод частичных продуктов.

Расчеты

Вступительная мотивация

Метод сетки можно представить, подумав о том, как сложить количество точек в регулярном массиве, например, количество квадратов шоколада в плитке шоколада. По мере того, как размер вычисления становится больше, становится легче начать счет десятками; и представить расчет в виде прямоугольника, который можно разделить на части, а не рисовать множество точек.[2][3]

На простейшем уровне учеников можно попросить применить этот метод к вычислению типа 3 × 17. Разбив («разделив») 17 на (10 + 7), это незнакомое умножение можно вычислить как сумму двух простых умножения:

 107
33021

Итак, 3 × 17 = 30 + 21 = 51.

Это структура "сетки" или "ящиков", которая дает название методу умножения.

Столкнувшись с немного большим умножением, например 34 × 13, ученики могут сначала побудить также разбить его на десятки, поэтому, расширяя 34 как 10 + 10 + 10 + 4 и 13 как 10 + 3, произведение 34 × 13 может быть представленным:

 1010104
1010010010040
330303012

Суммируя содержимое каждой строки, становится очевидным, что окончательный результат вычисления будет (100 + 100 + 100 + 40) + (30 + 30 + 30 + 12) = 340 + 102 = 442.

Стандартные блоки

Как только ученики освоятся с идеей разбить весь продукт на вклады из отдельных ящиков, естественным шагом будет сгруппировать десятки вместе, так что вычисление 34 × 13 станет

 304
1030040
39012

добавление

  300   40   90 + 12 ----  442

Итак, 34 × 13 = 442.

Это самая обычная форма для расчета сетки. В таких странах, как Великобритания, где обучение сеточному методу является обычным, ученики могут проводить значительный период времени, регулярно выполняя вычисления, подобные приведенным выше, пока метод не станет полностью удобным и знакомым.

Большие числа

Сеточный метод напрямую распространяется на вычисления с использованием больших чисел.

Например, чтобы вычислить 345 × 28, ученик может построить сетку с шестью простыми умножениями.

 300405
206000800100
8240032040

чтобы найти ответ 6900 + 2760 = 9660.

Однако на этом этапе (по крайней мере, в стандартной учебной практике Великобритании) учеников, возможно, начнут поощрять к выполнению такого расчета с использованием традиционной формы длинного умножения без необходимости рисовать сетку.

Традиционное длинное умножение можно связать с сеточным умножением, в котором только одно из чисел разбивается на десятки и единицы, которые умножаются отдельно:

 345
206900
82760

Традиционный метод в конечном итоге более быстрый и компактный; но это требует двух значительно более сложных умножений, с которыми ученики могут сначала бороться[нужна цитата ]. По сравнению с сеточным методом традиционное длинное умножение также может быть более абстрактным.[нужна цитата ]и менее ясно[нужна цитата ], поэтому некоторым ученикам труднее запомнить, что нужно делать на каждом этапе и почему[нужна цитата ]. Таким образом, учеников можно в течение некоторого времени поощрять к использованию более простого метода сетки наряду с более эффективным традиционным методом длительного умножения в качестве проверки и отступления.

Другие приложения

Фракции

Хотя обычно не преподается как стандартный метод для умножение дробей, метод сетки можно легко применить к простым случаям, когда легче найти продукт, разбив его на части.

Например, расчет 2½ × 1½ может быть выполнен с использованием метода сетки.

 2½
12½
½1¼

чтобы найти, что полученное произведение равно 2 + ½ + 1 + ¼ = 3¾

Алгебра

Сеточный метод также можно использовать для иллюстрации умножения произведения биномы, Такие как (а + 3)(б + 2), стандартная тема элементарной алгебры (хотя обычно не встречается до Средняя школа ):

 а3
бab3б
22а6

Таким образом (а + 3)(б + 2) = ab + 3б + 2а + 6.

Вычисление

32-битные процессоры обычно не имеют инструкции для умножения двух 64-битных целых чисел. Однако большинство процессоров поддерживают команду «умножить с переполнением», которая принимает два 32-битных операнда, умножает их и помещает 32-битный результат в один регистр, а переполнение - в другой, что приводит к переносу. Например, к ним относятся умулл инструкция добавлена ​​в Набор инструкций ARMv4t или pmuludq инструкция добавлена ​​в SSE2 который работает с младшими 32 битами SIMD регистр, содержащий две 64-битные полосы.

На платформах, поддерживающих эти инструкции, используется немного измененная версия метода сетки. Отличия:

  1. Вместо работы с числами, кратными 10, они работают с 32-битными целыми числами.
  2. Вместо того, чтобы умножать старшие биты на десять, они умножаются на 0x100000000. Обычно это делается либо сдвигом влево на 32, либо помещением значения в определенный регистр, представляющий старшие 32 бита.
  3. Любые значения, лежащие выше 64-го бита, усекаются. Это означает, что умножение старших битов не требуется, поскольку результат будет смещен за пределы 64-битного диапазона. Это также означает, что для более высоких кратных требуется только 32-битное умножение.
 ба
d-объявление
cдо н.эac

Это будет обычная процедура в C:

#включают <stdint.h>uint64_t умножать(uint64_t ab, uint64_t CD){    / * Эти сдвиги и маски обычно неявны, как 64-битные целые числа     * часто передаются как 2 32-битных регистра. * /    uint32_t б = ab >> 32, а = ab & 0xFFFFFFFF;    uint32_t d = CD >> 32, c = CD & 0xFFFFFFFF;    / * умножаем на переполнение * /    uint64_t ac = (uint64_t)а * (uint64_t)c;    uint32_t высоко = ac >> 32; / * переполнение * /    uint32_t низкий = ac & 0xFFFFFFFF;    / * 32-битное умножение и прибавление к старшим битам * /    высоко += (а * d); / * добавляем объявление * /    высоко += (б * c); / * добавляем bc * /    / * умножаем на 0x100000000 (с помощью сдвига влево) и добавляем к младшим битам двоичным или. * /    возвращаться ((uint64_t)высоко << 32) | низкий;}

Это будет обычная процедура сборки ARM:

умножить:        @ а = r0        @ б = r1        @ c = r2        @ d = r3        толкать    {r4, lr}        @ резервный r4 и lr к то куча        умулл   r12, lr, r2, r0 @ умножать r2 и r0, хранить то результат в r12 и то переполнение в lr        мла     r4, r2, r1, lr  @ умножать r2 и r1, Добавить lr, и хранить в r4        мла     r1, r3, r0, r4  @ умножать r3 и r0, Добавить r4, и хранить в r1                                @ В ценить является сдвинут оставили неявно потому что то                                @ высоко биты из а 64-кусочек целое число находятся вернулся в r1.        mov     r0, r12         @ Набор то низкий биты из то возвращаться ценить к r12 (ac)        поп     {r4, lr}        @ восстановить r4 и lr из то куча        bx      lr              @ возвращаться то низкий и высоко биты в r0 и r1 соответственно

Математика

Математически возможность разбить умножение таким образом известна как распределительный закон, которое можно выразить в алгебре как свойство а(б+c) = ab + ac. Метод сетки использует свойство распределения дважды для расширения продукта, один раз для горизонтального фактора и один раз для вертикального фактора.

Исторически расчет сетки (немного измененный) был основой метода, называемого решеточное умножение, который был стандартным методом многозначного умножения, разработанным в средневековой арабской и индуистской математике. Умножение решетки было введено в Европу Фибоначчи в начале XIII века вместе с самими так называемыми арабскими цифрами; хотя, как и цифры, способы, которые он предлагал вычислять с их помощью, поначалу быстро прижились. Кости Напьера были расчетной помощью, представленной шотландцами Джон Напье в 1617 г. для помощи в расчетах методом решетки.

Смотрите также

Рекомендации

  • Роб Истэвей и Майк Аскью, Математика для мам и пап, Квадратный колышек, 2010. ISBN  978-0-224-08635-6. С. 140–153.

внешняя ссылка