10 PRINT TAB(25);"PASART2" 20 PRINT TAB(20);"CREATIVE COMPUTING" 30 PRINT TAB(18);"MORRISTOWN, NEW JERSEY" 40 PRINT:PRINT:PRINT 50 REM *** THIS PROGRAM REQUIRES AROUND 16K FREE WORK SPACE 60 REM *** TO OBTAIN LARGER PICTURES, EXPAND THE ARRAY IN LINE 70 REM *** 110 TO P(72,72) 110 DIM P(36,36) 130 PRINT " THIS PROGRAM CREATES ARTIST DESIGNS BASED ON" 135 PRINT "PASCAL'S TRIANGLE." 140 PRINT "DO YOU WANT A LIST OF OPTIONS"; 150 INPUT S1$ 170 IF LEFT$(S1$,1)<>"Y" THEN 630 180 PRINT "PLEASE TEAR OFF THIS LIST AND SAVE OR POST FOR FUTURE REFERENCE" 190 PRINT "---------------------------------------------------------------" 200 PRINT "1. A SINGLE PASCALS TRIANGLE PLAYED BACK LIKE THIS:" 210 PRINT " BEFORE PRINTING AFTER PRINTING" 220 PRINT " 1 1 1 ***" 230 PRINT " 1 2 3 * *" 240 PRINT " 1 3 6 **" 250 PRINT "2. A SINGLE PASCALS TRIANGLE PLAYED BACK LIKE THIS:" 260 PRINT " BEFORE PRINTING AFTER PRINTING" 270 PRINT " 1 *" 280 PRINT " 1 1 **" 290 PRINT " 1 2 1 * *" 300 PRINT "3. A SINGLE PASCALS TRIANGLE PLAYED BACK LIKE THIS:" 310 PRINT " BEFORE PRINTING AFTER PRINTING" 320 PRINT " 1 *" 330 PRINT " 1 2 1 * *" 340 PRINT " 1 3 3 1 * * * *" 350 PRINT "4. TWO PASCALS TRIANGLES PRINTED BACK TO BACK LIKE THIS:" 360 PRINT " BEFORE PRINTING AFTER PRINTING" 370 PRINT " 1 1 1 0 ***" 380 PRINT " 1 2 0 1 * *" 390 PRINT " 1 0 2 1 * *" 400 PRINT " 0 1 1 1 ***" 410 PRINT "5. FOUR PASCAL TRIANGLES PRINTED IN A SQUARE LIKE THIS:" 420 PRINT " BEFORE PRINTING AFTER PRINTING" 430 PRINT " 1 1 1 1 1 1 ******" 440 PRINT " 1 2 2 1 * *" 450 PRINT " 1 1 * *" 460 PRINT " 1 1 * *" 470 PRINT " 1 2 2 1 * *" 480 PRINT " 1 1 1 1 1 1 ******" 490 PRINT "6. FOUR PASCALS TRIANGLES PRINTED IN A SQUARE LIKE THIS:" 500 PRINT " BEFORE PRINTING AFTER PRINTING" 510 PRINT " 1 1 1 1 1 1 ******" 520 PRINT " 1 2 3 3 2 1 * ** *" 530 PRINT " 1 3 6 6 3 1 ** **" 540 PRINT " 1 3 6 6 3 1 ** **" 550 PRINT " 1 2 3 3 2 1 * ** *" 560 PRINT " 1 1 1 1 1 1 ******" 570 PRINT "7. STARTING PASCALS TRIANGLE IN ANY DESIRED ROW & COLUMN" 580 PRINT " SO THAT A USER CAN TAPE TOGETHER SEVERAL PICTURES" 590 PRINT " TO MAKE A LARGER DESIGN. THIS OPTION EXTENDS" 600 PRINT " PICTURES LIKE THOSE SHOWN IN OPTION 1 IN 36 X 36 CHARACTER" 610 PRINT " CHUNKS. ENTRIES UP TO 1000 ROWS AND COLUMNS ARE ACCEPTED." 620 PRINT "---------------------------------------------------------------" 630 PRINT "WHAT'S YOUR PLEASURE (1,2,3,4,5,6 OR 7)"; 640 INPUT O 650 IF O<=7 AND O>=1 THEN 660 655 PRINT "I'M SUPPOSED TO BE YOUR FRIEND, SO HOW ABOUT IT:":GOTO 630 660 PRINT "YOUR PICTURE SHOULD HIGHLIGHT THE MULTIPLES OF WHAT NUMBER"; 670 INPUT Q 680 PRINT "WHAT CHARACTER WOULD YOU LIKE THE COMPUTER TO TYPE REPRESENTING" 690 PRINT "THE MULTIPLES OF ";Q; "(ENTER '' '' FOR A BLANK)"; 700 INPUT S$ 710 PRINT "WHAT CHARACTER WOULD YOU LIKE THE COMPUTER TO TYPE REPRESENTING" 720 PRINT "EACH OF THE OTHER NUMBERS IN THE PATTERN (ENTER '' '' FOR A BLANK)"; 730 INPUT T$ 740 IF O=7 THEN 780 750 PRINT "HOW MANY ROWS AND COLUMNS IN THE ARRAY (36 IS MAX.)"; 760 INPUT T 770 IF T>36 THEN PRINT "BE REASONABLE!":GOTO 750 780 PRINT "WOULD YOU LIKE A CALENDAR PRINTED WITH YOUR PICTURE"; 800 INPUT R5$ 810 IF LEFT$(R5$,1)<>"Y" THEN 850 820 PRINT "WHAT YEAR BETWEEN 1600 AND 2300 WOULD YOU LIKE"; 830 INPUT Y9 840 IF Y9*(3099-Y9)<=0 THEN PRINT "EVEN I MAKE MISTAKES!":GOTO 820 850 ON O GOTO 940,2190,2330,1210,1510,1510,2550 920 REM TIME TO CREATE AND PRINT A SINGLE PIECE OF PASART 930 REM FIRST BUILD THE PASCALS TRIANGLE 940 FOR R=1 TO T 950 FOR C=1 TO T 960 IF (R-1)*(C-1)=0 THEN 1010 970 P(R,C)=P(R-1,C)+P(R,C-1) 980 IF P(R,C)3 THEN 1070 1060 LET T=T*2-1 1070 FOR R=1 TO T 1080 FOR C=1 TO T 1090 IF P(R,C)=0 THEN 1130 1100 IF(P(R,C)/Q-INT(P(R,C)/Q))*Q<.95 THEN 1130 1110 PRINT T$; 1120 GOTO 1140 1130 PRINT S$; 1140 NEXT C 1150 PRINT 1160 NEXT R 1170 IF LEFT$(R5$,1)="Y" THEN 3260 1180 GOTO 3710 1190 REM OPTION 4 LINES 1210-1490 1200 REM TIME TO CREATE AND PRINT A DOUBLE PIECE OF PASART 1210 Z=T 1220 REM BUILD THE UPPER LEFT HAND CORNER OF THE ARRAY 1230 LET N=Z 1240 FOR R=1 TO N 1250 FOR C=1 TO Z-1 1260 IF (R-1)*(C-1)=0 THEN 1310 1270 P(R,C)=P(R-1,C)+P(R,C-1) 1280 IF P(R,C)R THEN 2300 2230 IF(C-1)=0 THEN 2290 2240 IF R=C THEN 2290 2250 LET P(R,C)=P(R-1,C-1)+P(R-1,C) 2260 IF P(R,C)T*2-1 THEN 2530 2410 IF R+C=T+1 THEN 2470 2420 IF C=1 THEN 2480 2430 LET P(R,C)=P(R-1,C-1)+P(R-1,C+1) 2440 IF P(R,C) INT(J/4) THEN 3380 3350 IF (J-1700)*(J-1800)*(J-1900)*(J-2100)*(J-2200)*(J-2300)=0 THEN 3380 3360 C=C+2 3370 GOTO 3390 3380 C=C+1 3390 IF C<7 THEN 3410 3400 C=C-7 3410 NEXT J 3420 PRINT 3430 FOR R=1 TO 12 3440 READ A$ 3450 PRINT TAB(17);A$;" ";X 3460 READ B 3470 IF X/4 <> INT(X/4) THEN 3500 3480 IF A$ <> "FEBRUARY" THEN 3500 3490 LET B=B+1 3500 REM TIME TO PRINT THE CALENDAR FOR THE YEAR X 3510 PRINT "=========================================" 3520 PRINT "!SUN MON TUE WED THU FRI SAT!" 3530 PRINT "=========================================" 3540 FOR D=1 TO B 3550 PRINT TAB(6*C);D; 3560 LET C=C+1 3570 IF C<7 THEN 3600 3580 PRINT 3590 C=0 3600 NEXT D 3610 PRINT 3620 PRINT "=========================================" 3630 FOR P=1 TO 3 3640 PRINT 3650 NEXT P 3660 NEXT R 3670 DATA "JANUARY",31,"FEBRUARY",28,"MARCH",31,"APRIL",30,"MAY",31 3680 DATA "JUNE",30,"JULY",31,"AUGUST",31,"SEPTEMBER",30,"OCTOBER",31 3690 DATA "NOVEMBER",30,"DECEMBER",31 3700 REM THE END 3710 END