Jump to content

Умножение метода сетки

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

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

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

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

Вводная мотивация

[ редактировать ]

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

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

× 10 7
3 30 21

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

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

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

× 10 10 10 4
10 100 100 100 40
3 30 30 30 12

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

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

[ редактировать ]

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

× 30 4
10 300 40
3 90 12

давая дополнение

  300
   40
   90
 + 12
 ————
  442

поэтому 34 × 13 = 442.

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

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

[ редактировать ]

Метод сетки напрямую распространяется на вычисления, включающие большие числа.

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

× 300 40 5
20 6000 800 100
8 2400 320 40

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

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

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

× 345
20 6900
8 2760

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

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

[ редактировать ]

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

Например, расчет 2 1 / 2 × 1 1/2 методом можно изложить сеточным

× 2 1 / 2
1 2 1 / 2
1 / 2 1 1 / 4

найти, что полученное произведение равно 2 + 1 / 2 + 1 + 1 / 4 = 3 3 / 4

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

× а 3
б аб 3 б
2 2 6

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

Вычисление

[ редактировать ]

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

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

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

Это будет процедура в C:

#include <stdint.h>

uint64_t multiply(uint64_t ab, uint64_t cd)
{
    /* These shifts and masks are usually implicit, as 64-bit integers
     * are often passed as 2 32-bit registers. */
    uint32_t b = ab >> 32, a = ab & 0xFFFFFFFF;
    uint32_t d = cd >> 32, c = cd & 0xFFFFFFFF;

    /* multiply with overflow */
    uint64_t ac = (uint64_t)a * (uint64_t)c;
    uint32_t high = ac >> 32; /* overflow */
    uint32_t low = ac & 0xFFFFFFFF;

    /* 32-bit multiply and add to high bits */
    high += (a * d); /* add ad */
    high += (b * c); /* add bc */
    /* multiply by 0x100000000 (via left shift) and add to the low bits with a binary or. */
    return ((uint64_t)high << 32) | low;
}

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

multiply:
        @ a = r0
        @ b = r1
        @ c = r2
        @ d = r3
        push    {r4, lr}        @ backup r4 and lr to the stack
        umull   r12, lr, r2, r0 @ multiply r2 and r0, store the result in r12 and the overflow in lr
        mla     r4, r2, r1, lr  @ multiply r2 and r1, add lr, and store in r4
        mla     r1, r3, r0, r4  @ multiply r3 and r0, add r4, and store in r1
                                @ The value is shifted left implicitly because the
                                @ high bits of a 64-bit integer are returned in r1.
        mov     r0, r12         @ Set the low bits of the return value to r12 (ac)
        pop     {r4, lr}        @ restore r4 and lr from the stack
        bx      lr              @ return the low and high bits in r0 and r1 respectively

Математика

[ редактировать ]

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

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

См. также

[ редактировать ]
  • Роб Истауэй и Майк Аскью, «Математика для мам и пап» , Square Peg, 2010. ISBN   978-0-224-08635-6 . стр. 140–153.
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: b577d8eb18cf970b142248e4fce9d38c__1720017960
URL1:https://arc.ask3.ru/arc/aa/b5/8c/b577d8eb18cf970b142248e4fce9d38c.html
Заголовок, (Title) документа по адресу, URL1:
Grid method multiplication - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)