Найдите стороны треугольника - Pascal ABC
Формулировка задачи:
Периметр треугольника ABC равен 15 см.Сторона ВС больше стороны АВ на 2 см, а сторона AB меньше стороны АС на 1 см. Найдите стороны треугольника.
Нужна программа на ПАСКАЛЬ с рисунком
Решение задачи: «Найдите стороны треугольника»
textual
Листинг программы
uses graphABC; var x0,y0,x1,y1,x2,y2,x3,y3:integer; a,b,c,p,h,x,l,m:real; begin p:=15; //решаем //a+b+c=p //c=a-2 //b=a-1 //a+a-2+a-1=3a-3=p->a=(p+3)/3 a:=(p+3)/3; b:=a-1; c:=a-2; //определим центр экрана x0:=windowwidth div 2; y0:=windowheight div 2; p:=p/2;{полупериметр} h:=2*sqrt(p*(p-a)*(p-b)*(p-c))/a;//длина высоты, опущенной на сторонону а if a*a+c*c<b*b then begin x:=sqrt(c*c-h*h);//дополнение стороны а влево l:=a+x;//длина горизонтальной проекции треугольника end else if a*a+b*b<c*c then begin x:=sqrt(b*b-h*h);{вправо} l:=a+x; end else begin x:=sqrt(b*b-h*h);//часть нижней стороны а слева от основания высоты l:=a; end; //определим масштаб изображения на экран m:=(y0-40)/(h/2);//по вертикали if (2*x0-60)/l<m then m:=(2*x0-60)/l;//если по горизонтаи меньше, то этот масштаб if a*a+c*c<b*b then begin x3:=x0+round(l*m/2); x2:=x3-round(x*m); x1:=x2-round(a*m); end else if a*a+b*b<c*c then begin x3:=x0-round(l*m/2); x1:=x3+round(x*m); x2:=x1+round(a*m); end else begin x1:=x0-round(l*m/2);//левая вершина x2:=x0+round(l*m/2);//правая вешина x3:=x1+round(x*m);//верхняя вершина end; y1:=y0+round(h*m/2); y2:=y1; y3:=y0-round(h*m/2); setpencolor(clRed);//рисуем треугольник красным line(x1,y1,x2,y2); line(x2,y2,x3,y3); line(x1,y1,x3,y3); textout(x3-5,y3-15,'A'); textout(x1-10,y1,'C'); textout(x2+10,y2,'B'); textout((x1+x2)div 2,y1+10,'a='+floattostr(a)); textout((x1+x3)div 2-30,(y1+y3) div 2-10,'b='+floattostr(b)); textout((x3+x2)div 2+10,(y3+y2) div 2-10,'c='+floattostr(c)); end.
Объяснение кода листинга программы
- В начале кода подключается библиотека graphABC.
- Объявляются переменные: x0, y0, x1, y1, x2, y2, x3, y3: integer; a, b, c, p, h, x, l, m: real;
- Переменная p инициализируется значением 15.
- Далее решаем уравнение a + b + c = p.
- Переменные a, b и c инициализируются значениями, полученными из решения уравнения.
- Вычисляем значение переменной p, используя a.
- Если a a + c c < b * b, то вычисляем значения x, l и m.
- Если a a + b b < c * c, то вычисляем значения x, l и m.
- Если a a + b b < c * c, то вычисляем значения x, l и m.
- Вычисляем значения x1, x2 и x3.
- Вычисляем значения y1, y2 и y3.
- Рисуем треугольник, используя функции line и textout.
- Выводим текст с помощью функции textout.
- Завершаем программу.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д