#author("2018-02-09T17:26:08+09:00","","") ** FOR〜NEXT文 [#qa804a1a] #author("2023-01-31T10:36:12+09:00","default:maa","maa") 次のプログラムは 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 回使用し、九九の一覧表を作成せよ。&br;ヒント:FOR〜NEXT の繰り返しの中に、さらに FOR〜NEXT の繰り返しを書くことになる。FOR〜NEXT で使用する変数は、それぞれ別の変数を使用すること。&br; 例えば 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;"でした。" |SIZE(18):BGCOLOR(yellow):|c |FOR ループ変数=初期値 TO 最終値 STEP きざみ値&br; [繰り返されるプログラム]&br;NEXT ループ変数| :[課題4]|先のプログラムを改良し、最大値と最小値を同時に求めて表示するようにせよ。&br;ヒント: 同時にといっても、MAX を求めるための部分(50 行目)と同じような行(最小値 MIN を求めるための行)を、次の行(または前の行)に並べておけばよいだけ。 :[課題5]|FOR〜NEXT を使って、“*” で次のような三角形を表示するプログラムを作成せよ。&br; ヒント: * は 1〜5 行目まで表示されている。* の数は 1 行目は 1 個、2 行目は 2 個と、行の値と一致する。ゆえに、何行繰り返すかの FOR〜NEXT、* を横に何回表示する(表示を何回繰り返す)かの FOR〜NEXT が必要になる。 * ** *** **** ***** RIGHT:[[[BASIC言語の基本命令文と文法に戻る]>コンピュータ実習II#md798e85]]