Back to page

− Links

 Print 

Backup diff of Articles​/D言語入門講座​/第02章 - 計算 (No. 1) :: D言語友の会

Backup diff of wiki:Articles/D言語入門講座/第02章 - 計算(No. 1)

  Next »[4]
1: 2012-04-30 (Mon) 15:43:57 SHOO[5] source[6]
With "vote" plugin.
Line 1: Line 1:
 +TITLE:計算
 +#navi
 +* #01 - 四則演算 [#g86123e9]
 +** 今回は… [#r0457443]
 +今回はプログラムで四則演算(+、-、×、÷)をしてみて、その結果を出力してみようと思います。~
 +出力は、前回同様 writef(数値) を使っていきます。~
 +D言語での演算子(+とかの記号のこと)の対応は今回のミソのとおりです。(プログラム内では全角文字の+や-、×や÷と書いてはいけないのです)
 +
 +
 +** 今回のミソ [#e01493b4]
 +- 計算に使う+や-の記号のことを、&color(red){''演算子''};と言う。
 +- 普通の演算子とD言語の演算子の対応は以下のとおり。
 +-- 加算(+) … ''+''
 +-- 減算(-) … ''-''
 +-- 乗算(×) … ''*''
 +-- 除算(÷) … ''/''
 +-  演算の優先順位は常識どおり。
 +- ''( )'' (括弧)も使える。
 +- ''[ ]'' (大括弧)や { } (中括弧) は、計算の優先順位のためには使うことができない。
 +
 +
 +** サンプルコード [#a923a8b8]
 +#code(d,sample0201p.d);
 +#region(Tango用はこちら){{
 +#code(d,sample0201t.d);
 +}}
 +
 +
 +** 実行結果 [#dc744b7d]
 +#code(console){{{
 +$ dmd -run sample0201p.d
 +2 + 3 = 5
 +3 - 2 = 1
 +2 * 4 = 8
 +6 / 3 = 2
 +3 + 5 * 3 = 18
 +( 3 + 5 ) * ( 8 - 4 / 2 + 1) = 56
 +}}}
 +
 +
 +** まとめ [#aa411e76]
 +さて、そんなわけで、こんな感じで計算をすることができます。~
 +次は、割り算したあまりを出す方法を説明しますよ。~
 +お次へどうぞー
 +
 +
 +
 +* #02 - 余剰と実数の計算 [#s5a5bafe]
 +** 今回は… [#v1143b40]
 +前のプログラムでは、四則演算をしましたが、D言語だとほかに余剰というものを計算することができます。~
 +余剰というのは、割り算をしたときのあまりで、たとえば10÷7なら3があまりになります。~
 +これを計算する方法があったりします。~
 +ほかにも、5÷2をしたとき、前回の方法では、2と出てしまいます。これはおかしいですね。~
 +これは、「整数」で計算した答えが、「整数」でしか出せないためです。~
 +これを解決するには、「実数」で計算して、答えを「実数」で出すようにすることです。
 +
 +** 今回のミソ [#h366fb1b]
 +- 余剰の演算子は、 "''%''"
 +- 整数の後に、''.0''をつけると、実数として判断される。
 +- 実数で計算すると、実数で計算結果が出てくる。
 +
 +
 +** サンプルコード [#d6c27d6a]
 +#code(d,sample0202p.d);
 +#region(Tango用はこちら){{
 +#code(d,sample0202t.d);
 +}}
 +
 +
 +** 実行結果 [#if33dbd5]
 +#code(console){{{
 +$ dmd -run sample0202p.d
 +3
 +2.5
 +}}}
 +
 +
 +** まとめ [#je1b9470]
 +これで、いろいろと計算することができるようになりました。~
 +しかし、D言語ができる計算は、当然これだけではありません。~
 +次は、「文字列」を計算してみます。~
 +さあ、早速お次へどうぞー
 +
 +
 +
 +* #03 - 文字列の連結 [#t5b763eb]
 +** 今回は… [#l560fbec]
 +D言語で計算することができるのは数値だけではありません。 たとえば、文字列を計算することができます。ここでは、文字列をくっつけるお話をします。ない
 +
 +
 +** 今回のミソ [#maad8049]
 +- 文字列を結合する演算子は ~ (チルダ)
 +
 +
 +** サンプルコード [#u1b142da]
 +#code(d,sample0203p.d);
 +#region(Tango用はこちら){{
 +#code(d,sample0203t.d);
 +}}
 +
 +
 +** 実行結果 [#ue10be67]
 +#code(console){{{
 +$ dmd -run sample0203p.d
 +この文字列とこの文字列を連結します。
 +書式もこういう風に連結できる
 +}}}
 +
 +
 +** まとめ [#v4bf1c03]
 +というわけで、今回は文字列を連結させることができるよっていうお話でした。~
 +もっとも、D言語では、文字列は「文字の配列」という扱いなので、配列の連結といったほうが正しいのでしょうが…~
 +配列についてはもっと後のほうの講義ですので、今は文字列の連結という感じで覚えておくといいと思います。~
 +
 +お次へどうぞー
 +
 +
 +
 +* #summary - まとめ [#q629feda]
 +第01章のミソ
 +- 計算に使う+や-の記号のことを、&color(red){''演算子''};と言う。
 +- 普通の演算子とD言語の演算子の対応は以下のとおり。
 +-- 加算(+) … ''+''
 +-- 減算(-) … ''-''
 +-- 乗算(×) … ''*''
 +-- 除算(÷) … ''/''
 +-  演算の優先順位は常識どおり。
 +- ''( )'' (括弧)も使える。
 +- ''[ ]'' (大括弧)や { } (中括弧) は、計算の優先順位のためには使うことができない。
 +- 余剰の演算子は、 "''%''"
 +- 整数の後に、''.0''をつけると、実数として判断される。
 +- 実数で計算すると、実数で計算結果が出てくる。
 +- 文字列を結合する演算子は ~ (チルダ)
 +
 +** 宿題 [#s58506da]
 +一辺5の正方形の、面積と周の長さを、D言語のプログラムを使って求めてください~
 +出力結果は次のようになりますね。
 +#code(console){{{
 +面積 : 25
 +周の長さ : 20
 +}}}
 +
 +
 +** コメント [#d9d3d52a]
 +さてさて、できましたかな~?~
 +数値の計算ができると、D言語を電卓のような感覚で使うことができるようになりますよ。~
 +もちろん、D言語を電卓の変わりに使っても発展性もくそもないのですが…~
 +でも、cos関数とかsin関数、ほかには乱数とかも使えるようになると多少話は変わってくるかも?~
 +その辺は関数のあたりですかねぇ…~
 +まぁ、とりあえず次回は「変数」です。~
 +数学で馴染み深い変数ですが、プログラムではどうなっていうるのか、そこらへんを取り上げてみます。
 +
 +さあさ、宿題できたら or 予想付いたら次に進みましょう~
 +
 +#navi
 +
 +
 +* コメント [#pd5f9728]
 +#vote(#lastvote:206a499f93f4a947869c09788c67c8b7,大変参考になった[1],参考になった[1],あまり参考にならなかった,まったく参考にならなかった)
 +#pcomment
  Next »[4]