Хаффман одобряет
Был в нашем университете курс проектирования вычислительных систем. Тянулся он три семестра, начинаясь формулами булевой алгебры, продолжаясь работой с процессором 8086 и заканчиваясь языками описания оборудования. В конце последнего семестра частью экзамена был тест на знание языка описания.
Наверное, на каждой кафедре есть преподаватель, считающий себя центром вселенной и почём зря отправляющий студентов на пересдачу. У меня из-за него вся сдача сессии полетела кувырком, и времени на то, чтобы выучить две сотни вопросов с ответами, когда отчаянно едет крыша, не оставалось. А сдать надо было любыми средствами и с первой попытки.
Шаг 0. При просмотре исходного текста страницы с тестом оказалось, что почти в самом её начале есть строка нулей и единиц, шифрующих ответы на вопросы. При гарантии, что рядом с монитором при сдаче теста никого не будет, на этом можно было бы и остановиться — текст страницы статичен, ответы в блокноте видны.
Шаг 1. Выписываем последовательности ответов одну за другой на лист бумаги. Можно выучить наизусть получившуюся таблицу, но в ней легко запутаться.
Шаг 2. Считаем, каких элементов в каждой строке меньше.
Шаг 3. Выписываем новые последовательности: сначала номер строки, потом редкий элемент в ней, потом номера позиций, им занимаемые.
Шаг 4. Учим наизусть новую таблицу. В ней разнообразнее элементы и труднее запутаться.
Экзамен я сдал.