提供: Japanese Scratch-Wiki
このきじは ひらがなのページがありません。ごめんなさい。
() を () で割った余り | |
(() を () で割った余り)
| |
カテゴリ | 演算 |
タイプ | 値 |
() を () で割った余りブロック(演算ブロック/値ブロック)とは、1つめの値を2つめの値で割ったときの余りを返すブロックである。たとえば、1つめの値として10を、2つめの値として3を入れた場合、このブロックは1を返す (10÷3の余りは1なので)。
マイナスの数を扱う場合、注意が必要である。このブロックの返す値の符号は、割る数(2つめの値)と同じになる。 たとえば、-10 を 3 で割った余りは 2となり、-1ではない。これは割り算の答え(商)を-4として「3 × -4 = -12」を考え、 「-10 - (-12) = 2」としているからである。一方、10 を -3 で割った余りは -2で あり 1ではない。これは割り算の答えを-4として、「-3 × -4 = 12」を考え、「10 - 12 = -2」としているからである。
よくある使用例
このブロックは、割り算の余りを使って処理を変えるプロジェクトで使用される。
よくある使用例は次のとおり:
- 割り算の結果に余りが出るかどうかを調べる
もし <((a) を (b) で割った余り) = [0]> なら [a は b で割り切れる] と言う でなければ [a は b で割り切れない] と言う end
- ある数が整数かどうかを調べる
もし <((a) を (1) で割った余り) = [0]> なら [a は整数] と言う でなければ [a は整数じゃない] と言う end
- ある数が偶数か奇数かを調べる
もし <((a) を (2) で割った余り) = [0]> なら [a は偶数] と言う でなければ もし <((a) を (1) で割った余り) = [0]> なら [a は奇数] と言う でなければ [a は整数じゃない] と言う end end
- リスト内の項目の何度も繰り返し取り出す
@greenFlag が押されたとき::events hat [x v] を [0] にする ずっと [x v] を (1) ずつ変える ([リスト v]の(x)番目::list) と言う [x v] を ((x) を ([list v] の長さ::list) で割った余り) にする
- 画面がスクロールしたとき、画面の外にいるスプライトを再利用する
@greenFlag が押されたとき::events hat ずっと x座標を (((x座標) + (240)) を (480) で割った余り) にする
別のブロックによる表現
- 詳細は「代用ブロック一覧」を参照
このブロックと同様の結果は、次のコードで実現できる (変数 余り に値が入る):
もし <(((a) / (b)) を四捨五入) > ((a) / (b))> なら [余り v] を ((a) - (((((a) / (b)) - (0.5))を四捨五入) * (b))) にする でなければ [余り v] を ((a) - ((((a) / (b)) を四捨五入) * (b))) にする end
() を () で割った余りブロックで負の数を使う機会は滅多にないと思うが、可能ではある。 1つめの数にマイナスの値、2つめの数にプラスの値を指定した場合、余りとして返されるのはプラスの値である。 負の数が必要な場合は、余りから2つめの数を引けば良い。これをコードで表すと次のようになる:
もし <(a) < (0)> なら もし <(b) > (0)> なら [余り v] を (((a) を (b) で割った余り) - (b)) にする でなければ [余り v] を ((a) を (b) で割った余り) にする end でなければ [余り v] を ((a) を (b) で割った余り) にする
参照
() + () • () - () • () * () • () / () • () から () までの乱数 • () < () • () > () • () = () • () かつ () • () または () • () ではない • () と () • () の () 番目の文字 • () の長さ • () に () が含まれる • () を () で割った余り • () を四捨五入 • () の ()その他のブロック
|
GitHubでソースを見る: LLK/scratch-flash /src/primitives/Primitives.as 118行目