File: HELP03.HF of Tape: Sources/Focal/s4
(Source file text)
***** COMMANDS: MOST COMMANDS MUST BE FOLLOWED BY A SPACE *** DIRECT COMMANDS ARE TYPED WITHOUT LINE NUMBERS AND FOCAL EXECUTES THEM AS SOON AS THE RETURN OR THE ALT MODE/ESCAPE BUTTON IS HIT---FOR EXAMPLE: #TYPE 3+4 (CAUSES FOCAL TO TYPE A 7) (OR SEVERAL COMMANDS MAY BE GIVEN IN SEQUENCE:) #SET X=3 #SET Y=2 #TYPE 3+X+Y,! 8.0000 #TYPE X+Y-4$ 1.0000 # *** INDIRECT COMMANDS ARE USED FOR LONGER PROGRAMS. THEY ARE TYPED FOLLOWING LINE NUMBERS AND MAY BE EXECUTED BY A DIRECT 'GO': #2.1 SET X=3 #2.2 SET Y=2 #2.3 TYPE 3+X+Y,! #GO 8.0000 #GO$ 8.0000 # *** THE COMMANDS: EXAMPLES OF EACH ARE GIVEN FOLLOWED BY THE GENERAL FORM IN WHICH: <REQUIRED TERMS> ARE ENCLOSED IN ANGLE BRACKETS. [OPTIONAL TERMS] ARE ENCLOSED IN SQUARE BRACKETS. (COMMENTS) ARE ENCLOSED IN PARENTHESES. A, B, C, X, Y, AND Z ARE VARIABLES. L1, L2 AND L3 ARE LINE NUMBERS. G1 STANDS FOR A GROUP OR LINE NUMBER IN MOST CASES, GROUP AND LINE NUMBERS MAY BE REPLACED BY VARIABLES. *** ELEMENTARY COMMANDS: ASK Y (EXPECTS A VALUE TO BE INPUT FOR Y) A Z (A IS THE ABBREVIATION FOR 'ASK' --- ALL COMMANDS HAVE SINGLE LETTER ABBREVIATIONS) A B2,X,NUMBER A "HOW MANY?", M (TYPES 'HOW MANY' THEN SETS M = TO THE RESPONSE) ASK A,B,C, (ALLOWS THREE VARIABLES TO BE GIVEN VALUES) (SPACE, COMMA OR CARRIAGE RETURN WILL TER- MINATE EACH NUMBER INPUT; TYPE A '_' OR ^U TO ERASE A PARTIALLY TYPED NUMBER --- IT MAY THEN BE RETYPED.) #SET A=PI ALT/ESCAPE LEAVES THE VARIABLE WITH ITS #ASK A$$ 3.1416 FORMER VALUE AND ECHOES IT # (3 COMMAND DECODER OPTIONS PROVIDE AUTOMATIC PRINTING OF A ':', '?' OR BELL, BY THE 'ASK' COMMAND) ** ASK ["PRINT OUT IN QUOTES"] X [,Y,Z] COMMENT SQRT (COMMENTS ARE USED TO TELL ABOUT PROGRAM) CONTINUE (DUMMY LINE) C PRINT ROUTINE ** C (LINES BEGINNING WITH A 'C' WILL BE IGNORED) DO 7.24 (TELLS FOCAL TO EXECUTE LINE 7.24 THEN RETURN D 4.48 TO THE COMMAND FOLLOWING THE 'DO') DO 7$ (EXECUTES GROUP 7, AND STAYS ON THE SAME LINE) D G1;D 7.6 (EXECUTES LINE (OR GROUP) G1 THEN LINE 7.6) ** DO [LINE OR GROUP NUMBER] ERASE 2.17 (DELETES LINE 2.17 FROM INDIRECT PROGRAM) E 3 (DELETES ANY GROUP 3 LINES --- 3.01 THROUGH 3.99) ERASE (ZEROES ALL VARIABLES) ERASE ALL (ERASES ENTIRE INDIRECT PROGRAM) ** ERASE [LINE OR GROUP NUMBER] (ZEROES VARIABLES IF NO NUMBER GIVEN) FOR P=1,7;TYPE 3 (OUTPUTS A '3' SEVEN TIMES) FOR J=1,5;DO 17.1$ (DOES LINE 17.1, FIVE TIMES) F X=2,-2,-8;T X/5,! (OUTPUTS .4 0 -.4 -.8 -1.2 -1.6 FOR Z=1,Y;DO 7 (DOES GROUP 7, Y TIMES) ** FOR X=E1[,E2],E3;[COMMAND TO BE REPEATED] ('FOR' COMMANDS REPEAT AND ADD 1 (OR 'E2') TO 'E1' EACH TIME; THEN GO TO NEXT LINE WHEN 'E1' EXCEEDS 'E3' IF E2 POSITIVE OR WHEN E1 IS LESS THAN E3 WHEN E2 NEGATIVE GO 8.17 (STARTS EXECUTING PROGRAM AT LINE 8.17) GOTO 3.1 (STARTS EXECUTING PROGRAM AT LINE 3.1) GO (STARTS EXECUTING PROGRAM AT LOWEST LINE) G$ (SAME BUT STAYS ON THE SAME LINE) GO ? ('TRACE FEATURE' -- PRINTS PROGRAM DURING EXECUTION) G X (STARTS EXECUTING PROGRAM AT LINE X) ** GO [LINE NUMBER] (STARTS EXECUTING INDIRECT PROGRAM AT LINE L1) I (H-5)1.3,1.5,1.7 ('IF' CHECKS THE VALUE INSIDE THE PARENTHESES) IF (Y)2.7,1.2,L1 (FOCAL GOES TO LINE 2.7,1.2 OR L1 IF Y IS -, 0, OR +) I (B-3)2.8,7.9; (GOES TO NEXT COMMAND IF (B-3) IS POSITIVE) I (Z)2.7;T 21 (IF Z IS LESS THAN 0 --- THEN 2.7; OTHERWISE 'TYPE 21') I (G)2.1,L1,2.4 IF G=0 THEN GOES TO LINE L1) ** IF (E1)L1[,L2,L3] (NEXT EXECUTES LINE L1, L2, OR L3 DE- PENDING ON WHETHER E1 IS -, 0, OR +) ** LOGICAL IF'S #I (A,<,B)1.8;T "<"$< (WHEN A .LT. B THIS TYPES < , # OTHERWISE GOES TO LINE 1.8) I (X,=,0)1.5;T "0" (TYPES '0' WHEN X=0) I (X,>=,Y)6.9,L2 (GOES TO L2 WHEN X .GE. Y,TO 6.9 OTHERWISE) ** IF (E1,REL,E2)L1[,L2] EXECUTE L2 (OR END OF LINE) WHEN CONDITION IS MET. (REL:RELATIONAL OPERATOR: <,>,=,<=,>=,<> <>:.NOT.) 'MODIFY 3.72' FOLLOWED BY A 'RETURN' OR ALT/ESCAPE WILL CAUSE 03.72 TO BE TYPED, TYPING THE LETTER 'X' WILL CAUSE THE LINE TO BE TYPED THROUGH ITS FIRST 'X'. YOU MAY THEN: 1) TYPE IN REST OF REVISED LINE AND HIT 'RETURN' 2) USE 'RUB OUT' TO ERASE SINGLE CHARACTERS OR THE LINE NUMBER (IN THE LATTER CASE RETYPE NEW LINE NUMBER) 3) HIT 'LINE FEED' TO KEEP REMAINDER OF OLD LINE 4) HIT CTRL/K TO GO TO NEXT OCCURRENCE OF 'X' 5) HIT CTRL/BELL TO CHANGE SEARCH CHARACTER; THEN HIT NEW CHARACTER 6) HIT '_' OR ^U TO DELETE LINE OVER TO LEFT MARGIN *MODIFY L1 (LET L1=1.23) 01.23 C ('C' IS THE PARTICULAR SEARCH CHARACTER CHOSEN) Q (ABBREVIATION) *QUIT (TERMINATES PROGRAM EXECUTION) (AND SOMETIMES RETURNS TO THE KM) R (ABBREVIATION) *RETURN (ALLOWS ESCAPE FROM A 'DO LOOP' TO THE COMMAND FOLLOWING THE 'DO' OR 'LIBRARY GOSUB') SET Y=37$ (CAUSES 'Y' TO TAKE THE VALUE 37) S A=110/P+32 (CAUSES 'A' TO ASSUME THE VALUE OF 110/P+32) S Y=Y+1 (SETS THE NEW VALUE OF Y = 1 PLUS OLD VALUE) S Z=$;T Z (PERMITS TYPING VALUE OF TTY: INPUT BUFFER) S #=0 (ONLY WAY TO ZERO PROTECTED VARIABLE '#') *SET Y=<NUMBER,VARIABLE OR EXPRESSION> TYPE 3 (OUTPUTS A 3 ON THE TELEPRINTER OR OTHER OUTPUT DEVICE) T 3$ 3.000 (EXAMPLE OF THE USE OF ALT/ESCAPE) # T X/Y-1 (OUTPUTS THE VALUE OF THE EXPRESSION X/Y-1) T "A"!"B"!"C"! (OUTPUTS 'A', 'B' AND 'C' IN A VERTICAL ROW) T ! (OUTPUTS A RETURN/LINE FEED) T &,' (TYPES A FORMFEED FOLLOWED BY A LINEFEED) T # (RESETS THE LINE/PAGE COUNTER TO ZERO) T (#) (OUTPUTS VALUE OF INTERRUPT FLAG '#') T "ANS: ",26+5 (OUTPUTS 'ANS: 31') T :8,"/",:8,"\" (OUTPUTS 'X' IN POSITION 8 ON LINE) T $ (OUTPUTS THE SYMBOL TABLE) T %10.09 (SETS THE OUTPUT FORMAT TO ALLOW UP TO 10 DIGITS TO BE PRINTED, OF WHICH 9 MAY BE DECIMAL PLACES) T % (FORMATS OUTPUT IN POWERS-OF-TEN NOTATION) T %+3 (FLOATING OUTPUT WITH 3 SIGNIFICANT PLACES) T %\X ('\' DELETES LEADING SPACE) T %$3.02,9 (TYPES $ 9.00 ) T %*7.02,-33 (TYPES **-33.00 ) (A CD OPTION PROVIDES AUTOMATIC PRINTING OF AN '=' OR ':' BY THE'TYPE' COMMAND) *TYPE [NUMBERS, VARIABLES, EXPRESSIONS, TEXT IN QUOTES &,', !,#,:,$ OR %] WRITE 2.27 (OUTPUTS LINE 2.27 OF THE INDIRECT PROGRAM) W 2 (OUTPUTS GROUP 2) WRITE ALL (OUTPUTS ENTIRE INDIRECT PROGRAM) W (SAME) W X (OUTTPUTS GROUP OR LINE GIVEN BY 'X') *WRITE [GROUP OR LINE NUMBER] (LISTS PROGRAM)