KnigaRead.com/
KnigaRead.com » Приключения » Путешествия и география » Алекс Экслер - Американская ария князя Игоря, или История одного реального путешествия

Алекс Экслер - Американская ария князя Игоря, или История одного реального путешествия

На нашем сайте KnigaRead.com Вы можете абсолютно бесплатно читать книгу онлайн Алекс Экслер, "Американская ария князя Игоря, или История одного реального путешествия" бесплатно, без регистрации.
Перейти на страницу:

Сергей молча протянул листок с написанным кодом.

– Только должен тебя огорчить, – торжествующе сказал парень, не заглядывая в бумагу. – У нас тут не какой-то вшивый Basic. У нас тут Modula 2. Так что все надо переписывать.

Сергей промолчал.

Парень, подхихикивая, поднес листок к глазам. Посмотрел на код и поскучнел.

– А, – сказал он вяло, – у тебя уже на Modula? Ну, садись тогда, – и парень махнул рукой на ближайший к нему терминал.

Сергей устроился за клавиатурой, положил рядом текст программы и начал вбивать код. После того как все было перенесено, он запустил интерпретатор, и тот тут же выдал ошибку в самой первой строчке программы. Сергей нахмурился. Там точно не было никакой ошибки. Но он на всякий случай попробовал то так, то сяк изменить написание – пробел вставить, «оператор» написать маленькими буквами – мало ли что. Но это не помогало, интерпретатор упорно выдавал ошибку. Пришлось обращаться за помощью к парню, хотя Сергею это делать совершенно не хотелось.

Парень, поправив очки, посмотрел код на экране, торжествующе улыбнулся и сказал:

– Ну так ты «операторы» неправильно пишешь!

– Как это неправильно? – удивился Сергей. – Что там неправильного?

– Ну так у тебя написано CONST, VAR, PROCEDURE, BEGIN, WRITELN и так далее, – так же торжествующе сказал парень, – а так нельзя!

– Вообще-то, Никлаус Вирт, разработчик этого языка, – заметил Сергей, – считает, что именно так эти «операторы» и должны писаться. Впрочем, конечно, может, он ошибается, тогда ты его поправь.

– Чтобы можно было выводить русский текст, – объяснил парень, – нужно эти «операторы» писать по-русски. И переменные все по-русски. Вообще не должно быть никаких латинских символов – тогда интерпретатор не будет ругаться. Пиши КОНСТ, ВАР, ПРОЦЕДУРЕ, БЕГИН, ВРИТЕЛН.

– Ты что, серьезно? – потрясенно спросил Сергей.

Парень сделал гордое выражение на лице.

– Ну так учись, – сказал он. – Что бы ты без меня делал!

– А какой мудак, – все так же потрясенно спросил Сергей, – сотворил такой интерпретатор? Что, нельзя было подключить обе половины кодовой таблицы и при обработке русского просто переключаться на вторую половину? Там же русский только для текстовых переменных нужен. На черта такой геморрой с языком устраивать?

Парень скривился.

– Это я вообще-то отлаживал интерпретатор, – заявил он. – Только благодаря мне теперь по-русски можно что-то выводить. Если ты такой умный, делай свой.

– Вот тут извиняй, – сказал Сергей, – у меня в этом заведении другие задачи. Ты уж как-нибудь сам. Но я тебе, старичок, на будущее рекомендую все-таки не искать легких путей, которые на самом деле очень тяжелые. Это же надо было так интерпретатор изуродовать…

– Во-во, явился умник, – пробурчал парень, вставая из-за своего терминала. – Если ты такой умный, – сказал он, – тогда сам тут и колупайся. Мне идти пора.

– Удачи, – сказал Сергей, надеясь, что дальше он сам как-нибудь разберется.

Парень ушел. Сергей еще два часа отлаживал программу, заменяя все операторы этими идиотскими русскоязычными «аналогами». Но так как аналоги придумывал ушедший начальник машины, а его сознание страдало потерей контакта с окружающей действительностью, Сергею пришлось изрядно попотеть, перебирая кучу самых дурацких вариантов написания тех или иных операторов. Проблема была еще в том, что количество символов в русских и английских названиях операторов должны были совпадать. Поэтому он потратил минут двадцать на то, чтобы выяснить, как в русском варианте должен выглядеть оператор WHILE. Оказалось, что ВХИЛЕ. Определив это, Сергей дал себе страшную клятву, что на следующей день он принесет сюда молоток и даст начальнику машины по башке изо всех сил – ну просто чтобы этот гад больше не смог нести в мир такой программный кошмар.

Впрочем, начальник машины, видимо, почувствовал, что Сергей по отношению к нему почему-то не испытывает должного уважения, не говоря уж о раболепии, поэтому все последующие дни в то время, когда Сергей приходил в машинный зал, парень там не появлялся.

В конце концов Сергей более или менее освоился с этим идиотским интерпретатором, поэтому смог отладить программу и получить результаты. Распечатав текст программы, он посмотрел на него и грустно вздохнул: выдавать эти два листочка за диплом было просто неприлично.

Тогда он занялся тщательным документированием кода: писал в тексте, что означает каждая переменная и где она используется, зачем вводится этот цикл и что служит условием его прекращения, – в общем, на каждую строчку кода сделал две-три строчки комментариев. Текст увеличился до четырех листочков, но на диплом по-прежнему не тянул.

С этим надо что-то делать, решил Сергей, после чего взялся за код, засучив рукава. Он ввел штук двадцать новых переменных и констант, а потом начал набивать программу совершенно бессмысленными процедурами и циклами, которые занимались решением глубоко личных задач – например, подбором результата вычисления корня из заданного числа путем его подгонки к результату возведения в квадрат стартового числа, постепенно увеличивающегося на сотую долю. Также в текст вошла любимая Сергеем процедура расчета биоритмов, а потом, раздухарившись, Сергей добавил в код еще и классную процедуру очень непростого расчета движения Луны – туда входил прелестный полином, который сразу стал жемчужиной этой многострадальной программы. Одновременно приходилось следить, чтобы все эти вскипающие то здесь, то там процедуры и циклы не мешали выполнению главного уравнения и при этом смотрелись солидно и внушительно. После этих шаманских действий программа уже стала походить на диплом – аж десять страниц кода.

Далее Сергей вспомнил об обычных школьных ухищрениях, которые всегда используются в подобных случаях: поля сверху, снизу, слева и справа на страницах нужно увеличить в 3–5 раз, шрифт увеличить до 14 кегля, а расстояние между строк сделать через три интервала. Распечатал. Программа теперь занимала тридцать шесть страниц, и ее уже было не стыдно показать кому угодно – разумеется, при условии, что этот человек ни черта не понимает в программировании.

Впрочем, специалисты текст также оценили – Сергей показал его знакомому студенту, с которым они сдружились на вычислительном центре института, и тот, посмотрев код, ржал минут двадцать.

На все эти манипуляции ушло не больше недели, а до окончания диплома оставалось больше двух месяцев. Тогда Сергей решил для красоты еще и графики по результатам построить. Но выяснилось, что машина не имеет графического режима как класса – только текстовый. Ну, текстовый так текстовый, решил Сергей, после чего сделал несколько листов с распечатками графиков, которые создавались с помощью псевдографических символов.

Перейти на страницу:
Прокомментировать
Подтвердите что вы не робот:*