10 REM BUBBLE SORT DEMONSTRATION PROGRAM USING STRINGS
20 REM ----------------------------------------------
30 DIM A$(8)
40 PRINT "BUBBLE SORT DEMONSTRATION - STRING VERSION"
50 PRINT "=========================================="
60 PRINT
70 REM INITIALIZE ARRAY WITH FIXED STRINGS
80 A$(1) = "ZEBRA"
90 A$(2) = "APPLE"
100 A$(3) = "ORANGE"
110 A$(4) = "BANANA"
120 A$(5) = "KIWI"
130 A$(6) = "GRAPE"
140 A$(7) = "MANGO"
150 A$(8) = "CHERRY"
160 PRINT "ORIGINAL ARRAY:"
170 FOR I = 1 TO 8
180 PRINT A$(I);
190 IF I < 8 THEN PRINT ", ";
200 NEXT I
210 PRINT
220 PRINT
230 REM BUBBLE SORT ALGORITHM
240 PRINT "SORTING PROCESS:"
250 FOR PASS = 1 TO 7
260 PRINT "PASS"; PASS
270 SWAPPED = 0
280 FOR I = 1 TO 8 - PASS
290 IF A$(I) > A$(I + 1) THEN GOSUB 400
300 NEXT I
310 FOR J = 1 TO 8
320 PRINT A$(J);
330 IF J < 8 THEN PRINT ", ";
340 NEXT J
350 PRINT
360 IF SWAPPED = 0 THEN GOTO 440
370 NEXT PASS
380 GOTO 440
390 REM SWAP SUBROUTINE
400 TEMP$ = A$(I)
410 A$(I) = A$(I + 1)
420 A$(I + 1) = TEMP$
430 SWAPPED = 1
440 RETURN
450 REM DISPLAY FINAL SORTED ARRAY
460 PRINT
470 PRINT "FINAL SORTED ARRAY:"
480 FOR I = 1 TO 8
490 PRINT A$(I);
500 IF I < 8 THEN PRINT ", ";
510 NEXT I
520 PRINT
530 PRINT "SORTING COMPLETE!"
540 END