Алекс Экслер - Американская ария князя Игоря
- Название:Американская ария князя Игоря
- Автор:
- Жанр:
- Издательство:неизвестно
- Год:неизвестен
- ISBN:нет данных
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Алекс Экслер - Американская ария князя Игоря краткое содержание
Американская ария князя Игоря - читать онлайн бесплатно ознакомительный отрывок
Интервал:
Закладка:
- Але, - громко сказал Сергей, - на борту! Тут вообще жизнь есть какая-нибудь или нет? Или мне за любой терминал садиться?
Тут парень наконец-то соизволил оторваться от клавиатуры и уставился тусклым взглядом на Сергея.
- Садиться здесь можно только туда, куда я укажу, - заявил парень каким-то скрипучим и очень противным голосом. - Я тут - начальник машины.
- Поздравляю, - сказал Сергей. - Тогда укажи, куда можно сесть. И я сяду, - объяснил он, стараясь говорить очень короткими и односложными фразами. - Кстати, - сказал он, показывая пальцем на кружку, которая внутреннюю белизну давно поменяла на нечто темно-коричневое, - а ты вообще в курсе, что человечество уже изобрело соду?
Парень на вопрос о соде никак не отреагировал и начал задумчиво ковырять пальцем в волосах. Видимо, он никак не мог решить вопрос, за какой из девяти свободных терминалов можно посадить этого нахального неофита.
- А что делать-то будешь? - наконец спросил он Сергея.
- Диплом программировать, - объяснил тот. - Жутко сложное уравнение. Строк на десять.
- Я тебе программу писать не буду, - объяснил парень. - У меня времени нет - работы по горло. Ну то есть, если что, могу и написать, но сам понимаешь, работа серьезная, требует всякого… - он замялся, - сопровождения и так далее. Программировать - это тебе не бидоны возить. Тут башка знаешь как соображать должна? Обычный человек…
- Не надо мне ничего писать, - прервал его Сергей. - Программу я написал, надо просто вбить код, прогнать через интерпретатор, получить результаты и распечатать код вмеcте с результатами.
- Дай посмотреть, - требовательно сказал парень, протягивая руку за текстом программы.
Сергей молча протянул листок с написанным кодом.
- Только должен тебя огорчить, - торжествующе сказал парень, не заглядывая в бумагу. - У нас тут не какой-то вшивый Basic. У нас тут Modula 2. Так что все надо переписывать.
Сергей промолчал.
Парень, подхихикивая, поднес листок к глазам. Посмотрел на код и поскучнел.
- А, - сказал он вяло, - у тебя уже на Modula? Ну, садись тогда, - и парень махнул рукой на ближайший к нему терминал.
Сергей устроился за клавиатурой, положил рядом текст программы и начал вбивать код. После того как все было перенесено, он запустил интерпретатор, и тот тут же выдал ошибку в самой первой строчке программы. Сергей нахмурился. Там точно не было никакой ошибки. Но он на всякий случай попробовал то так, то сяк изменить написание - пробел вставить, "оператор" написать маленькими буквами - мало ли что. Но это не помогало, интерпретатор упорно выдавал ошибку. Пришлось обращаться за помощью к парню, хотя Сергею это делать совершенно не хотелось.
Парень, поправив очки, посмотрел код на экране, торжествующе улыбнулся и сказал:
- Ну так ты "операторы" неправильно пишешь!
- Как это неправильно? - удивился Сергей. - Что там неправильного?
- Ну так у тебя написано CONST, VAR, PROCEDURE, BEGIN, WRITELN и так далее, - так же торжествующе сказал парень, - а так нельзя!
- Вообще-то, Никлаус Вирт, разработчик этого языка, - заметил Сергей, - считает, что именно так эти "операторы" и должны писаться. Впрочем, конечно, может, он ошибается, тогда ты его поправь.
- Чтобы можно было выводить русский текст, - объяснил парень, - нужно эти "операторы" писать по-русски. И переменные все по-русски. Вообще не должно быть никаких латинских символов - тогда интерпретатор не будет ругаться. Пиши КОНСТ, ВАР, ПРОЦЕДУРЕ, БЕГИН, ВРИТЕЛН.
- Ты что, серьезно? - потрясенно спросил Сергей.
Парень сделал гордое выражение на лице.
- Ну так учись, - сказал он. - Что бы ты без меня делал!
- А какой мудак, - все так же потрясенно спросил Сергей, - сотворил такой интерпретатор? Что, нельзя было подключить обе половины кодовой таблицы и при обработке русского просто переключаться на вторую половину? Там же русский только для текстовых переменных нужен. На черта такой геморрой с языком устраивать?
Парень скривился.
- Это я вообще-то отлаживал интерпретатор, - заявил он. - Только благодаря мне теперь по-русски можно что-то выводить. Если ты такой умный, делай свой.
- Вот тут извиняй, - сказал Сергей, - у меня в этом заведении другие задачи. Ты уж как-нибудь сам. Но я тебе, старичок, на будущее рекомендую все-таки не искать легких путей, которые на самом деле очень тяжелые. Это же надо было так интерпретатор изуродовать…
- Во-во, явился умник, - пробурчал парень, вставая из-за своего терминала. - Если ты такой умный, - сказал он, - тогда сам тут и колупайся. Мне идти пора.
- Удачи, - сказал Сергей, надеясь, что дальше он сам как-нибудь разберется.
Парень ушел. Сергей еще два часа отлаживал программу, заменяя все операторы этими идиотскими русскоязычными "аналогами". Но так как аналоги придумывал ушедший начальник машины, а его сознание страдало потерей контакта с окружающей действительностью, Сергею пришлось изрядно попотеть, перебирая кучу самых дурацких вариантов написания тех или иных операторов. Проблема была еще в том, что количество символов в русских и английских названиях операторов должны были совпадать. Поэтому он потратил минут двадцать на то, чтобы выяснить, как в русском варианте должен выглядеть оператор WHILE. Оказалось, что ВХИЛЕ. Определив это, Сергей дал себе страшную клятву, что на следующей день он принесет сюда молоток и даст начальнику машины по башке изо всех сил - ну просто чтобы этот гад больше не смог нести в мир такой программный кошмар.
Впрочем, начальник машины, видимо, почувствовал, что Сергей по отношению к нему почему-то не испытывает должного уважения, не говоря уж о раболепии, поэтому все последующие дни в то время, когда Сергей приходил в машинный зал, парень там не появлялся.
В конце концов Сергей более или менее освоился с этим идиотским интерпретатором, поэтому смог отладить программу и получить результаты. Распечатав текст программы, он посмотрел на него и грустно вздохнул: выдавать эти два листочка за диплом было просто неприлично.
Тогда он занялся тщательным документированием кода: писал в тексте, что означает каждая переменная и где она используется, зачем вводится этот цикл и что служит условием его прекращения, - в общем, на каждую строчку кода сделал две-три строчки комментариев. Текст увеличился до четырех листочков, но на диплом по-прежнему не тянул.
С этим надо что-то делать, решил Сергей, после чего взялся за код, засучив рукава. Он ввел штук двадцать новых переменных и констант, а потом начал набивать программу совершенно бессмысленными процедурами и циклами, которые занимались решением глубоко личных задач - например, подбором результата вычисления корня из заданного числа путем его подгонки к результату возведения в квадрат стартового числа, постепенно увеличивающегося на сотую долю. Также в текст вошла любимая Сергеем процедура расчета биоритмов, а потом, раздухарившись, Сергей добавил в код еще и классную процедуру очень непростого расчета движения Луны - туда входил прелестный полином, который сразу стал жемчужиной этой многострадальной программы. Одновременно приходилось следить, чтобы все эти вскипающие то здесь, то там процедуры и циклы не мешали выполнению главного уравнения и при этом смотрелись солидно и внушительно. После этих шаманских действий программа уже стала походить на диплом - аж десять страниц кода.
Читать дальшеИнтервал:
Закладка: