提供: Japanese Scratch-Wiki

< () ‎ | () (ブロック)

これはひらがな記事です。元記事に戻る
() / ()
() / ()
カテゴリ えんざん
タイプ あたい

() / () ブロック (えんざんブロックあたいブロック) は、1つめのすうを2つめのすうでわって、そのけっかをかえす。

けっかがわりきれないときは、このブロックのかえすちはしょうすうになる。 わりざんの じょうよ(あまり)がほしいときは、 () を () でわったあまりブロックを使しようすればよい。

さらに、このブロックじしんやそのたのけいさん(たしざんひきざんかけざんなど)ブロックをしていして、いれこじょうにすることもできる。 これによって、よりおおくのかずをつかったけいさんをひょうげんできる。

ゼロじょさん

わるかずを±0にしていしたときは、Scratch 2.0いこうでは、いかのあたいがかえされる:

  • りょうほうのいんすうのふごうがいっちするとき(れい: 1/0, -1/-0) Infinity(せいのむげんだい)
  • りょうほうのいんすうのふごうがいっちしないとき(れい: -1/0, 1/-0) -Infinity(ふのむげんだい)
  • ひとつめのいんすうが±0であるとき (れい: 0/0, -0/0) NaN(ひすう)

Scratch 1.4いかでは、スクリプトエラーがはっせいし、スクリプトのじっこうがとまった。

よくあるしようれい

プロジェクトでわりざんがひつようになったときしようする。 よくあるしようれいはつぎのとおり:

  • けいさんきシミュレーターをつくる
もし <(けいさんのしゅるい) = [わりざん]> なら
[こたえ v] を ((にゅうりょく1) / (にゅうりょく2)) にする
end
  • リストないのこうもくすべてのあたいをはんぶんにする
[へんすう v] を (1) にする
([かずリスト v] のながさ::list) 回繰り返す
[かずリスト v] の (へんすう) 番目を((([かずリスト v] の (へんすう) 番目) / (2))を四捨五入) で置き換える
end


  • すうがくのこうしきをつかってけいさんする (さんかくけいのめんせきをもとめる)
[めんせき v] を (((ていへん) * (たかさ)) / (2)) にする

べつのブロックによるひょうげん

詳細は「だいようブロックいちらん」を参照

このブロックのどうさは、つぎのコードでさいげんできる:

もし <(b) < [0]> なら
[けっか v] を ((-1) * ((a) * (((-1) * (((-1) * (b)) の [ln v]::operators)) の [e^ v]::operators))) にする
でなければ
[けっか v] を ((a) * (((-1) * ((b) の [ln v]::operators)) の [e^ v]::operators)) にする
end

ゼロじょさんのあつかいはうえにかかれたとおり。

このコードのしくみ

このコードのしくみをかくにんしておこう。 「でなければ」いこうをすうしきでかくとつぎのとおり(1):

    a * e ^ (-1 * ln b) ……(1)

これがa / bとおなじになること(2)をしょうめいすればよい

    a * e ^ (-1 * ln b) = a / b ……(2)

(2)しきのりょうへんを「a」でわる

    e ^ (-1 * ln b)= 1 / b ……(3)

さらにりょうへんのしぜんたいすうをとる(4)

    ln e ^ (-1 * ln b) = ln (1 / b) ……(4)

lnはしぜんたいすうなのでそこがeであり、log a a b = bより、(4)しきのさへんはつぎのようにへんけいできる。

    さへん = ln e ^ (-1 * ln b) = -1 * ln b ……(5)

a * log b はlog (ba) であるため、(5)しきはさらにつぎのようにへんけいできる:

    さへん = -1 * ln b = ln (b-1) ……(6)

いっぽう、(4)しきのうへんはつぎのようにへんこうできる

    うへん = ln (1 / b) = ln b -1 ……(7)

よってさへん=うへんがせいりつし、(2)のとうしきがただしいことをしょうめいできる。

ふのかずのたいすうはそんざいしないため、コードのぜんはん(「もし」〜ぶぶん)では、bをせいのすうとしてあつかい、さいごにふごうをはんてんしている。

かんれんこうもく

Cookieは私達のサービスを提供するのに役立ちます。このサービスを使用することにより、お客様はCookieの使用に同意するものとします。