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