Программа для создания изображения - 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, который будет хранить точки.
- Задаются начальные значения координат для всех точек.
- Рисуется полигон, используя массив точек.
- Задаются новые значения координат для внешнего эллипса.
- Рисуется внешний эллипс.
- Задаются новые значения координат для рожицы.
- Рисуется рожица.
- Рисуется глаз.
- Рисуется второй глаз.
- Рисуется рот.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д