For文の応用
・二重ループによる「九九」の計算
・うまく表示ができないのでつまらないかもしれないけど・・・
注意すべきことは、カウンター変数をループの中で変えては絶対にいけない。
○For文の中にFor文を!
- For文内のブロックは、一連の正しいプログラムであれば原則としては何を書いてもよい。
つまり、If文をいくつもかこうが、For文を書こうが全く問題はない。
- For文による二重ループのプログラムを作ってみよう。
- 遊園地のコーヒーカップ?カップが回りながら、全体が回る。
- For文の中のブロックにFor文を書くと、どうなるのか、慌てずにじっくりと。
一文一文をきちんと追いかけられれば分かるはず。
- カウンター変数をループ内で変えるようなプログラムは駄目ということは、
外のループのカウンタ変数と、中のループのカウンタ変数は、変えなければいけない。
例;
Dim n,m
For n = 1 to 10
'ここにも書けるA
For m = 1 to 10
'もちろんここにも書けるB
Next m
'ここにだって書けるC
Next n
さて上記例で、Aが何回、Bは何回、Cは何回実行されるのかを考えてみよう。
○「九九」をプログラミングしてみよう!
- 小学校で習った「九九」をプログラミングして、コンピュータに計算させてみよう。
- 「1×1、1×2、1×3、・・・、2×1、2×2、・・・9×9」という順に計算をさせる。
- For文一つではうまくいかない。
- まずは1の段の計算において、1*i と考え、iを1,2,・・・と変化させていくことを考えよう。
- そして、j段の計算として、jを1,2,・・・と変化させていくことを考えよう。
- 結果としては、j * i が九九の計算となるはず。
- まずは表示される結果の見栄えを気にせずに、9×9回正しく計算されるプログラムを完成させよう。
- 本当は九九の表を表示できるとよいのだけれど、ちょっと難しいので、各々の掛け算の結果をLabelに表示する程度にしておこう。
- ※ワンステップ実行できちんとたしかめてみよう!
- 注意;二重にFor文を書く場合は、各々のカウンタ変数を、必ず別の変数にしないと、絶対にうまくいかない!
[「WR班」プログラミング基礎のTopに戻る]