質問<3441>2006/10/21
次のプログラムについて教えて下さい。 次ののBASICプログラムを実行すると数字の列が4回出力される。それがどのような数字 の列か調べよ。また、その数字の列が出力される理由を説明し、このプログラムの目的 を示せ。 100 DIM A(5) 110 FOR J=1 TO 5 !ここで、配列Aに文番号270のデータを読み込んでいる。 120 READ A(J) 130 NEXT J 140 FOR I=1 TO 4 150 LET K=1 160 FOR J=I+1 TO 5 170 IF A(J)>A(K) THEN LET K=J #(注意)「>」は半角 180 NEXT J 190 LET T=A(I) 200 LET A(I)=A(K) 210 LET A(K)=T 220 FOR J=1 TO 5 230 PRINT A(J); 240 NEXT J 250 PRINT 260 NEXT I 270 DATA 20,33,18,21,69 280 END ★希望★完全解答★
お便り2006/10/22
from=JJon.com
完全解答ではありません,あしからず。 プログラムを実行したけれど,数字の意味することがわからなかった ということでしょうか。このプログラム,行番号150が間違っています。 × 150 LET K=1 ○ 150 LET K=I これを修正して実行。途中経過ごとに4回出力される数字の列は次のとおり。 69 33 18 21 20 69 33 18 21 20 69 33 21 18 20 69 33 21 20 18 4行目の最終結果から,プログラムの目的が予想できるのではないでしょうか。 その数字の列が出力される理由も,5つの配列要素の内容をイラストに描いて, 命令による変化の様子を1行ずつ追っていけば説明できるように思います。