litbaza книги онлайнНаучная фантастикаМальчик, который уничтожил мир - Дженни Росса

Шрифт:

-
+

Интервал:

-
+

Закладка:

Сделать
1 ... 36 37 38 39 40 41 42 43 44 ... 86
Перейти на страницу:
Театр! Я за всю жизнь столько по театрам не ходил. Зато обедали в приличных ресторанах. Наш руководитель не соглашалась на обычный общепит.

Наконец началась олимпиада. Согнали кучу ботанов-студентов в актовый зал. Рассадили всех за парты и выдали задание. В первый день выдали задания по математике: сложение, вычитание, умножение и деление. Вроде бы просто, но числа в двоичной, восьмиричной и шестнадцатиричной системе исчисления. Ещё и в 64 разряда, чтоб калькуляторами не пользовались. Даже в самых крутых калькуляторах цифр не хватит число ввести.

Не зная метода решения таких математических примеров, даже компьютер не поможет. А если знаешь, как решать, то всё сводиться к умению оперировать в нестандартной системе исчисления. Не можешь F прибавить к A в уме, то переводи в десятичную систему, прибавляй и переводи обратно. Ничего сложного, только время уходит уйма.

Я две третьи задания решил «на ура». А вот с восьмиричной системой исчисления пришлось повозиться — не используется она в программировании.

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

Только после того как сцену покинул мальчик, рассказавший стих про родину, нам огласили результаты олимпиады. Как и ожидалось, первое место мы не заняли. Хотя в пятёрку вошли. Всё-таки кучка гиков и задротов понаехала. Как я вообще здесь оказался? Неужели я такой же?!

Дальше всё было так, как распланировала Марина Вадимовна. Обед. Экскурсия по городу. Ужин. Секс, но только в моем личном расписании. Сколько бы студенты не слушали наши стоны и скрип кровати, сами оставались равнодушны друг к другу. До сих пор общаются как незнакомые люди.

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

Для работы на каждом столе стояло по компьютеру, с установленным на нем «борланд С». Вот такие вот древности!

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

Третий день был посвящён работе с массивами. И тут уже проверялась скорость работы программы. Необходимо было отсортировать все элементы базы данных, и как оказалось способов сортировки несколько десятков. Вот сам бы никогда не подумал! И побеждала та команда, которая составит самый скоростной код программы. Вот тут и пригодились мои познания в ассемблере. Так как язык С позволяет делать фрагменты кода на низкоуровневом языке, то и правила при этом не нарушаются. Но вот только немногие знают об этой лазейке, а кто знает, тот не умеет. В состязании счет идет на миллисекунды, и моя программа оказалась самой скоростной. Ну почти… Только один хитрец меня обогнал, но только за счет того, что его программа обрабатывала только половину массива. Как результат, она быстрей в два раза среднего показателя. Но читер и не подумал, что будут сверять правильность результатов работы программы. На этом он и запоролся. Похлопал невинно глазками, сказал «Ой, ошибся!». Мне хотелось его убить за такую наглость, а его только пожалели. Сказали «Ошибся? С кем не бывает!». Ну, хоть в хвост рейтинга скинули мошенника. И я красовался в лидерах общего соревнования. Так же наша команда была первой по среднему времени. Хоть и наши студенты были в середине рейтинга. Но я — молодец. Я нас всех вытянул.

В тот вечер меня ещё и Маша наградила за заслуги. Чуть не сломали кровать!

Следующее задание было на вычисление числа ПИ до миллионного знака. Я сразу заявил, что это бред. Так как этим занимаются, только чтоб крутость компьютера проверить. Алгоритм давно отработан, оптимизирован и выложен в интернет. А нормальные программисты не в курсе, по каким хитрым формулам это всё рассчитывать.

Моё возмущение многие подержали, и мы дружно сломали систему. Организаторы разрешили пользоваться интернетом. Но только для поиска формулы. Нажатием одной кнопочки у всех появился интернет.

Писать код никто не стал, просто скачали. Победила дружба! Все были рады, ну кроме организаторов. Программу тестировали на скорость, но она (и скорость, и программа) оказалась у всех одинакова.

Последний день был уже более продуманный. На стенде были написаны формулы из геометрии. Уравнение прямой, круга и кривой Безье. Каждое уравнение было с пояснительным рисунком, и кратким описанием.

Задание подразумевало коллективную работу. И, похоже, это наше слабое место. Так как коллектив из нас никакой. Нам выдали данные записанные в массив, а из него мы должны получить картинку. Если с кругом ещё понятно: центр и радиус. То с кривой Безье пришлось поломать голову.

Я как лидер группы распределил обязанности. Девочка-мышь (так и не запомнил, как зовут) делала модуль отрисовки круга по данным из массива. Мальчику отдал кривую Безье. Сам же взял себе прямую и общий алгоритм обработки. Накидал им формат входящих данных и исходящих. И мы дружно взялись за работу.

Первой закончила работу мышь. Так как у меня ещё не был готов главный модуль, чтоб проверить работу, то отправил её помогать мальчику. Ну, или стоять над душой — как получится. Сам же мучился с прямой. То ещё занятие! Прямую горизонтальную или вертикальную линию нарисовать легко. Чуть сложней произвольную в пространстве. И совсем сложно по математическим формулам, и неизвестным данным. Нарисовалась одна линия — а я не знаю, так она должна выглядеть или нет.

Вроде сделал, и какой-то рисунок получил из прямых. Но стоило прилепить модуль мыши, как всё пошло к чёрту. Наши рисунки не стыковались. Проверил её — всё верно! Проверил себя — не учёл минус в формуле, и все оказалось зеркально. Поправил и подоспели кривые Безье. Прилепил, и опять не сходится. Этот черт входящие точки местами перепутал! И это «перепутал» мы втроём пятнадцать минут искали. Когда нашли, я ему зарядил подзатыльник за невнимательность, а хотелось дать в глаз.

Как результат, у нас получилась картина. Линиями, кружочками и кривыми был нарисован мотоциклист, едущий по автостраде. Мы тут же подали знак,

1 ... 36 37 38 39 40 41 42 43 44 ... 86
Перейти на страницу:

Комментарии
Минимальная длина комментария - 20 знаков. Уважайте себя и других!
Комментариев еще нет. Хотите быть первым?