Чаинка (tchainka) wrote,
Чаинка
tchainka

Интеграл сумки


В комментариях к одному недавнему посту melipharo сказала: Я никак не постигну принцип, по которому организм определяет, что ему нужно и пригодится, а что – нет. К примеру, он считает, что Кейптаун с Моне ему не повредят, а вот биквадратные уравнения и функции - нафиг не уперлись. По этому поводу мне тут же вспомнился один случай из собственной практики. Делюсь.

***

Накануне мы спихнули большой проект, и по этому поводу я, как и весь наш отдел, не приходя в сознание сидела за своим компьютером, расслабленно раскладывала пасьянс и думала о чем хотела. А хотела я сумку. Черную. И обязательно кожаную.

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

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

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

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

Пока я задумчиво созерцала неберущийся интеграл, дверь открылась, и в помещение вплыл сисадмин Саша. Сейчас все мы знаем, как положено выглядеть мифическим сисадминам из анекдота, а в те древние времена представление об этом еще только складывалось. В любом случае наш сисадмин был достойным представителем класса – маленький, лохматый, меланхоличный, слегка не от мира сего. Он никогда никуда не торопился и на работе возникал непосредственно перед обедом (а кстати, не пора ли уже?..). Ко мне он, скажем так, благоволил. Причин было как минимум две: во-первых, я не задавала вопросов типа "Са-а-аш, а че это за фигня?", если речь в самом деле шла о фигне, а во-вторых, я тоже читала "Властелина колец" и все остальное. Сисадминское благоволение выражалось в появлении слова "ПРИВЕТ!!!" на моем мониторе каждый раз после ввода пароля, а также в бесперебойной поставке историй о драконах и принцах как на бумаге, так и на дискетах.

Саша плюхнулся на соседний стул и сказал "ПРИВЕТ!!!" в точности так же, как это выглядело у меня на экране.

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

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

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

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

- А по-нормальному не получится? - спросил он осторожно.
- По-нормальному – это как?
- Ну как, как... По частям. Заменой переменных.
- Не получится. Это эллиптическая функция, - терпеливо объяснила я.
- И что? - все же, по-видимому, Саша в своих пяти вузах матанализа на один полный курс не насобирал.
- А то, что "замена" и "по частям" тут не поможет. Не берется этот интеграл. Надо программку написать. Сможешь?
- А как?
- Что значит "как"? Кто из нас, в конце концов, тут программист на живых и мертвых языках? Интегралов не видел, что ли? Берешь, суммируешь. Точность меня устроит до первого знака после запятой. Ну что, сделаем?
- Нет, ты сначала мне объясни, как это надо делать.

Ну начинается. Прямо как в армейском анекдоте - "я за вас свою работу делать не буду".

- Да ладно, Александер, хрен с ним тогда, спасибо, не надо.

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

- Я и точнее могу, - гордо пояснил он. – Ты только скажи.
- Спасибо, Александер, - сказала я с чувством. – Уже и так достаточно хорошо. Ты меня очень выручил. До первого знака я уж, так и быть, сама округлю, не трудись.
- Да ладно, - скромно отмахнулся Саша. – Если еще какую прогу написать, я завсегда. А вообще, зачем тебе это было надо?

И я объяснила. Про выкройку сумки, ага. Черной, кожаной, из кусочков.

Я не буду подробно описывать эффект, который возымело мое объяснение. Скажу только, что я и впредь, пока работала в той конторе, не испытывала недостатка в слове "ПРИВЕТ!!!" на мониторе и во всех дальнейших частях разных историй о принцах и драконах вместе и по отдельности. А крутая суперновая винда 3.11 у меня на компе появилась даже раньше, чем у начальника отдела.

Так что некоторые функции, в частности, эллиптические, для жизни бывают очень даже полезны.

P.S. В порядке предупреждения возможных вопросов: вывод формулы воспроизвести не смогла. Нет, я не разучилась. Просто сейчас мне совершенно не хочется такую сумку.
Tags: восемь прошлых жизней
Subscribe
  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 100 comments
Previous
← Ctrl ← Alt
Next
Ctrl → Alt →
Previous
← Ctrl ← Alt
Next
Ctrl → Alt →