210 LOCATE 23,1:PRINT" F1 = Change Length F10 = QUIT"
220 '
230 LOCATE 1,25:PRINT"RADIATION PATTERN OF DIPOLE FOR"
240 LOCATE 2,36:PRINT USING"LAMBDA = ##.###";L
250 '
260 YMAX=0
270 PSET (0,0)
280 FOR TH=0 TO 180
290 X=TH*PI/180
300 IF X=0 THEN 360
310 Y(TH)=ABS(FN F(X))
320 Y(360-TH)=Y(TH)
330 IF Y(TH)>YMAX THEN YMAX=Y(TH)
340 LOCATE 13,36:PRINT"PLEASE WAIT"
350 LOCATE 14,39:PRINT 180-TH
360 NEXT TH
370 '
380 WINDOW (-YMAX,-YMAX)-(YMAX,YMAX)
390 CLS
400 '
410 CIRCLE (0,0),YMAX,1
420 CIRCLE (0,0),.75*YMAX,1
430 CIRCLE (0,0),.5*YMAX,1
440 CIRCLE (0,0),.25*YMAX,1
450 '
460 LINE (-YMAX,0)-(YMAX,0),1
470 LINE (0,YMAX)-(0,-YMAX),1
480 LINE (-.707*YMAX,.707*YMAX)-(.707*YMAX,-.707*YMAX),1
490 LINE (-.707*YMAX,-.707*YMAX)-(.707*YMAX,.707*YMAX),1
500 '
510 PSET (Y(0),0)
520 FOR TH=0 TO 360
530 XX=TH*PI/180
540 Y=Y(TH)*COS(XX)
550 X=Y(TH)*SIN(XX)
560 LINE -(X,Y),2
570 NEXT TH
580 '
590 A$=INKEY$
600 IF LEN(A$)<>2 THEN 590
610 ANS=ASC(MID$(A$,2,1))
620 IF ANS=59 THEN 160
630 IF ANS=68 THEN 670
640 GOTO 590
650 IF ANS=84 THEN 670
660 GOTO 240
670 T$="DO YOU WANT TO RUN AGAIN (Y/N)?":LC=25:GOSUB 730
680 AN$=INKEY$
690 IF AN$="Y" OR AN$="y" THEN RUN
700 IF AN$="N" OR AN$="n" THEN RUN "START
710 GOTO 670
720 :
730 LOCATE LC,(40-LEN(T$))/2+1:PRINT T$;:RETURN 'SUBROUTINE TO CENTRE TEXT
1500 SCREEN 0,0,0:SOUND 1510,10:COLOR 7,0:LOCATE 25,10:PRINT "Key: Esc to End or `R' to Run Again or `S' to Return Start";CHR$(29);:COLOR 15,0:LOCATE 25,15:PRINT "Esc";:LOCATE 25,30:PRINT "R";:LOCATE 25,50:PRINT "S";CHR$(29);:COLOR 7,0
1510 E$=INKEY$:IF E$="" THEN 1510 ELSE IF E$=CHR$(27) THEN CLS:END ELSE IF E$="R" OR E$="r" THEN RUN ELSE IF E$="S" OR E$="s" THEN RUN "START
1520 GOTO 1510
1600 '//////////////// Routine to Draw a Box //////////////////