Dari Scratch-Indo-Wiki
bulatkan () (balok) | |
![]() | |
Kategori | Operator |
Jenis | Pelapor |
Balok bulatkan () (Bahasa Inggris: round () ) adalah sebuah balok Operator dan juga balok Pelapor. Balok ini membulatkan suatu nilai ke bilangan bulat terdekat lalu melaporkan hasilnya.
Balok ini mengikuti aturan standar pembulatan; desimal yang bernilai .5 atau lebih tinggi dibulatkan ke atas, dan desimal yang bernilai lebih kecil dibandingkan .5 dibulatkan ke bawah.
Contoh Penggunaan
Dalam berbagai karya yang menggunakan angka desimal, angka-angka tersebut harus dibulatkan, dan dapat dilakukan dengan balok ini.
- Skrip untuk karya berjenis kalkulator yang memperbolehkan pengguna untuk membulatkan angka
artikan kalkulasikan jika <(operator) = [penjumblahan]> set [jawaban v] ke ((nilai1) + (nilai2)) end ... jika <(operator) = [bulatkan]> set [jawaban v] ke (bulatkan (value)) end ketika sprite ini diklik //sprite yang berkerja sebagai tombol kalkulator "=" kalkulasikan
- Membulatkan skor ke angka bulat terdekat dalam karya permainan
set [skor v] ke (bulatkan(skor))
- Menghapus nilai desimal dari skor, tanpa membulatkan ke atas
set [skor v] ke (bulatkan((skor)-(0.5))) // angka apa pun minus 0.5 akan dibulatkan ke bawah
- Membulatkan nilai yang akan digunakan di balok Ulangi Sebanyak () Kali, karena nilai yang digunakan di balok ini harus bulat
ulangi sebanyak (bulatkan(4.9891340145)) kali
- Memosisikan kursor di permainan berbasis tiling seperti Minesweeper
- Snap to grid
ketika @ diklik selamanya pergi ke x: ((bulatkan ((mouse x) / (25))) * (25)) y: ((bulatkan ((mouse y) / (25))) * (25))
Pemecahan Masalah
Operasi "Ceiling" dan "Floor" di Scratch 2.0 dapat digunakan untuk membulatkan suatu angka secara akurat:
([floor v] dari ((angka)-(0.5))
Fungsi matematika "floor" dan "ceiling" juga bisa direplikasikan menggunakan aritmatika modular:
((angka) - ((angka) mod (1))) //membulatkan ke bawah (floor) ((angka) + ((1) - ((angka) mod (1)))) //membulatkan ke atas (ceiling)
atau
jika <(n) > (0)> kemudian set [terbulatkan v] ke (((n) + (0.5)) - (((n) + (0.5)) mod (1))) jika tidak set [terbulatkan v] ke ((((n) - (0.5)) - (((n) - (0.5)) mod (1))) + (1)) end