.
中高生のための
今から始めるプログラミング
かけ算九九をやってみよう -- for〜next文
最終更新日:2004/02/12

<<BACK ↑HOME NEXT>>

 1  7の段を計算しよう
タイトルを見て、何をいまさら。とタカをくくっているあなたも、7の段を早口で言ってと言われたら、少し戸惑うはずです。そんな7の段を、今回はプログラミングしてしまいます。では、7の段を計算するプログラムを作ってください。と言われたら、あなたは絶対こう書くはずです。
 
10 print 7*1
20 print 7*2
30 print 7*3
40 ......
さて、このまま print 7*9 まで続けるなんて、とても面倒だと思いませんか?もちろん、今までの方法ではそれしかないからなのですが。本章では、これが簡単に書ける for〜next文について説明します。
 

 2  for〜next文とは
for〜nextをつかうと、変数に次々と違う数値を代入して計算する事ができます。
それでは早速、プログラム例を見てみましょう。
 
10 for i=1 to 10 !iに1から10まで代入する
20  print i   !iを画面に表示
30 next i     !iに次の値を代入する
99 end
行番号30の「NEXT x」はこの場合、行番号10に戻るという意味です。ここでは、20行目が合計10回実行されることになります。このプログラムを実行してみましょう。すると、下記のような結果が表示されるはずです。
 
1
2
3
4
5
6
7
8
9
10
どうしてこのような結果になるか分からない人は、「ステップ実行」でプログラムを1行ずつ実行してみましょう。また、1から10まで2刻みで増やしたい場合は、
 
10 for i=1 to 10 step 2 !iに1から10まで「2刻みで」代入する
20  print i   !iを画面に表示
30 next i     !iに次の値を代入する
99 end
と付け足しましょう。
 

 3  for〜next文を使って7の段を計算しよう
for〜nextは、指定された分だけ i の値を動かして、for と next で挟まれた文を繰り返し実行するというものでした。この、「繰り返し」がポイントになります。これを用いることにより、プログラムが簡単になります。では、先ほどの7の段を求めるプログラムをfor〜next文を用いたものに書き換えてみましょう。
 
10 for i=1 to 9 !iに1〜9まで代入する
20  print 7*i; !7とiの積を表示
30 next i    !10行目へ戻る
99 end
さて、print の後ろにセミコロン(;)がついていますが、これがあると改行しなくなります。少し覚えておくと良いでしょう。このプログラムを実行すると、下のように表示されます。
 
7 14 21 28 35 42 49 56 63
 

 4  問題
一つの段を計算する方法はわかりました。では、かけ算九九全ての値を表示するにはどうしたら良いでしょうか。それが今回の問題です。これは少し難しいかもしれないのでヒントをあげましょう。for〜next文は 2 回使います。
 
解答編へ
 

<<BACK ↑HOME NEXT>>

Copyright (C) 2003-2004 Shohei Ohsawa, Naoya Okada & Fumiya Miyakawa. All rights reserved.