Сколько битов информации несет сообщение о том, что из колоды в 32 карты достали « пик»? - вы подошли к светофору, когда горел красный свет. после этого загорелся желтый. какое количество информации вы при этом получили?
5битов, т.к. разрядность для кодирования карты - 5. 2 бита, разрядность 2. дейтсвуем по формуле n=2^i n - мощность алфавита, 2 - в какой системе счисления кодируется алфавит, i - разрядность.
elenalusia
26.07.2020
Точки a, b, c, заданные на плоскости координатами, соединяем между собой и получаем треугольник. сводится к нахождению радиуса и координат центра окружности, описанной вокруг треугольника. направим вдоль сторон треугольника abc векторы: a от в к с, b от а к с, с от а к в. радиус описанной окружности можно найти по формуле: в числителе последней дроби стоит скалярное произведение векторов, в знаменателе - произведение их модулей. координаты центра вычисляются по формулам: в формулах используются координаты точек, а не векторов. площадь треугольника s может быть вычислена по формуле герона: type vector = record x: real; y: real; l: real end; point = record x: real; y: real end; procedure initpoint(s: string; var p: point); //вводит координаты x,y точки p begin write('введите координаты x,y точки ' + s, ' '); readln(p.x, p.y) end; procedure getvector(a: point; b: point; var ab: vector); // определяет координаты вектора и его длину по пвре точек begin with ab do begin x : = b.x - a.x; y : = b.y - a.y; l : = sqrt(sqr(x) + sqr(y)) end end; function innerprod(a: vector; b: vector): real; begin result : = a.x * b.x + a.y * b.y end; function alpha(a: vector; b: vector): real; // возвращает угол между векторами a,b begin result : = arccos(abs(innerprod(a, b)) / (a.l * b.l)); end; function trianglesq(a: real; b: real; c: real): real; // возвращает площадь треугольника, найденную по трем сторонам // (формула герона) var p: real; begin p : = (a + b + c) / 2; result : = sqrt(p * (p - a) * (p - b) * (p - c)) end; procedure getcenter(a: point; b: point; c: point; s: real; var d: point); // помещает в запись d координаты центра окружности площадью s, // описанной вокруг треугольника с вершинами а,в и с var la2, lb2, lc2, detx, dety: real; begin la2 : = sqr(a.x) + sqr(a.y); lb2 : = sqr(b.x) + sqr(b.y); lc2 : = sqr(c.x) + sqr(c.y); detx : = lb2 * c.y - lc2 * b.y - la2 * c.y + lc2 * a.y + la2 * b.y - lb2 * a.y; dety : = lb2 * c.x - lc2 * b.x - la2 * c.x + lc2 * a.x + la2 * b.x - lb2 * a.x; d.x : = detx / (4 * s); d.y : = -dety / (4 * s) end; var ap, bp, cp: point; a, b, c: vector; r, s: real; op: point; begin //ввод координат точек initpoint('a', ap); initpoint('b', bp); initpoint('c', cp); //вычисление векторов a=bc, b=ab, c=ac getvector(bp, cp, a); getvector(ap, bp, b); getvector(ap, cp, c); r : = a.l / (2 * sin(alpha(b, ; //радиус описанной окружности s : = trianglesq(a.l, b.l, c.l); getcenter(ap, bp, cp, s, op); writeln('радиус описанной окружности r=', r: 0: 2); writeln('координаты центра этой окружности: о(', op.x: 0: 1, '; ', op.y: 0: 1, ')') end. тестовое решение (проверено построением): введите координаты x,y точки a 100 100 введите координаты x,y точки b 300 300 введите координаты x,y точки c 100 300 радиус описанной окружности r=141.42 координаты центра этой окружности: о(200.0; 200.0)
Анатольевич447
26.07.2020
Varx: array [1..50] of real; i,n: byte; s: real; begin repeat write('введите кол-во элементов не более 50: '); readln(n); until n in [1..50]; s: =0; for i: =1 to n do begin x[i]: =10*random; if odd(i) then s: =s+x[i]; write(x[i]: 7: 2); end; writeln; writeln('сумма элементов с нечетными индексами = ',s: 0: 2); end.