10  COM N6,T9,W,A3,H8,V8,D9,A9,M9
20  GOTO 60
30  CHAIN "$NTEACH"
40  REM PROGRAM NAME = NTRCPT, INTERCEPT
50  REM CHAINED TO NTEACH
60  DIM H[100],V[100],C[100],P[100],Q[100],A$[3]
70  N6=1
80  LET T9=5
90  PRINT "DO YOU WANT INSTRUCTIONS FOR RUNNING NTRCPT?  ";
100  ENTER 200,W1,A$
110  PRINT 
120  IF A$="YES" THEN 150
130  IF A$#"NO" THEN 90
140  GOTO 510
150  PRINT '10"AS THE OPERATOR OF A DEFENSIVE SPACE STATION, YOUR MISSION IS TO"
160  PRINT "INVESTIGATE AN INCOMING FOREIGN BODY WITH A SPACE PROBE."
170  PRINT 
180  PRINT "THE POSITIONS OF THE TWO OBJECTS WILL BE PLOTTED FOR FIVE SECONDS."
190  PRINT "THE TIME INTERVAL BETWEEN CONSECUTIVE POSITIONS IS ONE SECOND."
200  PRINT "AT THE END OF EACH FIVE SECOND INTERVAL YOU MAY CHANGE THE"
210  PRINT "DIRECTION AND ACCELERATION OF THE PROBE."
220  PRINT 
230  PRINT "THE PROBE'S DIRECTION MUST BE BETWEEN 0 AND 180 DEGREES."
240  PRINT "              180-----!-----0"
250  PRINT "                      !"
260  PRINT "                      !"
270  PRINT "                      !"
280  PRINT "                     90"
290  PRINT 
300  PRINT "THE PROBE'S ACCELERATION MUST BE BETWEEN 0 AND 1000 M/S/S."
310  PRINT 
320  PRINT "TO GET A REPORT OF THE PROBE'S VELOCITY AND THE DISTANCE"
330  PRINT "TO THE FOREIGN BODY, INPUT THE WORD REPORT FOR THE PROBE'S DIRECTION."
340  PRINT 
350  PRINT "I = POSITION OF THE INCOMING FOREIGN BODY."
360  PRINT "M = POSITION OF YOUR MISSILE'S SPACE PROBE."
370  PRINT 
380  PRINT "TO SUCCESSFULLY MAKE CONTACT, AN I MUST BE PRINTED OVER THE"
390  PRINT "CORRESPONDING M."
400  PRINT 
410  PRINT "FOR EXAMPLE: IF THE THIRD I IS PRINTED OVER THE THIRD M A CONTACT"
420  PRINT "HAS BEEN MADE.  HOWEVER, IF THE SECOND I IS OVER THE THIRD M, NO"
430  PRINT "CONTACT HAS BEEN MADE."
440  PRINT 
450  PRINT "CONTACT MUST BE MADE IN TWENTY SECONDS."
460  PRINT 
470  PRINT "GOOD LUCK!!"
480  PRINT 
490  PRINT "HERE IS A MAP OF THE PROBLEM:"
500  PRINT "(M IS THE INITIAL LOCATION OF THE PROBE)"
510  PRINT 
520  PRINT "                         HORIZONTAL"
530  PRINT "0 . . . . . . . . . . . . . . M . . . . . . . . . . . . . . ."
540  IF N6=2 THEN 590
550  LET A2=INT(20*RND(1)+30)
560  LET A3=A2
570  LET A2=A2*3.14159/180
580  LET W=INT(3*RND(1)+2)
590  FOR X=1 TO 100
600  V[X]=INT(SIN(A2)*W*X+.5)
610  H[X]=INT(COS(A2)*W*X+.5)
620  NEXT X
630  LET T3=1
640  FOR X=1 TO 40
650  PRINT "-"'13;
660  IF V[T3]#X THEN 740
670  FOR Y=1 TO 60
680  IF H[T3]#Y THEN 730
690  PRINT TAB(2*H[T3]);"I";
700  LET T3=T3+1
710  IF T3>5 THEN 760
720  GOTO 740
730  NEXT Y
740  PRINT 
750  NEXT X
760  PRINT '10'10
770  LET N1=T4=1
780  LET N2=5
790  LET S1=6
800  LET N3=0
810  LET N4=0
820  LET I1=15
830  PRINT "DISTANCE OM=15000 METERS."
840  PRINT "INCOMING BODY'S VELOCITY IS"W*1000"METERS/SECOND."
850  PRINT "ITS ANGLE OF TRAVEL IS"A3"DEGREES."
860  D3=1.E+18
870  PRINT 
880  GOTO N6 OF 1050,900,1050
890  PRINT 
900  PRINT "HOW MANY SECONDS DO YOU WANT BETWEEN THE LAUNCH OF THE PROBE"
910  PRINT "AND CONTACT WITH THE FOREIGN BODY?  ";
920  ENTER 200,W1,T9
930  PRINT 
940  LET D8=W*(5+T9)
950  V8=SIN(A2)*D8
960  H8=COS(A2)*D8
970  H7=15
980  H6=ABS(H7-H8)
990  D9=((H6)^2+(V8)^2)^.5
1000  M9=ATN(V8/H6)*180/3.1416
1010  A9=(2*D9/T9^2)*1000
1020  PRINT '10"FOR SUCCESSFUL CONTACT:"
1030  PRINT "PROBE ANGLE="M9"DEGREES"
1040  PRINT "PROBE ACCELERATION ="A9"METERS/SEC/SEC"
1050  PRINT 
1060  PRINT "INPUT THE PROBE'S DIRECTION(DEGREES):  ";
1070  ENTER 200,W1,M1
1080  PRINT 
1090  IF M1>180 THEN 1000
1100  IF M1<0 THEN 1000
1110  REM SPACE
1120  PRINT "INPUT THE PROBE'S ACCELERATION(M/S/S):  ";
1130  ENTER 200,W1,A1
1140  PRINT 
1150  IF A1<0 THEN 1110
1160  LET A1=A1/1000
1170  PRINT ". . . . . . . . . . . . . . . . . . . . . . . . . . . . .";
1180  LET V1=0
1190  REM SPACE
1200  LET T1=T2=1
1210  LET M2=M1*3.1416/180
1220  FOR T=N1 TO N2
1230  LET D=V1*T1+.5*A1*(T1)^2
1240  P[T]=(COS(M2)*D)+I1
1250  Q[T]=(SIN(M2)*D)+N4
1260  LET T1=T1+1
1270  NEXT T
1280  LET V1=A1*(T1-1)+V1
1290  REM GRAPH
1300  LET T=N1
1310  FOR R=N3 TO 100
1320  PRINT "-";
1330  PRINT '13;
1340  IF T >= N1+5 THEN 1450
1350  IF INT(Q[T]+.5)=R THEN 1370
1360  GOTO 1450
1370  FOR C=1 TO 71
1380  IF INT(P[T]+.5)>35 THEN 2090
1390  IF INT(P[T]+.5)<1 THEN 2090
1400  IF INT(P[T]+.5)#C THEN 1440
1410  PRINT TAB(2*INT(P[T]+.5));"M";
1420  LET T=T+1
1430  GOTO 1450
1440  NEXT C
1450  IF T2 >= 6 THEN 1620
1460  IF V[S1]#R THEN 1620
1470  PRINT '13;
1480  FOR D=1 TO 71
1490  IF H[S1]>35 THEN 2050
1500  IF D#H[S1] THEN 1610
1510  PRINT TAB(2*H[S1]);"I";
1520  IF (H[S1]=INT(P[T-1]+.5)) AND (INT(Q[T-1]+.5)=V[S1]) THEN 1540
1530  GOTO 1570
1540  PRINT "    "'7'7"SUCCESSFUL CONTACT"'7'7" "
1550  N6=3
1560  GOTO 2150
1570  LET T2=T2+1
1580  PRINT '13;
1590  LET S1=S1+1
1600  GOTO 1620
1610  NEXT D
1620  IF T<N2+1 THEN 1650
1630  IF T2 >= 6 THEN 1700
1640  GOTO 1680
1650  IF INT(Q[T]+.5)#R THEN 1680
1660  PRINT '13;
1670  GOTO 1370
1680  PRINT 
1690  NEXT R
1700  LET K2=254
1710  PRINT 
1720  PRINT "INPUT THE PROBE'S DIRECTION(DEGREES):  ";
1730  ENTER #K1,K2,K3,M1
1740  PRINT 
1750  IF K3<0 THEN 1850
1760  IF M1>180 THEN 1720
1770  IF M1<0 THEN 1720
1780  PRINT "INPUT THE PROBE'S ACCELERATION(M/S/S):  ";
1790  ENTER #K1,K2,K3,A1
1800  PRINT 
1810  IF K3<0 THEN 1850
1820  IF A1<0 THEN 1780
1830  PRINT "O . . . . . . . . . . . . . . . . . . . . . . . . . . . . "
1840  GOTO 1940
1850  GOSUB 1890
1860  PRINT "SEPARATION"D1"METERS"
1870  PRINT "M'S VELOCITY "V1*1000"M./SEC."
1880  GOTO 1700
1890  LET E1=(ABS(H[S1-1]-P[T-1]))^2
1900  LET E2=(ABS(V[S1-1]-Q[T-1]))^2
1910  LET D1=((E1+E2)^.5)*1000
1920  D3=(D3 MIN D1)
1930  RETURN 
1940  LET A1=A1/1000
1950  LET T4=T4+1
1960  LET N4=Q[T-1]
1970  LET I1=P[N2]
1980  LET N1=N2+1
1990  LET N2=N2+5
2000  LET N3=(V[S1]) MIN (INT(Q[T-1]+.5))
2010  IF T4 >= 5 THEN 2030
2020  GOTO 1190
2030  PRINT "YOU HAVE EXHAUSTED YOUR FUEL."
2040  GOTO 2110
2050  PRINT 
2060  PRINT "WARNING - FOREIGN BODY APPROACHING DANGER ZONE."
2070  PRINT "3     2     1      IT'S ALL OVER!"
2080  GOTO 2110
2090  PRINT 
2100  PRINT "DANGER - THE PROBE IS OUT OF RANGE OF RADAR CONTROL."
2110  LET N6=N6+1
2120  PRINT 
2130  GOSUB 1890
2140  PRINT 
2150  GOTO N6-1 OF 2160,2220
2160  PRINT "DO YOU WANT HELP IN SOVLING THIS PROBLEM AGAIN ";
2170  INPUT A$
2180  IF A$="NO" THEN 70
2190  IF A$#"YES" THEN 2160
2200  LET N6=2
2210  GOTO 520
2220  PRINT 
2230  PRINT "DO YOU WANT TO INVESTIGATE CALCULATING A SUCCESSFUL"
2240  PRINT "CONTACT EACH TIME?  ";
2250  ENTER 200,W1,A$
2260  IF A$="NO" THEN 10
2270  IF A$#"YES" THEN 2230
2280  PRINT 
2290  GOTO 30
2300  END 
