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

Определите сколько бит потребуется чтобы закодировать сообщение длиной 50 символов если в сообщении могут использоваться 60 различных символов при условии что каждый символ кодируется минимально возможным количеством бит

👇
Ответ:
Неуч00
Неуч00
10.10.2021
Если используется 60 различных символов, то для кодирования одного символа требуется log(2)60 ≈ 6 бит
Для кодирование 50 символов нужно 50*6=300 бит
4,6(88 оценок)
Открыть все ответы
Ответ:
JukovaEleonora
JukovaEleonora
10.10.2021
Ну, в общем, лови решение.

{ FreePascal 2.6.4}
program test;
uses
    crt;
var
    a, b, c, d  : integer;
    f : longint;

procedure swap (var x : integer; var y : integer);
var z : integer;
begin
    z := x;
    x := y;
    y := z;
end;

function nod (m, n : integer) : integer;
begin
    while m<>n do begin
        if m>n
        then
            m:=m-n
        else
            n:=n-m;
    end;
    nod := m;
end;

function max (a,b : integer) : integer;
begin
    if a>b
    then max := a
    else max := b;
end;

function min (x, y, z : integer) : integer;
var m : integer;
begin
    m := x;
    if y<m then m := y;
    if z<m then m := z;
    min := m;
end;

function mypow (a, b : integer) : integer;
var e, f : integer;
begin
    f := 1;
    for e:=1 to b do f := f*a;
    mypow := f;
end;

function fact(a : integer) : longint;
var
    i : integer;
    res : longint;
begin
    res := 1;
    for i := 1 to a do res := res*i;
    fact := res;
end;

begin
    clrscr;
    writeln('Test of function SWAP');
    write('Input A: ');
    readln(a);
    write('Input B: ');
    readln(b);
    swap(a, b);
    writeln('A=', a, ', B=', b);
    writeln;

    writeln('Test of function NOD');
    write('Input A: ');
    readln(a);
    write('Input B: ');
    readln(b);
    c := nod(a, b);
    writeln('NOD(', a, ',', b, ')=', c);
    writeln;

    writeln('Test of function MAX');
    write('Input A: ');
    readln(a);
    write('Input B: ');
    readln(b);
    c := max(a, b);
    writeln('MAX(', a, ',', b, ')=', c);
    writeln;

    writeln('Test of function MIN');
    write('Input A: ');
    readln(a);
    write('Input B: ');
    readln(b);
    write('Input C: ');
    readln(c);
    d := min(a, b, c);
    writeln('MIN(', a, ',', b, ',', c, ')=', d);
    writeln;

    writeln('Test of function POW');
    write('Input A: ');
    readln(a);
    write('Input B: ');
    readln(b);
    c := mypow(a, b);
    writeln('POW(', a, ',', b, ')=', c);
    writeln;

    writeln ('Test of function FACT (not large than 12!)');
    write('Input A: ');
    readln(a);
    f := fact(a);
    writeln(a, '!=', f);
    writeln;
    readkey;

end.
4,6(4 оценок)
Ответ:
AnnaKnuazev
AnnaKnuazev
10.10.2021
Не самый рациональный метод решения, но как говорится чем смог тем

var a,b,c,x,kc,kn,k1,k2:integer; 
begin 
kc:=1; 
kn:=1; 
k1:=0; 
k2:=0; 
a:=0; 
b:=0; 
writeln('Введите число x'); 
read(x); 
while x>0 do begin 
c:=x mod 10; 
if c mod 2=0 then begin 
inc(k1); 
a:=a+c*kc; 
kc:=kc*10; 
end; 
if c mod 2<>0 then begin 
inc(k2); 
b:=b+c*kn; 
kn:=kn*10; 
end; 
x:=x div 10; 
end; 
if k1>k2 then writeln('Четных больше нечетных') else if k1=k2 then writeln('Количество четных = количеству нечетных') else writeln('Четных меньше нечетных'); 
writeln(a,' ', b); 
end. 
4,8(7 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