Нарисовать четыре линии для разметки поля - PascalABC.NET
Формулировка задачи:
Что не так?
в {} можно не смотреть
Решение задачи: «Нарисовать четыре линии для разметки поля»
textual
Листинг программы
uses graphabc; Procedure paintfield; var x1,y1,x2,y2,x3,y3,x4,y4:integer; begin x1:=50; y1:=150; x2:=50; y2:=250; x3:=150; y3:=50; x4:=250; y4:=50; while x1<350 do begin x1:=x1+1; line(50,y1,x1,y1); x2:=x2+1; line(50,y2,x2,y2); y3:=y3+1; line(x3,50,x3,y3); y4:=y4+1; line(x4,50,x4,y4); sleep(5); end; end; Procedure cross(xc,yc:integer); var x1,y1,x2,x,y:integer; begin x1:=xc-25; y1:=yc-25; x2:=xc+25; x:=0; y:=0; while x1+x<x2 do begin x:=x+1; y:=y+1; line(x1,y1,x1+x,y1+y); line(x2,y1,x2-x,y1+y); sleep(5); end; end; Procedure zero(xc,yc:integer); var r,x,y:integer; u:real; begin r:=25; u:=-pi/2; moveto(xc,yc-r); while u<2*pi+pi/2 do begin x:=xc+round(r*cos(u)); y:=xc+round(r*sin(u)); lineto(x,y); sleep(5); u:=u+0.02; end; end; var a,b,num:byte; Begin setwindowsize(400,400); centerwindow; setpenwidth(5); paintfield; //readln(num); cross(100,100); zero(200,200); end.
Объяснение кода листинга программы
- Объявлены переменные x1, y1, x2, y2, x3, y3, x4, y4, которые используются для отрисовки линий поля.
- В первой процедуре paintfield, линии поля отрисовываются с помощью функции line.
- Во второй процедуре cross, рисуется крестик с помощью функции line.
- В третьей процедуре zero, рисуется круг с помощью функций moveto и lineto.
- В основной части программы, после отрисовки поля, вызываются процедуры cross и zero.
- В конце программы, есть неиспользуемый код, который может быть использован для чтения числа с клавиатуры (commented out).