Ошибка на ошибке
Дуров Алексей
Инспектор Климов сочувственно смотрел на Скляра. Кто-то удивится: человек отправил неизвестно куда звездолет с сотней пассажиров, как можно ему сочувствовать? Но уж очень измученным и напуганным выглядел Скляр.
В сущности, программист не слишком виноват. Вирус съел весь софт гипернавигатора «Виверры», Скляр поставил другой, вирусоустойчивый, но в нем не хватало подпрограммы курсопрокладчика, пришлось писать ее вручную. Написал, только отладить не успел — выдернули на авральную работу. А диспетчер решил, что, раз программист пришел, поработал и ушел, значит, с гипернавигатором «Виверры» все в порядке, и выпустил ее в рейс. И она исчезла, да так основательно, что — редчайший случай — не могут выследить даже по кильватерному следу. А на борту ровно сто человек в анабиозе, и ресурса криокамер осталось на двое суток. Есть еще скафандры — значит, люди будут убивать друг друга за кислород. Ведь в наше время к управлению звездолетом без специального допуска не подступишься, только автоматике доверяют пилотировать — слишком много катастроф случалось из-за человеческих ошибок. Да и в теперешнем кризисе виноваты люди — программист и диспетчер. Хотя со Скляром не все до конца понятно. Сначала подозревали, что он нарочно подпортил гипернавигатор, тем более компьютеры выдавали вероятность преступного умысла в семьдесят два процента. Не подтвердилось: Скляр здорово испугался, узнав, что «Виверра» исчезла, охотно сотрудничал. Все пароли раскрыл и согласился на детектор лжи, после которого компьютеры изменили мнение: теперь выдавали вероятность девяносто девять процентов с гаком, что звездолет исчез из-за ошибки в программе. Выяснить бы, что там Скляр напортачил, тогда, возможно, и пропавший корабль найдется. Гипернавигатор улетел вместе с «Виверрой», но Скляр остался, и его крепко взяли в оборот — допрашивали под гипнозом. Самое главное — вытянули из его памяти злополучную подпрограмму курсопрокладчика. Но ошибок, способных увести звездолет не туда, в ней найти не могут, хотя уже сутки ищут. Полтора десятка программистов, и Скляр один из них — пялится на экран осоловевшими красными глазами, бормочет что-то, руками разводит, головой трясет.
А Климов задумался: правы ли компьютеры? Если в подпрограмме ошибка, то почему ее до сих пор не нашли? Какой-то там «дважды закрытый комментарий» — не ошибка, а так, нарушение обычаев — увидели в первый же час, причем все, и Скляр тоже.
Заиграл сигнал вызова, Климов вздрогнул. А Скляр вообще подпрыгнул, в глазах — даже не надежда, мольба. Если «Виверру» не найдут, то может случиться не сто смертей, а сто одна: как опасался присутствовавший на допросах психолог, Скляр попробует покончить с собой. Одной проблемой больше...
Звонил Чен — один из тех, кто тоже ищет ошибку. Без новостей, с одним только раздражением:
— Ну что там этот, ничего больше не вспомнил?
— А вы ничего не нашли? — как можно спокойнее спросил инспектор. — В таком случае не отвлекайте. Или что-то есть?
Чен не отвечал. Зато донесся приглушенный мужской голос — кто-то там был рядом с Ченом:
— А почему я не могу найти в списках кораблей «Сверхновую»?
Ответил другой голос, женский:
— Потому что «Сверхновая» пишется без пробела, грамотей!
Скляр неожиданно встрепенулся:
— Пробел?! — развернулся к экрану, ударил по клавишам. И коротко рассмеялся. Истерично. Рехнулся от волнения? Или — нашел?..
— Я знаю, в чем дело! — заявил Скляр. — Кажется... Вот, смотрите!
Инспектор увидел строчку: «Kurs.EndCoord=xyz_Prev».
— Это в курсопрокладчик записываются предыдущие координаты, — взахлеб объяснял Скляр. — А я после «энд» пробел поставил. В прошлой версии программной оболочки контрол-пробел нажимают, чтобы... в общем, удобно иногда, но в этой другое сочетание... Под гипнозом я же голосом говорил, устно, пробелов не слышно. И записали слитно. А так получилось... «курс-энд» значит, что подпрограмма курсопрокладчика закрывается раньше времени, «коорд» — целевые координаты, то есть — куда лететь.
— А «икс-игрек-зет» — набор координат?!
— Ну да, структурная переменная…
— И где это?!
— Ну... предыдущие координаты. Там, откуда прилетела.
— С Фальстафа. И ясно, почему по кильватерному следу не могут найти — она же, выходит, по собственному следу улетала! Слились следы.
Инспектор уже вызывал начальство. Все подтвердилось за пять минут: еще позавчера прилетел с Фальстафа беспилотный грузовик и он, оказывается, записал радиопозывные «Виверры». Но никому не сказал, потому что не был на это запрограммирован.
Скляр широко улыбался. Самоубийство отменяется.
Инспектор вздохнул:
— А если бы на «Виверре» был пилот...