Построение равнобедренного треугольника - Free Pascal
Формулировка задачи:
Нужно написать программу построения равнобедренного треугольника по боковой стороне и углу при основании, используя окружности.
Помогите, пожалуйста.
Решение задачи: «Построение равнобедренного треугольника»
textual
Листинг программы
- uses graph,wincrt;
- var u:real;
- b,x1,y1,x2,y2,x3,y3:integer;
- begin
- initgraph(x1,x2,'');
- {задаем значения боковой стороны и угла при основании}
- b:=getmaxY div 2;
- u:=50;
- {задаем координаты вершины A}
- x1:=getmaxX div 2-200;
- y1:=getmaxY-100;
- settextstyle(0,0,2);
- setcolor(14);
- outtextXY(getmaxX div 2-50,20,'Press any key');
- {рисуем ее}
- setfillstyle(1,9);
- setcolor(9);
- fillellipse(x1,y1,3,3);
- setcolor(10);
- outtextXY(x1-10,y1+10,'A');
- readkey;
- {определяем конец луча соответствующего боковаой стороне}
- u:=u*pi/180;
- x2:=x1+round(y1*cos(u)/sin(u));
- y2:=0;
- {рисуем его}
- setcolor(15);
- line(x1,y1,x2,y2);
- readkey;
- {рисуем окружность из вершины А радиусом=b}
- circle(x1,y1,b);
- readkey;
- {рисуем вершину В}
- x2:=x1+round(b*cos(u));
- y2:=y1-round(b*sin(u));
- setcolor(9);
- fillellipse(x2,y2,3,3);
- setcolor(10);
- outtextXY(x2-10,y2-30,'B');
- readkey;
- {рисуем сторону AB}
- setcolor(12);
- setlinestyle(0,0,3);
- line(x1,y1,x2,y2);
- readkey;
- {рисуем луч соответственно основанию}
- setcolor(15);
- setlinestyle(0,0,1);
- line(x1,y1,getmaxX,y1);
- readkey;
- {рисуем окружность радиуса b из вершины B}
- circle(x2,y2,b);
- {рисуем вершину C}
- x3:=x2+round(b*cos(-u));
- setcolor(9);
- fillellipse(x3,y1,3,3);
- setcolor(10);
- outtextXY(x3+5,y1+10,'C');
- readkey;
- {рисуем сторону BC}
- setcolor(12);
- setlinestyle(0,0,3);
- line(x2,y2,x3,y1);
- readkey;
- {рисуем сторону AC}
- line(x1,y1,x3,y1);
- readkey
- end.
Объяснение кода листинга программы
- Установка начального угла и длины стороны треугольника
- Задание координат вершины A
- Рисование окружности из вершины A радиусом=b
- Рисование стороны AB
- Рисование луча соответствующего боковой стороне
- Рисование окружности радиуса b из вершины B
- Рисование вершины C
- Рисование стороны BC
- Рисование стороны AC
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д