「条件分岐」もできるようになりました。
これで私もプログラマーの端くれですね!
そうですね。
でも、もう一つ重要な「繰り返し」がまだですよね。
これができれば、プログラマーの端くれになれますよ!
ふむ。
あと一歩ということですね!
第三章でも説明しましたが、プログラミングの骨組みは
・『条件分岐』
・『繰り返し』
の2つの処理で組み立てていきます。
団体客の料金を計算するプログラムを作る場合、
- 大人料金:1000円
- 子供料金:500円
このような入場料の遊園地があるとします。
大人か子供か、条件によって料金が変わってくるので、この場合は
『条件分岐』
のプログラムで処理します。
さらに、団体客の全体の料金を計算する場合は、 『繰り返し』
のプログラムで処理します。
そうでした。そうでした。
では、今回は『繰り返し』について学んでいきましょう。
繰り返しを使ったプログラムを書いてみよう
JavaScriptの実行する環境の準備ができていない方は、
上記記事をごらんください。
では、スタートメニューを開いて
「cmd」と入力してEnterキーを押します。
下記画面が表示されますので、
「cd C:\javascript」というコマンドを実行します。
cdの直後には半角スペースを忘れずに。
おなじみの、フォルダ移動するコマンドですね。
では次に、「notepad repeat.js」と
コマンド実行してメモ帳を作成してください。
メモ帳が開かれて、「新しく作成しますか?」のウィンドウが表示されるので、「はい」を選んでください。
では、以下のプログラムを書き写してください。
var total_price;
total_price=0;
for(var count = 0; count < 10; count++) {
total_price=total_price+1000;
}
console.log(total_price);
これは、1,000円の入場料を10人分計算するプログラムです。
ここで、重要なのは
繰り返し処理である、
「for(・・・)」の部分です。
後で、説明しますね。
とりあえず、書き写して保存できました。
それでは、黒い画面に戻って、
いま作ったプログラムを実行してみましょう。
「node repeat.js」のコマンドを実行してみてください。
お~。「10000」が表示されました。
では、解説していきます。
まず、「var total_price;」で合計金額を入れる変数を作成します。
最初は0円なので、次の行で「total_price=0;」とします。
次が本題の、繰り返し処理です。
for (var count = 0; count < 10; count++) {
***処理***
}
の部分ですね。
ふむ。よくわかりませんね。
分解するとこんな感じです。
for ( 初期値; 繰り返し条件; 増減値 )
繰り返し処理は、1回の処理ごとに増減値を増やしたり・減らしたりして、繰り返し条件に当てはまっている間、繰り返す作業を続けます。
初期値:
countという変数を作成して、初期値は今回の場合0です。
ひとつ飛ばして
増減値:
1回処理が終わるたびに、countという変数に+1します。
「count++」ってなんですか?
プラスが二回連続でありますけど。
これはプログラム特有の書き方なのですが、単純なカウントアップ(1ずつ増えていく場合)では、「count++」と書くことができます。
これは覚えておきましょう。
最後に真ん中の
繰り返し条件:
countが10以下の場合は繰り返す
う~ん、ややこしいですね。
もう一度まとめると、
初期値:countが0
繰り返し条件:countが10以下
増減値:countに+1
これで、for文の中の処理、
「total_price=total_price+1000;」が繰り返し処理されます。
そして、最後に「console.log(total_price);」で
計算した合計金額を画面に表示します。
では、問題です。
大人が50人の場合は、どこを変えればよいでしょうか。
50人ですか。50回繰り返せば良いんですよね・・・。
つまり繰り返し条件を変えれば良いだけだから・・・。
こうでしょうか。
では、プログラムを実行してみましょう。
やった~。50人分の料金の「50000」が表示されました!
おめでとうございます!
繰り返しもできるようになりましたね。
大人と子供が混ざった団体客の料金も、条件分岐と組み合わせることで計算ができるようになります。
しかし、それはプログラムが複雑になるので、またの機会にしましょうね。
これで、プログラミングの基本である。
・変数
・条件分岐
・繰り返し
の3つが理解出来たと思います。
その他にも、配列や関数など学ぶことはまだまだありますが、ここまでできれば、ひと区切りできたかなという感じですね!
やったー!
でも、まだまだ学ぶことはあるんですねぇ~・・・。
頑張りましょうね!
コメント