[問題 3-1]のヒント
くりかえし(ループ)と足し算を使って、3×5を求めるプログラムを作ってください。
ここで答えとして求めているものは、掛け算の結果ではありません。ここでは足し算を使って掛け算をするプログラムが求められています。だから
答え = 3 × 5
というプログラムは、足し算を使っていないので正しい答えではありません。
それでは、掛け算がどのようなものかを考えてみましょう。
n×mの掛け算とは「nの塊がm個あります、全部でいくつでしょう」と書くことができます。
問題にある「3 × 5」は3という塊が5個あります、つまり3+3+3+3+3はいくつでしょう、と考えることができます。(または、5の塊が3個あります、でも同じです)
では、「3+3+3+3+3」をどう考えるかについて説明します。
プログラムが返す答えを「kotae」という変数とします。すると、前の章でみた足し算のプログラムと同様
kotae = kotae + 3 を5回繰り替えす
ということが思いつくと思います。プログラム風に書くてみると
5回繰り返す
kotae = kotae + 3
となり、一見これで終わりのように思えます。
しかし、ここで注意しなくてはいけないのは「最初のkotaeの値はいくつ?」ということです。
繰り返しの中で使われる「kotae」には、前の繰り返しの中で求められた値が代入されています。しかし、最初の繰り返しのときの「kotae」には値が決められていません。
そこで、「kotae」の初期値をプログラムの最初で決めてあげなくてはなりません。
つまり、
kotae = 0
5回繰り返す
kotae = kotae + 3
が、求めるべきプログラムとなります。
//