34 lines
1.4 KiB
Text
34 lines
1.4 KiB
Text
include c:\cxpl\codes; \intrinsic 'code' declarations
|
|
|
|
def ScrW=640, ScrH=480, VidMode=$101;
|
|
def Sx = ScrW/10, \pixels per horz grid line
|
|
Sy = ScrH/10, \pixels per vert grid line
|
|
Ox = (3+1+1)*8+2, \offset for horz grid: allow room for "180.0"
|
|
Oy = ScrH-20; \offset for vert grid: allow room for labels
|
|
int X, DataX;
|
|
real Y, DataY, Gain;
|
|
def Brown=6, LCyan=11;
|
|
|
|
[DataX:= [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
|
|
DataY:= [2.7, 2.8, 31.4, 38.1, 58.0, 76.2, 100.5, 130.0, 149.3, 180.0];
|
|
|
|
SetVid(VidMode);
|
|
for X:= 0 to 9 do \draw grid
|
|
[Move(X*Sx+Ox, Oy); Line(X*Sx+Ox, Oy-9*Sy, Brown); \vert lines
|
|
Move(Ox, Oy-X*Sy); Line(9*Sx+Ox, Oy-X*Sy, Brown); \horz lines
|
|
];
|
|
Format(3,1); Attrib(LCyan); \label grid
|
|
Y:= 0.0;
|
|
for X:= 0 to 9 do
|
|
[Move(X*Sx+Ox-3, Oy+6); IntOut(6, X); \X axis
|
|
Move(0, Oy-X*Sy-7); RlOut(6, Y); \Y axis
|
|
Y:= Y + 20.0;
|
|
];
|
|
Gain:= float(Sy)/20.0;
|
|
Move(DataX(0)*Sx+Ox, Oy-Fix(DataY(0)*Gain)); \plot points
|
|
for X:= 1 to 9 do
|
|
Line(DataX(X)*Sx+Ox, Oy-Fix(DataY(X)*Gain), LCyan);
|
|
|
|
if ChIn(1) then []; \wait for key
|
|
SetVid(3); \restore text
|
|
]
|