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