Дана последовательность операторов: a : = 1; и b : = 2; while a+b< 8 do begin a : = a+1; b : = b+2 end; s : = a+b; сколько раз будет повторен цикл и, какими будут значения переменных a, b и s после завершения этой последовательности операторов?
Из условия Фано следует, что в префиксном неравномерном двоичном коде, предусматривающем однозначное декодирование, ни одно кодовое слово не может быть началом другого.
Таким образом, оставшиеся три кода не могут быть началом кода буквы Б, и началами кодов друг друга.
То есть коды 0 и 00 отпадают сразу, т.к. это начала буквы Б.
Если предположить, что один из кодов равен 1, и что нам нужны кратчайшие коды, значит оставшиеся коды могут быть только 01 и 011.
Если предположить, что коды двузначны, тогда кодами могут быть 01, 10 и 11.
В первом случае суммарная длина кодов равна 1+2+3+3 = 9, во втором случае - 2+2+2+3 = 9.
Оба варианта подходят, кратчайшая суммарная длина - 9
1+2<8 ⇒ истина;
1 шаг цикла.
a=a+1=1+1=2; b=b+2=2+2=4
2+4<8 ⇒ истина;
2 шаг цикла.
a=2+1=3; b=4+2=6
3+6<8 ⇒ ложь
s=3+6=9
ответ: цикл выполнится 2 раза, переменные: a=3; b=6, s=9