Нарисовать четыре линии для разметки поля - 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.

Объяснение кода листинга программы

  1. Объявлены переменные x1, y1, x2, y2, x3, y3, x4, y4, которые используются для отрисовки линий поля.
  2. В первой процедуре paintfield, линии поля отрисовываются с помощью функции line.
  3. Во второй процедуре cross, рисуется крестик с помощью функции line.
  4. В третьей процедуре zero, рисуется круг с помощью функций moveto и lineto.
  5. В основной части программы, после отрисовки поля, вызываются процедуры cross и zero.
  6. В конце программы, есть неиспользуемый код, который может быть использован для чтения числа с клавиатуры (commented out).

Оцени полезность:

8   голосов , оценка 3.625 из 5
Похожие ответы