'CORAL' P9 ARC MODULE 'LIBRARY' ('PROCEDURE' WHERE ('LOCATION''FLOATING','LOCATION''FLOATING','LOCATION''FLOATING'); 'PROCEDURE' PLT ('VALUE''FLOATING','VALUE''FLOATING'); 'PROCEDURE' MOV ('VALUE''FLOATING','VALUE''FLOATING'); 'FLOATING''PROCEDURE' DTOR ('VALUE''FLOATING'); 'FLOATING''PROCEDURE' COS ('VALUE''FLOATING'); 'FLOATING''PROCEDURE' SIN ('VALUE''FLOATING')); 'COMMON' ('PROCEDURE' ARC ('VALUE''FLOATING','VALUE''FLOATING','VALUE''FLOATING')); 'SEGMENT' RJSSUB 'BEGIN' 'PROCEDURE' ARC ('VALUE''FLOATING' RAD, WIDTH, CENTER); 'BEGIN' 'FLOATING' F, XX, YY, XCENT, YCENT, START, END; WHERE(XCENT,YCENT,F); (HOLD PRESENT POSITION) START:=WIDTH/2; END:=CENTER+START; (HOLD START AND END POINTS OF ARC) START:=CENTER-START; MOV(-RAD,START); (MOV TO START POINT) 'FOR' START:=START 'STEP' 1 'UNTIL' END 'DO' 'BEGIN' XX:=COS(D TO R(START))*RAD+XCENT; (X ABS POSITION) YY:=SIN(D TO R(START))*RAD+YCENT; (Y ABS POSITION) PLT(XX,YY); (DRAW PART OF THE ARC) 'END'; MOV(XCENT,YCENT); (MOVE BACK TO START POINT) 'END'OF PROCEDURE ARC; 'END'; 'FINISH'