 
 
 
 
 
質問<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行ずつ追っていけば説明できるように思います。
 
 
 
 
