gr.open 255,0,0,0 % Активизация графического экрана GR.ORIENTATION 1 % ориентация экрана gr.screen f,h % получение размера экрана gr.set.stroke 2 % толщина точки ( линии ) % координаты точек X1=100 Y1=100 X2=200 Y2=250 X3=300 Y3=150 X4=400 Y4=350 X5=300 Y5=400 X6=700 Y6=350 X7=100 Y7=100 % количество точек по X и Y ( катеты ) XK1=X2-X1 YK1=Y2-Y1 XK2=X3-X2 YK2=Y3-Y2 XK3=X4-X3 YK3=Y4-Y3 XK4=X5-X4 YK4=Y5-Y4 XK5=X6-X5 YK5=Y6-Y5 XK6=X7-X6 YK6=Y7-Y6 % количество точек линии ( гипотенуза ), вместо математической формулы HYPOT, что в два раза быстрее и проще L1=floor(HYPOT(XK1,YK1)) L2=floor(HYPOT(XK2,YK2)) L3=floor(HYPOT(XK3,YK3)) L4=floor(HYPOT(XK4,YK4)) L5=floor(HYPOT(XK5,YK5)) L6=floor(HYPOT(XK6,YK6)) % приращение по построению точек по X и Y MX1=XK1/L1 MY1=YK1/L1 MX2=XK2/L2 MY2=YK2/L2 MX3=XK3/L3 MY3=YK3/L3 MX4=XK4/L4 MY4=YK4/L4 MX5=XK5/L5 MY5=YK5/L5 MX6=XK6/L6 MY6=YK6/L6 k=0 for I=0 to 3 % линия 1 for s1=k to L1 step 10 gr.color 255,255,255,0,0 gr.point l,X1+MX1*s1,Y1+MY1*s1 !gr.render next s1 % линия 2 for s2=k to L2 step 10 gr.color 255,255,255,0,0 gr.point l,X2+MX2*s2,Y2+MY2*s2 !gr.render next s2 % линия 3 for s3=k to L3 step 10 gr.color 255,255,255,0,0 gr.point l,X3+MX3*s3,Y3+MY3*s3 !gr.render next s3 % линия 4 for s4=k to L4 step 10 gr.color 255,255,255,0,0 gr.point l,X4+MX4*s4,Y4+MY4*s4 !gr.render next s4 % линия 5 for s5=k to L5 step 10 gr.color 255,255,255,0,0 gr.point l,X5+MX5*s5,Y5+MY5*s5 !gr.render next s5 % линия 6 for s6=k to L6 step 10 gr.color 255,255,255,0,0 gr.point l,X6+MX6*s6,Y6+MY6*s6 !gr.render next s6 % сдвиг на одну точку k++ next I gr.render % ожидание нажатия на экран для выхода do until 0