Помогите в PASCAL ABC написать программу рисования этой картинки

0 голосов
61 просмотров

Помогите в PASCAL ABC написать программу рисования этой картинки


image

Информатика (197 баллов) | 61 просмотров
0

интересная картинка)

0

но сложная :с

0

Откуда вообще такое задание? В школе вряд ли такое задают.

0

я не знаюююю...

Дан 1 ответ
0 голосов

Когда писал изначально, лапы были не из дуг, а из прямых, но потом мне помог один очень хороший человек (благодарности пользователю Amillia25), так что выкладываю конечный вариант.

Чтобы поменять размер изображения, измените значение константы n. Чтобы добавить сетку, уберите фигурные скобки.

uses graphabc;
{var i: integer;}
const n=30; w=16; h=15;
begin
setwindowsize(w*n,h*n);
setpencolor(clgray);
{for i:=0 to w do line(i*n,0,i*n,h*n);
for i:=0 to h do line(0,i*n,w*n,i*n);}
setpencolor(clblack);
setbrushcolor(clwhite);
arc(n*3,n*11-n div 4,n*3+n div 4,-158,-22);
line(0,n*12,n*2,n*12);
line(n*3,n*12,n*6,n*12);
arc(n*2+n div 2,n*12,n div 2,180,0);
circle(n*4-n div 4,n*13,n div 4);
circle(n*3-n div 8,n*13+n div 2,n div 8);
arc(n*12,3*n,n*3, 270, 180);
arc(n*12,3*n,n,270,180);
setbrushcolor(clblack);
circle(n*12,3*n,n div 15);
arc(n*6,n*2-n div 4,n*3+n div 4,-90,-18);
circle(n*9,4*n,n div 10);
line(n*6,n*5,n*8,n*6);
line(n*8,n*6,n*9,n*6);
arc(n*9,n*5,n,270,0);
line(n*9,n*6,n*9,n*8);
arc(21*n div 2, n*10, 5*n div 2, 127, 180);
line(n*8,n*10,n*9,n*9);
line(n*9,n*9,n*9,n*12);
line(n*9,n*12,n*8,n*12);
arc(11*n div 2+2, n*12, 5*n div 2, -53, 0);
line(n*7,n*14,n*7,n*15);
arc(n*7,n*13,n*2,270,0);
line(n*9,n*13,n*11,n*13);
arc (13*n, 23*n div 2, 5*n div 2, -142,-89);
line(n*13,n*14,n*13,n*15);
line(n*13,n*15,n*14,n*13);
line(n*14,n*13,n*12,n*13);
line(n*12,n*13,n*13,n*12);
line(n*13,n*12,n*13,n*10);
line(n*13,n*10,n*12,n*6);
line(n*13,n*12,n*15,n*11);
line(n*15,n*11,n*16,n*6);
end.

(8.5k баллов)
0

спасибо большое)