с программированием ! (Желательно pyton3)
Ученый с мировым именем Иннокентий соорудил на своём дачном участке прототип Вечного Двигателя™️ и решил возвести вокруг него забор, чтобы уберечь агрегат от недоброжелателей. За этим Иннокентий обратился к знакомым строителям.
Правда, в меру безумный учёный в качестве чертежа дал рабочим систему линейных неравенств, которая задаёт участок в виде выпуклого многоугольника. Пока строители пребывают в замешательстве им и вычислите периметр участка, чтобы узнать, сколько материалов нужно закупить.
Входные данные: список неравенств вида y \frac{\geq}{\leq} kx+by
≤
≥
kx+b, представленных тройками (k, b, sign)(k,b,sign), где k и b – коэффициенты уравнения, sign определяет знак неравенства (True соответствует ≥, False – ≤). Пример формата:
[(1, 0, False), (-1, -10, True), (100.5, 10.5, False)]
Выходные данные: единственное вещественное число, периметр фигуры. ответ принимается, если значение различается не больше, чем на 10^{-6}10
−6
.(на pyton3 желательно!!)
(Если на другом языке то напишите на каком.)
Заранее !
var
a: array[1..l] of integer;
d: array[1..l] of real;
i, otr, k, m: integer;
begin
otr:=0; k:=0; m:=0;
//считаем массив а
for i:=1 to l do
begin
readln(a[i]);
//если ввели положительное число,увеличим перем. otr на 1
if a[i] < 0 then
inc(otr);
//если ввели отрицательное число,увеличим перем. k на 1
//и к переменной m прибавим элемент
if a[i] > 0 then
begin
inc(k);
inc(m, a[i]);
end;
end;
//заполним массив d
for i:=1 to l do
//если индекс четный, присвоим элементу otr
//иначе присвоим среднее арифметическое
if i mod 2 = 0 then
d[i] := otr
else
d[i] := m/k;
end.
(1 + 0) - истинна, т.к. дизъюнкция истинна если хотя-бы одна из переменных истинна
(0 + 0) - ложна, т.к. обе перменные ложны
(1 + 0)*(0+0) - ложна, т.к. первая скобка истинна, а вторая ложна, а в конъюнкции для истины обе скобки должны быть истинны.
1*0 - ложна, т.к. в конъюнкции обе переменные должны быть истинны.
Для удобства разделил скобками
((1 + 0)*(0+0)) + (1*0) - ложна, т.к. первая (большая) скобка ложна, вторая скобка (1*0) тоже ложна, между ними дизъюнкция, то есть хотя-бы одна из них должна быть истинна. Они обе ложны, значит результатом выражения
(1 + 0)*(0+0) + 1*0
будет 0