5) Проверим предлагаемые варианты ответов. - Г = 1: Явно однозначности нет: 101 можно расшифровать как В или ГАГ. Итак, одним битом букву Г закодировать нельзя, попробуем двумя. - Г = 11: можно! Получится префиксный код (потому расшифровка будет однозначной). - Г = 01. Однозначности нет: 0101 расшифровывается как ГГ или АВ. Дальше проверять бессмысленно: 010 состоит из 3 битов. ответ. 2) 11.
7) Опять проверяем. - Г = 11. Нет однозначности: 11 может быть расшифровано как ББ или Г. - Г = 000: подходит, т.к. получается префиксный код. Остальные варианты не короче этого. ответ. 2) 000.
Для справки. Префиксным кодом называется такой кодировки, при котором код никакого символа не начинается кодом другого символа (т.е. если, например, код символа 'a' есть 01001, то все остальные коды символов не могут начинаться на 01001...). Еще бывают постфиксные коды (когда коды не могут оканчиваться кодами других символов). Префиксные и постфиксные коды можно расшифровать однозначно (однако бывают коды, не являющиеся постфиксными или префиксными, но при этом допускающие однозначную расшифровку)
X увеличивается в цикле с 1 до 4, каждый раз на 1. y каждый раз увеличивается в 2 раза, начиная с 1 и до 2^4 = 16. 1) Тело цикла исполнится 4 раза. 2) x примет значение 5. 3) y примет значение 16. 4) Если написать x <= 5, то тело цикла исполнится 5 раз. На выходе будет x = 6, y = 32. 5) Если написать x >= 5, то тело цикла не будет исполнено ни разу, потому что условие сразу не выполняется. 6) Если написать x > 0, то программа зациклится. Цикл будет исполняться бесконечно, потому что x всегда > 0. 7) Если убрать команду x:=x+1, то программа тоже зациклится. Выхода не будет, потому что x всегда остается равным 1 < 5. 8) Если написать команду x:=x+2, то тело цикла исполнится 2 раза: при x := 1 и при x := 3. На третий раз станет x = 5 и будет выход из цикла. 9) Если написать команду x:=x-1, то программа зациклится. Выхода не будет, потому что x будет уменьшаться и всегда останется < 5.
- Г = 1: Явно однозначности нет: 101 можно расшифровать как В или ГАГ.
Итак, одним битом букву Г закодировать нельзя, попробуем двумя.
- Г = 11: можно! Получится префиксный код (потому расшифровка будет однозначной).
- Г = 01. Однозначности нет: 0101 расшифровывается как ГГ или АВ.
Дальше проверять бессмысленно: 010 состоит из 3 битов.
ответ. 2) 11.
7) Опять проверяем.
- Г = 11. Нет однозначности: 11 может быть расшифровано как ББ или Г.
- Г = 000: подходит, т.к. получается префиксный код.
Остальные варианты не короче этого.
ответ. 2) 000.
Для справки. Префиксным кодом называется такой кодировки, при котором код никакого символа не начинается кодом другого символа (т.е. если, например, код символа 'a' есть 01001, то все остальные коды символов не могут начинаться на 01001...). Еще бывают постфиксные коды (когда коды не могут оканчиваться кодами других символов). Префиксные и постфиксные коды можно расшифровать однозначно (однако бывают коды, не являющиеся постфиксными или префиксными, но при этом допускающие однозначную расшифровку)
y каждый раз увеличивается в 2 раза, начиная с 1 и до 2^4 = 16.
1) Тело цикла исполнится 4 раза.
2) x примет значение 5.
3) y примет значение 16.
4) Если написать x <= 5, то тело цикла исполнится 5 раз.
На выходе будет x = 6, y = 32.
5) Если написать x >= 5, то тело цикла не будет исполнено ни разу, потому что условие сразу не выполняется.
6) Если написать x > 0, то программа зациклится. Цикл будет исполняться бесконечно, потому что x всегда > 0.
7) Если убрать команду x:=x+1, то программа тоже зациклится. Выхода не будет, потому что x всегда остается равным 1 < 5.
8) Если написать команду x:=x+2, то тело цикла исполнится 2 раза:
при x := 1 и при x := 3. На третий раз станет x = 5 и будет выход из цикла.
9) Если написать команду x:=x-1, то программа зациклится. Выхода не будет, потому что x будет уменьшаться и всегда останется < 5.