10 PRINT "PROGRAM FILE 15: THE REM AND GOTO STATEMENTS."
20 PRINT "    ANSI STANDARD 18.2, 18.4, 10.2, 10.4"
30 PRINT
40 PRINT "SECTION 15.1: THE REM-STATEMENT - FOR PROGRAM COMMENTS."
50 PRINT
60 PRINT "                               BEGIN TEST."
80 REM    THIS SECTION TESTS THE REM-STATEMENT. THE MINIMAL BASIC
90 REM    CHARACTER SET OF ASCII CHARACTERS IS GIVEN BELOW.
100 REM
110 REM       ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456780
120 REM       ! "#$%&'()*+,-./:;<=>?^_
130 REM
140 REM THE PROGRAM FLOW SHOULD NOT BE ALTERED BY REM STATEMENTS.
160 PRINT "*** REM TEST PASSED IF THESE ARE THE ONLY TWO LINES "
162 REM BETWEEN TWO PRINTS HAS NO EFFECT
165 PRINT "    PRINTED BETWEEN 'BEGIN TEST.' AND 'END TEST.'  ***"
170 REM NOR DOES A REM FOLLOWING LAST PRINT
180 PRINT "                                END TEST."
190 PRINT
200 PRINT "SECTION 15.2: TEST OPTIONAL SPELLING OF GOTO AND TRANSFER TO"
210 PRINT "             REM-STATEMENT."
220 PRINT
230 PRINT "                               BEGIN TEST."
240 PRINT
250 PRINT "IF 1 FOLLOWS THIS LINE, TRANSFER USING 'GOTO' PERFORMED"
260 GOTO 430
270 PRINT "    ERROR: TRANSFER FROM LINE 260 TO 430 NOT PERFORMED"
280 LET M=3
290 PRINT TAB(67);M
300 PRINT "IF 4 FOLLOWS THIS LINE, TRANSFER TO REM-STATEMENT PERFORMED"
310 GO TO 600
320 PRINT "    ERROR: TRANSFER FROM LINE 310 TO 600 NOT PERFORMED"
330 LET M=7
340 PRINT TAB(67);M
350 PRINT "IF 8 FOLLOWS THESE TWO LINES, FORWARD TRANSFER PERFORMED,"
355 PRINT "   WITH LEADING ZERO IN LINE NUMBER OF THE GOTO"
360 GO TO 0480
370 PRINT "    ERROR: TRANSFER FROM LINE 360 TO 480 NOT PERFORMED"
380 LET M=2
390 PRINT TAB(67);M
400 PRINT "IF 3 FOLLOWS THIS LINE, TRANSFER USING 'GO   TO' PERFORMED"
410 GO    TO 280
420 PRINT "    ERROR: TRANSFER FROM LINE 410 TO 280 NOT PERFORMED"
430 LET M=1
440 PRINT TAB(67);M
450 PRINT "IF 2 FOLLOWS THIS LINE, TRANSFER USING 'GO TO' PERFORMED"
460 GO TO 380
470 PRINT "    ERROR: TRANSFER FROM LINE 460 TO 380 NOT PERFORMED"
480 LET M=8
490 PRINT TAB(67);M
495 PRINT
500 PRINT "THE NEXT OUTPUT MUST BE THE '*** TEST PASSED...'"
510 PRINT "MESSAGE FOR TEST TO PASS."
515 PRINT
520 GO TO 710
530 PRINT "    ERROR: TRANSFER FROM LINE 520 TO 710 NOT PERFORMED"
540 LET M=6
550 PRINT TAB(67);M
560 PRINT "IF 7 FOLLOWS THIS LINE, BACKWARD TRANSFER PERFORMED"
570 GO TO 330
580 PRINT "    ERROR: TRANSFER FROM LINE 570 TO 330 NOT PERFORMED"
590 REM
600 REM   TEST GOTO TRANSFERRING TO REM STATEMENT.
610 LET M=4
620 PRINT TAB(67);M
630 PRINT "IF 5 FOLLOWS THIS LINE, FORWARD TRANSFER PERFORMED"
640 GO TO 660
650 PRINT "    ERROR: TRANSFER FROM LINE 640 TO 660 NOT PERFORMED"
660 LET M=5
670 PRINT TAB(67);M
680 PRINT "IF 6 FOLLOWS THIS LINE, BACKWARD TRANSFER PERFORMED"
690 GO TO 540
700 PRINT "    ERROR: TRANSFER FROM LINE 690 TO 540 NOT PERFORMED"
710 PRINT "*** TEST PASSED IF THE OUTPUT ABOVE IS ORDERED 1,2...,8  "
720 PRINT "    AND NO ERROR MESSAGES HAVE APPEARED ***"
730 PRINT
740 PRINT "                                END TEST."
760 PRINT
770 PRINT "SECTION 15.3: GOTO-STATEMENT TRANSFERS TO ANOTHER GOTO."
780 PRINT
790 PRINT "                               BEGIN TEST."
800 PRINT
810 GOTO 880
820 PRINT "    ERROR: TRANSFER FROM LINE 810 TO 880 NOT PERFORMED"
830 PRINT "*** TEST PASSED IF THERE ARE NO ERROR MESSAGES  ***"
840 GOTO 900
850 PRINT "    ERROR: TRANSFER FROM LINE 840 TO 900 NOT PERFORMED"
860 GOTO 830
870 PRINT "    ERROR: TRANSFER FROM LINE 860 TO 830 NOT PERFORMED"
880 GOTO 860
890 PRINT "    ERROR: TRANSFER FROM LINE 880 TO 860 NOT PERFORMED"
900 PRINT
910 PRINT "                                END TEST."
920 PRINT
930 PRINT "END PROGRAM 15"
940 END
