И вновь о тех давних временах, когда понятие «компьютер» ассоциировалось
с чем-то большим и светлым, жутко непонятным и страшно интересным.
Работал в испытательной лаборатории, и был у нас там начальник Палыч,
жутко умный, увлекавшийся шахматами и математикой. И вот поставили нам в
лабораторию первый персональный компьютер, естественно, от желающих
приобщиться к великой когорте пользователей ПК (читай - в игрушки
поиграться) отбоя не было. Не менее естественно, что Палыч был страшно
недоволен, и вот однажды высказывает он мысль, что пора бы нам всем,
оболтусам, начать интересоваться чем-то более серьездным, ну например
программированием типа на Бейсике. Желание руководства - закон для
подчиненных, тем более что для людей с интеллектом, как известно, ничего
невозможного нет, и вот как-то раз заходит Палыч к нам, а мы ему и
говорим:
- Слыш, Палыч, мы тут программу написали!
- Чего-чего, программу?
- Она по алгоритму Пуанкаре числа угадывает! (Пуанкаре был приплетен
чисто для понта, дабы сказать что-то типа умное).
- Ну вот задумай целое число от 1 до 100 и компьютер его точно назовет
не более чем с семи попыток.
Раскинув мозгой, Палыч сказал:
- Да ну, фигня, не может быть.
Начальник наш был не то чтобы не дурак, а просто умный мужик и,
безусловно, понимал, что компьютер может что-нибудь вычислить, но вот
угадать - это вряд ли. Семь попыток, конечно, настораживали, но угадать
с семи раз из сотни вариантов - вероятность получается меньше чем 1 из
10, короче Палыч, прокрутив все это в своем математическом мозгу, был
уверен, что мы «свистим».
- Ну вот давай, говори!
Будучи человекам азартным, Палыч вслух называет цифру. Запускается
прога, на экране появляется окошечко с цифрой 50 в виде ответа, ниже два
варианта - "ДА" и "НЕТ" и в самом низу кнопочка "ОК". Ну сама простота.
Ответ 50 неверный. Ставлю мышкой галочку напротив ответа НЕТ и мышкой же
нажимаю на "ОК". Прога выдает новое число, опять не то. Манипуляции
"НЕТ" - "ОК" повторяются, но на пятый раз прога выдает цифирь, названную
Палычем. Палыч произносит:
- Вот, мудаки, да херня это все, случайность, давай еще раз.
Называется новая цифра, прога запускается по-новой, и опять не далее как
с седьмой попытки выскакивает верный ответ. Палыч слегка офигевает, и на
лице его читается напряженнейшая работа мозга. Фокус повторяется раза
четыре, и тут Палыча наконец-то осеняет:
- А ну-ка дай-ка я сам за комп сяду, ну деятели, надуть меня решили, ну
фокусники хреновы!
Садясь за комп, Палыч, смеясь, рассказывает наш «секрет» - прога
работает методом последовательных приближений. Сначала выводится число
50, затем, если задуманное число меньше, чем 50, выводится число 25, а
если больше - 75, ну и так далее. Вы спросите, откуда компьютер понимает
больше оно или меньше, если всегда выбирается ответ "НЕТ"? Элементарно.
Если задуманное число меньше выведенного программой, то после установки
галочки напротив ответа "НЕТ" кнопка "ОК" нажималась мной почти сразу, а
если число было больше, то кнопочка "ОК" нажималась спустя секундную
паузу. Этот временной интервал программа и отлавливала, понимая тем
самым, в какую сторону ей интерполировать, в большую или в меньшую. Со
стороны подвох был не заметен абсолютно, но Палыч был тертый калач.
Естественно он решил, что если за комп сядет он сам, то прога запутается
однозначно, так как он-то ей "подсказывать" не будет.
- Ну, математики, пижоны, думали меня на такую туфту купить?
Не тут-то было. Прога наша отгадывала безупречно, не далее чем с седьмой
попытки. Работа мозга на лице Палыча сменилась легким трансом. Палыч
называл числа как заведенный, тыкал "НЕТ" - "ОК", но прога вновь и вновь
находила верный ответ. Один раз Палыч задумал число, но вслух его не
произнес, и компьютер, по словам Палыча "промахнулся". Мы резонно
заметили ему, что ты, дескать, Палыч просто врешь и просто хочешь
опорочить нашу супер прогу и великого математика Пуанкаре. Крыть ему
было нечем, Палыч вновь назвал число, и прога вновь его прилюдно
угадала. Это был полный финиш. Нутром Палыч понимал, что «сие
невозможно», но прога отгадывала! Реплики типа "Это тебе, Палыч, не в
шахматишки с дурачками играть" как горох сыпались на бедную голову
нашего шефа, а он чувствовал, как тает его авторитет в глазах
коллектива. Дальше - больше. Прога начала отгадывать числа почти сразу,
максимум со второй попытки. После третьего такого "угадывания" Палыч
растерянно бормотнул что-то типа «… она как-то подслушивает …», и это
был «момент истины».
Со словами «да заебался я уже тут щелкать, как дурак» сидевший сзади
Леха извлек из под своего стола «подслушивающее устройство».
Допереть до сути Палыч смог не сразу. Компы в учреждениях только-только
начали появляться, сетей еще и в помине не было, поэтому мысль о том,
что к параллельному порту может быть подключено что-то, кроме принтера,
была в те времена поистине крамольной. А от нашего параллельного порта
отходил толстенный пучек проводов сечением 1 мм. кв (другого не нашли),
и уходил этот пучек под Лехин стол, к тому самому «подслушивающему
устройству». Представляло оно из себя неровно отрезанный кусок фанеры с
криво просверленными отверстиями, в которые были вкручены 8 огромных
тумблеров (ну не было других!). Провода были распаяны таким образом, что
каждый тумблер отвечал за свой разряд двоичного кода числа. Прога наша
действительно работала по методу последовательных приближений, но только
до того как Леха начинал щелкать тумблерами. Программа отлавливала
изменение кода на входе порта и выдавала выставленное тумблерами число
на экран. Заранее мы почти не репетировали, но насобачился Леха довольно
быстро, благо стол его стоял немного сзади стола с монитором, поэтому
ему было видно, что там печатает программа. Когда этот супер пульт, под
дикий хохот был извлечен из под стола, надо было видеть лицо Палыча.
Труды двоих инженеров, старания монтажника и плотника, безусловно,
стоили того. Видя отходящие от фанерки провода, Палыч полез под стол,
потом дальше, дальше… Быстро осознав, куда же тянется этот кабель, шеф
вылез из-под стола и взял наш шедевр в руки. Естественно, Палыч имел
понятия о двоичной арифметике, но чтобы вот так, на фанерке с тумблерами
и толстенными проводами … У Палыча началась истерика. Ржал он громче
всех, но увлекаться программированием больше нам не советовал.