- 4


«», . WX WY . , :

FORTH DEFINITIONS PLOT : ( -> ) PLOT HERE NU0 MU0 * ALLOT TO WSTA ; PLOT DEFINITIONS : ( N-> N ) ?+ WY SWAP - 0 MAX TO WY ; : ( N-> N ) ?+ WX SWAP - 0 MAX TO WX ; : ( N-> N ) ?+ WY + MU + LAMBDA MIN MU - TO WY ; : ( N-> N ) ?+ WX + NU + KAPPA MIN NU - TO WX ;

. MU , : , . , * (), , + (), , . , , «».  — .

: -MU ( N:->-1: / M: ,0/ +1: ) MIN0 - DUP 0< IF DROP -1 EXIT THEN MU 1- SWAP - DUP 0< IF DROP 1 EXIT THEN 0 ; : ( -> : ) >IN @ >R [COMPILE] - R> >IN ! DUP TO KAPPA NU0 MIN TO NU ' TO VAL ( MA LAMBDA ) 0 VAL DUP ( X[0],X[0] ) KAPPA 0 DO I VAL ( MIN[I-1],MAX[I-1],X[I] ) DUP >R MAX SWAP R> MIN ( MAX[I],MIN[I]) SWAP LOOP DUP TO MA SWAP - 1+ DUP TO LAMBDA MU0 MIN TO MU 0 TO WX 0 TO WY ; : -X ( X) CR RH0 SPACES WX NU 1- RH0 - WX BEGIN DUP 10 MOD DUP IF 10 SWAP - THEN DUP >R + 2DUP >= WHILE R> SPACES C" ! EMIT DUP 0 <# #S #> DUP >R TYPE 1+ R> + REPEAT RDROP 2DROP ; : ( -> ) MA WY - MU 1- - TO MIN0 ( MIN0) WSTA MU NU * BLANK ( ) 0 -MU 0= IF NU * WSTA + NU C" - FILL THEN ( X) ( X ) WX NU + WX DO I VAL ( X[I]) -MU DUP IF ( ) 1+ IF ( ) C" + 0 ELSE ( ) C" + MU 1- THEN ELSE DROP C" * SWAP THEN NU * I WX - + WSTA + C! LOOP -X MU 0 DO CR MA WY - I - RH0 .R I NU * WSTA + NU TYPE LOOP -X ;