- 追加された行はこの色です。
- 削除された行はこの色です。
- 配列変数 は削除されています。
- 配列変数 の差分を削除
#author("2018-02-09T17:27:34+09:00","","")
** 配列変数 [#p5edb310]
#author("2023-01-31T10:33:59+09:00","default:maa","maa")
同種のデータをまとめて管理するためには、配列変数を使うことができる。配列変数は、変数名の後に、括弧付きの通し番号を付けて表される。配列変数を使用する場合には、はじめに配列変数の大きさを宣言しなければならない。
10 DIM A(19)
上の例は、配列変数 A(0),A(1),…,A(19) の 20 個の変数を使用する宣言である。配列変数 A(0)〜A(19) のそれぞれは、これまでの変数と同様に使用することができる。
10 DIM A(1)
20 A(0)=2:A(1)=A(0)+5
30 PRINT A(1)
次のプログラムは、用意されたデータを READ 文で配列変数 X(0)〜X(9) に順番に読み出しながら表示し、改行した後、逆順でデータを表示するプログラムである。
10 DIM X(9)
20 PRINT "データを読み込んだ順は"
30 FOR I=0 TO 9
40 READ X(I):PRINT X(I)
50 NEXT I
60 PRINT
70 PRINT "逆順で表示すると"
80 FOR I=9 TO 0 STEP -1
90 PRINT X(I)
100 NEXT I
110 DATA 2,3,5,7,11,13,17,19,23,29
配列変数は、二次元に拡張することができる。
|氏名|国語|数学|英語|h
|山田一郎|BGCOLOR(yellow):80|BGCOLOR(yellow):65|BGCOLOR(yellow):70|
|山田二郎|BGCOLOR(yellow):70|BGCOLOR(yellow):55|BGCOLOR(yellow):75|
|山田三郎|BGCOLOR(yellow):75|BGCOLOR(yellow):80|BGCOLOR(yellow):70|
上のような表は、&color(,yellow){黄色部分};を二次元の配列変数で扱うと便利である。すなわち 3 行 3 列の二次元配列で表現することができる。例えば、DIM TOKUTEN(2,2) と宣言すればよい。
|TOKUTEN(0,0) |TOKUTEN(0,1) |TOKUTEN(0,2)|
|TOKUTEN(1,0) |TOKUTEN(1,1) |TOKUTEN(1,2)|
|TOKUTEN(2,0) |TOKUTEN(2,1) |TOKUTEN(2,2)|
また、文字列についても同様に文字列型の配列変数を使うことができる。
10 DIM NAME$(2),TOKUTEN(2,2)
20 FOR I=0 TO 2
30 READ NAME$(I) '(氏名の読み込み)
40 FOR J=0 TO 2
50 READ TOKUTEN(I,J) '(3教科の点数の読み込み)
60 NEXT J
70 NEXT I
80 PRINT NAME$(2);"さんの数学の点数は";TOKUTEN(2,1);"点です。"
90 DATA "山田一郎",80,65,70
100 DATA "山田二郎",70,55,75
110 DATA "山田三郎",75,80,70
上のプログラムでは、文字列型配列変数 NAME\$(0)〜NAME\$(2) に名前、配列変数 TOKUTEN(0,0)〜TOKUTEN(2,2) に点数をすべて読み込ませている。これにより、後の処理で個々の各データが効率的に読み出せる。例えば山田三郎さんの数学の点数は TOKUTEN(2,1) で読み出せる。
10 DIM QA$(1,5),ANS$(1,5)
20 PRINT "単語を英語で答えてください。"
30 FOR I=_ TO _
40 READ QA$(0,I),QA$(1,I)
50 PRINT QA$(0,I);:INPUT ANS$(0,I)
60 IF ____=____ THEN PRINT "正解":ANS$(1,I)="t" ELSE PRINT "不正解":ANS$(1,I)="f"
70 NEXT I
80 PRINT "間違えた単語"
90 FOR I=_ TO _
100 IF ANS$(1,I)=___ THEN PRINT QA$(1,I),ANS$(0,I),QA$(0,I)
110 NEXT I
120 DATA "地球","Earth","月","Moon","火星","Mars"
130 DATA "木星","Jupiter","土星","Saturn","天王星","Uranus"
RIGHT:[[[BASIC言語の基本命令文と文法に戻る]>コンピュータ実習II#md798e85]]