4sqrs.basic 03/17/75 1551.7r w 03/17/75 1546.0 5022 10 PRINT "4SQRS" 20 PRINT "N = A^2 + B^2 + C^2 + D^2" 30 PRINT 40 PRINT "N A B C D" 50 PRINT"------------------------" 60 PRINT 70 INPUT M 80 LET N=ABS(M) 90 LET R=SQR(N) 100 FOR A = 0 TO R 110 LET A2=A*A 120 LET N1=N-A2 130 FOR B = 0 TO N1 140 LET B2=B*B 150 LET N2=N1-B2 160 FOR C = 0 TO N2 170 LET C2 = C*C 180 IF A2+B2+C2 > N THEN 270 190 LET D = SQR(N-A2-B2-C2) 200 IF D > INT(D) THEN 260 210 IF M>=0 THEN 240 220 PRINT " ";-A;-B;-C;-D 230 GO TO 60 240 PRINT " ";A;B;C;D 250 GO TO 60 260 NEXT C 270 NEXT B 280 NEXT A 290 GO TO 60 300 END  annuit.basic 03/17/75 1551.7r w 03/17/75 1546.0 48519 3 PRINT "ANNUIT" 5 REM REVISED NOV 07. 1969 30 PRINT "WANT INSTRUCTIONS FIRST (1=YES, 2=NO)"; 40 INPUT L 50 IF L<>1 THEN 70 60 GOSUB 600 70 LET S=0 80 PRINT 90 PRINT "WHICH ANNUITY TYPE (1=PAYMENT, 2=WITHDRAWAL)"; 100 DEF FNA(U)=.01*INT(100*U+.5) 110 INPUT A 120 GOTO 170 130 IF A=1 THEN 160 140 LET A=1 150 GOTO 170 160 LET A=2 170 IF A=1 THEN 220 180 IF A=2 THEN 1050 190 PRINT 200 PRINT " ANSWER 1 OR 2 PLEASE." 210 GOTO 80 220 IF S=1 THEN 260 230 PRINT 240 PRINT "WHICH VARIABLE IS UNKNOWN (1=N,2=A,3=I,4=R)"; 250 INPUT D 260 IF D=1 THEN 330 270 IF D=2 THEN 410 280 IF D=3 THEN 490 290 IF D=4 THEN 520 300 PRINT 310 PRINT " ANSWER 1,2,3,OR 4 PLEASE." 320 GOTO 230 330 PRINT 340 PRINT "WHAT ARE A($),I(PCT),R($)"; 350 INPUT A1,I1,R1 360 LET I1=I1/100 370 LET N1=LOG((A1*I1/R1)+1)/LOG(1+I1) 380 PRINT 390 PRINT "NUMBER OF PERIODS = N =";N1 400 GOTO 920 410 PRINT 420 PRINT "WHAT ARE N(INTEGER),I(PCT),R($)"; 430 INPUT N1,I1,R1 440 LET I1=I1/100 450 LET A1=R1*((1+I1)^N1-1)/I1 460 PRINT 470 PRINT "AMOUNT AT END OF N PERIODS = A =";A1 480 GOTO 920 490 PRINT 500 PRINT "WHAT ARE N(INTEGER),A($),R($)"; 510 GOTO 1760 520 PRINT 530 PRINT "WHAT ARE N(INTEGER),A($),I(PCT)"; 540 INPUT N1,A1,I1 550 LET I1=I1/100 560 LET R1=A1*I1/((1+I1)^N1-1) 570 PRINT 580 PRINT "PAYMENT EACH PERIOD = R =";R1 590 GOTO 920 600 PRINT 610 PRINT "THIS PROGRAM PERFORMS CALCULATIONS FOR" 620 PRINT "BOTH PAYMENT AND WITHDRAWAL ANNUITIES." 630 PRINT 640 PRINT "VARIABLES ARE DENOTED AS FOLLOWS:" 650 PRINT 660 PRINT " N = NUMBER OF PERIODS" 670 PRINT " P = ORIGINAL PRINCIPAL AMOUNT" 680 PRINT " A = TOTAL AMOUNT AT END OF N PERIODS" 690 PRINT " I = INTEREST RATE PER PERIOD, IN PERCENT" 700 PRINT " R = AMOUNT OF PAYMENT/WITHDRAWAL EACH PERIOD" 710 PRINT 720 PRINT "FOR A PAYMENT ANNUITY, YOU MAY GIVE ANY" 730 PRINT " THREE OF N,A,I,R AND FIND THE FOURTH." 740 PRINT 750 PRINT "FOR A WITHDRAWAL ANNUITY, YOU GIVE ANY" 760 PRINT " THREE OF N,P,I,R AND FIND THE FOURTH." 770 PRINT 780 PRINT "NOTE: FOR LOAN OR MORTGAGE, USE THE" 790 PRINT " WITHDRAWAL ANNUITY OPTION." 800 PRINT 810 PRINT "AFTER EACH CASE, YOU MAY CHOOSE ONE" 820 PRINT "OF THE FOLLOWING ALTERNATIVES:" 830 PRINT 840 PRINT " 1 = ANOTHER CASE, SAME UNKNOWN VARIABLE" 850 PRINT " 2 = ANOTHER CASE, DIFFERENT UNKNOWN" 860 PRINT " 3 = ANOTHER CASE, OTHER TYPE OF ANNUITY" 870 PRINT " 4 = TOTAL INTEREST PAID OVER N PERIODS" 880 PRINT " 5 = TABLE OF WITHDRAWALS, PRINCIPAL, AND INTEREST" 890 PRINT " 6 = STOP THE PROGRAM" 900 PRINT 910 RETURN 920 PRINT 930 PRINT "ANOTHER CASE (TYPE CODE NUMBER)"; 940 INPUT S 950 IF S=1 THEN 170 960 IF S=2 THEN 170 970 IF S=6 THEN 9999 980 IF S=3 THEN 130 990 IF A<>1 THEN 1030 1000 PRINT 1010 PRINT "ALTERNATIVE NOT APPLICABLE TO PAYMENT ANNUITIES." 1020 GOTO 920 1030 IF S=4 THEN 1240 1040 IF S=5 THEN 1240 1050 IF S=1 THEN 1090 1060 PRINT 1070 PRINT "WHICH VARIABLE IS UNKNOWN (1=N,2=P,3=I,4=R)"; 1080 INPUT A1 1090 IF A1=1 THEN 1160 1100 IF A1=2 THEN 1660 1110 IF A1=3 THEN 1740 1120 IF A1=4 THEN 2090 1130 PRINT 1140 PRINT " ANSWER 1,2,3, OR 4 PLEASE." 1150 GOTO 1080 1160 PRINT 1170 PRINT "WHAT ARE P($),I(PCT),R($)"; 1180 INPUT P1,I1,R1 1190 LET I1=I1/100 1200 LET N1=LOG(R1/(R1-P1*I1))/LOG(1+I1) 1210 PRINT 1220 PRINT "NUMBER OF PERIODS = N =";N1 1230 GOTO 920 1240 LET N1=N1+.00001 1250 LET P2=INT(N1)-N1 1260 IF ABS(P2)>.00001 THEN 1290 1270 LET N1=N1-1 1280 GOTO 1300 1290 LET N1=INT(N1) 1300 LET P2=1 1310 IF S=4 THEN 1380 1320 IF S=5 THEN 1330 1330 LET P2=0 1340 PRINT 1350 PRINT "PERIOD","PRINCIPAL","INTEREST","PRINC BAL","INT TO DATE" 1360 PRINT 1370 PRINT " 0"," "," ",P1 1380 LET X=0 1390 LET X9=P1 1400 LET Y=0 1410 FOR S=1 TO N1 1420 LET A3=(R1-P1*I1)*(1+I1)^(S-1) 1430 LET A2=FNA(A3) 1440 LET C=R1-A3 1450 LET B=FNA(C) 1460 LET X=X+A3 1470 LET X9=X9-A3 1480 LET Y=FNA(Y+C) 1490 IF P2 <>0 THEN 1510 1500 PRINT S,A2,B,X9,Y 1510 NEXT S 1520 LET S=N1+1 1530 LET A3=P1-X 1540 LET A2=FNA(A3) 1550 LET B1=I1*A3 1560 LET B=FNA(B1) 1570 LET X=X+A3 1580 LET X9=0 1590 LET Y=Y+B1 1600 IF P2=0 THEN 1640 1610 PRINT 1620 PRINT "TOTAL INTEREST PAID =";Y 1630 GOTO 920 1640 PRINT S,A2,B,X9,Y 1650 GOTO 920 1660 PRINT 1670 PRINT "WHAT ARE N(INTEGER),I(PCT),R($)"; 1680 INPUT N1,I1,R1 1690 LET I1=I1/100 1700 LET P1=R1*((1+I1)^N1-1)/(I1*(1+I1)^N1) 1710 PRINT 1720 PRINT "ORIGINAL PRINCIPAL AMOUNT IS";P1 1730 GOTO 920 1740 PRINT 1750 PRINT "WHAT ARE N(INTEGER),P($),R($)"; 1760 INPUT N1,P1,R1 1770 PRINT 1780 IF N1*R1<=P1 THEN 2170 1790 LET I1=.1 1800 LET I2=0 1810 LET I3=1 1820 IF A<>1 THEN 1850 1830 LET P3=R1*((1+I1)^N1-1)/I1 1840 GOTO 1860 1850 LET P3=R1*((1+I1)^N1-1)/(I1*(1+I1)^N1) 1860 LET P4=ABS(P1-P3) 1870 IF P4>0.001 THEN 1900 1880 PRINT "INTEREST PER PERIOD (PCT) = I =";100*I1 1890 GOTO 920 1900 IF P4/P1>.3 THEN 2010 1910 IF A=1 THEN 1940 1920 IF P3P1 THEN 1980 1950 LET I2=I1 1960 LET I1=(I1+I3)/2 1970 GOTO 1820 1980 LET I3=I1 1990 LET I1=(I1+I2)/2 2000 GOTO 1820 2010 IF A=1 THEN 2040 2020 IF P3P1 THEN 2060 2050 GOTO 1950 2060 LET I3=I1 2070 LET I1=(I1+I2)/4 2080 GOTO 1820 2090 PRINT 2100 PRINT "WHAT ARE N(INTEGER),P($),I(PCT)"; 2110 INPUT N1,P1,I1 2120 LET I1=I1/100 2130 LET R1=P1*I1*(1+I1)^N1/((1+I1)^N1-1) 2140 PRINT 2150 PRINT "WITHDRAWAL EACH PERIOD = R =";R1 2160 GOTO 920 2170 PRINT"THE PRINCIPAL [P] IS NOT RECOVERED; [I] MUST BE POSITIVE." 2180 GO TO 1740 9999 END  bayes.basic 03/17/75 1551.7r w 03/17/75 1546.0 33084 10 REM BAYES 12REM WRITTEN BY R.C.HEWITT, JAN 7,1969 17 DIM Y(200) 100 GO TO 675 101 GO TO 440 199 GO TO 300 200 DATA .50,.75,.90,.95,.999,.9999,.99999 299 DATA 10 300 READ N1 305 LET Y1=0 310 LET N3=N1-1 315 FOR I=1 TO N1 320 READ Y(I) 325 LET Y1=Y1+Y(I) 330 NEXT I 335 LET Y3=Y1/N1 340 LET Y1=0 345 FOR I=1 TO N1 350 LET Y1=Y1+(Y(I)-Y3)*(Y(I)-Y3) 355 NEXT I 360 LET S1=Y1/N1 365 READ N2 370 LET Y1=0 375 LET N4=N2-1 380 FOR I=1 TO N2 385 READ Y(I) 390 LET Y1=Y1+Y(I) 395 NEXT I 400 LET Y4=Y1/N2 405 LET Y1=0 410 FOR I=1 TO N2 415 LET Y1=Y1+(Y(I)-Y4)*(Y(I)-Y4) 420 NEXT I 425 LET S2=Y1/N2 430 LET Y5=Y3-Y4 435 GO TO 470 440 READ Y,N1,Y3,S1,Z,N2,Y4,S2 445 LET N3=N1-1 450 LET N4=N2-1 455 LET Y5=Y3-Y4 460 LET S1=S1*S1 465 LET S2=S2*S2 470 PRINT TAB(8);"STATISTIC";TAB(30);"SAMPLE 1";TAB(45);"SAMPLE 2" 475 PRINT 480 PRINT "SAMPLE MEAN";TAB(30);Y3,Y4 485 PRINT "SAMPLE STD DEVIATION";TAB(30);SQR(S1),SQR(S2) 490 PRINT "SAMPLE SIZE";TAB(30);N1,N2 495 PRINT "SAMPLE VARIANCE";TAB(30);S1,S2 500 PRINT 505 PRINT "DIFF OF MEANS";TAB(37);Y5 510 PRINT 515 PRINT 520 PRINT "HIGHEST POSTERIOR DENSITY INTERVALS" 521 PRINT "DIFFERENCE BETWEEN MEANS:" 525 PRINT 530 PRINT" HPD LEVEL","LOWER LIM","UPPER LIM" 535 PRINT 540 READ P 545 IF P=10 THEN 885 550 LET P=(1-P)/2 555 LET T=SQR(LOG(1/P^2)) 560 LET X=2.515517+0.802853*T+0.010328*T*T 565 LET X=T-X/(1+1.432788*T+0.189269*T*T+0.001308*T*T*T) 570 LET G1=X*(1+X*X)/4 575 LET G2=X*(1+16*X*X/3*(1+5*X*X/16))/32 580 LET G3=-5*X*(1-17*X*X/15*(1+19*X*X/17*(1+3*X*X/19)))/128 585 LET G4=1-1482*X*X/1920*(1+776*X*X/1482*(+79*X*X/776)) 590 LET G4=-945*X*(1+1920*X*X/245*G4)/92160 595 LET S4=S2/N2 600 LET S3=S1/N1 605 LET C1=S4/(S3+S4) 610 LET C2=S3/(S3+S4) 615 LET N6=N4/(N4-2) 620 LET N5=N3/(N3-2) 625 LET F=(N6*C1+N5*C2)*(N6*C1+N5*C2) 630 LET F=F/((N6*N6*C1*C1)/(N4-4)+(N5*N5*C2*C2)/(N3-4)) 635 LET B=F+4 640 LET A=(B-2)*(N6*C1+N5*C2)/B 645 LET T5=X+G1/B+G2/B^2+G3/B^3+G4/B^4 650 LET T6=SQR(A*(S3+S4))*T5 655 LET Y6=Y5-T6 660 LET Y9=Y5+T6 665 PRINT (1-2*P)*100,Y8,Y9 670 GO TO 540 675 PRINT " THIS PROGRAM COMPUTES THE HIGHEST POSTERIOR DENSITY " 680 PRINT "INTERVALS FOR THE DIFFERENCE BETWEEN TWO POPULATION MEANS" 685 PRINT "USING BAYESIAN STATISTICAL INFERENCE. THE DATA MAY BE" 690 PRINT "ENTERED IN EITHER OF TWO WAYS:" 695 PRINT 700 PRINT " A. TYPE THE DATA ON ONE LINE AS:" 705 PRINT 710 PRINT " 100 DATA H1,N1,M1,S1,H2,N2,M2,S2" 715 PRINT " RUN" 720 PRINT 725 PRINT " WHERE," 730 PRINT " H1=DUMMY TO AGREE WITH CONDIF*** INPUT" 735 PRINT " (ENTER '0' AS AN APPROPRIATE NUMBER)" 740 PRINT " N1=SIZE OF SAMPLE 1" 745 PRINT " M1=ARITHMETIC MEAN OF SAMPLE 1" 750 PRINT " S1=STANDARD DEVIATION OF SAMPLE 1(BASED ON" 755 PRINT " DIVISOR OF N1)" 760 PRINT 765 PRINT " H2,N2,M2,S2, ARE THE SAME FOR SAMPLE 2" 770 PRINT 775 PRINT " B. TYPE THE DATA ON MORE THAN ONE LINE AS:" 780 PRINT 785 PRINT " 100 DATA N1,Y(1),Y(2),Y(3),Y(4)" 790 PRINT " 101 DATA Y(5), . . . ,Y(N1)" 795 PRINT " 102 DATA N2,Z(1),Z(2),Z(3),Z(4)" 800 PRINT " 103 DATA Z(5), . . . ,Z(N2)" 805 PRINT " RUN" 810 PRINT 815 PRINT " WHERE," 820 PRINT " N1=THE SIZE OF SAMPLE 1" 825 PRINT " N2=THE SIZE OF SAMPLE 2" 830 PRINT " Y(I),I=1 TO N1 ARE THE ELEMENTS OF SAMPLE 1" 835 PRINT " Z(I),I=1 TO N2 ARE THE ELEMENTS OF SAMPLE 2" 840 PRINT 845 PRINT 850 PRINT " IF DIFFERENT HIGHEST POSTERIOR DENSITY INTERVALS ARE" 855 PRINT "DESIRED, THEN THEY MAY BE ENTERED AS:" 860 PRINT 865 PRINT " 200 DATA L1,L2,L3,L4,L5,..." 870 PRINT 875 PRINT " WHERE ALL L=L1,L2,L3,... ARE SUCH THAT" 880 PRINT " 0.5< L < 1.0" 885 STOP 890 END  biconf.basic 03/17/75 1551.7r w 03/17/75 1546.3 15534 3REM B I C O N F 10 PRINT "DO YOU WANT INSTRUCTIONS (1=YES, 0=NO)"; 20 INPUT Y7 30 IF Y7=1 THEN 700 70 DEF FNA(V)=1E-4*INT(.5+1E6*V) 75 PRINT "WHAT ARE X,N,C"; 80 INPUT Y,N,C 90 LET P0=Y/N 100 LET Q0=1-P0 110 LET G0=6*SQR(P0*Q0/N) 120 LET P1=P0-G0 130 IF P1>0 THEN 150 140 LET P1=0 150 LET P1=.1*INT(10*P1) 160 LET P2=P0+G0 170 IF P2<1 THEN 190 180 LET P2=1 190 LET P2=1-.1*INT(10-10*P2) 200 LET C0=.005*(100-C) 210 LET P=P1 220 LET T=Y-1 230 LET J=0 240 LET J=J-1 250 IF J=-7 THEN 310 260 LET P=P+10^J 270 GOSUB 520 280 IF 1-Z0 THEN 590 560 LET S=0 570 LET X=1 580 GOTO 630 590 LET X=P*N/S 600 FOR I=1 TO S-1 605 IF S=1 THEN 620 610 LET X=X*P*(N-I)/(S-I) 620 NEXT I 630 LET F=X*(Q^(N-S)) 640 LET Z=F 650 FOR I=S+1 TO T 660 LET F=F*P*(N-I+1)/(Q*I) 670 LET Z=Z+F 680 NEXT I 690 RETURN 700 PRINT "THIS PROGRAM DETERMINES THE CONFIDENCE LIMITS" 710 PRINT "FOR A POPULATION PROPORTION BASED ON THE" 720 PRINT "EXACT BINOMIAL DISTRIBUTION. ENTER VALUES" 730 PRINT "FOR X[SUCCESSES], N[SAMPLE SIZE], AND" 740 PRINT "C[CONFIDENCE COEFFICIENT IN PERCENT] WHEN" 750 PRINT "REQUESTED BY THE PROGRAM. ADDITIONAL" 760 PRINT "INSTRUCTIONS MAY BE FOUND IN THE LISTING." 770 GO TO 70 9999 END  blkjak.basic 03/17/75 1551.7r w 03/17/75 1546.3 60138 2 PRINT 3 PRINT" BLKJAK" 4 PRINT 20 DIM W(10),E(10),T(10),V(10) 24 PRINT"This demonstration shows the versatility of the Multics" 26 PRINT"BASIC languague by simulating a game of Blackjack." 27 PRINT" " 28 PRINT"DO YOU NEED INSTRUCTIONS (1=YES, 0=NO)" 29 INPUT k 30 IF K=0 THEN 112 32 PRINT"HERE ARE THE LAS VEGAS RULES FOR PLAYING BLACKJACK:" 34 PRINT 36 PRINT">WAGER: THE HOUSE LIMIT IS $500, SO TYPE IN A NUMBER " 38 PRINT" FROM 0 TO 500. TO TERMINATE GAME, ENTER ZERO." 40 PRINT 42 PRINT">THE DEAL: I DEAL MYSELF 2 CARDS AND SHOW YOU ONE. THEN I" 44 PRINT" DEAL YOU TWO CARDS, AND ASK IF YOU WANT A HIT (ANOTHER" 46 PRINT" CARD). YOU HAVE SEVERAL OPTIONS DEPENDING ON THE CARDS" 48 PRINT" YOU HOLD AND MY UP CARD:" 50 PRINT" * STAND - BY TYPING A ZERO" 52 PRINT" * TAKE A HIT - BY TYPING A ONE" 54 PRINT" * GO DOWN FOR DOUBLES - BY TYPING A TWO" 56 PRINT" * SPLIT A PAIR - BY TYPING A THREE" 58 PRINT 60 PRINT">INSURANCE: IF MY UP CARD IS AN ACE, I WILL ASK IF YOU" 62 PRINT" WANT INSURANCE. IF YOU DO TYPE A ONE, BETTING ONE-HALF" 64 PRINT" OF YOUR WAGER THAT I DO HAVE BLACKJACK. IF I DO, I PAY" 66 PRINT" 2-TO-1 ON YOUR INSURANCE BET. YOU LOSE YOUR ORIGINAL WAGER" 68 PRINT" SINCE I HAVE BLACKJACK, SO WE ARE EVEN FOR THE HAND." 70 PRINT" IF I DON'T HAVE BLACKJACK, YOU LOSE YOUR INSURANCE BET" 72 PRINT" AND THE GAME CONTINUES. " 74 PRINT 76 PRINT" IF YOU REFUSE INSURANCE (BY TYPING A ZERO) THE GAME" 78 PRINT" CONTINUES AS NORMAL." 80 PRINT 82 PRINT">THE PLAY: WHEN YOU FINALLY STAND (BY TYPING A ZERO)" 84 PRINT" I WILL DRAW CARDS UNTIL:" 86 PRINT" *I HAVE AT LEAST A HARD 17 (HARD MEANS THE TOTAL" 88 PRINT" DOES NOT INCLUDE AN ACE BEING COUNTED AS 11)" 90 PRINT" *I HAVE A SOFT 18 (SOFT MEANS THE TOTAL INCLUDES AN" 92 PRINT" ACE COUNTED AS 11)" 94 PRINT" *I REACH A TOTAL OF 21" 96 PRINT" *I EXCEED 21 AND BUST" 98 PRINT 100 PRINT">ITEMS:" 102 PRINT" *I PAY 1.5-TO-1 ON BLACKJACK" 104 PRINT" *I DON'T RECOGNIZE 5-CARDS-AND-UNDER" 106 PRINT" *YOU MAY DOUBLE DOWN ON A SPLIT HAND" 108 PRINT" *YOU DON'T LOSE ON A TIE HAND...WE PUSH" 110 PRINT" <<>>" 112 PRINT"MULTICS IS THE DEALER AND GETS A BREAK AT 1945 HOURS. WHAT" 113 randomize 114 PRINT"TIME IS IT NOW"; 116 LET K=0 118 LET W1=0 120 INPUT N 122 FOR I = 1TO N/2 124 let x=t(10*rnd) 126 NEXT I 128 DIM D(52) 130 FOR A=1 TO 52 132 LET D(A) = 0 134 NEXT A 136 DIM Q(52) 138 FOR A=0 TO 39 STEP 13 140 FOR C=1 TO 13 142 LET Q(A+C)=C 144 NEXT C 146 NEXT A 148 PRINT 150 LET K=K+1 152 FOR P=1 TO 5 154 LET E(P)=0 156 LET V(P) = 0 158 LET T(P)=0 160 NEXT P 162 LET V(3)=1 164 PRINT 166 PRINT "WAGER"; 168 LET P=1 170 INPUT W 172 LET W(2)=W 174 IF W<=0 THEN 582 176 IF W<=500 THEN 182 178 PRINT "THAT'S TOO MUCH - HOUSE LIMIT IS $500." 180 GOTO 166 182 PRINT 184 PRINT "I SHOW ", 186 GOSUB 366 188 IF E(1)=0 THEN 192 190 LET V(4)=1 192 LET V(5)=1 194 GOSUB 366 196 LET M=X 198 LET P=2 200 PRINT "FIRST CARD IS", 202 GOSUB 366 204 LET G=X 206 PRINT "NEXT CARD IS", 208 GOSUB 366 210 IF V(2)>0 THEN 262 212 LET S=X 214 IF V(3)<>1 THEN 262 216 IF T(P)<>21 THEN 230 218 PRINT "***BLACKJACK***" 220 PRINT "MY HOLE CARD WAS ", 222 LET X=M 224 GOSUB 434 226 LET W1=W1+1.5*W 228 GOTO 538 230 IF V(4)=0 THEN 250 232 PRINT "INSURANCE ANYONE (TYPE 1 OR 0)"; 234 INPUT I 236 IF I=0 THEN 250 238 IF T(1)<>21 THEN 246 240 LET W1=W1+W 242 PRINT "YOU WIN $";W;" ON YOUR INSURANCE BET"; 244 GOTO 250 246 LET W1=W1-W/2 248PRINT"YOU LOST $";W/2;" ON INSURANCE BET - I DONT HAVE BLKJAK" 250 IF T(1)<>21 THEN 262 252 PRINT "**I HAVE BLACKJACK**" 254 PRINT "MY HOLE CARD IS ", 256 LET X=M 258 GOSUB 434 260 GOTO 534 262 IF T(P)<=21 THEN 278 264 IF E(P)>0 THEN 274 266 PRINT "YOU BUSTED, "; 268 PRINT "YOUR TOTAL IS ";T(P) 270 IF V(2)=1 THEN 328 272 GOTO 494 274 LET E(P)=E(P)-1 276 LET T(P)=T(P)-10 278 IF V(1)=2 THEN 268 280 LET V(3)=V(3)+1 282 PRINT "HIT"; 284 INPUT V(1) 286 IF V(1)<>3 THEN 350 288 IF V(2)>0 THEN 346 290 IF V(3)<>2 THEN 346 292 IF Q(G)=Q(S) THEN 298 294 PRINT "NOW IS THAT A PAIR " 296 GOTO 282 298 LET V(2)=1 300 IF Q(G)<>1 THEN 304 302 LET V(1)=2 304 LET P=3 306 PRINT " PLAY HAND ONE NOW" 308 PRINT "FIRST CARD IS", 310 LET W(3)=W 312 LET X=G 314 GOSUB 318 316 GOTO 206 318 GOSUB 414 320 GOSUB 434 322 LET V(3)=1 324 LET T(P)=C 326 RETURN 328 LET P=2 330 LET V(2)=2 332 PRINT " PLAY HAND TWO NOW" 334 PRINT "FIRST CARD IS", 336 LET X=S 338 GOSUB 318 340 IF Q(G)=1 THEN 344 342 LET V(1)=0 344 GOTO 206 346 PRINT "NO SPLITS NOW -- TRY AGAIN" 348 GOTO 282 350 IF V(1)<>2 THEN 360 352 IF V(3)=2 THEN 358 354 PRINT "TOO LATE TO DOUBLE, CHARLIE." 356 GOTO 282 358 LET W(P)=2*W(P) 360 IF V(1)>0 THEN 206 362 GOTO 268 364 REM DEAL 366 GOSUB 380 368 LET T(P)=T(P)+C 370 IF V(5)=0 THEN 376 372 LET V(5)=0 374 RETURN 376 GOSUB 434 378 RETURN 380 LET N=10 *(1+ABS(COS(N+W1))) 382 FOR A=1 TO N 384 let x=int(52.9999999*rnd) 386 IF X=0 THEN 384 388 NEXT A 390 IF D(X)=0 THEN 410 392 LET R=R+1 394 IF R<50 THEN 380 396 FOR A=1 TO 52 398 IF D(A) =K THEN 402 400 LET D(A)=0 402 NEXT A 404 LET R=0 406 PRINT "I RESHUFFLED" 408 GOTO 380 410 LET R=0 412 LET D(X)=K 414 IF Q(X)<>1 THEN 422 416 LET C=11 418 LET E(P)=E(P)+1 420 RETURN 422IF Q(X)>10 THEN 428 424 LET C=Q(X) 426 RETURN 428 LET C=10 430 RETURN 432 REM PRINT CARD 434 GOSUB 440 436 GOSUB 470 438 RETURN 440 IF Q(X)<>1 THEN 446 442 PRINT " ACE "; 444 RETURN 446 IF Q(X)>10 THEN 452 448 PRINT Q(X); 450 RETURN 452 IF Q(X)>11 THEN 458 454 PRINT " JACK "; 456 RETURN 458 IF Q(X)>12 THEN 464 460 PRINT " QUEEN "; 462 RETURN 464 PRINT " KING "; 466 RETURN 468 REM PRINT SUIT 470 IF X>39 THEN 480 472 IF X>26 THEN 484 474 IF X>13 THEN 488 476 PRINT "OF SPADES" 478 RETURN 480 PRINT "OF CLUBS" 482 RETURN 484 PRINT "OF HEARTS" 486 RETURN 488 PRINT "OF DIAMONDS" 490 RETURN 492 REM DEALER PLAYS 494 LET P=2 496 PRINT "MY HOLE CARD IS ", 498 LET X=M 500 GOSUB 434 502 IF T(2)<22 THEN 508 504 IF V(2)=0 THEN 534 506 IF T(3)>21 THEN 534 508 LET P=1 510 IF T(1)<17 THEN 548 512 IF T(1)>17 THEN 516 514 IF E(1)>0 THEN 548 516 IF T(1)>21 THEN 554 518 LET P=2 520 PRINT "MY TOTAL IS ";T(1) 522 IF T(P)>21 THEN 534 524 IF T(1)>21 THEN 530 526 IF T(1)>T(P) THEN 534 528 IF T(1)=T(P) THEN 536 530 LET W1=W1+W(P) 532 GOTO 536 534 LET W1=W1-W(P) 536 IF V(2)>0 THEN 542 538 GOSUB 566 540 GOTO 150 542 LET P=3 544 LET V(2)=0 546 GOTO 522 548 PRINT "I DRAW ", 550 GOSUB 366 552 GOTO 508 554 IF E(1)= 0 THEN 562 556 LET E(1) = E(1) -1 558 LET T(1)=T(1)-10 560 GOTO 508 562 PRINT "I BUSTED***"; 564 GOTO 518 566 IF W1<0 THEN 574 568 IF W1=0 THEN 578 570 PRINT"YOU'RE AHEAD $";W1 572 RETURN 574 PRINT "YOU'RE BEHIND $";-W1 576 RETURN 578 PRINT "YOU'RE EVEN" 580 RETURN 582 END  condif.basic 03/17/75 1551.7r w 03/17/75 1546.3 30186 10 REM CONDIF -- REV APRIL 1971 11 DATA 5000000,5398278,5792597,6179114,6554217,6914625,7257469 12 DATA 7580363,7881446,8159399,8413447,8643339,8849303,9031995 13 DATA 9192433,9331928,9452007,9554345,9640697,9712834,9772499 14 DATA 9821356,9860966,9892759,9918025,9937903,9953388,9965330 15 DATA 9974449,9981342,9986501,9990324,9993129,9995166,9996631 16 DATA 9997674,9998409,9998922,9999277,9999519,9999683,9999793 17 DATA 9999867,9999915,9999946,9999966,9999979,9999987,9999992 18 DIM X(49) 19 DEF FNQ(V)=M3+V*R3 20 DEF FND(V)=X(V)-X(V-1) 21 DEF FNB(V)=U-V*(V-1)*(D2/(2*D1)+(V-2)*D3/(6*D1)) 22 DEF FNZ(V)=1+((V^2)+1)/(4*D)+(((V^2)+3)*(5*(V^2)+1))/(96*D^2) 25 FOR I=1 TO 49 30 READ X(I) 35 NEXT I 202 DATA 1E37 203 DATA .5,.75,.9,.95,.99,.999,.9999,.99999,1E37 204 READ H1,N1,M1,S1,H2,N2,M2,S2 205 IF H1=1E37 THEN 352 206 READ I 207 IF H1<>0 THEN 210 208 LET H1=1E20 210 IF H2<>0 THEN 214 212 LET H2=1E20 214 LET M3=M1-M2 216 LET T1=S1*SQR((N1*(H1-1))/(H1*(N1-1))) 218 LET T2=S2*SQR((N2*(H2-1))/(H2*(N2-1))) 220 LET R1=T1*SQR((H1-N1)/(N1*(H1-1))) 222 LET R2=T2*SQR((H2-N2)/(N2*(H2-1))) 224 LET R5=R1^2 226 LET R6=R2^2 228 LET R3=SQR(R5+R6) 230 LET W=R5/(R5+R6) 232 LET D=((N1-1)*(N2-1))/((N2-1)*W^2+(N1-1)*(1-W)^2) 234 LET D=.1*INT(10*D+.5) 236 PRINT 238 PRINT " STATISTIC ","SAMPLE 1","SAMPLE 2" 240 PRINT 242 PRINT "SAMPLE MEAN ",M1,M2 244 PRINT "SAMPLE VARIANCE ",S1^2,S2^2 246 PRINT "SAMPLE STD DEVIATION",S1,S2 248 PRINT "SAMPLE SIZE ",N1,N2 250 PRINT "POPULATION SIZE ", 252 IF H1<>1E20 THEN 258 254 PRINT "INFINITE", 256 GOTO 260 258 PRINT H1, 260 IF H2<>1E20 THEN 266 262 PRINT "INFINITE" 264 GOTO 268 266 PRINT H2 268 PRINT "ESTIM POPN STD DEV ",T1,T2 270 PRINT "STD ERROR OF MEAN ",R1,R2 272 PRINT 274 PRINT "DIFF BETWEEN MEANS "," ";M3 276 PRINT "STD ERROR OF DIFF "," ";R3 278 PRINT "DEGR OF FREEDOM (DIFF)"," ";D 280 PRINT 282 PRINT 284 PRINT "CONFIDENCE LIMITS ON DIFFERENCE BETWEEN MEANS:" 286 PRINT 288 PRINT "CONF LEVEL","LOWER LIM","UPPER LIM" 290 PRINT 292 READ P 294 IF P=1E37 THEN 386 296 LET A1=0.5*(1+P) 298 GOSUB 310 300 IF D=0 THEN 306 302 REM FNZ CONVERTS STUDENT'S T TO A NORMAL DEVIATE: 304 LET A2=A2*FNZ(A2) 306 PRINT 100*P,FNQ(-A2),FNQ(A2) 308 GOTO 292 310 IF A1>0.5 THEN 320 312 LET A1=1-A1 314 GOSUB 328 316 LET A2=-Q 318 GOTO 324 320 GOSUB 328 322 LET A2=Q 324 RETURN 326 REM REVERSE INTERPOLATION FOR STD NORMAL DEVIATE: 328 LET Z=1E7*A1 330 FOR I=1 TO 46 332 IF Z0.5 THEN 660 620 LET A1=1-A1 630 GOSUB 700 640 LET A2=-Q 650 GOTO 680 660 GOSUB 700 670 LET A2=Q 680 RETURN 690 REM REVERSE INTERPOLATION FOR STD NORMAL DEVIATE: 700 LET Z=1E7*A1 710 FOR I = 1 TO 46 720 IF Z1THEN786 785GOSUB829 786PRINT 787PRINT 788PRINT 789PRINT"DETAILS FOR"; 790INPUTI 791LETK=I 792LETD1=D 793PRINT 794IFF(I)=1THEN798 795GOSUB844 796PRINT" COULD NOT BE FIT." 797GOTO786 798GOSUB862 799IF(I-1)*(I-5)*(I-6)<>0THEN810 800FORJ=1TON 801LETY=A(I)+B(I)*X(J) 802IFI=1THEN806 803LETY=1/Y 804IFI=5THEN806 805LETY=X(J)*Y 806GOSUB901 807NEXTJ 808LETD=D1 809GOTO786 810FORJ=1TON 811IFI=2THEN817 812IFI=3THEN815 813LETY=A(4)+B(4)/X(J) 814GOTO818 815LETY=A(3)*(X(J)^B(3)) 816GOTO818 817LETY=A(2)*EXP(B(2)*X(J)) 818GOSUB901 819NEXTJ 820LETD=D1 821GOTO786 822LETS(5)=S(5)+V(J)^2 823LETS(3)=S(3)+V(J) 824RETURN 825LETS(1)=S(1)+U(J) 826LETS(2)=S(2)+U(J)^2 827LETS(4)=S(4)+U(J)*V(J) 828RETURN 829FORI=1TON-1 830LETM=I 831FORJ=I+1TON 832IFX(M)<=X(J)THEN834 833LETM=J 834NEXTJ 835IFM=ITHEN842 836LETP=X(M) 837LETQ=Y(M) 838LETX(M)=X(I) 839LETY(M)=Y(I) 840LETX(I)=P 841LETY(I)=Q 842NEXTI 843RETURN 844LETK=I 845IFK=1THEN860 846IFK=2THEN858 847IFK=3THEN856 848IFK=4THEN854 849IFK=5THEN852 850PRINT"6. Y=X/(A+B*X) "; 851RETURN 852PRINT"5. Y=1/(A+B*X) "; 853RETURN 854PRINT"4. Y=A+(B/X)", 855RETURN 856PRINT"3. Y=A*(X^B)", 857RETURN 858PRINT"2. Y=A*EXP(B*X)"; 859RETURN 860PRINT"1. Y=A+(B*X)", 861RETURN 862PRINT" "; 863GOSUB845 864PRINT" IS A"; 865IFK=1THEN870 866IFK=2THEN872 867IFK=3THEN874 868PRINT" HYPERBOLIC"; 869GOTO875 870PRINT" LINEAR"; 871GOTO875 872PRINT"N EXPONENTIAL"; 873GOTO875 874PRINT" POWER"; 875PRINT" FUNCTION. THE RESULTS" 876IFK=1THEN878 877PRINT" OF A LEAST-SQUARES FIT OF ITS LINEAR TRANSFORM" 878IFD<>1THEN880 879PRINT" (SORTED IN ORDER OF ASCENDING VALUES OF X)" 880PRINT" ARE AS FOLLOWS:" 881PRINT 882 PRINT " X-ACTUAL Y-ACTUAL Y-CALC PCT DIFFER" 883PRINT 884RETURN 885PRINT 886LETB=(N*S(4)-S(1)*S(3))/(N*S(2)-(S(1)^2)) 887LETA=(S(3)-B*S(1))/N 888LETS1=S(5)-(S(3)^2)/N 889LETS2=(B^2)*(S(2)-(S(1)^2)/N) 890LETC(I)=S2/S1 891IF(I-1)*(I-4)*(I-5)=0THEN898 892IF(I-2)*(I-3)=0THEN896 893LETA(6)=B 894LETB(6)=A 895RETURN 896LETA(I)=EXP(A) 897GOTO899 898LETA(I)=A 899LETB(I)=B 900RETURN 901PRINTX(J),Y(J),Y, 902LETD=Y(J)-Y 903LETD=.1*SGN(D)*INT(1000*ABS(D/Y)) 904IFD<0THEN909 905IFD>0THEN908 906PRINT" 0" 907RETURN 908PRINT" "; 909PRINTD 910RETURN 911 PRINT 912 PRINT " DATA STATEMENTS ARE REQUIRED, SEE INSTRUCTIONS." 914 PRINT 915 STOP 916 PRINT 917 PRINT"CHECK INPUT" 9999 END  linpro.basic 03/17/75 1551.7r w 03/17/75 1546.3 50481 100 REM HONEYWELL TIME SHARING APPLICATIONS 110 PRINT "L I N P R O" 120 REM 130 REM REVISED APRIL, 1971 140 REM 150 READ G9 160 IF G9=1E38 THEN 1890 170 RESET 180 LET C=1 190 DIM A(19,31) 200 PRINT"TYPE '2' FOR OUTPUT OF OF TABLEAUS AND BASIS AT EACH "; 210 PRINT"ITERATION," 220 PRINT" '1' FOR THE BASIS ONLY, OR" 230 PRINT" '0' FOR JUST THE SOLUTION." 240 PRINT"WHICH"; 250 INPUT P5 260 PRINT 270 PRINT "WHAT ARE M AND N OF THE DATA MATRIX"; 280 INPUT M,N 290 PRINT 300 PRINT "HOW MANY 'LESS THANS','EQUALS','GREATER THANS'"; 310 INPUT L, E, G 320 IF L+E+G = M THEN 350 330 PRINT "INPUT DATA NOT CONSISTENT." 340 STOP 350 LET B = M+N+G+2 360 LET W = M 370 IF B*(W+2)<540 THEN 400 380 PRINT "PROBLEM TOO LARGE" 390 STOP 400 IF B>31 THEN 420 410 IF W+1<19 THEN 520 420 PRINT"CHANGE DIM STATEMENT (NO. 50) FOR A";W+2;"BY";B;"MATRIX" 430 PRINT 440 PRINT"EITHER STATEMENT 260 OR 270 OR BOTH SHOULD BE CHANGED" 450 PRINT"AS FOLLOWS:" 460 PRINT 470 IF B<32 THEN 490 480 PRINT " 260 IF B>";B;"THEN 280" 490 IF W+1<19 THEN 510 500 PRINT " 270 IF W+2<";W+2;"THEN 380" 510 STOP 520 LET M = M - 1 530 LET H = 1 540 FOR I = 1 TO W+2 550 FOR J = 2 TO B 560 LET A(I,J) = 0 570 NEXT J 580 NEXT I 590 FOR I = 1 TO M+1 600 FOR J = 2 TO N+1 610 READ A(I,J) 620 NEXT J 630 NEXT I 640 FOR I = 1 TO M+1 650 READ A(I,B) 660 NEXT I 670 FOR J = 2 TO N+1 680 READ A(W+1,J) 690 LET A(W+1,J) = -A(W+1,J) 700 NEXT J 710 FOR K = 2 TO M+2 720 LET A(K-1,N+G+K) = 1 730 LET A(K-1,1) = K+N+G 740 NEXT K 750 IF E <> 0 THEN 770 760 IF G=0 THEN 920 770 FOR K = L+E+2 TO M+2 780 LET A(K-1,K+N-L-E) = -1 790 NEXT K 800 LET W = W + 1 810 LET Q = 0 820 FOR J = 2 TO N+1 + G 830 LET S = 0 840 FOR I = M-G-E+2 TO M+1 850 LET S = S + A(I,J) 860 NEXT I 870 LET A(W+1,J) = -S 880 IF A(W+1,J) > Q THEN 910 890 LET Q = A(W+1,J) 900 LET C = J 910 NEXT J 920 PRINT 930 PRINT " YOUR VARIABLES";H;"THROUGH";N 940 IF G = 0 THEN 960 950 PRINT " SURPLUS VARIABLES";N+1;"THROUGH";N+G 960 IF L = 0 THEN 980 970 PRINT " SLACK VARIABLES";N+G+1;"THROUGH";N+G+L 980 IF G+E = 0 THEN 1000 990 PRINT "ARTIFICIAL VARIABLES";N+G+L+1;"THROUGH";B-2 1000 IF P5=0 THEN 1020 1010 GOSUB 1770 1020 IF G+E=0 THEN 1360 1030 IF Q=0 THEN 1430 1040 IF P5>0 THEN 1560 1050 LET H = H + 1 1060 LET Q = 1E38 1070 LET R = 0 1080 FOR I = 1 TO M+1 1090 IF A(I,C) <= 0 THEN 1130 1100 IF A(I,B)/A(I,C) > Q THEN 1130 1110 LET Q = A(I,B)/A(I,C) 1120 LET R = I 1130 NEXT I 1140 IF R > 0 THEN 1180 1150 PRINT "SOLUTION UNBOUNDED" 1160 GOSUB 1770 1170 STOP 1180 LET P = A(R,C) 1190 LET A(R,1)=C 1200 FOR J = 2 TO B 1210 LET A(R,J) = A(R,J)/P 1220 NEXT J 1230 FOR I = 1 TO W+1 1240 IF I = R THEN 1310 1250 FOR J = 2 TO B 1260 IF J = C THEN 1300 1270 LET A(I,J) = A(I,J) - A(R,J)*A(I,C) 1280 IF ABS(A(I,J)) > 1E-8 THEN 1300 1290 LET A(I,J) = 0 1300 NEXT J 1310 NEXT I 1320 FOR I = 1 TO W+1 1330 LET A(I,C) = 0 1340 NEXT I 1350 LET A(R,C) = 1 1360 LET Q = 0 1370 FOR J = 2 TO N+1+G+L 1380 IF A(W+1,J) > Q THEN 1410 1390 LET Q = A(W+1,J) 1400 LET C = J 1410 NEXT J 1420 GOTO 1030 1430 IF W=M+1 THEN 1460 1440 LET W = W-1 1450 GOTO 1360 1460 PRINT 1470 PRINT 1480 FOR I = 1 TO M+1 1490 IF A(I,1)0 THEN 1530 1510 NEXT I 1520 GO TO 1550 1530 PRINT"NO FEASIBLE SOLUTION FOUND" 1540 GO TO 99999 1550 PRINT "ANSWERS:" 1560 PRINT 1570 IF Q = 0 THEN 1590 1580 PRINT " BASIS BEFORE ITERATION";H 1590 PRINT " VARIABLE VALUE" 1600 FOR I=1 TO M+1 1610 IF A(I,1) = 0 THEN 1630 1620 PRINT A(I,1)-1,A(I,B) 1630 NEXT I 1640 PRINT 1650 PRINT "OBJECTIVE FUNCTION VALUE",A(W+1,B) 1660 IF Q <> 0 THEN 1050 1670 PRINT 1680 PRINT 1690 PRINT "DUAL VARIABLES:" 1700 PRINT " COLUMN VALUE" 1710 FOR J=N+2 TO B-G-1 1720 PRINT J-1,A(W+1,J) 1730 NEXT J 1740 IF P5=0 THEN 1760 1750 GOSUB 1770 1760 GOTO 99999 1770 PRINT 1780 IF P5=1 THEN 1880 1790 PRINT 1800 PRINT "TABLEAU AFTER";H-1;"ITERATIONS" 1810 FOR I = 1 TO W+1 1820 FOR J = 2 TO B 1830 PRINT A(I,J), 1840 NEXT J 1850 PRINT 1860 PRINT 1870 NEXT I 1880 RETURN 1890 PRINT" INSTRUCTIONS FOR LINPRO" 1900 PRINT 1910 PRINT"THIS CODE MAXIMIZES THE OBJECTIVE FUNCTION" 1920 PRINT"BY THE TWO-PHASE METHOD." 1930 PRINT "MAXIMUM SIZE 18X30. LARGE PROBLEMS MAY RESULT IN" 1940 PRINT "EXCESSIVE RUNNING TIME AND LARGE ROUNDOFF ERROR." 1950 PRINT"ENTER DATA USING LINES 1-99 AND 10000,90000:" 1960 PRINT" FIRST - ARRANGE YOUR RESTRICTIONS SO THAT THE" 1970 PRINT" 'LESS THAN' INEQUALITIES PRECEDE THE STRICT EQUALITIES," 1980 PRINT" WHICH , IN TURN, PRECEDE THE 'GREATER THAN' INEQUALITIES." 1990 PRINT 2000 PRINT 2010 PRINT"THEN-TYPE IN THE COEFFICIENTS OF THE RESTRICTIONS ROW BY ROW" 2020 PRINT" DO NOT INCLUDE COEFFICIENTS FOR SLACK, SURPLUS," 2030 PRINT" OR ARTIFICIAL VARIABLES." 2040 PRINT"NEXT - TYPE IN THE ''B'' VECTOR (THE CONSTANTS OF THE" 2050 PRINT"RESTRICTIONS.) THESE VALUES MUST BE NON-NEGATIVE" 2060 PRINT 2070 PRINT 2080 PRINT"FINALLY - TYPE IN THE COEFFICIENTS OF THE COST FUNCTION." 2090 PRINT 2100 PRINT 2110 PRINT"FOR A MINIMIZATION PROBLEM, REVERSE THE SIGNS OF THE" 2120 PRINT"COEFFICIENTS OF THE OBJECTIVE FUNCTION." 2130 PRINT 2140 PRINT 2150 PRINT"AT RUN TIME YOU WILL BE ASKED TO:" 2160 PRINT" (1) INDICATE THE LEVEL OF DETAIL FOR OUTPUT." 2170 PRINT" (2) INPUT THE NUMBER OR RESTRICTIONS AND VARIABLES - " 2180 PRINT" M AND N RESPECTIVELY." 2190 PRINT" (3) AND TO INPUT THE NUMBER OF LESS THAN INEQUALITIES," 2200 PRINT" STRICT EQUALITIES, AND GREATER THAN INEQUALITIES," 2210 PRINT" RESPECTIVELY." 2220 PRINT 2230 PRINT"REMEMBER TO ALWAYS SUPPLY ZEROES WHEN THEY ARE APPLICABLE" 99998 DATA 1E38 99999 END  linreg.basic 03/17/75 1551.7r w 03/17/75 1546.3 25425 1 REM MODIFIED FEB 1975 2 PRINT" L I N R E G" 200 DATA 1E35,1E35 201 PRINT" DO YOU WANT INSTRUCTIONS? (YES=1, NO=0)" 202 INPUT Z9 203 IF Z9 = 1 THEN 650 206 PRINT"WHAT TYPE OF CURVE DO YOU WANT TO FIT:" 210 PRINT "LINEAR=1, EXPONENTIAL=2, POWER=3"; 215 INPUT Q1 220 DIM D(250,2) 225 PRINT 230 LET I=0 235 LET I=I+1 240 READ D(I,1),D(I,2) 245 IF D(I,1)<>1E35 THEN 235 250 LET Q2=I-1 255 LET S9=0 260 IF Q1=1 THEN 280 265 IF Q1=2 THEN 335 270 IF Q1=3 THEN 405 275 GOTO 230 280 LET S9=1 285 GOSUB 505 290 PRINT "LINEAR: Y=A+B*X WITH A=";Q8;"AND B=";Q9 295 GOSUB 580 300 FOR J=1 TO Q2 305 LET W7=Q8+Q9*D(J,1) 310 LET Z7=W7-D(J,2) 315 LET Q4=100*Z7/D(J,2) 320 PRINT D(J,1),D(J,2),W7,Z7,Q4 325 NEXT J 330 STOP 335 FOR J=1 TO Q2 340 LET D(J,2)=LOG(D(J,2)) 345 NEXT J 350 GOSUB 505 355 PRINT "EXPONENTIAL: Y=A*EXP(B*X) WITH A=";EXP(Q8);"AND B=";Q9 360 GOSUB 580 365 FOR J=1 TO Q2 370 LET W7=EXP(Q8+Q9*D(J,1)) 375 LET W8=EXP(D(J,2)) 380 LET Z7=W7-W8 385 LET Q4=100*Z7/W8 390 PRINT D(J,1),W8,W7,Z7,Q4 395 NEXT J 400 STOP 405 FOR J=1 TO Q2 410 LET D(J,1)=LOG(D(J,1)) 415 LET D(J,2)=LOG(D(J,2)) 420 NEXT J 425 GOSUB 505 430 PRINT "POWER: Y=A*(X^B) WITH A=";EXP(Q8);"AND B=";Q9 435 GOSUB 580 440 FOR J=1 TO Q2 445 LET W7=EXP(D(J,1)) 450 LET W8=EXP(D(J,2)) 455 LET W9=EXP(Q8)*W7^Q9 460 LET Q4=W9/W8-1 465 LET Z7=W9-W8 470 IF Q4<0 THEN 485 475 LET Q4=INT(1000*Q4+0.5)/10 480 GOTO 490 485 LET Q4=INT(1000*Q4-0.5)/10 490 PRINT W7,W8,W9,Z7,Q4 495 NEXT J 500 STOP 505 LET Q3=0 510 LET Q4=0 515 LET Q5=0 520 LET Q6=0 525 LET Q7=0 530 FOR J=1 TO Q2 535 LET Q3=Q3+D(J,1) 540 LET Q4=Q4+D(J,2) 545 LET Q5=Q5+D(J,1)*D(J,2) 550 LET Q6=Q6+(D(J,1))^2 555 LET Q7=Q7+(D(J,2))^2 560 NEXT J 565 LET Q9=(Q2*Q5-Q3*Q4)/(Q2*Q6-Q3^2) 570 LET Q8=(Q4-Q3*Q9)/Q2 575 RETURN 580 LET Q0=(Q2*Q5-Q3*Q4)/SQR((Q2*Q6-Q3^2)*(Q2*Q7-Q4^2)) 585 PRINT 590 PRINT "COEFFICIENT OF CORRELATION = ";Q0 595 PRINT "COEFFICIENT OF DETERMINATION = ";Q0^2 600 PRINT 605 PRINT "DO YOU WANT TO SEE A COMPARISON OF THE ACTUAL Y'S AND" 610 PRINT "THE ESTIMATED Y'S. 1=YES, 0=NO"; 615 INPUT P9 620 IF P9<>1 THEN 715 625 PRINT 630 PRINT "X-ACTUAL","Y-ACTUAL","Y-ESTIM","DIFFER","PCT-DIFF" 635 PRINT 640 RETURN 645 PRINT 650 PRINT "THIS IS A LINEAR REGRESSION PROGRAM FOR DATA IN TWO " 655 PRINT "VARIABLES, X AND Y. FROM INPUT POINTS, DESCRIBED BY" 660 PRINT "THEIR X AND Y COORDINATES, AN EQUATION IS PRODUCED THAT" 665 PRINT "BEST FITS THESE POINTS IN THE LEAST-SQUARES SENSE. TO" 670 PRINT "USE THE PROGRAM, TYPE THE FOLLOWING:" 675 PRINT 680 PRINT " 2 DATA X(1),Y(1), X(2),Y(2),......, X(N),Y(N)" 685 PRINT " (WHERE X(1),Y(1) IS THE FIRST POINT, X(2)," 690 PRINT " Y(2) IS THE SECOND, AND SO ON UNTIL ALL" 695 PRINT " POINTS HAVE BEEN ENTERED. ADDITIONAL DATA" 700 PRINT " STATEMENTS 3-199 MAY BE USED AS NEEDED.)" 705 PRINT 715 END  pert.basic 03/17/75 1551.7r w 03/17/75 1546.3 90099 10 REM PERT 20 REM REVISED FEB 1975 30 PRINT TAB(25);"PERT ANALYSIS PROGRAM" 40 PRINT 50 PRINT 60 READ T 70 REM 80 IF T <> 4E36 THEN 1600 90 PRINT 100 PRINT "ENTER DATA STARTING IN LINE 3000." 110 PRINT 120 PRINT "FOR PROGRAM DESCRIPTION AND INSTRUCTIONS TYPE:" 130 PRINT 140 PRINT "LIST 170 1590" 150 STOP 160 REM 170 REM 180 REM PROGRAM DOCUMENTATION 190 REM 200 REM THIS PROGRAM ANALYZES A PERT NETWORK. THE ANALYSIS 210 REM IS ADOPTED FROM THE PROGRAM AS SET FORTH IN MC MILLAN 220 REM AND GONZALES (PAGES 189 TO 211). 230 REM 240 REM FOLLOWING THE CONVENTION AS DELINEATED IN M &G, 250 REM A CIRCLE CORRESPONDS TO A 'COMPLETION EVENT' AND 260 REM AN ARROW CORRESPONDS TO AN 'ACTIVITY'. IN THE 270 REM NETWORK ANALYSIS TWO PARAMETERS ARE ASSOCIATED 280 REM WITH EACH TIME CONSUMING ACTIVITY: A MEAN AND A 290 REM VARIANCE. 300 REM 310 REM FOR EACH EVENT IN YOUR NETWORK, THE PROGRAM 320 REM WILL DETERMINE THE FOLLOWING VARIABLES FOR YOU: 330 REM 340 REM 1) TE = THE EARLIEST EXPECTED TIME OF OCCURRENCE 350 REM OF COMPLETION EVENT X. 360 REM 370 REM 2) V = THE VARIANCE ASSOCIATED WITH THE TE OF THE 380 REM EVENT. 390 REM 400 REM 3) TL = THE LATEST EXPECTED TIME WHICH A COM- 410 REM PLETION EVENT CAN BE ALLOWED TO OCCUR 420 REM WITHOUT DISTURBING THE TE OF THE FINAL 430 REM EVENT OF THE NETWORK. 440 REM 450 REM 4) SLACK = TE-TL 460 REM 470 REM THE ABOVE MENTIONED VARIABLE TE MUST NOT BE CONFUSED 480 REM WITH T(E). THE VALUE T(E) IS THE EXPECTED ANOUNT OF 490 REM TIME REQUIRED FOR THE COMPLETION OF A SINGLE ACTIVITY, 500 REM INDEPENDENT OF WHAT HAS OCCURRED BEFORE IT. THE DATA 510 REM FOR T(E) OF EACH EVENT WILL BE ENTERED BY YOU AS 520 REM DESCRIBED BELOW. THE SAME NOMENCLATURE IS USED WITH 530 REM V AND V(E). 540 REM 550 REM IN THIS PROGRAM NO EVENT CAN HAVE MORE THAN TWO 560 REM IMMEDIATE PREDECESSOR EVENTS OR MORE THAN TWO 570 REM IMMEDIATE SUCCESSOR EVENTS. TO USE THIS PROGRAM WITH 580 REM MORE COMPLEX NETWORKS CONTAINING MORE THAN TWO 590 REM IMMEDIATE PREDECESSOR OR SUCCESSOR EVENTS, ENTER 600 REM A NUMBERED 'DUMMY' EVENT THAT HAS A T(E) =0 AND 610 REM A V(E) =0. 620 REM 630 REM FOR EXAMPLE, IF EVENTS 1, 2 AND 3 PRECEED EVENT 5 640 REM THEN ENTER A 'DUMMY' EVENT 4, OF ZERO (0) TIME FOR 650 REM COMPLETION AND ZERO (0) VARIANCE, SUCH THAT EVENTS 660 REM 1 AND 2, OR 1 AND 3, OR 2 AND 3 PRECEED EVENT 4. 670 REM THEN EVENT 5 WILL HAVE ONLY TWO PRECEEDING EVENTS AS 680 REM ALLOWED BY THE PROGRAM. (IE, EVENT 5 WILL BE PRECEEDED 690 REM BY 1 AND 4, OR 2 AND 4, OR 3 AND 4) --SEE PAGE 197 700 REM OF M & G. 710 REM 720 REM BEGINNING IN LINE 3000 ENTER THE DATA. FIRST ENTER 730 REM T, THE TOTAL NUMBER OF EVENTS IN THE NETWORK INCLUDING 740 REM DUMMY EVENTS IN LINE 3000. 750 REM 760 REM THEN BEGINNING WITH THE FINAL EVENT AS NUMBER ONE, 770 REM ( 1 ), ENTER IN LINE 3001 THE FOLLOWING 8 PIECES OF 780 REM INFORMATION ABOUT THE EVENT IN THE ORDER INDICATED, 790 REM ALL ON LINE 3001. REPEAT THIS SEQUENCE, ENTERING THE 800 REM 8 PIECES OF DATA FOR EACH OF THE REMAINING EVENTS ON A 810 REM SINGLE LINE. INCREMENT LINE NUMBERS BY 1 AFTER LINE 820 REM 3001. 830 REM 840 REM 1) THE NUMBER OF THE EVENT'S FIRST IMMEDIATE 850 REM PREDECESSOR EVENT. 860 REM 870 REM 2) THE T(E) ASSOCIATED WITH THE ACTIVITY BOUNDED 880 REM BY THIS COMPLETION EVENT AND ITS FIRST 890 REM IMMEDIATE PREDECESSOR EVENT. 900 REM 910 REM 3) THE VARIANCE V(E) ASSOCIATED WITH THE ACTIVITY 920 REM BOUNDED BY THIS COMPLETION EVENT AND ITS FIRST 930 REM IMMEDIATE PREDECESSOR EVENT. 940 REM 950 REM 4) THE NUMBER OF THE EVENT'S SECOND IMMDEIATE 960 REM PREDECESSOR EVENT. IF NONE, ENTER ZERO. 970 REM 980 REM 5) THE T(E) ASSOCIATED WITH THE ACTIVITY BOUNDED BY 990 REM THIS COMPLETION EVENT AND ITS SECOND IMMEDIATE 1000 REM PREDECESSOR EVENT. IF NONE, ENTER ZERO. 1010 REM 1020 REM 6) THE VARIANCE V(E) ASSOCIATED WITH THE ACTIVITY 1030 REM BOUNDED BY THIS COMPLETION EVENT AND ITS SECOND 1040 REM IMMEDIATE PREDECESSOR EVENT. IF UNKNOWN, ENTER ZERO. 1050 REM 1060 REM 7) THE TE OF THE EVENT, WHERE KNOWN. 1070 REM IF UNKNOWN, ENTER ZERO. 1080 REM 1090 REM 8) THE VARIANCE V ASSOCIATED WITH THE EVENT, WHERE 1100 REM KNOWN. IF UNKNOWN, ENTER ZERO. 1110 REM 1120 REM THE LAST EVENT (ACTUALLY ENTERED FIRST, AS ABOVE) 1130 REM MUST BE LABELED ONE. THE OTHER EVENTS NEED NOT HAVE 1140 REM ANY ORDER. REMEMBER, WHEN ENTERING THE DATA THAT YOU 1150 REM ENTER T (LINE 3000), THE 8 PIECES OF DATA FOR EVENT 1160 REM 1 (LINE 3001), THEN 8 FOR EVENT 2 (LINE 3002), THEN 1170 REM 8 FOR EVENT 3 (LINE 3003), ETC., IN STRICT 1180 REM SEQUENTIAL EVENT NUMBER ORDER, REGARDLESS OF THE 1190 REM PHYSICAL LAYOUT ORDER OF THE NETWORK EVENTS. 1200 REM 1210 REM T(E) IS DEFINED AS; T(E) = ( A + 4*M + B )/6, WHERE 1220 REM 1230 REM A = MOST OPTIMISTIC TIME FOR COMPLETION OF THE ACTIVITY 1240 REM B = MOST PESSEMISTIC TIME FOR COMPLETION OF THE 1250 REM ACTIVITY 1260 REM C = MOST LIKELY TIME FOR COMPLETION OF THE ACTIVITY 1270 REM 1280 REM VARIANCE = V(E) = ((B-A)/6)^2, WHERE A AND B ARE 1290 REM DEFINED AS ABOVE. 1300 REM 1310 REM 1320 REM AT LEAST ONE EVENT IN THE NETWORK MUST HAVE ITS 1330 REM EARLIEST COMPLETION TIME SPECIFIED ( I.E. AT LEAST 1340 REM ONE EVENT'S TE MUST BE KNOWN. 1350 REM 1360 REM IF HOWEVER, NO EVENT HAS A SPECIFIED TE, LET THE 1370 REM THE TE OF THE INITIAL EVENT IN THE NETWORK BE 1380 REM SPECIFIED AS ONE, ( 1 ). THUS, THE INITIAL EVENT IN 1390 REM THE NETWORK WOULD HAVE IN ITS SEVENTH DATA LOCATION 1400 REM A ONE, INSTEAD OF A ZERO. (IE, ASSUME EVENT NUMBER 1410 REM 9 IS THIS FIRST EVENT IN THE NETWORK AND STARTS AT 1420 REM TIME ZERO, ITS DATA FORM WOULD LOOK LIKE 1430 REM XXXX DATA ------0-, HOWEVER, FOR THE PROGRAM TO 1440 REM OPERATE THE EVENT WOULD HAVE TO BE ASSIGNED AN 1450 REM ARBITRARY TE, SAY 1, ITS CORRECT DATA STATEMENT 1460 REM WOULD TAKE THE FORM, XXXX DATA ------1-. 1470 REM 1480 REM 1490 REM DON'T FORGET TO ENTER 'T', THE NUMBER OF EVENTS 1500 REM IN THE NETWORK. EACH EVENT IN THE NETWORK MUST HAVE 1510 REM 8 PIECES OF DATA ENTERED FOR IT. 1520 REM 1530 REM IF THERE ARE MORE THAN TEN EVENTS IN THE NETWORK 1540 REM ENTER A DIM STATEMENT IN LINE 1600 SUCH THAT E(T,13), 1550 REM P(T) AND S(T) ARE DIMENSIONED, WHERE T=NUMBER OF EVENTS. 1560 REM FOR EXAMPLE, IF YOUR NETWORK HAS 18 EVENTS, THE 1570 REM DIM STATEMENT WOULD BE DIM E(18,13),P(18),S(18). 1580 REM AFTER THE DATA HAS BEEN ENTERED, TYPE: RUN 1590 REM 1600 DIM E(10,13),P(10),S(10) 1610 REM T READ ALREADY AT FRONT OF PROGRAM 1620 FOR N= 1 TO T 1630 FOR I= 1 TO 8 1640 READ E(N,I) 1650 NEXT I 1660 FOR I= 9 TO 13 1670 LET E(N,I) = 0 1680 NEXT I 1690 NEXT N 1700 REM FIND TE 1710 FOR I= 1 TO T 1720 LET P(I) = 0 1730 NEXT I 1740 LET I = 1 1750 LET P(1) = 1 1760 LET N = 1 1770 LET N = E(N,1) 1780 LET I = I + 1 1790 IF I>T THEN 2820 1800 LET P(I) = N 1810 IF E(N,7) = 0 THEN 1770 1820 LET I = I - 1 1830 IF I = 0 THEN 2200 1840 LET N = P(I) 1850 IF S(N) = 2 THEN 2040 1860 IF E(N,4) <> 0 THEN 1900 1870 LET E(N,7) = E(N,2) + E(P(I+1),7) 1880 LET E(N,8) = E(N,3) + E(P(I+1),8) 1890 GO TO 1820 1900 LET A = E(P(I+1),7) + E(N,2) 1910 LET F = E(P(I+1),8) + E(N,3) 1920 LET N = E(N,4) 1930 LET I = I + 1 1940 LET P(I) = N 1950 IF E(N,7) <> 0 THEN 1980 1960 LET S(P(I-1)) = 2 1970 GO TO 1770 1980 LET I = I - 1 1990 IF I = 0 THEN 2100 2000 LET N=P(I) 2010 LET B = E(P(I+1),7) + E(N,5) 2020 LET G = E(P(I+1),8) + E(N,6) 2030 GO TO 2120 2040 LET B = E(P(I+1),7) + E(N,5) 2050 LET G = E(P(I+1),8) + E(N,6) 2060 LET N = E(N,1) 2070 LET C = E(N,7) 2080 LET H = E(N,8) 2090 LET N = P(I) 2100 LET A = C + E(N,2) 2110 LET F = H + E(N,3) 2120 IF A > B THEN 2160 2130 LET E(N,7) = B 2140 LET E(N,8) = G 2150 GO TO 1820 2160 LET E(N,7) = A 2170 LET E(N,8) = F 2180 GO TO 1820 2190 REM FIND SUCCESSOR EVENTS AND RECORD TE'S 2200 FOR I = 1 TO T 2210 LET N = E(I,1) 2220 IF N = 0 THEN 2290 2230 IF E(N,9) <> 0 THEN 2270 2240 LET E(N,9) = I 2250 LET E(N,10) = E(I,2) 2260 GO TO 2290 2270 LET E(N,11) = I 2280 LET E(N,12) = E(I,2) 2290 LET N = E(I,4) 2300 IF N = 0 THEN 2370 2310 IF E(N,9) <> 0 THEN 2350 2320 LET E(N,9) = I 2330 LET E(N,10) = E(I,5) 2340 GO TO 2370 2350 LET E(N,11) = I 2360 LET E(N,12) = E(I,5) 2370 NEXT I 2380 REM FIND TL 2390 LET E(1,13) = E(1,7) 2400 FOR K= 1 TO T 2410 IF E(K,13) = 0 THEN 2440 2420 NEXT K 2430 GOTO 2740 2440 LET N = K 2450 LET I = 1 2460 LET P(1) = N 2470 IF E(N,13) <> 0 THEN 2610 2480 LET A = E(N,9) 2490 IF E(A,13) = 0 THEN 2650 2500 LET B = E(N,11) 2510 IF B = 0 THEN 2600 2520 IF E(B,13) = 0 THEN 2690 2530 LET T1 = E(A,13) - E(N,10) 2540 LET T2 = E(B,13) - E(N,12) 2550 IF T1 < T2 THEN 2580 2560 LET E(N,13) = T2 2570 GO TO 2610 2580 LET E(N,13) = E(A,13) - E(N,10) 2590 IF I = 1 THEN 2400 2600 LET E(N,13) = E(A,13) - E(N,10) 2610 IF I = 1 THEN 2400 2620 LET I = I - 1 2630 LET N = P(I) 2640 GO TO 2470 2650 LET N = A 2660 LET I = I + 1 2670 LET P(I) = N 2680 GO TO 2470 2690 LET N = B 2700 LET I = I + 1 2710 LET P(I) = N 2720 GO TO 2470 2730 REM PRINT RESULTS 2740 PRINT "EVENT NUMBER";TAB(22);"TE";TAB(38);"V";TAB(54);"TL"; 2750 PRINT TAB(62);"TOTAL SLACK" 2760 PRINT "----- ------";TAB(22);"--";TAB(38);"-";TAB(54);"--"; 2770 PRINT TAB(62);"----- -----" 2780 PRINT 2790 FOR N = T TO 1 STEP -1 2800 PRINT USING " -#### -####.# -####.# -####.# -####.#",N,E(N,7),E(N,8),E(N,13),E(N,13)-E(N,7) 2810 NEXT N 2815 STOP 2820 PRINT "DATA NOT CONSISTENT--OR NO TE SPECIFIED" 2830 STOP 3000 DATA 4E36 9999 END  plotto.basic 03/17/75 1551.7r w 03/17/75 1548.5 27612 10 REM PLOTTO 100 GO TO 840 104 READ A1,H,I,J,E1,F1 108 LET G=(F1-E1)/40 112 LET G1=G/2 116 PRINT 120 PRINT" ","MULTIPLE PLOT OF THE FUNCTIONS "; 124 FOR K=1TO A1 128 GOSUB 1080 132 IF K=A1THEN 144 136 PRINT", "; 140 NEXT K 144 PRINT 148 PRINT" "," HORIZ INCREMENT =";G 152 GOSUB 710 156 GOSUB 730 160 PRINT"X-VALUE" 164 LET X=H-J 168 PRINT 172 LET L1=0 176 LET X=X+J 180 IF X>I THEN 660 184 PRINTX, 260 LET Y=E1-G 270 PRINT" "; 280 LET Y=Y+G 290 IF Y>F1THEN 168 300 IF ABS(A-Y) 12 THEN 1870 55 IF M < N THEN 2170 60 IF M >100 THEN 1840 70 LET T7=Z 75 LET T8=Z 80 LET W7=Z 100 DATA 1,38.1,1.5,14.67,2,12.76,2.5,13.15,3,11.78 101 DATA 3.5,1.67,4,5.35,4.5,14.6,5,5.3,5.5,1.67,6 102 DATA 8.91,6.5,15.67 300 FOR I=1 TO M 310 READ X(I),Y(I) 320 LET W7=W7+X(I) 330 LET T7=T7+Y(I) 340 LET T8=T8+Y(I)^2 350 NEXT I 360 LET T9=(M*T8-T7^2)/(M^2-M) 370 PRINT 380 PRINT "L E A S T - S Q U A R E S P O L Y N O M I A L S" 390 PRINT 391 PRINT "VERSION OF 9/16/69" 392 PRINT 400 PRINT " NUMBER OF POINTS =";M 410 PRINT " MEAN VALUE OF X =";W7/M 420 PRINT " MEAN VALUE OF Y =";T7/M 430 PRINT " STD ERROR OF Y =";SQR(T9) 440 PRINT 450 PRINT " NOTE: CODE FOR 'WHAT NEXT?' IS:" 460 PRINT 470 PRINT " 0 = STOP PROGRAM" 480 PRINT " 1 = COEFFICIENTS ONLY" 490 PRINT " 2 = ENTIRE SUMMARY" 500 PRINT " 3 = FIT NEXT HIGHER DEGREE" 510 PRINT 520 PRINT 530 FOR I=1 TO M 540 LET P(I) = Z 550 LET Q(I) = O 560 NEXT I 570 FOR I = 1 TO 11 580 LET A(I) = Z 590 LET B(I) = Z 600 LET S(I) = Z 610 NEXT I 620 LET E1=Z 630 LET F1=Z 640 LET W1=M 650 LET N4=K 660 LET I=1 670 LET K1=2 680 IF N=0 THEN 700 690 LET K1=N4 700 LET W=Z 710 FOR L=1 TO M 720 LET W=W+Y(L)*Q(L) 730 NEXT L 740 LET S(I)=W/W1 750 IF I-N4>=0 THEN 1090 760 IF I-M>=0 THEN 1090 770 LET E1=Z 780 FOR L=1 TO M 790 LET A9 = ABS(Q(L)) 800 IF A9 < O9 THEN 860 801 LET X9 = ABS(X(L)) 802 IF X9 < O6 THEN 844 803 REM: SO X & Q NOT TOO CLOSE TO 0.0 FOR LOG 810 LET L2 = FNL(X9) + 2*FNL(A9) 820 IF L2 < 38 THEN 850 821 REM: SO X & Q TOO BIG FOR X*Q^2 830 LET E1 = O7 831 LET L2 = 38 840 GO TO 870 844 IF A9 < 1 THEN 860 846 IF A9 < O8 THEN 850 847 REM: SO Q TOO BIG FOR Q^2 849 GO TO 830 850 LET E1 = E1 + X(L) * A9^2 860 NEXT L 870 IF L2 - FNL(W1) > (-38) THEN 900 880 LET E1 = 0 890 GO TO 910 900 LET E1 = E1/W1 910 LET A(I+1)=E1 920 LET W=Z 930 FOR L=1 TO M 940 LET V=(X(L)-E1)*Q(L)-F1*P(L) 950 LET P(L)=Q(L) 960 LET Q(L)=V 970 LET V9 = ABS(V) 980 IF V9 < O9 THEN 1030 990 IF V9 < O8 THEN 1020 1000 LET W = O7 1010 GO TO 1040 1020 LET W=W+V*V 1030 NEXT L 1040 LET F1= W/W1 1050 LET B(I+2)=F1 1060 LET W1=W 1070 LET I=I+1 1080 GOTO 700 1090 FOR L = 1 TO 13 1100 LET G(L)=Z 1110 NEXT L 1120 REM: 1130 LET G(2) = O 1140 FOR J=1 TO N 1150 LET S1 = Z 1160 FOR L = 2 TO N+1 1170 IF L=2 THEN 1190 1180 LET G(L) = G(L) - A(L-1)*G(L-1) - B(L-1)*G(L-2) 1190 LET S1 = S1 + S(L-1)*G(L) 1200 NEXT L 1210 LET U(J)=S1 1220 REM: 1230 LET L = N+1 1240 FOR I2=2 TO N 1250 LET G(L)=G(L-1) 1260 LET L=L-1 1270 NEXT I2 1280 LET G(2) = Z 1290 NEXT J 1300 REM: 1310 PRINT 1320 LET T=Z 1330 FOR L=1 TO M 1340 LET C(L)=Z 1350 LET J=N 1360 FOR I2=1 TO N 1370 LET C(L)=C(L)*X(L)+U(J) 1380 LET J=J-1 1390 NEXT I2 1400 LET T3=Y(L)-C(L) 1410 LET T=T+T3^2 1420 NEXT L 1430 IF M<>N THEN 1460 1440 LET T5=0 1450 GOTO 1470 1460 LET T5=T/(M-N) 1470 LET Q7 = 1 - T/(T9*(M-1)) 1490 PRINT "POLYFIT OF DEGREE";N-1; 1500 PRINT "INDEX OF DETERM =";FNR(Q7); 1510 GOSUB 2200 1540 IF R=0 THEN 9999 1550 IF R=3 THEN 1810 1555 PRINT"" 1560 PRINT TAB(8), "TERM "," COEFFICIENT" 1570 PRINT 1580 FOR J=1 TO N 1590 LET I2=J-1 1600 PRINT I2,U(J) 1610 NEXT J 1620 IF R=1 THEN 1780 1630 PRINT 1640 PRINT " X-ACTUAL"," Y-ACTUAL"," Y-CALC"," DIFF"; 1650 PRINT " PCT-DIFF" 1660 PRINT 1670 FOR L=1 TO M 1680 LET Q8=Y(L)-C(L) 1690 PRINT X(L),Y(L),C(L),Q8, 1700 IF C(L)=0 THEN 1730 1710 PRINT 100*Q8/C(L) 1720 GOTO 1740 1730 PRINT "INFINITE" 1740 NEXT L 1750 PRINT 1760 PRINT " STD ERROR OF ESTIMATE FOR Y =";SQR(T5) 1770 IF K=N THEN 9999 1780 PRINT 1790 GOSUB 2200 1800 GOTO 1540 1810 LET N=N+1 1820 IF M0 THEN 325 360 LET B = B-Q 365 NEXT C 370 IF B = 0 THEN 380 375 GO TO 390 380 LET B = -.8 385 GO TO 315 390 LET W(I,J) =B 395 NEXT J 400 NEXT I 405 PRINT 410 PRINT 415 PRINT 420 PRINT 425 PRINT" RETURNS ON INVESTMENTS" 430 PRINT" ----------------------" 435 PRINT TAB(11);"(ANNUAL RATES COMPOUNDED ANNUALLY)" 440 PRINT 445 PRINT 450 FOR K=1 TO (N-1) STEP4 455 IF N-1-K<4 THEN540 460 PRINT" TO",Y1+K,Y1+(K+1),Y1+(K+2),Y1+(K+3) 465 PRINT"FROM" 470 FOR I=1 TO K 475 PRINT Y1+(I-1), 480 FOR J=(K+1) TO (K+4) 485 PRINT W(I,J), 490 NEXT J 495 NEXT I 500 PRINT Y1+K," ",W(K+1,K+2),W(K+1,K+3),W(K+1,K+4) 505 PRINT Y1+K+1," "," ",W(K+2,K+3),W(K+2,K+4) 510 PRINT Y1+K+2," "," "," ",W(K+3,K+4) 515 PRINT 520 PRINT 525 PRINT 530 NEXT K 535 GO TO 665 540 PRINT" TO", 545 FOR I=K TO (N-1) 550 PRINT Y1+I, 555 NEXT I 560 LET Q=4-(N-K) 565 GOSUB 645 570 PRINT"FROM" 575 FOR I=1 TO N-1 580 PRINT Y1+(I-1), 585 IF I<=(N-(N-K)) THEN 610 590 LET Q=I-K 595 GOSUB 645 600 LET J=K+1+Q 605 GO TO 615 610 FOR J=K+1 TO N 615 PRINT W(I,J), 620 NEXT J 625 LET Q=4-(N-K) 630 GOSUB 645 635 NEXT I 640 GO TO 665 645 FOR H=1 TO Q 650 PRINT " ", 655 NEXT H 660 RETURN 665 PRINT 670 PRINT 675 PRINT 680 LET X=0 685 LET Y=0 690 LET V=0 695 FOR I=1 TO (N-1) 700 FOR J=(I+1) TO N 705 LET X=W(I,J)+X 710 LET Y=W(I,J)+Y 715 NEXT J 720 PRINT"AVERAGE RETURN FROM";Y1+(I-1);"=";X/(N-I) 725 LET V=(N-I)+V 730 PRINT 735 LET X=0 740 NEXT I 745 PRINT 750 PRINT" AVERAGE RETURN FOR ALL" 755 PRINT"POSSIBLE HOLDING PERIODS =";Y/V 760 PRINT 765 PRINT 770 PRINT" ----------------------------" 775 PRINT 780 PRINT 785 PRINT TAB(35);"AVERAGE";TAB(47);"STANDARD";TAB(61);"COEFF." 790 PRINT TAB(36);"RETURN";TAB(47);"DEVIATION";TAB(60);"VARIATION" 795 PRINT 800 LET V3=0 805 LET N2 = 0 810 LET X2 = 0 815 LET Y2 = 0 820 LET V2 = 0 825 FOR I = 1 TO (N-1) 830 FOR J = 1 TO N 835 IF J + I > N THEN 855 840 LET X2 = W(J,J+I) + X2 845 LET V2 = W(J,J+I) + V2 850 NEXT J 855 LET X2 = X2/(J-1) 860 FOR J = 1 TO N 865 IF J + I > N THEN 885 870 LET Y2 = (W(J,J+I)-X2)^2+Y2 875 LET V3 = (W(J,J+I))^2+V3 880 NEXT J 885 LET Y2 = SQR(Y2/(J-1)) 890 PRINT "FOR ALL";I;"YEAR HOLDING PERIODS:";TAB(35);X2;TAB(47);Y2; 895 PRINT TAB(60);Y2/X2 900 PRINT 905 LET X2 = 0 910 LET Y2=C3=0 915 NEXT I 920 IF V-1 =0 THEN 930 925 LET C3=SQR((V*V3-V2*V2)/V/(V-1)) 930 PRINT "FOR ALL POSSIBLE HOLDING PERIODS:";TAB(35);V2/V;TAB(47);C3; 935 PRINT TAB(60);C3/(V2/V) 940 PRINT 945 PRINT 950 PRINT 955 PRINT"-----------------------------------------------------------" 1000 DATA 10,1962 1010 DATA 0,39.25 1020 DATA 1.02,43.65 1030 DATA 1.10,46.75 1040 DATA 1.20,60.125 1050 DATA 1.30,60.00 1060 DATA 1.30,58.00 1070 DATA 1.30,50.25 1080 DATA 1.30,49.125 1090 DATA 1.30,47.25 1100 DATA 1.40,66.50 9999 END  saving.basic 03/17/75 1551.7r w 03/17/75 1549.6 9873 3REM S A V I N G 4REM 10 PRINT"SAVING" 100 PRINT 110 PRINT " THIS PROGRAM CALCULATES THE AMOUNT OF MONEY THAT" 120 PRINT "WOULD ACCUMULATE AFTER N YEARS AT AN ANNUAL INTEREST" 130 PRINT "RATE R COMPOUNDED T TIMES PER YEAR, WHEN THE INITIAL" 140 PRINT "AMOUNT IS P AND AN AMOUNT D IS ADDED AT THE BEGINNING" 150 PRINT "OF EACH SUBSEQUENT YEAR. NOTE THAT P AND D ARE GIVEN" 160 PRINT "IN DOLLARS, N AND T MUST BE INTEGERS, AND R IS GIVEN" 170 PRINT "AS A PERCENTAGE." 180 PRINT 190 PRINT "WHAT ARE P,D,N,T,R"; 200 INPUT L,N,Y,X,A 210 IF X<>0 THEN 250 220 PRINT 230 PRINT "X MUST NOT EQUAL ZERO..." 240 GOTO 180 250 LET D=0 260 LET B=.01*A 270 LET S=L 280 LET D=0 290 LET S=L 300 FOR Z=1 TO Y 310 LET S=S+D 320 FOR W=1 TO X 330 LET S=S*(1+B/X) 340 NEXT W 350 LET D=N 360 NEXT Z 370 PRINT 380 PRINT " AFTER ";Y;"YEARS, ";L;"DOLLARS INVESTED AT";A 390 PRINT " PERCENT COMPOUNDED ";X;"TIMES PER YEAR, WITH THE" 400 PRINT " ADDITION OF ";N;"DOLLARS PER YEAR, YIELDS A TOTAL" 410 PRINT " OF ";S;"DOLLARS." 420 PRINT 430 PRINT "MORE DATA (1=YES,0=NO)"; 440 INPUT I 450 IF I=1 THEN 190 9999 END  stat12.basic 03/17/75 1551.7r w 03/17/75 1549.8 13932 5 REM ---STAT12---OCT 27, 1969 10 REM DESCRIPTION: COMPUTES THE CORRELATION MATRIX FOR N 20 REM SERIES OF DATA. 40 REM INSTRUCTIONS: ENTER DATA STARTING IN LINE 900 IN THE 50 REM FOLLOWING ORDER: 1) THE NUMBER OF SERIES, 2) THE NUMBER 60 REM IN EACH SERIES, 3) THEN THE DATA BY GROUP (NOT BY SERIES). 70 REM THIS PROGRAM IS LIMITED TO 25 SERIES, WITH AN ARBITRARY 75 REM NUMBER IN EACH SERIES. TO INCREASE THE MAXIMUM NUMBER OF 80 REM SERIES, CHANGE THE DIM STATEMENTS IN LINE 100. 90 READ O0 91 RESET 92 IF O0 <> 999999 THEN 100 93 PRINT "LIST LINES 10 TO 85 FOR INSTRUCTIONS" 94 STOP 100 DIM S(25,25),D(25),X(25) 110 READ N, M 170 LET X(0) = 1 200 FOR K = 1 TO M 210 FOR I = 1 TO N 220 READ X(I) 230 NEXT I 240 FOR I = 0 TO N 250 FOR J = I TO N 260 LET S(I,J) = S(I,J) + X(I)*X(J) 270 NEXT J 280 NEXT I 290 NEXT K 300 REM HAVING COMPUTED THE SUM-OF-SQUARES MATRIX, WE CONTINUE. 305 PRINT TAB(3);"VARIABLE";TAB(23);"MEAN";TAB(34);"VARIANCE"; 306 PRINT TAB(48);"STD. DEV." 310 FOR I = 1 TO N 320 LET M1 = S(0,I) / M 330 LET Q = ( M * S(I,I) -S(0,I)*S(0,I) ) / M / (M-1) 340 LET D(I) = SQR(Q) 350 PRINT I, M1, Q, D(I) 360 NEXT I 600 REM NOW WE PRODUCE AND PRINT THE CORRELATION MATRIX... 605 PRINT 610 PRINT "THE CORRELATION MATRIX" 620 PRINT 630 FOR I = 1 TO N 635 IF I = 1 THEN 670 640 FOR J = 1 TO I-1 650 PRINT " ", 660 NEXT J 670 FOR J = I TO N 680 PRINT (M*S(I,J) - S(0,I)*S(0,J))/M/(M-1)/D(I)/D(J), 690 NEXT J 700 PRINT 710 PRINT 720 NEXT I 730 STOP 900 DATA 999999 9999 END  triang.basic 03/17/75 1551.7r w 03/17/75 1550.0 32886 3REM T R I A N G 4REM 6 PRINT "TRIANG" 10 DIM A(10),B(10),C(10),H(10),R(10),S(10) 100 PRINT 105 DEF FNS(I)= .01*INT(6000*(B(I)-INT(B(I)))+.5) 110 PRINT "THIS PROGRAM WILL FIND THE UNKNOWN FEATURES OF ANY" 115 PRINT "TRIANGLE, GIVEN ONE SIDE AND ANY TWO OTHER PARTS." 120 PRINT 125 PRINT 130 PRINT "WHAT WILL BE GIVEN (1=SSS, 2=SAS, 3=SSA, 4=ASA, 5=AAS)"; 135 INPUT N 140 PRINT 145 LET R8=0 150 LET R9=0 155 IF (N-1)*(N-2)*(N-3)*(N-4)*(N-5)=0 THEN 170 160 PRINT "ANSWER 1, 2, 3, 4, OR 5 PLEASE...." 165 GOTO 125 170 IF N=1 THEN 210 175 PRINT "NOTE: SPECIFY ANGLES AS 'DEGREES, MINUTES, SECONDS' OR" 180 PRINT " 'DEGREES, MINUTES.DECIMAL, 0' (I.E., SECONDS=0)" 185 PRINT 190 IF N=2 THEN 230 195 IF N=4 THEN 270 200 IF N=5 THEN 335 205 IF N=3 THEN 385 210 PRINT "WHAT ARE SIDE1, SIDE2, SIDE3"; 215 INPUT S(1),S(2),S(3) 220 GOSUB 540 225 GOTO 630 230 PRINT "WHAT ARE SIDE1, ANGLE3, SIDE2"; 235 INPUT S(1),A(3),B(3),C(3),S(2) 240 GOSUB 830 245 LET I=3 250 GOSUB 620 255 LET S(3)=SQR(S(1)^2+S(2)^2-2*S(1)*S(2)*COS(R(3))) 260 GOSUB 540 265 GOTO 630 270 PRINT "WHAT ARE ANGLE1, SIDE3, ANGLE2"; 275 INPUT A(1),B(1),C(1),S(3),A(2),B(2),C(2) 280 GOSUB 830 285 FOR I=1 TO 2 290 GOSUB 620 295 NEXT I 300 LET R(3)=3.14159265-R(1)-R(2) 305 LET I=3 310 GOSUB 575 315 FOR I=1 TO 2 320 GOSUB 530 325 NEXT I 330 GOTO 630 335 PRINT "WHAT ARE ANGLE3, ANGLE1, SIDE3"; 340 INPUT A(3),B(3),C(3),A(1),B(1),C(1),S(3) 345 GOSUB 830 350 FOR I=1 TO 3 STEP 2 355 GOSUB 620 360 NEXT I 365 LET R(2)=3.14159265-R(1)-R(3) 370 LET I=2 375 GOSUB 575 380 GOTO 315 385 PRINT "WHAT ARE SIDE1, SIDE3, ANGLE1"; 390 INPUT S(1),S(3),A(1),B(1),C(1) 395 GOSUB 830 400 LET R8=1 405 LET I=1 410 GOSUB 620 415 LET T=(S(3)*SIN(R(1)))/S(1) 420 IF T-1>0.0000001 THEN 515 425 IF 1-T>0.00000001 THEN 440 430 LET R(3)=1.57079632 435 GOTO 445 440 LET R(3)=ATN(T/SQR(1-T^2)) 445 LET R(2)=3.14159265-R(1)-R(3) 450 LET I=2 455 GOSUB 530 460 FOR I=2 TO 3 465 GOSUB 575 470 NEXT I 475 IF R9=1 THEN 510 480 IF S(3)>S(1) THEN 490 485 GO TO 505 490 PRINT 495 PRINT "ONE SOLUTION IS:" 500 GO TO 510 505 LET R8 = 0 510 GOTO 630 515 PRINT 520 PRINT "NO SOLUTION POSSIBLE...." 525 GOTO 800 530 LET S(I)=(S(3)/SIN(R(3)))*SIN(R(I)) 535 RETURN 540 LET P=(S(1)+S(2)+S(3))/2 545 LET R=SQR(((P-S(1))*(P-S(2))*(P-S(3)))/P) 550 FOR I=1 TO 3 555 LET R(I)=2*ATN(R/(P-S(I))) 560 GOSUB 575 565 NEXT I 570 RETURN 575 LET X1=57.2957795*R(I) 580 LET A(I)=INT(X1) 585 LET B(I)=60*(X1-A(I)) 590 IF ABS(60-B(I))>0.00005 THEN 605 595 LET B(I)=0 600 LET A(I)=A(I)+1 605 IF ABS(B(I))>0.0001 THEN 615 610 LET B(I)=0 615 RETURN 620 LET R(I)=(A(I)+B(I)/60)/57.2957795 625 RETURN 630 GOSUB 540 635 LET W=R*P 640 LET R1=S(1)/(2*SIN(R(1))) 645 LET H(1)=S(3)*SIN(R(2)) 650 LET H(2)=S(1)*SIN(R(3)) 655 LET H(3)=S(2)*SIN(R(1)) 660 PRINT 665 IF R9=1 THEN 685 670 PRINT 675 PRINT " "," 1"," 2"," 3" 680 PRINT " "," -------"," -------"," -------" 685 PRINT 690 PRINT "SIDE",S(1),S(2),S(3) 695 PRINT 700 PRINT "ANGLE (RAD)",R(1),R(2),R(3) 705 PRINT 710 PRINT "ANGLE (DEG)",A(1),A(2),A(3) 715 PRINT " (MIN)", INT(B(1)),INT(B(2)),INT(B(3)) 720 PRINT " (SEC)", FNS(1), FNS(2), FNS(3) 725 PRINT 730 PRINT "ALT TO SIDE",H(1),H(2),H(3) 735 PRINT 740 PRINT 745 PRINT "RADIUS OF CIRCUMSCR CIRCLE = ";R1 750 PRINT "RADIUS OF INSCRIBED CIRCLE = ";R 755 PRINT " AREA OF TRIANGLE = ";W 760 PRINT 765 IF R9=1 THEN 800 770 IF R8=0 THEN 800 775 PRINT 780 PRINT "A SECOND SOLUTION IS:" 785 LET R9=1 790 LET R(3)=3.14159265-R(3) 795 GOTO 445 800 PRINT 805 PRINT 810 PRINT "ANOTHER CASE (1=YES)"; 815 INPUT Q 820 IF Q=1 THEN 120 825 STOP 830 FOR I=1 TO 3 835 LET B(I)= B(I) + C(I)/60 840 NEXT I 845 RETURN 9999 END  truint.basic 07/27/78 1745.2r w 07/27/78 1745.3 13428 3REM T R U I N T 7 PRINT "DO YOU WANT INSTRUCTIONS, (1=YES, 0=NO)" 8 INPUT Y7 9 IF Y7=0 THEN 80 10 PRINT"TRUINT" 20 PRINT "THIS PROGRAM WILL CALCULATE THE TRUE ANNUAL INTEREST" 30 PRINT "RATE CHARGED ON AN INSTALLMENT LOAN. YOU SUPPLY THE" 40 PRINT "VALUES OF FOUR VARIABLES: A = AMOUNT OF LOAN (IN $)," 50 PRINT "P = AMOUNT OF EACH PAYMENT ($), N = THE TOTAL NUMBER" 60 PRINT "OF PAYMENTS DUE, AND K = THE NUMBER OF PAYMENTS DUE" 70 PRINT "IN ONE YEAR. "; 80 PRINT "WHAT ARE A,P,N,K"; 90 INPUT A, P, N, K 100 PRINT 110 IF N=1 THEN 510 120 IF P*N>=A THEN 180 130 PRINT 140 PRINT "THAT'S NOT REASONABLE. THE PAYMENTS ADD UP" 150 PRINT "TO LESS THAN THE AMOUNT OWED. TRY AGAIN:" 160 PRINT 170 GOTO 80 180 LET R=0 190 LET D=100 200 GOSUB 290 210 IF P=P1 THEN 390 220 IF P>P1 THEN 250 230 LET R=R-D 240 GOTO 260 250 LET R=R+D 260 LET D=D/2 270 IF D<0.0001 THEN 390 280 GOTO 200 290 LET R1=R/(100*K) 300 LET Q=1+R1 310 IF N*LOG(Q)/LOG(10)<=75 THEN 340 320 LET P1=A*R1 330 RETURN 340 IF Q>1 THEN 370 350 LET P1=A/N 360 RETURN 370 LET P1=A*Q^N*R1/(Q^N-1) 380 RETURN 390 LET R=0.01*INT(0.5+100*R) 400 LET R2=.01*INT(.5+10000*((1+R/(100*K))^K-1)) 410 IF R<199.5 THEN 460 420 PRINT 430 PRINT "RATE WOULD BE OVER 200 PERCENT. TRY AGAIN:" 440 PRINT 450 GOTO 80 460 PRINT "TRUE ANNUAL INTEREST RATE (NOMINAL)=";R 470 PRINT "TRUE ANNUAL INTEREST RATE (EFFECTIVE)=";R2 480 PRINT 490 PRINT "ANOTHER CASE? (TYPE 'S' TO STOP NOW)." 500 GOTO 80 510 LET R=(P/A-1)*K 520 LET R=100*R 530 GOTO 390 9999 END  twoplo.basic 03/17/75 1551.7r w 03/17/75 1550.0 24336 3REM T W O P L O 8 LET J=0 9 LET P7=0 10 GO TO 620 100 LET Y1=Z 105 LET T=0 110 LET T1=0 115 IF J=0 THEN 125 120 RETURN 125 PRINT 130 PRINT "WHAT ARE FMIN,FMAX,XMIN,XMAX,DELX"; 135 INPUT Q0,Q1,Q2,Q3,Q4 140 LET Q5=(Q1-Q0)/60 145 LET Q6=0 150 LET J=2 155 FOR X = Q2 TO Q3 STEP Q4 160 GOSUB 10 165 IF Q6=0 THEN 315 170 IF Q6 = 20 THEN 185 175 PRINT " . "; 180 GOTO 195 185 PRINT " - "; 190 LET Q6 = 10 195 IF Y > Q1 THEN 305 200 IF Y1>Q1 THEN 305 205 IF Y < Q0 THEN 305 210 IF Y10 THEN 435 230 IF Z0 THEN 250 240 IF Z=2*Q5 THEN 280 255 IF Z-Y>=Q5 THEN 270 260 PRINT " +"; 265 GOTO 370 270 PRINT " + "; 275 GOTO 370 280 PRINT "+ "; 285 GOTO 370 290 PRINT " "; 295 LET Q7= Q7+ 3*Q5 300 GOTO 220 305 PRINT "OFF SCALE. (X,Y,Z) =";X;",";Y;",";Y1 310 GOTO 380 315 PRINT 320 IF P7=99 THEN 335 325 PRINT 330 PRINT "(NOTE: Y IS PLOTTED '+', Z IS '.', AND 'O' IS COMMON POINT)" 335 PRINT 340 PRINT "FOR X:TOP = ";Q2;" BOTTOM = ";Q3;" INCREMENT = ";Q4 345 PRINT "FOR FCTS: LEFT = ";Q0;" RIGHT = ";Q1;" INCREMENT = ";Q5 350 PRINT 355 PRINT " I.........I.........I.........I.........I.........I.........I" 360 PRINT 365 GOTO 185 370 LET T= 1 375 IF T1=0 THEN 295 380 LET Q6=Q6+1 385 IF INT(Z)>Q1 THEN 395 390 PRINT 395 NEXT X 400 LET P7=99 405 PRINT 410 PRINT 415 PRINT "TYPE 'S' TO STOP NOW, OR ELSE SPECIFY NEW VALUES" 420 PRINT "FOR FMIN,FMAX,XMIN,XMAX,DELX"; 425 GOTO 135 430 IF T1>0 THEN 290 435 IF Z=2*Q5 THEN 470 445 IF Z-Y1>=Q5 THEN 460 450 PRINT " ."; 455 GOTO 475 460 PRINT " . "; 465 GOTO 475 470 PRINT ". "; 475 LET T1=1 480 IF T>0 THEN 380 485 GOTO 295 490 IF Z-Y>=2*Q5 THEN 580 495 IF Z-Y>=Q5 THEN 540 500 IF Z-Y1>=2*Q5 THEN 530 505 IF Z-Y1>=Q5 THEN 520 510 PRINT " O"; 515 GOTO 380 520 PRINT " .+"; 525 GOTO 380 530 PRINT ". +"; 535 GOTO 380 540 IF Z-Y1>=2*Q5 THEN 570 545 IF Z-Y1>=Q5 THEN 560 550 PRINT " +."; 555 GOTO 380 560 PRINT " O"; 565 GOTO 380 570 PRINT ".+"; 575 GOTO 380 580 IF Z-Y1>=2*Q5 THEN 610 585 IF Z-Y1>=Q5 THEN 600 590 PRINT "+ ."; 595 GOTO 380 600 PRINT "+."; 605 GOTO 380 610 PRINT "O"; 615 GOTO 380 620 PRINT 625 PRINT "THIS PROGRAM WILL SIMULTANEOUSLY PLOT TWO FUNCTIONS" 630 PRINT "OF A SINGLE VARIABLE X. TO USE, TYPE:" 635 PRINT 640 PRINT " 10 LET Y= (THE FIRST FUNCTION OF X)" 645 PRINT " 20 LET Z= (THE SECOND FUNCTION OF X AND/OR Y)" 650 PRINT " RUN" 655 PRINT 660 PRINT "THE FUNCTIONS Y AND Z MAY BE ANY LEGITIMATE 'BASIC'" 665 PRINT "EXPRESSIONS. INTERMEDIATE VARIABLES MAY BE DEFINED" 670 PRINT "USING INTERMEDIATE LINES, IF THE FUNCTIONS ARE TOO" 675 PRINT "COMPLICATED TO FIT ON ONE LINE." 9999 END  unista.basic 03/17/75 1551.7r w 03/17/75 1550.0 46962 3 PRINT "UNISTA" 5 REM REVISED FEB 5, 1975 6 REM THE SORT USED IN THIS PROGRAM IS SLOW 10 REM: UNISTA [DO NOT RESEQUENCE] 12 PRINT "DO YOU WANT INSTURCTIONS? (YES OR NO)" 13 INPUT Q1$ 14 IF Q1$ = "YES" THEN 20 15 IF Q1$ = "yes" THEN 20 16 IF Q1$ = "no" THEN 700 17 IF Q1$ = "NO" THEN 700 18 PRINT "ANSWER EITHER ""YES"" OR ""NO""" 19 GO TO10 20 PRINT "LINE NUMBERS 50-699 ARE FREE FOR USE AS DATA STATEMENTS, AS REQUIRED" 22 PRINT "ALL VALUES FOR ONE VARIABLE ARE GIVE IN DATA STATEMENTS, FOLLOWED BY" 24 PRINT "ALL VALUES FOR A SECOND VARIABLE, AND SO ON." 26 PRINT "THE WAY TO ARRANGE INPUT IS TO PUT ALL VALUES OF VARIABLE 1 AT LINES" 28 PRINT "100-199, ALL FOR VARIABLE 2 AT LINES 200-299, ECT." 30 PRINT "UNISTA ACCEPTS UP TO 300 OBSERVATIONS ON ONE VARIABLE." 32 PRINT 34 STOP 700 PRINT 730 RESET 740 PRINT 750 PRINT"TYPICAL INTERVAL FOR FREQUENCY DISTRIBUTIONS:"; 760 PRINT" L,U ="; 770 INPUT W1,W2 780 PRINT 790 PRINT 800 DIM X(300),S(4),Y(4),Z(4) 810 DIM C(50),G(50),E(50),F(50) 820 DEF FNR(M)=.001*INT(1000*M+.5) 830 DATA 1E38,0,0,0,0,0,0,0 840 LET I = 0 850 LET I = I+1 860 READ X(I) 870 IF X(I) <> 1E38 THEN 850 880 LET N1 = I-1 890 LET N = N1-1 900 FOR I=1 TO 4 910 LET S(I) = 0 920 NEXT I 930 FOR I = 1 TO N1 940 LET Y(1) = X(I) 950 LET Y(2) = X(I)^2 960 LET Y(3) = Y(1)*Y(2) 970 LET Y(4) = Y(2)^2 980 FOR J=1 TO 4 990 LET S(J)=S(J)+Y(J) 1000 NEXT J 1010 NEXT I 1020 LET S = S(1) 1030 FOR I = 1 TO 4 1040 LET Y(I)=(1/N1)*S(I) 1050 NEXT I 1060 LET S(2) = Y(2) - Y(1)^2 1070 LET S(3) = Y(3) - 3*Y(1)*Y(2) + 2*Y(1)^3 1080 LET S(4) = Y(4) - 4*Y(3)*Y(1) + 6*Y(2)*Y(1)^2 - 3*Y(1)^4 1090 LET Y(2) = SQR(S(2)) 1100 LET Y(3) = S(3) / (S(2)*Y(2)) 1110 LET Y(4) = S(4)/S(2)^2 - 3 1120 PRINT 1130 PRINT "S U M M A R Y S T A T I S T I C S" 1140 PRINT 1150 PRINT" NUMBER OF VARIATES =";N1 1160 PRINT" ARITHMETIC MEAN =";Y(1) 1170 PRINT" STANDARD DEVIATION =";Y(2) 1180 PRINT" VARIANCE =";S(2) 1190 PRINT" COEFF OF VAR (PCT) = ";FNR(100*Y(2)/Y(1)) 1200 PRINT" STANDARD SKEWNESS = ";FNR(Y(3)) 1210 PRINT" STANDARD EXCESS = ";FNR(Y(4)) 1220 PRINT 1230 PRINT 1240 REM SORT 1250 FOR I = 1 TO N 1260 FOR J = I+1 TO N1 1270 IF X(I)N1 THEN 2440 2410 LET Q5 = INT(G5) 2420 LET H5=G5-Q5 2430 LET P2=H5*X(Q5+1)+(1-H5)*X(Q5) 2440 RETURN 2450 PRINT 2460 PRINT"INTERVAL IS TOO SMALL. MAXIMUM IS 50 CLASSES" 2470 PRINT"RESPECIFY L,U"; 2480 INPUT W1,W2 2490 GOTO 1640 2510 END  xyplot.basic 03/17/75 1551.7r w 03/17/75 1550.0 16254 3REM X Y P L O T 9 LET J=0 10 GO TO 610 11 IF J=0 THEN 130 12 RETURN 20 PRINT " XYPLOT" 130 PRINT 140 PRINT "WHAT ARE YMIN,YMAX,XMIN,XMAX,DELX"; 150 INPUT Q0,Q1,Q2,Q3,Q4 160 LET Q5=(Q1-Q0)/60 170 LET Q6=0 180 LET J=2 190 FOR X = Q2 TO Q3 STEP Q4 200 GOSUB 10 210 IF Q6 = 0 THEN 470 220 IF Q6 = 20 THEN 250 230 PRINT " . "; 240 GOTO 270 250 PRINT " - "; 260 LET Q6 = 10 270 IF Y > Q1 THEN 440 280 IF Y < Q0 THEN 440 290 LET Q7 = Q0 + 2*Q5 300 LET Z=Q7+0.5*Q5 310 IF Z=2*Q5 THEN 390 340 IF Z-Y>=Q5 THEN 370 350 PRINT " +" 360 GOTO 530 370 PRINT " +" 380 GOTO 530 390 PRINT "+" 400 GOTO 530 410 LET Q7 = Q7 + 3*Q5 420 PRINT " "; 430 GOTO 300 440 PRINT "OFF SCALE: (X,Y) = ";X;", ";Y 450 LET Q6 = Q6 + 1 460 GOTO 530 470 PRINT 480 PRINT "FOR X: TOP = ";Q2;" BOTTOM = ";Q3;" INCREMENT = ";Q4 490 PRINT "FOR Y: LEFT = ";Q0;" RIGHT = ";Q1;" INCREMENT = ";Q5 500 PRINT 510 PRINT " I.........I.........I.........I.........I.........I.........I" 520 GOTO 250 530 NEXT X 540 PRINT 550 PRINT "TYPE '0' TO STOP OR '1' TO CHANGE LIMITS. WHICH"; 560 INPUT Q8 570 IF Q8 = 0 THEN 9999 580 IF Q8 = 1 THEN 130 590 PRINT 600 GOTO 540 610 PRINT 620 PRINT "THIS PROGRAM WILL PLOT SINGLE-VALUED FUNCTIONS OF X," 630 PRINT "WITH X ON THE VERTICAL AXIS. TO USE, TYPE:" 640 PRINT 650 PRINT " 10 LET Y= (THE FUNCTION TO BE PLOTTED)" 660 PRINT " RUN" 670 PRINT 680 PRINT "DURING RUNNING, THE PROGRAM WILL ASK FOR YMIN AND" 690 PRINT "YMAX (THE LIMITS ON THE HORIZONTAL Y-AXIS), FOR" 700 PRINT "XMIN AND XMAX (THE LIMITS ON THE VERTICAL X-AXIS)," 710 PRINT "AND FOR DELX, THE INCREMENT TO BE USED ALONG THE" 720 PRINT "X-AXIS. NOTE: LINES 70-99 OF THE PROGRAM MAY BE" 730 PRINT "USED AS DESIRED TO EXPRESS COMPLICATED FUNCTIONS." 9999 END bull_copyright_notice.txt 08/30/05 1008.4r 08/30/05 1007.3 00020025 ----------------------------------------------------------- Historical Background This edition of the Multics software materials and documentation is provided and donated to Massachusetts Institute of Technology by Group Bull including Bull HN Information Systems Inc. as a contribution to computer science knowledge. This donation is made also to give evidence of the common contributions of Massachusetts Institute of Technology, Bell Laboratories, General Electric, Honeywell Information Systems Inc., Honeywell Bull Inc., Groupe Bull and Bull HN Information Systems Inc. to the development of this operating system. Multics development was initiated by Massachusetts Institute of Technology Project MAC (1963-1970), renamed the MIT Laboratory for Computer Science and Artificial Intelligence in the mid 1970s, under the leadership of Professor Fernando Jose Corbato.Users consider that Multics provided the best software architecture for managing computer hardware properly and for executing programs. Many subsequent operating systems incorporated Multics principles. Multics was distributed in 1975 to 2000 by Group Bull in Europe , and in the U.S. by Bull HN Information Systems Inc., as successor in interest by change in name only to Honeywell Bull Inc. and Honeywell Information Systems Inc. . ----------------------------------------------------------- Permission to use, copy, modify, and distribute these programs and their documentation for any purpose and without fee is hereby granted,provided that the below copyright notice and historical background appear in all copies and that both the copyright notice and historical background and this permission notice appear in supporting documentation, and that the names of MIT, HIS, Bull or Bull HN not be used in advertising or publicity pertaining to distribution of the programs without specific prior written permission. Copyright 1972 by Massachusetts Institute of Technology and Honeywell Information Systems Inc. Copyright 2006 by Bull HN Information Systems Inc. Copyright 2006 by Bull SAS All Rights Reserved