繰り返し

FOR〜NEXT

1〜10の二乗

FOR〜NEXTはBASICで頻繁に用いられる繰り返しをさせる文です。FOR文に指定された変数の値を順に変化させながらFOR行とNEXT行にはさまれた各行を繰り返し実行させます。

次に示すプログラムはn=1,2,3,…10に対してn2を計算して表示します。

FOR n=1 TO 10
   PRINT n,n^2
NEXT n
END

つぎのようになります。

 1  1 
 2  4 
 3  9 
 4  16 
 5  25 
 6  36 
 7  49 
 8  64 
 9  81 
 10  100 

動作の仕組み

まず FOR n=1 で n に1が代入され、NEXT n までを実行します。n=1 ですから、1と12が表示されます。

NEXT n で、n の値を1増やして n=2 とします。FOR n=1 TO 10 の10よりも2は少ないので、もう一度 NEXT n までを実行します。n=2 ですから、2と22が表示されます。

こうして n=10 まで実行されて、 n が11になると実行をやめて NEXT n の次の文に移ります。

例15

n=1,2,3,…20に対して n2-1 を計算して表示しするプログラムをつくりなさい。

??

結果は、

 1  0 
 2  3 
 3  8 
 4  15 
 5  24 
 6  35 
 7  48 
 8  63 
 9  80 
 10  99 
 11  120 
 12  143 
 13  168 
 14  195 
 15  224 
 16  255 
 17  288 
 18  323 
 19  360 
 20  399 

繰り返しの和や積

自然数nをキーボードから入力すると1+2+3+…+nを計算するプログラムです。

INPUT n
LET S=0
FOR i=1 TO n
   LET S=S+i
NEXT i
PRINT S
END

FOR〜NEXTの変数として、i はもっとも人気があります。

ポイントは s=s+i です。これは s に i を加えてからあらためて s に代入します。最初に s=0 としておきますから、i が 1 のとき、s=0+1 です。i=2 のとき、s=1+2 になります。i=3 のとき、s=3+3 これは 1+2+3 になります。i=4 のとき、s=6+4 これは 1+2+3+4 になります。

例16

自然数nをキーボードから入力すると12+22+32+…+n2を計算するプログラムをつくりなさい。

結果は、

n= 10  で 385 
n= 20 で 2870 

例17

自然数nの階乗はnから1までの自然数をすべてかけたものです。つまり n! = n(n-1)(n-2)…3・2・1 です。たとえば、4!=4・3・2・1=24 となります。自然数nをキーボードから入力するとn!を計算するプログラムをつくりなさい。

最初 s=0 としてはいけません。s=1 とします。かけ算ですから。また、0!=1 と決められています。

結果は、

n= 10  で 3628800 
n= 20 で 2.43290200817664E18 

聖愛高等学校
http://www.seiai.ed.jp/