Построение равностороннего треугольника и заполнение его некоторым цветом - Free Pascal
Формулировка задачи:
Написать программу построения равностороннего треугольника и заполнения его некоторым цветом после нажатия на клавишу Enter.
Решение задачи: «Построение равностороннего треугольника и заполнение его некоторым цветом»
textual
Листинг программы
- uses graph,wincrt;
- const s = 'Press Enter';
- var
- cx, cy, R, i : integer;
- pts : array[0 .. 3] of pointtype;
- begin
- initgraph(cx, cy, '');
- cx := getmaxX div 2;
- cy := getmaxY div 2;
- R := cy - 100;
- setcolor(red);
- for i := 0 to 2 do
- begin
- pts[i].x := cx + trunc(R * cos(pi/2 + i * 2*pi/3));
- pts[i].y := cy - trunc(R * sin(pi/2 + i * 2*pi/3));
- end;
- pts[3] := pts[0];
- drawpoly(4, pts);
- outtextXY(cx - textwidth(s) div 2, 10, s);
- readln;
- setfillstyle(solidfill, red);
- fillpoly(4, pts);
- readln;
- end.
Объяснение кода листинга программы
- Импортируются необходимые модули: graph и wincrt.
- Задаётся константа s, которая будет использоваться в дальнейшем для вывода сообщения на экран.
- Объявляются переменные: cx, cy, R и i типа integer.
- Переменная cx инициализируется значением, равным половине максимальной ширины экрана.
- Переменная cy инициализируется значением, равным половине максимальной высоты экрана.
- Переменная R инициализируется значением, равным разности между cy и 100.
- Устанавливается цвет рисования красным.
- В цикле от 0 до 2 происходит вычисление координат точек треугольника по формулам тригонометрии.
- Координаты точек сохраняются в массиве pts.
- Точка с индексом 3 инициализируется значением точки с индексом 0.
- Выводится полигон из четырёх точек с помощью функции drawpoly.
- Выводится сообщение s с помощью функции outtextXY.
- Читается символ с помощью функции readln.
- Устанавливается стиль заливки фигур в сплошной и цвет заливки устанавливается в красный с помощью функции setfillstyle.
- Заполняется полигон с помощью функции fillpoly.
- Читается символ с помощью функции readln.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д