1
0
mirror of https://github.com/retro-software/B5500-software.git synced 2026-03-06 10:44:00 +00:00
Files
Paul Kimpel 2c72f7fd1d Commit CUBE Library version 13 of February 1972.
1. Commit library tape images, directories, and extracted text files.
2. Commit additional utilities under Unisys-Emode-Tools.
2018-05-27 11:24:23 -07:00

584 lines
46 KiB
Plaintext

1.001 REM YOU ARE USING WIPL, A B5500 INTERACTIVE LANGUAGE DEVELOPED 00001001
1.002 REM BY THE UNIVERSITY OF WISCONSIN COMPUTING CENTER. TO OBTAIN 00001002
1.003 REM INFORMATION ON THE USE OF ONE OF THE STATEMENT TYPES, TYPE 00001003
1.004 REM "HELP" FOLLOWED BY THE STATEMENT TYPE, SUCH AS "HELP SET". 00001004
1.005 REM IF YOU WOULD LIKE TO KNOW ABOUT ANY SPECIFIC AREA OF THE 00001005
1.006 REM LANGUAGE, YOU MAY CHOOSE FROM THE FOLLOWING LIST OF TOPICS: 00001006
1.007 REM (TO SELECT TOPIC 2.00 TYPE "HELP 2){! 00001007
2.000 REM GENERAL INFORMATION 00002000
2.001 REM THIS SECTION BRIEFLY DESCRIBES THE USE OF WIPL. IN THIS 00002001
2.002 REM SECTION AND THOSE WHICH FOLLOW, TERMS SUCH AS TYPE, LIST, DO, 00002002
2.003 REM ETC. ARE INTRODUCED WITHOUT DETAILED EXPLANATION. BE SURE TO 00002003
2.004 REM REMEMBER TO TYPE "HELP" AND THE TERM NAME TO GET AN EXPLANA- 00002004
2.005 REM TION OF THE USE OF THE TERM AS YOU NEED IT WHILE USING WIPL.{!00002005
2.100 REM NUMBERS - A NUMBER CAN BE REPRESENTED IN ANY OF THE FOLLOWING 00002100
2.101 REM THREE WAYS:{! 00002101
2.102 REM INTEGER (NO DECIMAL POINT): 1,5,30000 00002102
2.103 REM FLOATING POINT (WITH A FRACTION PART): 19.7,999.999 00002103
2.104 REM SCIENTIFIC NOTATION: 46.1E17,4E-3,1E50 00002104
2.105 REM WHERE 46.1E17 MEANS 46.1 TIMES 10 RAISED TO THE POWER 17{!00002105
2.106 REM NUMBERS ARE RESTRICTED TO 11 DIGITS AND MUST BE 0 OR BETWEEN 00002106
2.107 REM 1E-63 AND 549755813887E63 IN MAGNITUDE.{! 00002107
2.200 REM VARIABLES - A VARIABLE NAME IS ANY SEQUENCE OF ADJACENT 00002200
2.201 REM LETTERS OR NUMBERS OF UP TO 15 CHARACTERS IN LENGTH, WITH THE 00002201
2.202 REM FIRST CHARACTER BEING A LETTER. VARIABLE NAMES MUST BE 00002202
2.203 REM UNIQUE IN THEIR FIRST 7 CHARACTERS OR THEIR LENGTH. IF NOT, 00002203
2.204 REM THEY ARE CONSIDERED TO BE THE SAME. THUS "FILE" AND "FILES" 00002204
2.205 REM ARE DIFFERENT VARIABLE NAMES, WHILE "ALPHABET" AND "ALPHABEX" 00002205
2.206 REM ARE NOT. 00002206
2.207 REM EXAMPLES: 00002207
2.208 REM A,BZ127,INPUT,ALONGIDENTIFIER{! 00002208
2.209 REM A SUBSCRIPTED VARIABLE CAN HAVE FROM 1 TO 4 SUBSCRIPTS, 00002209
2.210 REM ENCLOSED IN BRACKETS. ALL SUBSCRIPTED VARIABLES MUST BE 00002210
2.211 REM DECLARED BY A DIMENSION STATEMENT. 00002211
2.212 REM EXAMPLES: 00002212
2.213 REM TABLE[3,X4],X[Y[3,2]],A[X[N]+3,A[M,1]]{! 00002213
2.214 REM (NOTE: [ IS UPPERCASE K, ] IS UPPERCASE M){! 00002214
2.215 REM WIPL CONTAINS A NUMBER OF RESERVED NAMES SUCH AS HELP, RUN, 00002215
2.216 REM DO, GTR, COS, ETC. THESE MAY NOT BE USED AS SIMPLE VARIABLE 00002216
2.217 REM NAMES; HOWEVER, THEY MAY BE USED AS ARRAY NAMES.{! 00002217
2.300 REM ARITHMETIC OPERATORS 00002300
2.301 REM THE ARITHMETIC OPERATORS IN DESCENDING ORDER OF PRECEDENCE 00002301
2.302 REM ARE: 00002302
2.303 REM ** EXPONENTIATION 00002303
2.304 REM - UNARY MINUS (E.G. -A) 00002304
2.305 REM *,/,MOD,DIV MULTIPLICATION, DIVISION, MODULO, INTEGER 00002305
2.306 REM DIVISION 00002306
2.307 REM +,- ADDITION, SUBTRACTION{! 00002307
2.400 REM LOGICAL OPERATORS 00002400
2.401 REM THE LOGICAL OPERATORS (WITH THEIR EQUIVALENT REPRESENTATIONS) 00002401
2.402 REM ARE: 00002402
2.403 REM =,EQ,EQL,EQU EQUAL 00002403
2.404 REM NE,NEQ NOT EQUAL 00002404
2.405 REM GT,GTR GREATER THAN 00002405
2.406 REM LT,LSS LESS THAN 00002406
2.407 REM GE,GEQ GREATER THAN OR EQUAL 00002407
2.408 REM LE,LEQ LESS THAN OR EQUAL{! 00002408
2.500 REM FUNCTIONS 00002500
2.501 REM ABS(X) ABSOLUTE VALUE OF X 00002501
2.502 REM SIN(X),SINF(X) SINE OF X (RADIANS) 00002502
2.503 REM COS(X),COSF(X) COSINE OF X (RADIANS) 00002503
2.504 REM TAN(X),TANF(X) TANGENT OF X (RADIANS) 00002504
2.505 REM ATN(X),ATAN(X) ARCTANGENT OF X 00002505
2.506 REM LN(X),LOG(X) NATURAL LOGARITHM OF X 00002506
2.507 REM LOG10(X) BASE 10 LOGARITHM OF X 00002507
2.508 REM EXP(X),EXPF(X) E TO THE POWER X 00002508
2.509 REM IP(X),INT(X) INTEGER PART OF X (IP(3.6)=3) 00002509
2.510 REM SIGN(X) -1 IF X LT 0, +1 IF X GT 0, 0 IF X=0 00002510
2.511 REM SQR(X),SQRT(X) POSITIVE SQUARE ROOT OF X 00002511
2.512 REM RAND(X) RANDOM NUMBER UNIFORMLY DISTRIBUTED 00002512
2.513 REM BETWEEN 0 AND 1 (X MUST BE AN ODD 00002513
2.514 REM POSITIVE INTEGER THE FIRST TIME THE 00002514
2.515 REM FUNCTION IS USED, AND 0 THEREAFTER){! 00002515
2.600 REM EXPRESSIONS - EXPRESSIONS ARE FORMED BY COMBINING VARIABLES, 00002600
2.601 REM FUNCTIONS, AND NUMBERS WITH ARITHMETIC OPERATORS. THE 00002601
2.602 REM FOLLOWING ARE EXAMPLES OF VALID EXPRESSIONS: 00002602
2.603 REM A+2 00002603
2.604 REM B/C+SQRT(7.6 MOD R) 00002604
2.605 REM A*(B[I,J+4]+C*D[X[3*SIN(Q)],1]){! 00002605
2.606 REM THE ORDER OF EVALUATION OF AN EXPRESSION IS UNIQUE BASED ON 00002606
2.607 REM THE PRECEDENCE OF THE ARITHMETIC OPERATORS AND PARENTHETICAL 00002607
2.608 REM GROUPINGS. WHEN UNALTERED BY PARENTHESES, THE OPERATIONS IN 00002608
2.609 REM AN EXPRESSION ARE DONE IN DESCENDING ORDER OF PRECEDENCE. WHEN00002609
2.610 REM TWO OR MORE OPERATORS OF EQUAL PRECEDENCE ARE IN AN EXPRESSION00002610
2.611 REM THEY ARE EVALUATED FROM LEFT TO RIGHT. WHEN PARENTHESES ARE 00002611
2.612 REM INSERTED TO ISOLATE A SUBEXPRESSION, IT IS EVALUATED BEFORE 00002612
2.613 REM BEING USED IN THE REST OF THE EXPRESSION. THUS A/B*C IS 00002613
2.614 REM EVALUATED AS (A/B)*C INSTEAD OF A/(B*C).{! 00002614
2.700 REM RELATIONS - RELATIONS ARE USED TO COMPARE THE VALUE OF TWO 00002700
2.701 REM EXPRESSIONS AND ARE USED IN IF AND DO STATEMENTS. THE GENERAL00002701
2.702 REM FORM OF A RELATION IS: 00002702
2.703 REM EXPRESSION LOGICAL OPERATOR EXPRESSION{! 00002703
2.704 REM A RELATION IS EVALUATED BY COMPARING THE VALUES OF THE TWO 00002704
2.705 REM EXPRESSIONS ACCORDING TO THE LOGICAL OPERATOR AND PRODUCES 00002705
2.706 REM THE VALUE TRUE OR FALSE DEPENDING ON WHETHER THE RELATION IS 00002706
2.707 REM SATISFIED OR NOT. 00002707
2.708 REM EXAMPLES: 00002708
2.709 REM N=1 00002709
2.710 REM A GTR B+7 00002710
2.711 REM SQRT(Q+1)-3 NE A[I+3]*(SIN(THETA)+1){! 00002711
3.000 REM CALCULATOR MODE 00003000
3.001 REM ANY STATEMENT WHICH DOES NOT BEGIN WITH A STATEMENT NUMBER IS 00003001
3.002 REM CONSIDERED TO BE IN CALCULATOR MODE AND IS EXECUTED 00003002
3.003 REM IMMEDIATELY. THUS, WIPL CAN BE USED AS A DESK CALCULATOR BY 00003003
3.004 REM USING THE TYPE STATEMENT IN CALCULATOR MODE TO EVALUATE 00003004
3.005 REM EXPRESSIONS.{! 00003005
3.006 REM THE FOLLOWING STATEMENTS MAY BE USED IN CALCULATOR MODE: 00003006
3.007 REM (NAMES ON THE SAME LINE INDICATE EQUIVALENT SPELLINGS){! 00003007
3.008 REM TYPE,PRINT,WRITE 00003008
3.009 REM SET,LET 00003009
3.010 REM ACCEPT,DEMAND,READ,INPUT 00003010
3.011 REM REM,REMARK,COMMENT 00003011
4.000 REM STORED PROGRAM MODE 00004000
4.001 REM TO PERFORM TASKS THAT ARE MORE COMPLICATED THAN EVALUATING 00004001
4.002 REM EXPRESSIONS, STORED PROGRAM MODE IS USED. IN THIS MODE 00004002
4.003 REM STATEMENTS ARE MERELY ENTERED INTO THE SYSTEM AND ARE NOT 00004003
4.004 REM EXECUTED UNTIL A RUN IS SPECIFIED.{! 00004004
4.005 REM PROGRAM MODE STATEMENTS MUST BEGIN WITH A STATEMENT NUMBER. 00004005
4.006 REM THE ALLOWABLE RANGE OF STATEMENT NUMBERS IS 1.000 TO 99.999. 00004006
4.007 REM THE INTEGER PORTION OF THE STATEMENT NUMBER TO THE LEFT OF THE00004007
4.008 REM DECIMAL POINT IS CALLED THE PART NUMBER; THE PORTION TO THE 00004008
4.009 REM RIGHT IS THE STEP NUMBER WITHIN THE PART. A SINGLE STATEMENT 00004009
4.010 REM IS REFERENCED BY ITS STATEMENT NUMBER. A COLLECTION OF STEPS 00004010
4.011 REM FORMING A PART MAY BE REFERENCED BY ITS PART NUMBER.{! 00004011
4.012 REM REGARDLESS OF THE ORDER STATEMENTS ARE ENTERED, THEY ARE 00004012
4.013 REM ALWAYS EXECUTED IN NUMERICAL ORDER. IF SEVERAL STATEMENTS ARE00004013
4.014 REM ENTERED WITH THE SAME STATEMENT NUMBER, ONLY THE LAST ONE IS 00004014
4.015 REM RETAINED.{! 00004015
4.016 REM THE FOLLOWING STATEMENTS MAY BE USED IN STORED PROGRAM MODE: 00004016
4.017 REM (NAMES ON THE SAME LINE INDICATE EQUIVALENT SPELLINGS){! 00004017
4.018 REM GO,GO TO 00004018
4.019 REM STOP 00004019
4.020 REM DO 00004020
4.021 REM TYPE,PRINT,WRITE 00004021
4.022 REM SET,LET 00004022
4.023 REM ACCEPT,DEMAND,READ,INPUT 00004023
4.024 REM IF 00004024
4.025 REM REM,REMARK,COMMENT 00004025
4.026 REM DIMENSION,DIM,DECLARE,ARRAY 00004026
4.027 REM FORM,FORMAT 00004027
5.000 REM SPECIAL STATEMENTS 00005000
5.001 REM SPECIAL STATEMENTS ARE CALCULATOR MODE STATEMENTS WHICH ARE 00005001
5.002 REM USED TO OBTAIN LISTINGS OF PORTIONS OF A STORED PROGRAM, 00005002
5.003 REM DELETE STATEMENTS, SAVE PROGRAMS ON THE DISK, LOAD PROGRAMS 00005003
5.004 REM FROM THE DISK, PURGE PROGRAMS FROM THE DISK, RUN PROGRAMS, AND00005004
5.005 REM QUIT WIPL.{! 00005005
5.006 REM THE FOLLOWING SPECIAL STATEMENTS ARE AVAILABLE: 00005006
5.007 REM (NAMES ON THE SAME LINE INDICATE EQUIVALENT SPELLINGS){! 00005007
5.008 REM ERASE,DELETE,ZAP 00005008
5.009 REM RUN 00005009
5.010 REM QUIT 00005010
5.011 REM SAVE 00005011
5.012 REM LOAD 00005012
5.013 REM PURGE,REMOVE 00005013
5.014 REM LIST 00005014
6.000 REM DEBUGGING AIDS 00006000
6.001 REM THREE DEBUGGING AIDS HAVE BEEN IMPLEMENTED IN ORDER TO 00006001
6.002 REM SIMPLIFY THE DEBUGGING OF WIPL PROGRAMS.{! 00006002
6.100 REM BREAK KEY - WHENEVER WIPL IS TYPING INFORMATION, IT IS 00006100
6.101 REM POSSIBLE TO TERMINATE THE RUN BY PRESSING THE "BREAK" KEY ON 00006101
6.102 REM THE CONSOLE. AFTER PRESSING "BREAK", AN ADDITIONAL LINE MAY 00006102
6.103 REM BE TYPED, BUT THEN EXECUTION IS TERMINATED AND THE WORD 00006103
6.104 REM "BREAK" IS TYPED. THIS FEATURE IS ESPECIALLY USEFUL IF A 00006104
6.105 REM PROGRAM IS CAUGHT IN A TYPING LOOP. TO RESUME NORMAL OPERA- 00006105
6.106 REM TION, PRESS THE "BRK-RLS" BUTTON LOCATED ON THE UPPER RIGHT 00006106
6.107 REM HAND PORTION OF THE CONSOLE.{! 00006107
6.200 REM LOOP COUNT - IF A PROGRAM IS CAUGHT IN AN INFINITE LOOP IN 00006200
6.201 REM WHICH IT IS NOT DOING ANY TYPING, THE ABOVE METHOD CANNOT BE 00006201
6.202 REM USED TO STOP THE PROGRAM. TO PREVENT THIS FROM HAPPENING, A 00006202
6.203 REM COUNT IS KEPT OF THE NUMBER OF STATEMENTS EXECUTED. WHEN 00006203
6.204 REM 1000 STATEMENTS ARE EXECUTED WITHOUT DOING ANY PRINTING, 00006204
6.205 REM THE FOLLOWING MESSAGE IS TYPED: 00006205
6.206 REM DO YOU WISH TO CONTINUE... 00006206
6.207 REM RESPOND BY TYPING "YES" OR "NO". IF "NO" IS ENTERED, EXECU- 00006207
6.208 REM TION IS TERMINATED. IF "YES" IS ENTERED, EXECUTION CONTINUES 00006208
6.209 REM AND THE COUNT IS BEGUN AGAIN. THIS TIME, HOWEVER, 2000 00006209
6.210 REM STATEMENTS CAN BE EXECUTED WITHOUT ANY PRINTING BEFORE THE 00006210
6.211 REM ABOVE MESSAGE IS REPEATED. EACH TIME "YES" IS ENTERED, THE 00006211
6.212 REM MAXIMUM VALUE OF THE COUNTER IS DOUBLED; HOWEVER, EACH TIME 00006212
6.213 REM THE PROGRAM IS RUN, THE MAXIMUM VALUE OF THE COUNTER IS 00006213
6.214 REM RESET TO 1000 STATEMENTS. 00006214
6.300 REM UNDEFINED VARIABLES - A VARIABLE IS CONSIDERED TO BE UNDEFINED00006300
6.301 REM UNTIL IT IS SPECIFICALLY GIVEN A VALUE IN A SET OR ACCEPT 00006301
6.302 REM STATEMENT, OR IS USED AS THE INDEX IN A DO STATEMENT WITH A 00006302
6.303 REM FOR CLAUSE. IF AN ATTEMPT IS MADE TO USE A SIMPLE VARIABLE 00006303
6.304 REM OR AN ELEMENT IN AN ARRAY WHICH IS UNDEFINED, THE PROGRAM 00006304
6.305 REM PAUSES AND REQUESTS THAT THE VALUE BE ENTERED. IF A NUMBER IS00006305
6.306 REM ENTERED, EXECUTION CONTINUES. ALTERNATIVELY, THE WORD "STOP" 00006306
6.307 REM MAY BE ENTERED, IN WHICH CASE EXECUTION IS TERMINATED. 00006307
7.000 REM SAMPLE PROGRAM 00007000
7.001 REM THE FOLLOWING SAMPLE PROGRAM IS SAVED ON THE DISK UNDER THE 00007001
7.002 REM NAME OF "NEWTON":{!! 00007002
7.003 REM 1.0 COMMENT THE FOLLOWING PROGRAM WILL FIND A REAL ROOT 00007003
7.004 REM 1.1 COMMENT OF A POLYNOMIAL IF ONE EXISTS, USING THE 00007004
7.005 REM 1.2 COMMENT NEWTON-RAPHSON METHOD. IF NO REAL ROOT 00007005
7.006 REM 1.3 COMMENT EXISTS, OR THE INITIAL GUESS IS TOO FAR OFF, 00007006
7.007 REM 1.4 COMMENT THE SCHEME WILL NOT CONVERGE. IN THAT CASE, 00007007
7.008 REM 1.5 COMMENT THE RUN SHOULD BE TERMINATED BY USING THE 00007008
7.009 REM 1.6 COMMENT "BREAK" KEY, OR ENTERING "NO" ON THE 00007009
7.010 REM 1.7 COMMENT "DO YOU WISH TO CONTINUE..." REQUEST. 00007010
7.011 REM 2.0 DIMENSION C[10],CPRIME[10] 00007011
7.012 REM 3.0 TYPE "ENTER THE DEGREE OF THE POLYNOMIAL" 00007012
7.013 REM 3.1 ACCEPT DEGREE 00007013
7.014 REM 4.0 TYPE "ENTER THE COEFFICIENTS" 00007014
7.015 REM 4.1 DO PART 30 FOR I=1 TO DEGREE+1 00007015
7.016 REM 5.0 DO PART 31 FOR I=1,DEGREE 00007016
7.017 REM 6.0 PLACES=4 00007017
7.019 REM 7.0 TYPE "ENTER INITIAL GUESS" 00007019
7.020 REM 7.1 ACCEPT X0 00007020
7.021 REM 8.0 FX=0 00007021
7.022 REM 9.0 DO PART 50 FOR I=1,DEGREE+1 00007022
7.023 REM 10.0 FPRIMEX=0 00007023
7.024 REM 11.0 DO PART 51 FOR I=1 TO DEGREE 00007024
7.025 REM 12.0 X1=X0-FX/FPRIMEX 00007025
7.026 REM 12.1 TYPE X1 00007026
7.027 REM 13.0 IF ABS(X1-X0) LT 10**(-PLACES) THEN GO TO 15.0 00007027
7.028 REM 13.1 SET X0=X1 00007028
7.029 REM 14.0 GO TO 8.0 00007029
7.030 REM 15.0 TYPE "ANSWER IS",X1 00007030
7.031 REM 16.0 STOP 00007031
7.032 REM 30.0 ACCEPT C[I] 00007032
7.033 REM 31.0 CPRIME[I]=(DEGREE+1-I)*C[I] 00007033
7.034 REM 50.0 FX=FX+C[I]*(X0**(DEGREE+1-I)) 00007034
7.035 REM 51.0 FPRIMEX=FPRIMEX+CPRIME[I]*(X0**(DEGREE-I)) 00007035
50.001 REM *GO THE GO TO STATEMENT ALTERS THE NORMAL ORDER OF EXECUTION 00050001
50.002 REM *GO OF PROGRAM MODE STATEMENTS. THE FORM OF A GO TO 00050002
50.003 REM *GO STATEMENT IS: 00050003
50.004 REM *GO GO TO S 00050004
50.005 REM *GO WHERE S IS A STATEMENT NUMBER. 00050005
50.006 REM *GO EXAMPLES: 00050006
50.007 REM *GO 1.34 GO TO 1.0 00050007
50.008 REM *GO 1.0 GO TO 99.999 00050008
51.001 REM *REM (REM,REMARK,COMMENT) THE REMARK STATEMENT PROVIDES A 00051001
51.002 REM *REM MEANS FOR INSERTING EXPLANATORY COMMENTS IN A PROGRAM. 00051002
51.003 REM *REM IT MAY BE USED IN EITHER MODE. IF A REMARK STATEMENT IS00051003
51.004 REM *REM EXECUTED IT WILL HAVE NO EFFECT ON THE PROGRAM. 00051004
51.005 REM *REM EXAMPLE: 00051005
51.006 REM *REM 1.0 REM ANYTHING CAN GO HERE 00051006
52.001 REM *STOP THE STOP STATEMENT IS USEFUL IN PROGRAM MODE TO STOP 00052001
52.002 REM *STOP THE EXECUTION OF THE PROGRAM. WHEN EXECUTED, A MESSAGE00052002
52.003 REM *STOP INDICATING THE STATEMENT NUMBER OF THE STOP IS TYPED 00052003
52.004 REM *STOP AND EXECUTION IS TERMINATED. 00052004
52.005 REM *STOP EXAMPLE: 00052005
52.006 REM *STOP 3.98 STOP 00052006
53.001 REM *TYPE (TYPE,PRINT,WRITE) THE TYPE STATEMENT IS USED TO TYPE 00053001
53.002 REM *TYPE THE VALUE OF EXPRESSIONS OR TO OUTPUT TEXT BY ENCLOSING00053002
53.003 REM *TYPE IT IN QUOTES. A SINGLE TYPE STATEMENT MAY GENERATE 00053003
53.004 REM *TYPE ONLY ONE LINE OF OUTPUT WHICH IS RESTRICTED TO 72 00053004
53.005 REM *TYPE CHARACTERS. THE GENERAL FORM OF THE TYPE STATEMENT IS:00053005
53.006 REM *TYPE TYPE T1,T2,...,TN 00053006
53.007 REM *TYPE WHERE EACH T IS AN EXPRESSION OR A LITERAL ENCLOSED IN 00053007
53.008 REM *TYPE QUOTES. 00053008
53.009 REM *TYPE EXAMPLES: 00053009
53.010 REM *TYPE TYPE 2+2 00053010
53.011 REM *TYPE 9.8 PRINT A,B-C,"XYZ" 00053011
53.012 REM *TYPE WRITE "A=",A,"SQRT(3)=",SQRT(3) 00053012
53.013 REM *TYPE 16.4 TYPE A[I[3,K+1],2*X]-73.6 00053013
54.001 REM *SET (SET,LET) THE SET STATEMENT IS USED TO ASSIGN VALUES TO 00054001
54.002 REM *SET VARIABLES. THE WORD "SET" IS OPTIONAL AND MAY BE 00054002
54.003 REM *SET ELIMINATED, OR "LET" MAY BE USED INSTEAD. THIS STATEMENT00054003
54.004 REM *SET MAY BE USED IN EITHER MODE. THE GENERAL FORM IS: 00054004
54.005 REM *SET SET V=E 00054005
54.006 REM *SET WHERE V IS A VARIABLE AND E IS AN ARITHMETIC EXPRESSION.00054006
54.007 REM *SET V IS ASSIGNED THE VALUE OF THE EXPRESSION E. 00054007
54.008 REM *SET EXAMPLES: 00054008
54.009 REM *SET SET A=2 00054009
54.010 REM *SET 4.9 LET X=2+2 00054010
54.011 REM *SET A[I,J]=SQRT(I*J) 00054011
55.001 REM *READ (ACCEPT,DEMAND,READ,INPUT) THE ACCEPT STATEMENT ALLOWS 00055001
55.002 REM *READ NUMERICAL DATA TO BE ENTERED BY THE USER DURING PROGRAM00055002
55.003 REM *READ EXECUTION. IT MAY BE USED IN EITHER MODE. THE GENERAL00055003
55.004 REM *READ FORM IS: 00055004
55.005 REM *READ ACCEPT V,V,...,V 00055005
55.006 REM *READ WHERE V REPRESENTS A VARIABLE. EACH VARIABLE VALUE 00055006
55.007 REM *READ IS REQUESTED ONE AT A TIME AND THE PROGRAM PAUSES TO 00055007
55.008 REM *READ ALLOW THE VALUE TO BE ENTERED. IF THE WORD "STOP" IS 00055008
55.009 REM *READ ENTERED INSTEAD OF A NUMBER, THE EXECUTION OF THE 00055009
55.010 REM *READ PROGRAM IS TERMINATED AT THAT POINT. 00055010
55.011 REM *READ EXAMPLES: 00055011
55.012 REM *READ 10.5 ACCEPT A 00055012
55.013 REM *READ READ A,B[I],C[K,N+1] 00055013
56.001 REM *IF THE IF STATEMENT PROVIDES THE MEANS WHEREBY DECISIONS CAN00056001
56.002 REM *IF BE MADE AT EXECUTION TIME DEPENDING ON THE CURRENT VALUES00056002
56.003 REM *IF OF EXPRESSIONS. THERE ARE FIVE FORMS OF THE IF STATEMENT00056003
56.010 REM *IF IF R THEN S1 00056010
56.020 REM *IF IF R THEN S1 ELSE S2 00056020
56.030 REM *IF IF (E) ST1 00056030
56.040 REM *IF IF (E) ST1,ST2 00056040
56.050 REM *IF IF (E) ST1,ST2,ST3 00056050
56.060 REM *IF WHERE R IS A RELATION, S1 AND S2 ARE STATEMENTS, 00056060
56.065 REM *IF ST1 - ST3 ARE STATEMENT NUMBERS, AND E IS AN ARITHMETIC 00056065
56.067 REM *IF EXPRESSION. 00056067
56.070 REM*IF IN THE FIRST FORM IF THE RELATION IS TRUE, THEN STATEMENT00056070
56.079 REM *IF S1 IS EXECUTED, OTHERWISE S1 IS IGNORED. 00056079
56.090 REM *IF IN THE SECOND FORM IF THE RELATION IS TRUE, THEN 00056090
56.110 REM *IF STATEMENT S1 IS EXECUTED, OTHERWISE STATEMENT S2 IS 00056110
56.120 REM *IF EXECUTED. 00056120
56.130 REM *IF EXAMPLES: 00056130
56.140 REM *IF 21.5 IF A=1 THEN GO TO 7.3 00056140
56.150 REM *IF 21.6 IF A+3 GEQ B THEN TYPE X,Y 00056150
56.160 REM *IF 22.7 IF I=0 THEN GO TO 22.9 ELSE GO TO 22.1 00056160
56.210 REM *IF THE THIRD, FOURTH AND FIFTH FORMS OF THE IF 00056210
56.220 REM *IF STATEMENT BRANCH TO STATEMENTS DEPENDING ON THE VALUE 00056220
56.230 REM *IF OF THE EXPRESSION E. THE RULES ARE: 00056230
56.240 REM *IF ONE BRANCH... 00056240
56.250 REM *IF IF E IS NON-ZERO, THEN BRANCH TO STATEMENT ST1. 00056250
56.260 REM *IF TWO BRANCH... 00056260
56.270 REM *IF IF E IS NON-ZERO, THEN BRANCH TO ST1 ELSE BRANCH 00056270
56.275 REM *IF TO ST2. 00056275
56.279 REM *IF THREE BRANCH... 00056279
56.290 REM *IF IF E IS NEGATIVE, THEN BRANCH TO ST1; 00056290
56.310 REM *IF IF E IS ZERO, THEN BRANCH TO ST2; 00056310
56.320 REM *IF IF E IS POSITIVE AND NON-ZERO, THEN BRANCH TO ST3. 00056320
56.340 REM *IF EXAMPLES: 00056340
56.350 REM *IF 23.1 IF (A-2) 23.4 00056350
56.360 REM *IF 23.2 IF (A+B+C) 25.1, 29.0 00056360
56.370 REM *IF 25.0 IF (A) 26, 27, 28 00056370
57.001 REM *DIM (DIM,DIMENSION,DECLARE,ARRAY) THE ARRAY DECLARATION 00057001
57.002 REM *DIM STATEMENT IS USED TO DECLARE THE SIZE AND NUMBER OF 00057002
57.003 REM *DIM DIMENSIONS OF ARRAYS AND MAY ONLY BE USED IN STORED 00057003
57.004 REM *DIM PROGRAM MODE. IF AN ARRAY IS DECLARED WITH 0 AS THE 00057004
57.005 REM *DIM SIZE OF ITS FIRST DIMENSION, ANY SPACE FORMERLY 00057005
57.006 REM *DIM ALLOCATED FOR IT IS RELEASED.{! 00057006
57.007 REM *DIM RESTRICTIONS: 00057007
57.008 REM *DIM MAXIMUM OF 4 DIMENSIONS PER ARRAY 00057008
57.009 REM *DIM ANY ONE DIMENSION CANNOT EXCEED 256 00057009
57.010 REM *DIM THE MAXIMUM TOTAL AREA FOR ALL ARRAYS IS 1023 WORDS 00057010
57.011 REM *DIM EXAMPLES: 00057011
57.012 REM *DIM 1.10 DECLARE A[5,2],B[10] 00057012
57.013 REM *DIM 1.11 DIMENSION X[0] 00057013
57.014 REM *DIM 1.12 ARRAY INPUT[250,2],OUTPUT[4] 00057014
57.015 REM *DIM 1.13 DIM R[2,2,3,4],A[0] 00057015
58.001 REM *DO THE ALLOWABLE FORMS OF THE DO STATEMENT ARE AS FOLLOWS: 00058001
58.002 REM *DO DO PART N 00058002
58.003 REM *DO DO PART N, M TIMES 00058003
58.004 REM *DO DO PART N UNTIL R 00058004
58.005 REM *DO UNTIL R, DO PART N 00058005
58.006 REM *DO DO PART N WHILE R 00058006
58.007 REM *DO WHILE R, DO PART N 00058007
58.008 REM *DO DO PART N FOR V=E1,E2,E3{! 00058008
58.009 REM *DO THE DO STATEMENT ALLOWS WIPL TO EXECUTE A PART OF A 00058009
58.010 REM *DO PROGRAM AS A SUBPROGRAM WITHIN THE MAIN PROGRAM. WHEN 00058010
58.011 REM *DO A DO STATEMENT IS EXECUTED, CONTROL IS TRANSFERRED TO THE00058011
58.012 REM *DO FIRST STATEMENT OF A PART. WHEN THE LAST STEP IN THE 00058012
58.013 REM *DO SPECIFIED PART HAS BEEN EXECUTED, CONTROL TRANSFERS BACK 00058013
58.014 REM *DO TO THE STATEMENT FOLLOWING THE DO STATEMENT. THE BASIC 00058014
58.015 REM *DO FORM OF THE DO STATEMENT IS: 00058015
58.016 REM *DO DO PART N 00058016
58.017 REM *DO WHERE N IS THE PART NUMBER. IN ADDITION TO THE BASIC 00058017
58.018 REM *DO FORM, THE DO STATEMENT MAY BE COMBINED WITH A TIMES 00058018
58.019 REM *DO CLAUSE, UNTIL CLAUSE, WHILE CLAUSE, OR FOR CLAUSE TO 00058019
58.020 REM *DO PROVIDE THE CAPABILITY OF ITERATIVE AND CONDITIONAL 00058020
58.021 REM *DO EXECUTIONS OF THE SPECIFIED PART.{! 00058021
58.050 REM *DO TIMES CLAUSE - THIS FORM OF THE DO STATEMENT IS: 00058050
58.051 REM *DO DO PART N, M TIMES 00058051
58.052 REM *DO WHERE M IS AN EXPRESSION. USING THIS FORM OF THE DO 00058052
58.053 REM *DO STATEMENT, PART N IS EXECUTED M TIMES. IF THE VALUE OF M00058053
58.054 REM *DO IS ZERO OR NEGATIVE, PART M IS NOT EXECUTED. IF M IS NOT00058054
58.055 REM *DO AN INTEGER VALUE, IT WILL BE TRUNCATED TO THE NEAREST 00058055
58.056 REM *DO INTEGER. 00058056
58.057 REM *DO EXAMPLES: 00058057
58.058 REM *DO 1.1 DO PART 17, 3 TIMES 00058058
58.059 REM *DO 46.12 DO PART 3, R+SQRT(Z/2) TIMES{! 00058059
58.075 REM *DO UNTIL CLAUSE - THERE ARE TWO FORMS OF THE DO STATEMENT 00058075
58.076 REM *DO WITH AN UNTIL CLAUSE: 00058076
58.077 REM *DO DO PART N UNTIL R 00058077
58.078 REM *DO UNTIL R, DO PART N 00058078
58.079 REM *DO WHERE R IS A RELATION. USING THESE FORMS OF THE DO 00058079
58.080 REM *DO STATEMENT, PART N IS EXECUTED UNTIL THE RELATION R IS 00058080
58.081 REM *DO SATISFIED. IN THE FIRST FORM, PART N IS EXECUTED AND 00058081
58.082 REM *DO THEN R IS TESTED TO SEE IF THE PART SHOULD BE EXECUTED 00058082
58.083 REM *DO AGAIN. IN THE SECOND FORM THE RELATION IS TESTED BEFORE 00058083
58.084 REM *DO THE PART IS EXECUTED. THUS USING THE FIRST FORM, PART N 00058084
58.085 REM *DO IS EXECUTED AT LEAST ONCE; USING THE SECOND FORM, IT IS 00058085
58.086 REM *DO NOT EXECUTED AT ALL IF R IS SATISFIED TO BEGIN WITH. 00058086
58.087 REM *DO EXAMPLES: 00058087
58.088 REM *DO 1.0 DO PART 4 UNTIL X LT 1E-6 00058088
58.089 REM *DO 4.992 UNTIL R+1=SQRT(Q), DO PART 2{! 00058089
58.101 REM *DO WHILE CLAUSE - THERE ARE ALSO TWO FORMS OF THE DO 00058101
58.102 REM *DO STATEMENT WITH A WHILE CLAUSE: 00058102
58.103 REM *DO DO PART N WHILE R 00058103
58.104 REM *DO WHILE R, DO PART N 00058104
58.105 REM *DO THESE FORMS OF THE DO STATEMENT ARE COMPLETELY ANALOGOUS 00058105
58.106 REM *DO TO THE CORRESPONDING FORMS OF THE DO STATEMENT WITH AN 00058106
58.107 REM *DO UNTIL CLAUSE, EXCEPT THAT PART N IS EXECUTED AS LONG AS 00058107
58.108 REM *DO THE RELATION R IS SATISFIED. 00058108
58.109 REM *DO EXAMPLES: 00058109
58.110 REM *DO 44.444 DO PART 16 WHILE A GTR B/Z 00058110
58.111 REM *DO 43.1 WHILE X NE 0, DO PART 4{! 00058111
58.125 REM *DO FOR CLAUSE - THIS FORM OF THE DO STATEMENT IS: 00058125
58.126 REM *DO DO PART N FOR V=E1 TO E2 BY E3 00058126
58.127 REM *DO WHERE V IS A VARIABLE AND E1, E2, AND E3 ARE EXPRESSIONS.00058127
58.128 REM *DO THE SEPARATORS "TO" AND "BY" MAY OPTIONALLY BE REPLACED 00058128
58.129 REM *DO WITH COMMAS. THE FOR CLAUSE SPECIFIES THAT A NEW VALUE 00058129
58.130 REM *DO IS TO BE ASSIGNED TO THE VARIABLE V EACH TIME PART N IS 00058130
58.131 REM *DO EXECUTED. INITIALLY V IS SET TO THE VALUE OF E1. AFTER 00058131
58.132 REM *DO EACH EXECUTION OF PART N, E3 IS EVALUATED AND ADDED TO 00058132
58.133 REM *DO THE VALUE OF V. EACH TIME V IS GIVEN A VALUE, A TEST IS 00058133
58.134 REM *DO MADE TO DETERMINE IF THE VALUE OF V HAS PASSED E2. IF E300058134
58.135 REM *DO IS POSITIVE, E2 IS AN UPPER LIMIT; IF IT IS NEGATIVE, E2 00058135
58.136 REM *DO IS A LOWER LIMIT. IF V HAS NOT PASSED E2, THEN PART N IS00058136
58.137 REM *DO EXECUTED. BOTH E2 AND E3 ARE RE-EVALUATED EACH TIME THE 00058137
58.138 REM *DO PART IS EXECUTED. IF "BY E3" IS OMITTED, E3 IS ASSUMED 00058138
58.139 REM *DO TO HAVE THE VALUE +1. 00058139
58.140 REM *DO EXAMPLES: 00058140
58.141 REM *DO 1.01 DO PART 4 FOR I=12 TO 7 BY -2 00058141
58.142 REM *DO 9.6 DO PART 15 FOR K=N,M+3 00058142
58.143 REM *DO 46.02 DO PART 25 FOR X[I+1]=X[I-1] TO Q BY SQRT(I) 00058143
59.001 REM *QUIT THE QUIT STATEMENT INDICATES THAT YOU ARE FINISHED 00059001
59.002 REM *QUIT USING WIPL. ALL STATEMENTS AND VALUES YOU HAVE ENTERED00059002
59.003 REM *QUIT OR COMPUTED (EXCEPT SAVED FILES) ARE ERASED AND WIPL 00059003
59.004 REM *QUIT RESPONDS BY TYPING AN EOJ MESSAGE. 00059004
59.005 REM *QUIT EXAMPLE: 00059005
59.006 REM *QUIT QUIT 00059006
60.001 REM *PURGE (PURGE,REMOVE) THE PURGE STATEMENT IS USED TO REMOVE 00060001
60.002 REM *PURGE WIPL PROGRAMS FROM THE DISK WHICH YOU HAVE PREVIOUSLY 00060002
60.003 REM *PURGE SAVED BY USING A SAVE STATEMENT. THE FORM OF A PURGE 00060003
60.004 REM *PURGE STATEMENT IS 00060004
60.005 REM *PURGE PURGE NAME 00060005
60.006 REM *PURGE WHERE NAME IS THE NAME UNDER WHICH THE PROGRAM WAS 00060006
60.007 REM *PURGE SAVED. 00060007
60.008 REM *PURGE EXAMPLES: 00060008
60.009 REM *PURGE REMOVE JONESP1 00060009
60.010 REM *PURGE PURGE FILE1 00060010
61.001 REM *LIST THE LIST STATEMENT IS USED TO OBTAIN A LISTING OF ALL 00061001
61.002 REM *LIST STORED PROGRAM STATEMENTS WHICH HAVE BEEN ENTERED, OR 00061002
61.003 REM *LIST DESIGNATED PORTIONS OF THE PROGRAM MAY BE SELECTIVELY 00061003
61.004 REM *LIST LISTED. THE FOLLOWING ARE THE ALLOWABLE FORMS OF THE 00061004
61.005 REM *LIST LIST STATEMENT: 00061005
61.006 REM *LIST LIST (LISTS THE ENTIRE PROGRAM) 00061006
61.007 REM *LIST LIST PART N 00061007
61.008 REM *LIST LIST S1 00061008
61.009 REM *LIST LIST S1 TO S2 00061009
61.010 REM *LIST IN THE LAST TWO FORMS OF THE LIST STATEMENT, S1 AND S2 00061010
61.011 REM *LIST ARE STATEMENT NUMBERS. 00061011
61.012 REM *LIST EXAMPLES: 00061012
61.013 REM *LIST LIST 00061013
61.014 REM *LIST LIST PART 3 00061014
61.015 REM *LIST LIST 49.096 00061015
61.016 REM *LIST LIST 1.00 TO 16.251 00061016
62.001 REM *ZAP (ERASE,DELETE,ZAP) THE ERASE STATEMENT IS USED TO DELETE00062001
62.002 REM *ZAP STORED PROGRAM STATEMENTS OR TO ELIMINATE SIMPLE 00062002
62.003 REM *ZAP VARIABLES. THE FOLLOWING ARE THE ALLOWABLE FORMS OF THE00062003
62.004 REM *ZAP ERASE STATEMENT: 00062004
62.005 REM *ZAP ERASE 00062005
62.006 REM *ZAP ERASE PART N 00062006
62.007 REM *ZAP ERASE S1 00062007
62.008 REM *ZAP ERASE S1 TO S2 00062008
62.009 REM *ZAP ERASE V1,V2,...,VN 00062009
62.010 REM *ZAP IN THE ABOVE FORM, V1,V2,...,VN ARE SIMPLE VARIABLES. 00062010
62.011 REM *ZAP (ARRAYS ARE ERASED BE RE-DECLARING THEIR SIZE TO 0). 00062011
62.012 REM *ZAP EXAMPLES: 00062012
62.013 REM *ZAP ERASE 00062013
62.014 REM *ZAP DELETE PART 2 00062014
62.015 REM *ZAP ZAP 1.111 00062015
62.016 REM *ZAP ERASE 4.2 TO 5.1 00062016
62.017 REM *ZAP DELETE X,Y,SUM 00062017
63.001 REM *RUN THE RUN STATEMENT IS USED TO INITIATE THE EXECUTION OF A00063001
63.002 REM *RUN SERIES OF STORED PROGRAM STATEMENTS, OR TO EXECUTE 00063002
63.003 REM *RUN SELECTED PORTIONS OF A PROGRAM. THE BASIC FORM OF THE 00063003
63.004 REM *RUN RUN STATEMENT IS JUST 00063004
63.005 REM *RUN RUN 00063005
63.006 REM *RUN THIS INITIATES THE EXECUTION OF THOSE PROGRAM MODE 00063006
63.007 REM *RUN STATEMENTS THAT HAVE BEEN ENTERED, STARTING AT THE 00063007
63.008 REM *RUN STATEMENT WITH THE SMALLEST STATEMENT NUMBER. EXECUTION00063008
63.009 REM *RUN CONTINUES UNTIL A STOP STATEMENT IS ENCOUNTERED, THE 00063009
63.010 REM *RUN LAST STATEMENT IN THE SPECIFIED PORTION OF THE PROGRAM 00063010
63.011 REM *RUN HAS BEEN EXECUTED, OR AN EXECUTION ERROR OCCURS.{! 00063011
63.012 REM *RUN ALTERNATIVE FORMS OF THE RUN STATEMENT ARE: 00063012
63.013 REM *RUN RUN PART N 00063013
63.014 REM *RUN RUN S1 00063014
63.015 REM *RUN RUN S1 TO S2 00063015
63.016 REM *RUN USING THESE FORMS OF THE RUN STATEMENT, ONLY THE 00063016
63.017 REM *RUN SPECIFIED RANGE OF STATEMENTS MAY BE ACCESSED DURING 00063017
63.018 REM *RUN EXECUTION. IN OTHER WORDS, IF 00063018
63.019 REM *RUN RUN PART 2 00063019
63.020 REM *RUN WAS ENTERED, AND A STATEMENT SUCH AS 00063020
63.021 REM *RUN 2.1 GO TO 7.3 00063021
63.022 REM *RUN WAS ENCOUNTERED DURING THE EXECUTION OF PART 2, THE 00063022
63.023 REM *RUN EXECUTION WOULD BE TERMINATED WITH AN ERROR MESSAGE 00063023
63.024 REM *RUN SPECIFYING THAT AN ATTEMPT WAS MADE TO ACCESS A 00063024
63.025 REM *RUN STATEMENT OUTSIDE OF THE RANGE SPECIFIED BY THE RUN 00063025
63.026 REM *RUN STATEMENT. 00063026
63.027 REM *RUN EXAMPLES: 00063027
63.028 REM *RUN RUN 00063028
63.029 REM *RUN RUN PART 3 00063029
63.030 REM *RUN RUN 1.00 00063030
63.031 REM *RUN RUN 46.01 TO 98.2 00063031
64.001 REM *SAVE THE SAVE STATEMENT ALLOWS THE WIPL USER TO SAVE ALL OR 00064001
64.002 REM *SAVE PART OF THE STORED PROGRAM WHICH HE HAS ENTERED ON 00064002
64.003 REM *SAVE THE DISK. THE PROGRAM MUST BE GIVEN A NAME OF UP TO 7 00064003
64.004 REM *SAVE CHARACTERS IN LENGTH. THE FOLLOWING ARE THE ALLOWABLE 00064004
64.005 REM *SAVE FORMS OF THE SAVE STATEMENT: 00064005
64.006 REM *SAVE SAVE NAME 00064006
64.007 REM *SAVE SAVE PART N NAME 00064007
64.008 REM *SAVE SAVE S1 NAME 00064008
64.009 REM *SAVE SAVE S1 TO S2 NAME{! 00064009
64.010 REM *SAVE AFTER THE PROGRAM HAS BEEN SAVED, IT IS STILL AVAILABLE00064010
64.011 REM *SAVE TO BE MODIFIED, OR IT MAY BE LOADED FROM THE DISK BY 00064011
64.012 REM *SAVE USING A LOAD STATEMENT. 00064012
64.013 REM *SAVE EXAMPLES: 00064013
64.014 REM *SAVE SAVE PROG1 00064014
64.015 REM *SAVE SAVE PART 14 XYZ 00064015
64.016 REM *SAVE SAVE 4.6 A123456 00064016
64.017 REM *SAVE SAVE 1.6 TO 19.7 PROGX 00064017
64.018 REM *SAVE 00064018
64.020 REM *SAVE IF THE WORD "PUBLIC" IS APPENDED TO THE SAVE 00064020
64.030 REM *SAVE STATEMENT, THEN ANY USER IS ALLOWED TO READ THE 00064030
64.040 REM *SAVE SAVED FILE. OTHERWISE THE FILE IS PRIVATE AND CAN 00064040
64.050 REM *SAVE ONLY BE READ BY THE CREATOR OF THE FILE. 00064050
64.060 REM *SAVE EXAMPLE: 00064060
64.070 REM *SAVE SAVE PROGX PUBLIC 00064070
65.001 REM *LOAD THE LOAD STATEMENT IS USED TO RECALL A STORED PROGRAM 00065001
65.002 REM *LOAD WHICH WAS PREVIOUSLY SAVED BY A SAVE STATEMENT. 00065002
65.003 REM *LOAD THE FOLLOWING IS THE FORM OF THE LOAD STATEMENT: 00065003
65.004 REM *LOAD LOAD NAME 00065004
65.007 REM *LOAD IF STATEMENTS HAVE BEEN ENTERED PRIOR TO DOING 00065007
65.008 REM *LOAD A LOAD OF A PROGRAM FROM THE DISK, THE PROGRAM WHICH IS00065008
65.009 REM *LOAD BEING LOADED IS OVERLAYED AND MERGED WITH THE STATE- 00065009
65.010 REM *LOAD MENTS WHICH HAVE BEEN PREVIOUSLY ENTERED. THUS A 00065010
65.011 REM *LOAD STATEMENT IN THE PROGRAM WHICH IS BEING LOADED REPLACES00065011
65.012 REM *LOAD A STATEMENT PREVIOUSLY ENTERED WHICH HAS THE SAME 00065012
65.013 REM *LOAD STATEMENT NUMBER. 00065013
65.014 REM *LOAD EXAMPLES: 00065014
65.015 REM *LOAD LOAD NEWTON 00065015
66.010 REM *FORM THE FORM STATEMENT ALLOWS THE POSITION OF CHARACTERS 00066010
66.020 REM *FORM AND NUMBER STRINGS PRINTED BY A PROGRAM TO BE 00066020
66.030 REM *FORM PRE-SPECIFIED. THE FORM STATEMENT GIVES A 00066030
66.040 REM *FORM "PICTURE" OF THE DESIRED OUTPUT, AND THE PRINT 00066040
66.050 REM *FORM COMMAND IS MODIFIED TO INDICATE WHICH FORM TO USE. 00066050
66.060 REM *FORM A FORM MAY SPECIFY AN INTEGER FIELD (BY A SERIES 00066060
66.070 REM *FORM OF &&&&), A FRACTIONAL FIELD (BY A SEQUENCE OF &&&& 00066070
66.080 REM *FORM A PERIOD AND MORE &&&&, SUCH AS &&.&&), OR MAY 00066080
66.090 REM *FORM SPECIFY AN EXPONENTIAL FIELD (BY A SERIES OF EIGHT 00066090
66.110 REM *FORM TO 19 @@@@@@). ANY CHARACTERS OTHER THAN & AND @ 00066110
66.120 REM *FORM ARE CONSIDERED ALPHABETIC FIELDS. 00066120
66.130 REM *FORM EXAMPLE: 00066130
66.140 REM *FORM 1.1 FORM &&& IS I, &&&.&&& IS F, @@@@@@@@@@ IS E 00066140
66.150 REM *FORM 1.2 PRINT FORM 1.1, 123, 3.14, 1.1E15 00066150
66.160 REM *FORM IF RUN, THESE STATEMENTS PRODUCE THE LINE: 00066160
66.170 REM *FORM 123 IS I, 3.140 IS F, 1.100@+15 IS E 00066170
67.010 REM *DATA THE DATA STATEMENT, TOGETHER WITH THE READ DATA 00067010
67.020 REM *DATA AND RESTORE STATEMENTS, ALLOWS VALUES TO BE 00067020
67.030 REM *DATA ASSIGNED TO VARIABLES WITHOUT HAVING TO ENTER THEM 00067030
67.040 REM *DATA AT EXECUTION TIME. THE GENERAL FORM IS: 00067040
67.050 REM *DATA N DATA C,C,...,C 00067050
67.060 REM *DATA WHERE N IS A STATEMENT NUMBER AND C IS EITHER A SIGNED 00067060
67.070 REM *DATA OR UNSIGNED NUMBER OR A STRING OF UP TO SIX CHAR- 00067070
67.080 REM *DATA ACTERS ENCLOSED IN QUOTATION MARKS. 00067080
67.090 REM *DATA EXAMPLES: 00067090
67.101 REM *DATA 1.5 DATA 4,-2,+3.7E-15 00067101
67.110 REM *DATA 34.6 DATA "ABC",-567.98 00067110
67.120 REM *DATA AT EXECUTION, ALL THE DATA STATEMENTS ARE COMBINED 00067120
67.130 REM *DATA IN STATEMENT NUMBER ORDER INTO A SINGLE DATA BLOCK, 00067130
67.140 REM *DATA THUS THEY MAY APPEAR ANYWHERE IN THE PROGRAM. A 00067140
67.150 REM *DATA READ DATA STATEMENT IS USED TO READ THESE VALUES FROM 00067150
67.160 REM *DATA THE DATA BLOCK. ITS GENERAL FORM IS: 00067160
67.170 REM *DATA READ DATA V,V,...,V 00067170
67.180 REM *DATA WHERE V REPRESENTS A VARIABLE NAME. (NOTE THAT THERE 00067180
67.190 REM *DATA IS NO COMMA AFTER THE WORD DATA.) WHENEVER A READ 00067190
67.201 REM *DATA STATEMENT IS EXECUTED, THE VARIABLE REFERENCED 00067201
67.210 REM *DATA IS GIVEN THE VALUE OF THE NEXT CONSTANT IN THE DATA 00067210
67.220 REM *DATA BLOCK. EXAMPLES OF READ DATA STATEMENTS ARE: 00067220
67.230 REM *DATA 1.0 READ DATA A,B,C 00067230
67.240 REM *DATA 5.98 READ DATA X[5,N],Y 00067240
67.250 REM *DATA THE STATEMENTS 00067250
67.260 REM *DATA 1.1 READ DATA A,B,C 00067260
67.270 REM *DATA 5.7 DATA 10,20,30 00067270
67.280 REM *DATA WOULD ASSIGN THE VARIABLES A, B, AND C THE VALUES 00067280
67.290 REM *DATA 10, 20, AND 30, RESPECTIVELY. IF A PROGRAM TRIES TO 00067290
67.301 REM *DATA READ MORE VALUES FROM THE DATA BLOCK THAN HAVE BEEN 00067301
67.310 REM *DATA ENTERED, AN ERROR WILL BE PRINTED AND EXECUTION IS 00067310
67.320 REM *DATA TERMINATED. 00067320
67.330 REM *DATA THE RESTORE STATEMENT CAN BE USED TO RETURN TO THE 00067330
67.340 REM *DATA START OF THE DATA BLOCK FOR THE NEXT VALUE TO BE 00067340
67.350 REM *DATA ASSIGNED IN A READ DATA STATEMENT. ITS GENERAL FORM IS00067350
67.360 REM *DATA RESTORE 00067360
67.370 REM *DATA THE STATEMENTS 00067370
67.380 REM *DATA 1.1 READ DATA X,Y 00067380
67.390 REM *DATA 1.2 RESTORE 00067390
67.401 REM *DATA 1.3 DATA 5,-10 00067401
67.410 REM *DATA 1.4 READ DATA Z 00067410
67.420 REM *DATA WOULD ASSIGN THE VARIABLES X, Y, AND Z THE VALUES 00067420
67.430 REM *DATA 5, -10, AND 5, RESPECTIVELY. 00067430