FOR〜NEXT文

次のプログラムは FOR〜NEXT に挟まれた PRINT 文を 4 回繰り返し実行する.10 行目の FOR で使用される変数Iは、繰り返し回数を数えるために使用される。30 行目の NEXT は 10 行目の FOR に対応する文で、プログラムが 30 行目を実行した際、実行を 10 行目に移し、変数Iの値を 1 だけ増加させる。I の値が 5 になった時点で NEXT 以下に実行を移す。

10	FOR I=1 TO 4
20		PRINT "Iの値は";I;"です。"
30	NEXT I
40	PRINT "おわりです。現在のIの値は";I;"です。"

次のプログラムは定期預金の複利計算を行うプログラムである。毎年の預金残高を表示するように下線部を補完し、プログラムを完成させよ。例えば、100 円を年利 2% で 5 年預ければ、5 年後の残高は 100×1.02 の 5 乗円になる。なお、残高計算で使用するべき乗計算の演算子は “^” を使用すること(例:2 の 3 乗は “2^3” と書ける)。

10	INPUT "元  金(円)";G
20	INPUT "利  率(%)";R
30	INPUT "預金期間(年)";Y
40	FOR I=_ TO _
50		ZANDAKA=_____________
60		PRINT ____________________
70	NEXT I
[課題3]
FOR〜NEXT を 2 回使用し、九九の一覧表を作成せよ。
ヒント:FOR〜NEXT の繰り返しの中に、さらに FOR〜NEXT の繰り返しを書くことになる。FOR〜NEXT で使用する変数は、それぞれ別の変数を使用すること。
例えば A×B を考えると、A と B それぞれ 1〜9 までの組み合わせが九九になる。ゆえに、変数 A のための FOR〜NEXT と変数 B のための FOR〜NEXT が必要になる。

FOR〜NEXT で使用する変数は、STEP を記述することによって自由に増減できる。次のプログラムでは、I の初期値を 0 とし、0.5 ずつ減少させて -5 に達する。

10	FOR I=0 TO -5 STEP -0.5
20		PRINT I
30	NEXT I

次のプログラムは、INPUT 文で正の数を入力してもらい、その最大値を変数 MAX に求めて表示するプログラムである。60 行目の下線部を補完せよ。

10	MAX=0
20	PRINT "これから5つの正の数を入力してもらいます。"
30	FOR I=1 TO 5
40		PRINT I;"つ目の";
50		INPUT "数字を入力してください。";A
60		IF ____________________
70	NEXT I
80	PRINT "最大値は";MAX;"でした。"

上の例では、入力される数を正の数に限定していた。そのため、10 行目で仮の最大値を 0 とし、最大値は必ず 0 よりも大きいと考えることができた。今度は、入力できる数に制限を設けず、負の数が入力されても動作するようにしたい。次のプログラムは、負の数を含む入力を可能としたものである。下線部を補完し、プログラムを完成させよ。

10	PRINT "これから5つの数(負の数を含む)を入力してもらいます。"
20	FOR I=1 TO 5
30		PRINT I;"つ目の";
40		INPUT "数字を入力してください。";A
50		IF ___ THEN MAX=A ELSE IF _____ THEN _____
60	NEXT I
70	PRINT "最大値は";MAX;"でした。"
FOR ループ変数=初期値 TO 最終値 STEP きざみ値
  [繰り返されるプログラム]
NEXT ループ変数
[課題4]
先のプログラムを改良し、最大値と最小値を同時に求めて表示するようにせよ。
ヒント: 同時にといっても、MAX を求めるための部分(50 行目)と同じような行(最小値 MIN を求めるための行)を、次の行(または前の行)に並べておけばよいだけ。
[課題5]
FOR〜NEXT を使って、“*” で次のような三角形を表示するプログラムを作成せよ。
ヒント: * は 1〜5 行目まで表示されている。* の数は 1 行目は 1 個、2 行目は 2 個と、行の値と一致する。ゆえに、何行繰り返すかの FOR〜NEXT、* を横に何回表示する(表示を何回繰り返す)かの FOR〜NEXT が必要になる。
*
**
***
****
*****
[BASIC言語の基本命令文と文法に戻る]

トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS