Matematik Hesap Makineleri
Modülü Hesaplama Makinesi


Modülü Hesaplama Makinesi

Modülü hesaplama makinesi, iki rasyonel/irrasyonel pozitif/negatif sayının bölünmesinden kalanı bulur. Ayrıca, modülü nasıl manuel olarak bulacağınızı da öğrenebilirsiniz.

Modül

1

Hesaplamanızda bir hata oluştu.

İçindekiler Tablesi

  1. Modülüs Hesaplama Makinesi Olmadan Hesaplamalar
    1. Örnek
  2. Modülü Prensibinin Saat Gösterimi
    1. Örnek
  3. Modülü Kullanımı
    1. Çift ve Tek Sayıları Belirleme
    2. Birim Dönüşümü
    3. Artık Yıl Belirleme
  4. Rastgele Sayı Üreticileri
    1. Kriptografi
  5. Sonuç

Modülü Hesaplama Makinesi

Modülü işlemi, bölme işlemi sonucunda kalanı bulma yöntemidir. Modülün özelliği, kalanı tam sayı olarak döndürmesidir.

Üç çocuğunuz olduğunu düşünün. İçinde 20 tane şeker olan bir kutu şeker alıyorsunuz. Tüm şekerleri çocuklarınıza adil bir şekilde bölüp dağıtmak istiyorsunuz. Ve kalan şekerleri kesmeden veya kırmadan kendiniz yemek istiyorsunuz. Çocuklarınız hala okulda. Bu yüzden önce bölme sonrası kalanı belirleyebilir ve şekerlerinizi yiyebilirsiniz.

Bu durumda modülü operatörünü kullanabilirsiniz. Bu işlem ayrıca % işareti veya mod olarak da temsil edilebilir. Küçük sayılarla çalışırken, hesaplamaları kafanızda yapabilirsiniz. Büyük sayılarla çalışıyorsanız, modülü hesaplama makinesi kullanmak daha rahat olacaktır.

Denklem şu şekilde temsil edilebilir:

Bölünen = (Bölüm × Bölen) + Kalan

Bizim durumumuzda:

  • bölünen 20'dir (toplam şeker sayısı);
  • bölen 3'tür (çocuk sayısı);
  • bölüm 6'dır (her çocuk için şeker sayısı);
  • kalan 2'dir (kendiniz için alabileceğiniz şeker sayısı).

Modülü işlemi kullanırsanız, bunu şu şekilde yazabilirsiniz:

x % y = r

veya

x mod y = r

Burada x bölünen, y bölen ve r kalandır.

Bizim durumumuzda,

20 % 3 = 2

Modülüs Hesaplama Makinesi Olmadan Hesaplamalar

Özel bir durumu örnek olarak ele alalım.

Örnek

Wayan, Bali'de yaşamakta ve altı konut birimli küçük bir misafirhane inşa etmektedir. Banyoları fayans döşemeyi planlıyor. Komşusu Gede, otelini bitirmiş ve Wayan'a kalan fayansları satmak için önemli bir indirim teklif ediyor.

Komşu, depoda 15 kutu saydı, her biri 4 (60 × 60 cm) fayans içeriyor ve iki fayans ayrı. Yani toplamda 62 fayans var. Ve Gede tüm fayansları bir seferde satmak istiyor.

Şimdi Wayan, bu fayanslarla kaç banyo döşeyebileceğini ve kaç fayansın kullanılmayacağını hesaplaması gerekiyor.

Modülüs operatörü hesaplama makinesi olmadan modülü nasıl manuel olarak bulunur?

Wayan, misafirhanesindeki standart bir banyonun boyutlarını ölçtü ve her oda için yaklaşık 14 fayansa ihtiyaç duyduğunu fark etti.

Manuel hesaplamaları yapalım!

  1. Başlangıç sayısı veya bölüneni belirleyin. Bizim durumumuzda bu, komşunun teklif ettiği 62, yani fayans sayısıdır.
  2. Böleni belirleyin. Bu 14'tür - standart bir banyo için ortalama fayans sayısı.
  3. Bölüneni bölenle bölün ve sonucu tam sayıya yuvarlayın. 62 / 14 = 4,428571428571429 veya 4. Yani Wayan fayansları dört banyo için kullanabilir.
  4. Bölme sonucunun yuvarlanmış sonucunu bölenle çarpın. Ve bu 4 × 14 = 56'dır. Bu dört oda için fayans sayısı olacak.
  5. Bu çarpım sonucunu orijinal bölünenden çıkarın. Yani 62 - 56 = 6. Bu, Wayan'ın altı fazladan fayansı olduğu anlamına gelir.

Basitleştirilmiş ve kısaltılmış bir şekilde, bu işlemi şöyle yazabiliriz:

62 % 14 = 6

veya

62 mod 14 = 6

