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

По каналу связи передаются сообщения, содержащие только четыре буквы: А, Б, В, Г. Для передачи используется неравномерный двоичный код, удовлетворяющий условию, что никакое кодовое слово не является началом другого кодового слова. Для букв А, Б, В используются соответственно кодовые слова: 11, ОНО, 00. Укажите кратчайшее кодовое слово для буквы Г при приведённом условии. Если таких кодов несколько, укажите код с наименьшим числовым значением.

👇
Открыть все ответы
Ответ:
Морожка
Морожка
13.07.2020
Var
    A: array[1..100, 1..100] of integer;
    B: array[1..100]of integer;
    i, j, k, n, m, imax: integer;
    manual: boolean;

begin
    writeln('Ручной ввод (true/false)==>');
    read(manual);
    
    if manual then begin
        writeln('Размер массива n, m ==>');
        read(n, m);
    end
    else begin
        n := random(10) + 5;
        m := random(10) + 5;
    end;
    
    for i := 1 to n do
    begin
        writeln();
        for j := 1 to m do
        begin
            if manual then
                read(a[i, j])
            else begin
                a[i, j] := random(100) - 50;
                write(a[i, j]:3, ' ');
            end;
        end;
    end;
    
    writeln();
    writeln();
    
    for j := 1 to m do
        if j mod 2 = 1 then begin
            k := k + 1;
            b[k] := 1;
            for i := 1 to n do
                b[k] := b[k] * a[i, j];
            write(b[k], ' ');
        end;
    
    writeln();
    
    for i := 1 to k - 1 do
    begin
        imax := i;
        for j := i + 1 to k do
            if b[j] > b[imax] then
                imax := j;
        n := b[i];
        b[i] := b[imax];
        b[imax] := n;
    end;
    
    for i := 1 to k do
        write(b[i], ' ');
end.
4,5(95 оценок)
Ответ:
Дарья16072005
Дарья16072005
13.07.2020
Разъясню
1. ИЛИ ложно, когда оба высказывания ложны. Т.е. 0 ИЛИ 0 = 0, в остальных случаях - истина. Значит, НЕ(х>87) И НЕ НЕ(х кратное 9)
В первом случае знак можно поменять: (х<=87), убрав при этом НЕ. Двойное отрицание убираем без последствий: (х кратно 9).
Наибольшее число, которое меньше или равно 87 И делится на 9 без остатка = 81.
2. 64 = 2^6
16 = 2^4
1 = 2^0
В двоичной записи десятичного числа 1 стоит на месте степени двойки, разряды нумеруются с конца, начиная с нуля.
Запишем разряды(их 6, т.к. первая 1 стоит на 6 позиции с конца, а ведущие нули можно убрать (как в десятичной вместо 008 мы пишем 8)
6 5 4 3 2 1 0
1 0 1 0 0 0 1
под разрядами пишем 1 там, где у нас была степень 2.
Это двоичная запись числа. В ней 4 нуля.
ответ: 4
4,7(93 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