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