12000 LET $9 = $9+1
12100 IF $9 > 1 THEN 20000
12200 READ $7
13010 LET N = -177
13020 LET S = -177
13030 LET P = -277
14000 REM  SET UP YOUR $-VARIABLES. (ELSE THEY WILL BE O.)
15000 GOTO *
16000 REM  TIME-LIMIT SET AT 5 SECS. CHANGE IF DESIRED.
16001 TIME 30
20000 IF $9 > 2 THEN 30000
20100 READ $8
20200 IF $8 = 117 THEN 30000
20300 PRINT "YOU ARE READING THE WRONG AMOUNT OF DATA."
21010 PRINT "READ A SINGLE NUMBER D, THEN COMPUTE N, S, AND P."
22000 STOP
30000 REM
30010 READ $1
31010 LET $2 = 6
31020 LET $3 = 1
31030 FOR $ = 1 TO $1
31040 LET $5 = $3/2
31050 LET $6 = 1-SQR(1-$5^2)
31060 LET $3 = SQR($5^2+$6^2)
31070 LET $2 = 2*$2
31080 LET $4 = $2*$3/2
31090 NEXT $
32010 IF ABS($3-S) > 1E-6 THEN 40000
32020 IF ABS($4-P) > 1E-6 THEN 40000
32030 IF N<>$2 THEN 40000
33000 IF $9 <= $7 THEN *
33100 PRINT "CONGRATULATIONS. YOUR PROGRAM WORKS."
33210 PRINT " YOU HAVE EARNED YOUR FIRST STRIPE AS A PROGRAMMER."
33220 PRINT
33230 PRINT "HAND IN: THIS PAGE WITH A LIST AND A RUN."
33240 PRINT "BE SURE YOUR NAME AND COURSE APPEARS ON IT."
33300 STOP
40000 IF $9 > 2 THEN 50000
41010 IF N <> -177 THEN 41100
41020 PRINT "YOU ARE NOT USING N FOR THE NUMBER OF SIDES."
41030 STOP
41100 IF X <> -177 THEN 41150
41110 PRINT "YOU ARE NOT USING S FOR THE LENGTH OF THE SIDE."
41120 STOP
41150 IF S <> 1 THEN 41200
41160 PRINT "YOU HAVE FAILED TO ITERATE."
41170 PRINT "ARE YOU ITERATING D TIMES?"
41180 STOP
41200 IF P <> -277 THEN 42000
41210 PRINT "YOU ARE NOT USING P FOR THE APPROX. VALUE OF PIE."
41220 STOP
42000 REM
42100 IF N >= 0 THEN 42200
42110 PRINT "YOU DID NOT INITIALIZE N."
42120 STOP
42200 IF ABS(S-124.4)>1 THEN 50000
42210 PRINT "YOU DID NOT INITIALIZE S."
42220 STOP
50000 REM
50010 IF N = $2 THEN 50100
50015 IF $9 > 2 THEN 50150
50020 PRINT "EITHER YOU HAVE INITIALIZED N INCORRECTLY, OR ";
50025 IF N > $2 THEN 50050
50030 PRINT "YOU ARE NOT DOUBLING IT."
50040 STOP
50050 PRINT "YOU ARE"
50055 PRINT "ITERATING TOO MANY TIMES."
50060 STOP
50100 IF S = $3 THEN 50200
50110 IF $9 > 2 THEN 50150
50120 PRINT "YOU ARE COMPUTING S INCORRECTLY."
50130 PRINT "PLEASE CHECK THE NOTES HANDED OUT IN LECTURE."
50140 STOP
50150 PRINT "YOU STARTED OUT ALL RIGHT, BUT THERE IS AN ERROR";
50160 PRINT " IN THE WAY YOU ITERATE."
50165 PRINT "ARE YOU ITERATING D TIMES?"
50170 STOP
50200 PRINT "YOU ARE FINDING P INCORRECTLY FROM N AND S."
50210 STOP
90001 DATA 1, 3
91001 DATA 1
92000 DATA 117
93002 DATA 1
94002 DATA 2,2,10,10
99999 END
