1.2.Составить и отладить программу для вычисления. Площади произвольного пятиугольника по заданным координатам его вершин, определив процедуры для вычисления длин сторон и нахождения площади треугольников. 1.3.Написать программу, используя рекурсию. Каждый раз, когда Буратино солжет, его нос вырастает на 1/20 от предыдущей длины. Мудрый сверчок предупредил, что с носом длинной более 45см его ждут больше неприятности. Написать программу, определяющую через сколько дней это может произойти, если Буратино лжет через день, а первоначально длина носа была 10см.

Ответы:
Коля Коваленко
29-01-2014 12:35

Ответ 1.2 (SquarePentagon)//-------------------------------------------------------------------------------// Написал GonanSoft//-------------------------------------------------------------------------------function LengthLine(xb, yb, xe, ye: double): double;var    dx,dy : double;begin  // Теорема Пифагора  dx := xb-xe;  dy := yb-ye;  result := Sqrt( dx*dx + dy*dy );end;function AreaTriangle(d1, d2, d3: double): double;var  p : double;begin  // Формула Герона  p := (d1+d2+d3)/2;  result := Sqrt( p*(p-d1)*(p-d2)*(p-d3) );end;procedure SquarePentagon;var  x1,x2,x3,x4,x5 : double;  y1,y2,y3,y4,y5 : double;  //площадь пятиугольника  sp1 : double;   // Способ первый  sp2 : double;   //Способ второй  //длины всех линий между вершинами пятиугольника  d12,d23,d34,d45,d51 : double;  d13,d14,d24,d25,d35 : double;  //площади всех треугольников  s123,s234,s345,s451,s512 : double;  s134,s245,s351,s412,s523 : double;begin  // Задаем координаты пятиугольника  x1:=1;  y1:=3;  x2:=3;  y2:=4;  x3:=5;  y3:=3;  x4:=4;  y4:=1;  x5:=2;  y5:=1;  //Площадь пятиугольника без самопересечений, заданного координатами вершин, определяется по общей для многоугольников формуле  sp1 := 0.5*( (x1+x2)*(y1-y2) + (x2+x3)*(y2-y3) + (x3+x4)*(y3-y4) + (x4+x5)*(y4-y5) + (x5+x1)*(y5-y1) );  //Находим все длины между вершинами  d12 := LengthLine(x1,y1,x2,y2);  d23 := LengthLine(x2,y2,x3,y3);  d34 := LengthLine(x3,y3,x4,y4);  d45 := LengthLine(x4,y4,x5,y5);  d51 := LengthLine(x5,y5,x1,y1);  d13 := LengthLine(x1,y1,x3,y3);  d14 := LengthLine(x1,y1,x4,y4);  d24 := LengthLine(x2,y2,x4,y4);  d25 := LengthLine(x2,y2,x5,y5);  d35 := LengthLine(x3,y3,x5,y5);  //Находим площади всех треугольников в пятиугольнике  s123 := AreaTriangle(d12,d23,d13);  s234 := AreaTriangle(d23,d34,d24);  s345 := AreaTriangle(d34,d45,d35);  s451 := AreaTriangle(d45,d51,d14);  s512 := AreaTriangle(d51,d12,d25);  s134 := AreaTriangle(d13,d34,d14);  s245 := AreaTriangle(d24,d45,d25);  s351 := AreaTriangle(d35,d51,d13);  s412 := AreaTriangle(d14,d12,d24);  s523 := AreaTriangle(d25,d23,d35);  //Площадь пятиугольника теперь можем найти по другому, например по сумме треугольников  sp2 := s123 + s134 + s451;  //Площади треугольников можно брать любые, главное они не должны пересекаться между собойend;

Также наши пользователи интересуются:

⭐⭐⭐⭐⭐ Лучший ответ на вопрос «1.2.Составить и отладить программу для вычисления. Площади произвольного пятиугольника по заданным координатам его вершин, определив процедуры для вычисления длин сторон и нахождения площади треугольников. 1.3.Написать программу, используя рекурсию. Каждый раз, когда Буратино солжет, его нос вырастает на 1/20 от предыдущей длины. Мудрый сверчок предупредил, что с носом длинной более 45см его ждут больше неприятности. Написать программу, определяющую через сколько дней это может произойти, если Буратино лжет через день, а первоначально длина носа была 10см.» от пользователя Макс Поливин в разделе Экономика. Задавайте вопросы и делитесь своими знаниями.

Открой этот вопрос на телефоне - включи камеру и наведи на QR-код!