Программа для создания изображения - Pascal ABC
Формулировка задачи:
Написать программу которая создает данное изображение
Решение задачи: «Программа для создания изображения»
textual
Листинг программы
- uses graphABC;
- type point=record
- x,y:integer;
- end;
- var x,y,a,b:integer;
- p:array[1..8] of point;
- begin
- x:=windowwidth div 2;{центр эллипсов}
- y:=windowheight div 3;
- b:=y-20; {радиусы большого эллирса}
- a:=3*b div 2;
- {рисуем стрелу как полигон}
- p[1].x:=x-20;p[1].y:=y+b;
- p[2].x:=x+20;p[2].y:=p[1].y;
- p[3].x:=p[2].x;p[3].y:=p[2].y+b;
- p[4].x:=p[3].x+30;p[4].y:=p[3].y;
- p[5].x:=x;p[5].y:=p[4].y+30;
- p[6].x:=p[1].x-30;p[6].y:=p[3].y;
- p[7].x:=p[1].x;p[7].y:=p[3].y;
- p[8]:=p[1];
- setbrushstyle(bsCross);{штриховка клетками, нет там точками}
- setbrushcolor(clBlack);
- polygon(p,8);{залитый полигон}
- setbrushstyle(bsBDiagonal);{штриховка символами /}
- ellipse(x-a,y-b,x+a,y+b);{внешний эллипс}
- b:=b-20;{радиусы следующего эллипса}
- a:=a-20;
- setbrushstyle(bsSolid);{заливаем белым цветом}
- setbrushcolor(clWhite);
- ellipse(x-a,y-b,x+a,y+b);
- a:=50;{радиусы рожицы}
- b:=40;
- ellipse(x-a,y-b,x+a,y+b);{рисуем эллипс}
- circle(x-20,y-10,5); {рисуем глаза}
- circle(x+20,y-10,5);
- arc(x,y-b,3*b div 2,240,300);{рисуем рот}
- end.
Объяснение кода листинга программы
- Создается тип данных
point
, который представляет точку с координатами x и y. - Объявляются переменные x, y, a и b для хранения значений координат.
- Создается массив p размером 8, который будет хранить точки.
- Задаются начальные значения координат для всех точек.
- Рисуется полигон, используя массив точек.
- Задаются новые значения координат для внешнего эллипса.
- Рисуется внешний эллипс.
- Задаются новые значения координат для рожицы.
- Рисуется рожица.
- Рисуется глаз.
- Рисуется второй глаз.
- Рисуется рот.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д