10  REM PROGRAM NAME = FIELDS, SCALAR GRAVITATIONAL P. E. FIELD
20  DIM B$[10],N$[10]
30  N$="123456789"
40  PRINT "DO YOU WANT INSTRUCTIONS FOR RUNNING FIELDS?  ";
50  ENTER 200,W,B$
60  PRINT '13
70  IF B$="YES" THEN 100
80  IF B$#"NO" THEN 40
90  GOTO 230
100  PRINT 
110  PRINT "THIS PROGRAM CONSTRUCTS A SIMULATED GRAVITATIONAL POTENTIAL ENERGY"
120  PRINT "FIELD, A SCALAR FIELD SINCE THE POTENTIAL ENERGY HAS MAGNITUDE"
130  PRINT "BUT NOT DIRECTION.  YOU CAN INPUT THE NUMBER, SIZE, AND POSITION"
140  PRINT "OF THE MASS OR MASSES WHICH WILL ACT AS SOURCES FOR THE FIELD."
150  PRINT 
160  PRINT "TO GET THE MAGNITUDE OF THE GRAVITATIONAL POTENTIAL ENERGY "
170  PRINT "AT VARIOUS POINTS, INPUT THOSE (X,Y) COORDINATES."
180  PRINT "USE NUMBERS BETWEEN 1 AND 30 FOR THE X AND Y COORDINATES."
190  PRINT 
200  PRINT "IF YOU PLOT ON GRAPH PAPER THE GRAVITATIONAL POTENTIAL ENERGY AT"
210  PRINT "EACH OF YOUR COORDINATE POINTS, YOU WILL HAVE A MAP OF THE SCALAR"
220  PRINT "FIELD"
230  PRINT 
240  PRINT "HOW MANY SOURCES DO YOU WANT TO USE?  ";
250  ENTER 200,W,S
260  PRINT '10
270  FOR N=1 TO S
280  K2=30
290  PRINT 
300  PRINT "----- SOURCE "N$[N,N]":"
310  PRINT "INPUT THE (X,Y) COORDINATES(METERS) OF SOURCE "N$[N,N]":"
320  PRINT "     X = ";
330  ENTER K2,K3,X[N]
340  IF K3<0 THEN 370
350  PRINT "                Y = ";
360  ENTER K2,K3,Y[N]
370  PRINT '13
380  IF K3<0 THEN 320
390  PRINT "INPUT THE MAGNITUDE(KILOGRAMS) OF SOURCE "N$[N,N]":  ";
400  ENTER K2,K3,Q[N]
410  PRINT '13
420  IF K3<0 THEN 390
430  PRINT 
440  NEXT N
450  PRINT '10'10
460  PRINT "TO GET THE GRAVITATIONAL POTENTIAL ENERGY AT VARIOUS POINTS,"
470  PRINT "INPUT THOSE (X,Y) COORDINATES.  WHEN YOU HAVE ENOUGH DATA"
480  PRINT "INPUT THE WORD DONE."
490  PRINT 
500  PRINT "----- DATA TABLE:"'10
510  PRINT "        COORDINATES         GRAVITATIONAL POTENTIAL ENERGY"
520  PRINT "                           !     (ARBITRARY UNITS)"
530  PRINT "---------------------------!----------------------------------"
540  PRINT "X = ";
550  ENTER K2,K3,X
560  IF X>30 THEN 650
570  IF X<1 THEN 650
580  IF K3<0 THEN 820
590  PRINT SPA(13)"!";" Y = ";
600  ENTER K2,K3,Y
610  IF Y>30 THEN 650
620  IF Y<1 THEN 650
630  IF K3<0 THEN 820
640  GOTO 680
650  PRINT 
660  PRINT SPA(5);"USE COORDINATES 1 TO 30 ONLY."
670  GOTO 540
680  GOSUB 710
690  GOTO 540
700  PRINT 
710  R=0
720  FOR N=1 TO S
730  IF ( NOT (X-X[N])) AND ( NOT (Y-Y[N])) THEN 780
740  LET R[N]=SQR((X-X[N])^2+(Y-Y[N])^2)
750  R=R+Q[N]/R[N]
760  NEXT N
770  GOTO 800
780  PRINT SPA(35);"YOU ARE AT A SOURCE."
790  GOTO 810
800  PRINT SPA(27)"!";SPA(5);-INT((R+.05)*100)/100
810  RETURN 
820  PRINT 
830  PRINT '10'10"NOW PLOT THE INFORMATION ON GRAPH PAPER TO GET A SCALAR FIELD MAP."
840  END 
