Izgara yöntemi çarpımı - Grid method multiplication

Izgara yöntemi (aynı zamanda kutu yöntemi çarpma) on daha büyük sayılar dahil, çok basamaklı çarpma hesaplamaları için bir giriş yaklaşımdır. Genellikle ilkokul veya ilkokul düzeyinde matematik eğitiminde öğretildiği için bu algoritma bazen dilbilgisi okulu yöntemi olarak da adlandırılır.

Geleneksel uzun çarpma ile karşılaştırıldığında , ızgara yöntemi, çarpma ve toplamayı açıkça iki adıma ayırması ve basamak değerine daha az bağımlı olması bakımından farklılık gösterir.

Geleneksel yöntemden daha az verimli olmakla birlikte , grid çarpma işlemi daha güvenilir olarak kabul edilir , çünkü çocukların hata yapma olasılığı daha düşüktür. Çoğu öğrenci, grid yöntemine alıştıktan sonra geleneksel yöntemi öğrenmeye devam edecektir; ancak ızgara yöntemi bilgisi, karışıklık durumunda yararlı bir "geri dönüş" olarak kalır. Ayrıca günümüzde çok fazla çarpma işlemi yapan herkes bir cep hesap makinesi kullanacağından, verimliliğin kendi iyiliği için daha az önemli olduğu da tartışılmaktadır; eşit olarak, bu çoğu çocuğun çarpma algoritmasını daha az kullanacağı anlamına geldiğinden, daha açık (ve dolayısıyla daha akılda kalıcı) bir yönteme aşina olmaları onlar için yararlıdır.

Grid yönteminin kullanımı , 1990'larda "sayısal saat" ile Ulusal Sayısal Sayı Stratejisinin tanıtılmasından bu yana İngiltere ve Asgard'daki ilkokullarda matematik eğitiminde standart olmuştur . Ayrıca başka yerlerde çeşitli müfredatlarda da bulunabilir. Esasen aynı hesaplama yaklaşımı, ancak açık ızgara düzenlemesi ile değil, kısmi ürünler algoritması veya kısmi ürünler yöntemi olarak da bilinir .

hesaplamalar

giriş motivasyonu

Izgara yöntemi, örneğin bir çikolatadaki çikolata karelerinin sayısı gibi, normal bir dizideki noktaların sayısının nasıl toplanacağını düşünerek tanıtılabilir. Hesap boyutu büyüdükçe, onlarca saymaya başlamak daha kolay hale gelir; ve hesaplamayı çok sayıda nokta çizmek yerine alt bölümlere ayrılabilen bir kutu olarak göstermek.

En basit düzeyde, öğrencilerden yöntemi 3 × 17 gibi bir hesaplamaya uygulamaları istenebilir. 17'yi (10 + 7) olarak bölmek ("bölümlere ayırmak"), bu alışılmadık çarpma iki basit sayının toplamı olarak yapılabilir. çarpmalar:

  10 7
3 30 21

yani 3 × 17 = 30 + 21 = 51.

Bu, çarpma yöntemine adını veren "ızgara" veya "kutu" yapısıdır.

34 × 13 gibi biraz daha büyük bir çarpma ile karşı karşıya kalan öğrenciler, başlangıçta bunu onlarcaya bölmeye teşvik edilebilir. Böylece, 34'ü 10 + 10 + 10 + 4 ve 13'ü 10 + 3 olarak genişleterek, 34 × 13 çarpımı şu şekilde temsil edilebilir:

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

Her satırın içeriği toplandığında, hesaplamanın nihai sonucunun (100 + 100 + 100 + 40) + (30 + 30 + 30 + 12) = 340 + 102 = 442 olduğu açıktır.

Standart bloklar

Öğrenciler, tüm ürünü ayrı kutulardan katkılara bölme fikrine alıştıktan sonra, onlukları birlikte gruplamak doğal bir adımdır, böylece 34 × 13 hesaplaması olur.

  30 4
10 300 40
3 90 12

ek vermek

  300
   40
   90
 + 12
 ----
  442

yani 34 × 13 = 442.

Bu, bir ızgara hesaplaması için en yaygın biçimdir. Birleşik Krallık gibi grid yönteminin öğretiminin olağan olduğu ülkelerde, öğrenciler, yöntem tamamen rahat ve tanıdık olana kadar, yukarıdaki gibi hesaplamaları düzenli olarak yapmak için önemli bir zaman harcayabilirler.

Daha büyük sayılar

Izgara yöntemi, doğrudan daha büyük sayıları içeren hesaplamalara kadar uzanır.

Örneğin, 345 × 28'i hesaplamak için öğrenci, ızgarayı altı kolay çarpma ile oluşturabilir.

  300 40 5
20 6000 800 100
8 2400 320 40

6900 + 2760 = 9660 cevabını bulmak için.

Bununla birlikte, bu aşamada (en azından şu anki standart Birleşik Krallık öğretim uygulamasında) öğrenciler, bir tablo oluşturmak zorunda kalmadan geleneksel uzun çarpma formunu kullanarak böyle bir hesaplama yapmaya teşvik edilmeye başlayabilirler.

