welcome: please sign in

リモートwikiのアカウントとパスワードを入力してください。
/!\ ただし、双方のwiki管理者にパスワードを見られる可能性があります。

メッセージを消す
location: プログラムの作り方

プログラムの作り方

プログラムはどのような手順で作るのか、例をあげて説明します。


(1)どんなプログラムを作るか決める

おみくじプログラムを作ることにします。 実行されるごとに、いくつかの異なったメッセージがランダムに表示されるものです。


(2)そのプログラムの使い方を決める

を行ったら

などと表示されることにします。

ここでファイル名も決めておきます。


(3)プログラム全体の構成を決める

関数を使って書くことにします。 関数名は omikuji にしました。引数は必要ないので名前の後ろは括弧だけです。 printは関数の中で行う書き方を使うことにします。(値を返し、関数を呼び出す側でprintする方法もあります。) loadしたら実行されるように、関数定義のあとに関数呼び出しを書きます。

すると、全体の構成は次のようになります。

テキストエディタを使ってここまで入力し、先に決めたファイル名で保存します。 この時点でコメントも書いておきます。


(4)手順を考える

関数内で行うことがらを、行う順に書き出してみます。

以上3つのことを行うプログラムを書けばよいことがわかります。

3)はprint文で書けます。

2)はif文を使って場合分けする書き方を使えばよい。

1)は乱数を発生させる関数を使います。処理系で用意されています。

Math.random() はこの関数を呼び出すたびに0~1の範囲の数をランダムに返します。 この値を変数 ransu に覚えておき、ransuの値を使って場合分けすることにします。

2行追加し、このようになります。コメントは省略しています。

... の部分が場合分けの処理になります。 場合分けごとに、おみくじの内容を変数の値として覚えさせることにします。

変数の値としては数値だけでなく、文字列も使えます。 例えば

を行った後で

を実行すると

と表示されます。

さらに2行修正しました。


(5)プログラムの詳細部分を書く

いくつの場合に分けるか考えます。

の3つの場合に分けるときの書き方は次のようになります。

条件を書けば完成です。 ransu には0~1の範囲の値が入っているので、これを3つに分けて

にすることにします。 0.33と0.66は2箇所に現れていますが、0.33はぼちぼち、0.66はいまひとつの方に入れることにします。

ransuには0~1の範囲の値しか入っていないので、 さいこー の処理がされる条件としては ransu < 0.33 だけを書けばよいことがわかります。

ぼちぼち が処理される条件は 0.33 <= ransu と ransu < 0.66 の2つですが、 最初に判定される条件 ransu < 0.33 が成り立たないときだけについて考えればよいので、0.33 <= ransu は不要で、ransu < 0.66 だけを書けばよいことが分ります。

いまひとつ が処理される条件は 0.66 <= ransu ですが、これは最初と2番目に判定される条件を2つとも満足しないときに対応するので else で良いことも分ります。

プログラムは次のようになります。

この形の場合分けは良く使われます。 場合分けにおける条件の書き方を、図とプログラムで対応させてみてください。


(6)動作するか確かめる

保存し何度か load を行って、そのたびに違った内容が表示されることを確かめます。 どの場合もちゃんと実行されるか、何度も実行してみましょう。