Dari Scratch-Indo-Wiki

() mod ()
2.0 () Mod ().png
Kategori Operator
Jenis Pelapor

Balok () mod (), (“mod” sebagai singkatan dari “modulo”) adalah sebuah balok Operator dan juga balok Pelapor. Balok ini melaporkan sisa dari pembagian angka pertama dengan angka kedua.

Contoh Pengunaan

  • Mengetahui apakah suatu angka habis dibagi dengan angka lainnya.
jika <((angka1)mod(angka2))=[0]> kemudian
  katakan [Angka 1 habis dibagi Angka 2]
jika tidak
  katakan [Angka 1 tidak habis dibagi Angka 2]
  • Mengetahui apakah suatu angka bulat atau tidak.
jika <((angka1)mod(1))=[0]> kemudian
  katakan [Angka 1 adalah angka bulat]
jika tidak
  katakan [Angka 1 bukan angka bulat]
  • Mengetahui apakah suatu angka genap atau ganjil
jika <((angka1)mod(2))=[0]> kemudian
  katakan [Angka 1 adalah angka genap]
jika tidak
  katakan [Angka 1 adalah angka ganjil]
  • Menggunakan ulang Sprite yang berfungsi sebagai latar
ketika @ diklik
selamanya
set x ke (((posisi x)+(240))mod(480))

Pemecahan Masalah

Jika hanya angka positif yang diinginkan, balok tersebut dapat diganti dengan skrip berikut (dengan variabel modulo sebagai nilai yang akan dilaporkan) :

jika <(bulatkan ((a) / (b))) > ((a) / (b))> kemudian
set [modulo v] ke ((a) - ((bulatkan (((a) / (b)) - (0.5))) * (b)))
jika tidak
set [modulo v] ke ((a) - ((bulatkan ((a) / (b))) * (b)))
end

Nilai negatif jarang digunakan di dalam balok () mod (), namun kegunaan tersebut memungkinkan. Hasil yang akan diberikan saat nilai negatif ditempatkan di slot yang pertama dan nilai positif di slot yang kedua adalah suatu nilai positif, jadi jika yang diinginkan adalah nilai negatif, kamu harus mengurangi nilai yang ada di slot kedua dengan sisa pembagian, seperti ini:

jika <(a) < (0)> kemudian
jika <(b) > (0)> kemudian
set [modulo v] ke (((a) mod (b)) - (b))
jika tidak
set [modulo v] ke ((a) mod (b))
end
jika tidak
set [modulo v] ke ((a) mod (b))