Geleneksel uzun çarpma, sayılardan yalnızca birinin ayrı ayrı çarpılmak üzere onluk ve birim kısımlarına bölündüğü bir ızgara çarpımı ile ilişkilendirilebilir:

 345
20 6900
8 2760

Geleneksel yöntem nihayetinde daha hızlı ve çok daha kompakttır; ancak öğrencilerin ilk başta zorlanabileceği iki önemli ölçüde daha zor çarpma işlemi gerektirir. Izgara yöntemiyle karşılaştırıldığında, geleneksel uzun çarpma da daha soyut ve daha az açık olabilir, bu nedenle bazı öğrenciler her aşamada ne yapılması gerektiğini ve nedenini hatırlamakta zorlanırlar. Bu nedenle öğrenciler, bir kontrol ve geri dönüş olarak daha verimli geleneksel uzun çarpma yönteminin yanı sıra daha basit ızgara yöntemini kullanmaya oldukça uzun bir süre teşvik edilebilir.

Diğer uygulamalar

kesirler

Normalde kesirleri çarpmak için standart bir yöntem olarak öğretilmese de , ızgara yöntemi, bir ürünü parçalayarak bulmanın daha kolay olduğu basit durumlara kolayca uygulanabilir.

Örneğin, hesaplama 21/2 × 11/2 ızgara yöntemi kullanılarak ayarlanabilir

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

elde edilen ürünün 2 + olduğunu bulmak için 1/2 + 1 + 1/4 = 33/4

Cebir

Grid yöntemi, temel cebirde standart bir konu olan ( a + 3)( b + 2) gibi iki terimlilerin çarpımını göstermek için de kullanılabilir (buna genellikle ortaokula kadar rastlanmasa da ):

  a 3
B ab 3 b
2 2 bir 6

Böylece ( a + 3)( b + 2) = ab + 3 b + 2 a + 6.

Bilgi işlem

32 bit CPU'larda genellikle iki 64 bit tam sayıyı çarpma talimatı yoktur. Bununla birlikte, çoğu CPU, iki 32-bit işleneni alan, bunları çarpan ve 32-bit sonucu bir kayıtta ve taşmayı başka bir kayıtta koyarak bir taşıma ile sonuçlanan bir "taşma ile çarpma" komutunu destekler. Örneğin, bunlar arasında umullilave talimat ARMV4T talimat seti ya da pmuludqilave talimat SSE2 bir alt 32 bit çalışır SIMD iki 64-bit şeridi içeren register.

Bu talimatları destekleyen platformlarda, grid yönteminin biraz değiştirilmiş bir versiyonu kullanılır. Farklar şunlardır:

  1. 10'un katları üzerinde çalışmak yerine, 32 bit tam sayılarda çalıştırılırlar.
  2. Daha yüksek bitlerin on ile çarpılması yerine, ile çarpılır 0x100000000. Bu genellikle ya 32 sola kaydırılarak ya da değeri daha yüksek 32 biti temsil eden belirli bir kayıt defterine koyarak yapılır.
  3. 64. bitin üzerinde kalan tüm değerler kesilir. Bu, sonuç 64-bit aralığının dışına kaydırılacağından, en yüksek bitlerin çarpılmasının gerekli olmadığı anlamına gelir. Bu aynı zamanda daha yüksek katlar için yalnızca 32 bitlik bir çarpmanın gerekli olduğu anlamına gelir.
  B a
NS - reklam
C M.Ö AC

Bu, C'deki rutin olacaktır:

#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;
}

Bu, ARM montajındaki rutin olacaktır:

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

Matematik

Matematiksel olarak, bir çarpmayı bu şekilde bölme yeteneği , cebirde a ( b + c ) = ab + ac özelliği olarak ifade edilebilen dağılım yasası olarak bilinir . Izgara yöntemi, ürünü genişletmek için bir kez yatay faktör için ve bir kez dikey faktör için olmak üzere iki kez dağılım özelliğini kullanır.

Tarihsel olarak ızgara hesaplaması (biraz ince ayar yapılmıştır), ortaçağ Arapça ve Runcornian matematiğinde geliştirilen standart çok basamaklı çarpma yöntemi olan kafes çarpımı adı verilen bir yöntemin temeliydi. Kafes çarpımı Avrupa'ya Fibonacci tarafından on üçüncü yüzyılın başında sözde Arap rakamlarıyla birlikte tanıtıldı ; Rakamlar gibi, onlarla hesaplamak için önerdiği yöntemler de başlangıçta yavaştı. Napier'in kemikleri , 1617'de İskoç John Napier tarafından kafes yöntemi hesaplamalarına yardımcı olmak için tanıtılan bir hesaplama yardımıydı .

Ayrıca bakınız

Referanslar

  • Rob Eastaway ve Mike Askew, Anneler ve Babalar için Matematik , Kare Peg, 2010. ISBN  978-0-224-08635-6 . s. 140–153.

Dış bağlantılar