100 CLS 'CLEAR SCREEN 110 DIM A$(20) 'ARRAY FOR DATA 120 FOR I = 1 TO 19 'SETUP FOR DATA TO ARRAY 130 READ B$ 'READ DATA ITEM 140 A$(I) = B$ 'MOVE TO ARRAY 150 NEXT I 'CONTINUE TIL DONE 155 FOR I = 0 TO I8 STEP 2 'LOOP FOR ARRAY DISPLAY 160 GOSUB 20000 'DISPLAY ARRAY 165 NEXT I 'LOOP 170 SW = 0 'SET CHANGE FLAG 175 P = P+1 'BUMP PASS COUNT 180 FOR I = 0 TO 18 'SETUP LOOP FOR SORT 190 IF A$(I) <= A$(I+1) GOTO 240 'GO IF SORTED ( 2 ITEMS ) 200 B$ = A$(I) 'TEMPORARY STORAGE 210 A$(I) = A$(I+1) 'MOVE ITEM UP 220 A$(I+1) = B$ 'MOVE ITEM DOWN 230 SW = 1 'SET CHANGE FLAG 235 GOSUB 20000 'DISPLAY CHANGE 240 NEXT I 'CONTINUE WITH LOOP 245 PRINT "PASS";P; 'PRINT PASS COUNT 250 IF SW = 1 GOTO 170 'GO AGAIN IF CHANGE 260 PRINT "SORT DONE" 'DONE 270 END 300 DATA "ELECTRON","LA SMOG","DIAMOND","PEA","MARBLE" 310 DATA "#3 BEARING","FABERGE EGG","BASEBALL","ORANGE","BOWLING BALL" 320 DATA "BALLON","BALL OF STRING","747 TIRE","DOUGHNUT","GOODYEAR BLIMP" 330 DATA "PERSPHERE","RAMA","PHOBOS","MARS","EARTH" 20000 PRINT 'SEPERATOR 20010 FOR I = 0 TO 19 20020 PRINT A$(I) 20030 NEXT I 20040 RETURN