М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
Dimon2281337
Dimon2281337
10.01.2022 01:16 •  Информатика

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

👇
Ответ:
mxnty
mxnty
10.01.2022
ответ 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;
  //площадь пятиугольника
первый
второй
  //длины всех линий между вершинами пятиугольника
  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;
4,5(28 оценок)
Открыть все ответы
Ответ:
oksiur4enko
oksiur4enko
10.01.2022
 # Код на ruby 2.2.3p173
a1, a2 = [], []
for i in 100..999
    t = i
    s = 0
    while t>0
        s += t % 10
        t = t / 10
    end

    a1<<i if i%7==0 and s%7==0
    a2<<i if i%47==43
end

p a1
p a2

a3 = []
sum = 0

for i in 31..99
    if i%3==0 and (i%10==2 or i%10==4 or i%10==8)
        a3<<i
        sum += i
    end
end

p sum
p a3

Вывод
[133, 266, 322, 329, 392, 399, 455, 511, 518, 581, 588, 644, 700, 707, 770, 777, 833, 966]
[137, 184, 231, 278, 325, 372, 419, 466, 513, 560, 607, 654, 701, 748, 795, 842, 889, 936, 983]
378
[42, 48, 54, 72, 78, 84]
4,4(55 оценок)
Ответ:
Mrkeu
Mrkeu
10.01.2022
 # Код на ruby 2.2.3p173
a1, a2 = [], []
for i in 100..999
    t = i
    s = 0
    while t>0
        s += t % 10
        t = t / 10
    end

    a1<<i if i%7==0 and s%7==0
    a2<<i if i%47==43
end

p a1
p a2

a3 = []
sum = 0

for i in 31..99
    if i%3==0 and (i%10==2 or i%10==4 or i%10==8)
        a3<<i
        sum += i
    end
end

p sum
p a3

Вывод
[133, 266, 322, 329, 392, 399, 455, 511, 518, 581, 588, 644, 700, 707, 770, 777, 833, 966]
[137, 184, 231, 278, 325, 372, 419, 466, 513, 560, 607, 654, 701, 748, 795, 842, 889, 936, 983]
378
[42, 48, 54, 72, 78, 84]
4,6(33 оценок)
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