Wayan, bu durumun iyi bir seçenek olduğuna karar verdi çünkü fayans işlerinde kırpma veya yanlış anlamalar durumunda yaklaşık %10'luk bir fayans rezervi alması gerektiğini düşündü. Ve diğer iki banyo için fayansları yerel bir inşaat mağazasından satın alacak.

Bir mod hesaplama makinesi bu sonucu saniyeler içinde sağlayabilir.

Modülü Prensibinin Saat Gösterimi

"Modüler aritmetik" adı verilen bir matematik türü, döngüsel yapılarla ilgilenir. Bunu temsil etmenin en kolay yolu, 12'lik bir döngüsü olan bir kadran kullanmaktır. Bir matematikçi için bu kadran mod 12'dir.

251 saati günlerce bölüp bölmeden kalan olup olmadığını görmek isterseniz, işlemi

251 mod 24

şeklinde uygulayabilirsiniz.

Sonuç 11 olduğu için cevap hayır! Sonuç 0 olduğunda sadece "evet" cevabını verebiliriz.

Örnek

Daniel, Atlanta'dan Miami'ye giden bir otobüse binmek istiyor. Otobüs öğleden sonra 1'de hareket ediyor ve yolculuk 15 saat sürüyor. Vardığında saat kaç olacak? Bu,

1 + 15 mod 12

olacak ve sonuç 4'tür. Bu durumda, saat sabahın 4'ü olacak.

Modülü Kullanımı

Çift ve Tek Sayıları Belirleme

Modül operatörünün en temel kullanımlarından biri, bir sayının çift veya tek olup olmadığını belirlemektir. Bu mümkündür çünkü x % 2 her zaman ya 0 ya da 1 döndürür. Çift sayılar her zaman 0 döndürür çünkü 2'ye tam olarak bölünürler, tek sayılar ise her zaman 1 kalan verirler.

Modülün programlamada en yaygın kullanım durumu, uygulamanızda bir tablo yazdırırken ve satırlarda renkleri sırayla değiştirmek istediğinizde olur. Onları açık mavi ve açık gri renklere boyamak isteyebilirsiniz, bu yüzden çift veya tek bir satırda olup olmadığınızı görmek için modülü kontrol edersiniz.

Birim Dönüşümü

Birim dönüşümü, modül operasyonunun pratik kullanımının tipik bir örneğidir. Genellikle dakika, inç veya santimetre gibi küçük bir birimi, saat, mil veya kilometre gibi büyük bir birime dönüştürmek istediğimizde kullanılır. Ondalık veya kesirli sayılar, bu tür durumlarda her zaman yardımcı olmayabilir.

Örneğin, 373 dakikanın kaç saat olduğunu bilmek istiyorsak, 6 saat 13 dakika olarak ifade edilen bir sonuç, 6.2166666666666666667 saat olarak ifade edilen bir sonuçtan daha değerli olabilir.

Standart bölme (en yakın tam sayıya yuvarlanarak), saat sayısını belirler ve kalan dakikaları hesaba katmak için modül operasyonu kullanılır. Zaman, mesafe, basınç, enerji veya veri depolama ile uğraşırken, birimleri dönüştürmek için bu genel yaklaşımı kullanabilirsiniz.

Artık Yıl Belirleme

Modül operatörünü kullanmanın başka bir örneği, bir yılın artık yıl olup olmadığını görmektir.

Artık yıl, güneş takviminde bir gün ekstra olan bir takvim yılıdır. Artık bir yılda ekstra gün 29 Şubat'tır.

M.Ö. 45 yılında, 1 Ocak'ta, Roma diktatörü Gaius Julius Caesar, İskenderiyeli astronomlar tarafından Roma'da geliştirilen takvimi tanıttı. Bu takvim, astronomik bir yılın yaklaşık olarak 365,25 gün (365 gün ve 6 saat) olduğu hesaplamasına dayanıyordu. Bu takvime Jülyen takvimi deniyordu.

Altı saatlik kaymayı dengelemek için Caesar, bir artık yıl uygulaması getirdi. Üç ardışık yıl boyunca, bir yılda 365 gün vardı. Ve dört yılda bir, Şubat ayına bir ekstra gün eklendi.

Ancak zamanla, bu kuralın tek başına yeterli olmadığı ortaya çıktı.

Ortalama tropikal yıl (iki ilkbahar ekinoksu arasındaki süre) daha doğru olarak yaklaşık 365 gün 5 saat ve 49 dakikadır. Ortalama yıl ile Jülyen takvimi yılı (365 gün ve 6 saat) arasındaki fark yaklaşık 11 dakikadır. Bu nedenle, yaklaşık 128 yılda, bu 11 dakika tam bir ekstra gün oluşturabilir.

