DIM A(15),B(15),C(15) FOR i = 1 TO 15 LET A(i)=INT(RND*40)+10 ! A(1)〜A(15)に10〜49の整数をランダムに入れる NEXT i MAT C=A PRINT PRINT " ";A(1) PRINT PRINT " ";A(2);" ";A(3) PRINT PRINT " ";A(4);" ";A(5);" ";A(6);" ";A(7) PRINT PRINT " ";A(8);" ";A(9);" ";A(10);" ";A(11);" ";A(12);" ";A(13);" ";A(14);" ";A(15) PRINT PRINT "################################################" PRINT PRINT "以上がランダムに10〜49の整数を2分岐構造で表したものです。" PRINT PAUSE "これからヒープを作って行きます。" LET Q=0 10 LET W=3 DO WHILE W>0 FOR i=4 TO 7 IF A(2*i)0 THEN GOTO 20 PRINT PRINT "これでヒープができました。" PRINT PAUSE "これからソートしていきます。" LET Q=15 20 LET B(16-Q)=A(1) LET A(1)=A(Q) LET A(Q)=50 LET Q=Q-1 PRINT PRINT " ";A(1) PRINT PRINT " ";A(2);" ";A(3) PRINT PRINT " ";A(4);" ";A(5);" ";A(6);" ";A(7) PRINT PRINT " ";A(8);" ";A(9);" ";A(10);" ";A(11);" ";A(12);" ";A(13);" ";A(14);" ";A(15) PRINT PRINT IF Q=1 THEN GOTO 30 GOTO 10 30 LET B(15)=A(1) PRINT "################################################" PRINT PRINT PRINT "結果発表:" PRINT PRINT " ";C(1) PRINT PRINT " ";C(2);" ";C(3) PRINT PRINT " ";C(4);" ";C(5);" ";C(6);" ";C(7) PRINT PRINT " ";C(8);" ";C(9);" ";C(10);" ";C(11);" ";C(12);" ";C(13);" ";C(14);" ";C(15) PRINT PRINT " ################################################" PRINT PRINT " "; FOR i=1 TO 15 PRINT " ";C(i); NEXT i PRINT PRINT PRINT " ↓ ↓ ↓" PRINT PRINT " " ; FOR i=1 TO 15 PRINT " ";B(i); NEXT i PRINT PRINT END