1 REM PIE CHART FROM CIS Modified to run on NEC8201 8/22/86 DSF 2 CLEAR197,62138!:BLOAD"LINE":POKE65215!,207:POKE65216!,240:POKE64082!,187:POKE64083!,242 10 SCREEN,0 50 DEFSNG A-Z 100 CLS:P2=3.1416*2 105 GOSUB 3000 110 GOSUB 1000 120 ANG=0:GOSUB 4000:LA=0 130 FORI=1TON-1 140 ANG=ANG+P2*DA(I)/SUM:GOSUB4000 150 GOSUB5000:NEXTI:ANG=P2:GOSUB5000 160 LOCATE14,7:PRINT"Pie Chart"; 165 GOSUB 6000 170 A$=INKEY$:IFA$=""THEN170:ELSE RUN 1000 RAD=24:ANG=0:GOSUB8000 1010 GOSUB 7000:ANG=ANG+.3:IF ANG14THENPRINT "MAX IS 14":N=14 3020 DIM DA(N) 3030 SUM=0:FOR I=1 TO N 3040 PRINT"#";I;:INPUT DA(I):IF DA(I)<=0 THEN PRINT "MUST BE >0":GOTO3040 3050 SUM=SUM+DA(I):NEXT I 3060 PRINT "sum = ";SUM 3070 CLS:RETURN 4000 X=24*SIN(ANG)+45:Y=24*COS(ANG)*.9+32:LINE(45,32)-(X,Y):RETURN 5000 A=LA+(ANG-LA)/2:LA=ANG 5010 X=33*SIN(A)+45:Y=33*COS(A)*.9+32 5015 X=X/6:Y=Y/8 5020 PL=(Y\8)*40+(X\6) 5025 A$=CHR$(96+I) 5030 LOCATEX,Y:PRINTA$; 5040 RETURN 6000 FM$=":### ##.#%" 6005 X=15:Y=1 6010 FOR I=1TON:W=DA(I)/SUM*100! 6020 LOCATEX,Y-1:PRINTCHR$(96+I);USINGFM$;DA(I);W 6030 X=X+13 6040 IF I MOD 2=0 THEN X=15:Y=Y+1 6050 NEXT I 6060 RETURN 6900 IF ERL=6020 THEN RESUME 170 6910 ERROR ERR 7000 OX=X:OY=Y:GOSUB8000:LINE(OX,OY)-(X,Y):RETURN 8000 X=24*SIN(ANG)+45:Y=24*COS(ANG)*.9+32:RETURN