Birikmiş hataları telafi etmek ve gelecekte benzer bir kaymayı önlemek için, Papa Gregory XIII 1582'de takvimi reforme etti. O, artık yıllar için ek kurallar ekledi. Artık yıllar hala dört katı olan yıllardı, ancak 100'ün katı olan yıllar için istisnalar yapıldı. Bu tür yıllar, yalnızca 400'e tam bölünebiliyorsa artık yıl oluyordu.

Artık yıl belirleme kuralları şöyle oldu:

  • Yıl numarası 400'ün katı olan bir yıl, artık yıldır.
  • Yıl toplamı 100'ün katı olan diğer yıllar artık yıl değildir (örneğin, 1700, 1800, 1900, 2100, 2200, 2300 yılları);
  • Yıl numarası 4'ün katı olan diğer yıllar artık yıldır.
  • Diğer tüm yıllar artık yıl değildir.

Böylece, 1700, 1800 ve 1900 yılları artık yıl değildir, çünkü bunlar 100'ün katıdır ve 400'ün katı değildir. 1600 ve 2000 yılları artık yıldır, çünkü bunlar 400'ün katıdır.

Sorunumuza geri dönelim.

Biliyoruz ki:

  • Eğer bir yıl sayısı mod 4 = 0 ve yıl sayısı mod 100 ≠ 0 ise, bu bir artık yıldır.
  • Eğer bir yıl sayısı mod 400 = 0 ise, bu bir artık yıldır.
  • Diğer tüm durumlarda, bu bir artık yıl değildir.

Basit bir Python betiği ile bir yılın artık yıl olup olmadığını söyleyebilirsiniz. Şöyle görünecektir:

year = int(input('Yıl girin: '))

if (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0):

	print(year, "bir artık yıldır.")

else:

	print(year, "bir artık yıl değildir.")

Programlamada modül operatörünün popüler uygulamaları arasında şunlar bulunur:

  • Bir şeyin çift veya tek olup olmadığını belirlemek;
  • Bir listedeki her N'inci öğede belirli bir işlem gerçekleştirmek;
  • Sayıyı aralığa sınırlamak;
  • Sınırlı seçenekler arasında dönmek (dairesel dizi);
  • Bir sayıyı tersine çevirmek;
  • Doğrusal verileri bir matrise dönüştürmek;
  • Dizilerin birbirinin döndürülmüş versiyonları olup olmadığını belirlemek;
  • Sayfalandırma.

Rastgele Sayı Üreticileri

Modül eşleştirme, sıklıkla bilgisayar donanımlarında ve telekomünikasyon ekipmanlarında kontrol numaraları oluşturmak ve sınırlı bir aralıkta rastgele sayılar elde etmek için kullanılır, örneğin uyumlu rastgele sayı üreteci gibi. Derrick Henry Lemer, 1949'da doğrusal uyumlu yöntemi önermiştir.

Doğrusal uyumlu yöntem aşağıdaki formüle göre çalışır:

$$X_{n+1} = (a × X_n + c)\mod m$$

Burada:

  • m modülüdür,
  • a çarpanıdır,
  • c artışıdır ve
  • X₀ başlangıç değeridir.

Örneğin, m = 11, X₀ = 9, a = 9, c = 9 için şu rastgele sayılar dizisini elde ederiz:

9, 2, 5, 10, 0, 9, 2, 5, 10, 0, 9

Kriptografi

Kriptograflar modülü sever. Çünkü gerçekten büyük sayılarla kullanıldığında, modül ile "tek yönlü fonksiyonlar" olarak bilinen bir şey yaratabilirsiniz. Bu özel fonksiyonlar, bir şeyi bir yönde kolayca hesaplamanızı sağlar ancak ters yönde değil.

9'un karesinin sonucu olduğunu bildiğinizde, girdinin 3 olduğunu hızlıca belirleyebilirsiniz. Tüm süreci baştan sona önünüzde hayal edebilirsiniz. Eğer size 9'un mod 29'un sonucu olduğunu söylersem, girdinin ne olduğunu anlamak daha zordur.

Kriptograflar bu fikri sever çünkü devasa asal sayılar üretmek ve kriptografik anahtarlar oluşturmak için kalanıyla bölme işlemini kullanabilirler.

Sonuç

İster depolama kutusunda nesneleri eşit olarak dağıtmaya çalışıyor olun, ister bir sayının başka bir sayıya bölünüp bölünemediğini bilmek istiyor olun, ya da sadece zamanı hesaplamaya çalışıyor olun, modülü her zaman oradadır. Tüm bu durumlarda, bölme işleminde kalan, bölüm kadar önemlidir.

Bazen ele alınan problem basit ve sezgiseldir. Ancak, işler karmaşık olduğunda, çözümü bulmak için çevrimiçi modül hesaplama makinesini kullanmak her zaman daha iyidir.