↓
 ↑
Регистрация
Имя/email

Пароль

 
Вход при помощи VK ID
временно не работает,
как войти читайте здесь!
Размер шрифта
14px
Ширина текста
100%
Выравнивание
     
Цвет текста
Цвет фона

Показывать иллюстрации
  • Большие
  • Маленькие
  • Без иллюстраций

Байки из лаборатории (джен)



Автор:
произведение опубликовано анонимно
 
Ещё никто не пытался угадать автора
Чтобы участвовать в угадайке, войдите

Если вы не зарегистрированы, зарегистрируйтесь
Фандом:
Рейтинг:
General
Жанр:
Повседневность
Размер:
Мини | 10 662 знака
Статус:
Закончен
 
Проверено на грамотность
В одну лабораторию химического факультета пришёл поработать студент — математик и немножко программист.
QRCode
↓ Содержание ↓

↑ Свернуть ↑

Первый год. Таблица

Добрую половину комнаты занимала непонятная установка, в основном состоящая из тонкостенных стеклянных баллонов и трубочек. Из такого количества баллонов и трубочек… Пожалуй, одного магазина к «калашникову» не хватило бы, чтобы всё это перебить. Студент фыркнул про себя и покрутил головой, отгоняя непрошенные мысли насчёт неспровоцированного вандализма.

— Нравится? — местное непосредственное начальство, к счастью, телепатией не владело. — Вот тут основной наш эксперимент и проводится… Только сейчас у нас другая задача, и решать её мы будем не здесь.

Где-то в недрах установки хлопнул импульс углекислотного лазера. Инфракрасные фотоны врезались в газовую толчею… Хотя «толчея» — это громко сказано, давление в реакторе было в сотни раз ниже атмосферного, и большая часть квантов невидимого света пролетела его насквозь. Но некоторые всё-таки встретились с летавшими там молекулами, и их энергия перешла сначала в энергию молекулярных колебаний, а потом и в тепловую энергию газовой смеси — а проще говоря, подогрела её. Впрочем, об этих хитрых термодинамических историях студент не думал, да и не знал толком ничего. Он был всего лишь математиком и немного программистом.

В соседнем помещении на рабочем столе расположилась персональная ЭВМ: широкий системный блок, взгромоздившийся сверху куб дисковода с двумя карманами, небольшой монитор. И, разумеется, клавиатура с понятными и не очень понятными обозначениями на клавишах. В частности, для чего могли бы пригодиться кнопки «ПФ4» или «АР2», студент не знал. Именно на этой машине и должна была работать программа, моделирующая тот самый процесс светового подогрева — от поглощения первых фотонов до полного перехода их энергии в тепло.

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

ЭВМ — она тупая. Что написано в программе, то и выполнит.

— …Ну что? Есть идеи, как ускорить работу?

Студент задумался:

— А это самое число сочетаний фотонов с молекулами, которое мы так долго вычисляем, оно считается заново каждый раз?

— Ну да.

— А зачем? Давайте сделаем так: в начале программы заранее заполним таблицу для всех возможных параметров… Это же за один проход сделать можно! А потом каждый раз, как вам понадобится значение, не будем его заново вычислять, а прямо из таблицы достанем.

— Что, вот так просто?! И ты сможешь нужную функцию переписать?

— А описание языка есть?

— Вот! — на столе появилась книжка в серо-голубоватой мягкой обложке.

— Тогда смогу, — студент пожал плечами. — Только покажите, как тут редактировать, как компилировать и как запускать.


* * *


— Ну что, как там твой студент?

— Диверсант! Внутренний враг!

— Да? А подробнее?

— Вот как раньше было? Приду на работу, включу машину, запущу счёт… Пойду в бассейн поплаваю, пойду в столовую пообедаю, вернусь в лабораторию, подожду ещё полчасика — машина досчитает, можно смотреть, что там у неё получилось…

— А теперь?

— А теперь за минуту справляется! Какой там бассейн — с тобой перекурить времени не хватает!

Глава опубликована: 30.04.2026

Второй год. Публикация

Инфракрасный свет ударил по газовой смеси. Та резко нагрелась, молекулы стали ударяться друг о друга намного сильнее, чем на холоде. И часть этих молекул начала разваливаться на части, а потом объединяться уже в других сочетаниях. Пошла химическая реакция…

Лазерный луч — неоднородный. Где-то он сильнее, где-то слабее. Неравномерным был и нагрев. Чем выше устанавливалась температура, тем быстрее в этой зоне носились молекулы газа, тем сильнее были их удары, тем больше был шанс, что энергии столкновения хватит, чтобы разбить молекулу. Тем быстрее шла реакция…

Объём реактора невелик, давление в нём низкое, вещества в нём мало, стенки у него холодные — ведь на них лазер не светил. Не прошло и секунды, как смесь остыла и реакция остановилась. Вот только состав этой самой смеси оказался уже не совсем таким, как до светового удара.

То, что получилось, загнали в хроматограф и замерили, сколько там осталось исходного вещества и сколько образовалось продуктов. Записали результат. Поставили ещё одну точку на графике. Продули реактор, заполнили его свежей порцией газов. Чуть-чуть сдвинули настройку лазера, немножко изменили энергию его импульса. И повторили опыт. И ещё раз. И ещё много раз…

Единственный способ исключить случайную ошибку — это набрать хорошую статистику.

Студент на установке не работал. Перед ним поставили другую задачу: смоделировать процесс на ЭВМ и вычислить энергию активации реакции — ту самую минимальную энергию, которая нужна, чтобы молекула начала рассыпаться на части.

С самой моделью всё было понятно. Как лазерный импульс греет смесь в реакторе, известно — это начальные условия. Стенки всегда комнатной температуры, даже очень горячий газ подогреть их не сможет, слишком его мало — это граничные условия. Как остывает смесь, можно посчитать — на то есть уравнение теплопроводности. Как идёт реакция… И это тоже можно посчитать. При единственном условии: надо знать энергию активации этой самой реакции. Тот самый параметр, который нам и надо определить.

Значит, что? Значит, придётся заняться гаданием. Но, разумеется, не на кофейной гуще, а на твёрдой научной основе. Берём некий разумный интервал, в который нужное нам число наверняка попадёт, с запасом. Делаем расчёты — с одним значением, с другим, с третьим… Смотрим, какой насчитали результат, сравниваем с опытными данными, вычисляем отклонение. Где оно минимально — там нужное значение параметра и есть. Но считать нам — не пересчитать…

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


* * *


— Ну что… Очень у нас неплохая работа получилась, шеф доволен. И доклад успешный, и статью наши американские коллеги приняли.

— А зачем ты меня в американской статье доктором назвал? Я ведь и не кандидат ещё…

— Ну, во-первых, с такими успехами в своих расчётах ты наверняка скоро защитишься. Во-вторых, у буржуев «доктор» — это как раз вроде нашего кандидата. А в‑третьих, написать про тебя «профессор» было бы нескромно.

— Угу… А вот про студента нашего везде сказано, что он студент!

— И правильно. Все, кому надо, знают: если среди авторов серьёзной научной работы есть студент, значит, он и сделал основную часть. А прочие — это его руководители.

Глава опубликована: 30.04.2026

Третий год. Дерево

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

Текст программы подруга принесла на четырёх страницах. И объясняла, пока студент набивал его в редакторе, глядя то в бумаги, то на экран:

— Главная часть вообще-то на второй и третьей, первая — это ввод формулы и построение дерева, последняя — это распечатка результата. Насчёт ввода и вывода я уверена, там всё просто. А вот сама обработка, когда всё это дерево нужно в определённой последовательности обойти и по-хитрому преобразовать, это уже сложно… Две недели потратила!

Студент понимающе кивнул. На кафедрах кибернетического потока, в отличие от чисто математических и чисто программистских, частенько возились с изрядно замороченными вещами, именуемыми то «графами», то «цепями», то «автоматами», причём иногда даже «магазинными»… Его собственная курсовая, сводившаяся к написанию нескольких ассемблерных прокладок между процедурами на двух разных языках программирования, по сравнению с этой многоуровневой структурой выглядела полной элементарщиной. Чего там — перед вызовом функции достать пару значений по указанным адресам памяти и положить в стек, а после возврата очистить стек и переложить результат из регистра в нужную ячейку памяти…

— Ну что, готово? Давай попробуем запустить!

И программа заработала… Но заработала, как это обычно и бывает со свеженаписанными программами, куда-то не туда. Нет, исходную формулу она благополучно прочла; и дерево построила правильно (это проверили особо); и то, что у неё вышло после обработки пресловутого дерева, честно вывела. Но вышел у неё при этом редкостный бред, который, по словам подруги, из исходных данных ну никак не следовал.

Где у неё могла проскочить ошибка, она понятия не имела. Студент с тоской поглядел на две страницы программного кода… Чужого… На языке Си, одном из самых нечитабельных языков высокого уровня… И вздохнул:

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

Выслушал объяснение, немного подумал и принял решение:

— Так, отлаживать эти две страницы мы не будем, времени нет. Сделаем так… Смотри: у тебя к каждой вершине дерева список вершин-потомков прилагается. Пустой, если эта вершина — лист. Пишем простую такую функцию… Она сначала вызывает сама себя для каждой вершины из списка потомков, потом свою собственную вершину обрабатывает — и завершает на этом работу… А в главной программе просто вызовем эту функцию для корня дерева.

Он стёр больше полусотни строк кода, заменив их на шесть — и всё отработало как положено.

Оставшееся время они с подругой гоняли программу на любых формулах, которые только приходили в голову. Функция работала как часы.


* * *


— Ну как, сдала курсовую?

— Сдала…

— А чего такая недовольная?

— А помнишь, я говорила, кого попрошу помочь с отладкой?

— И что? Не помог?!

— Если бы… Понимаешь, я полмесяца над этой программой просидела! Две страницы кода написала! Он их честно вбил — они не пошли! И тогда он эдак небрежно: «Это мы отлаживать не будем!» Выкидывает мои две страницы, пишет пять строчек — и они работают! В общем, я поняла: программиста из меня не выйдет. Пойду, наверное, в школу. Детей математике учить.

— Ты что, пошла сдавать курсовую, не разобравшись, как она работает?!

— Ну, совсем уж дурой не считай! Как работает, я разобралась. Чего там, по готовенькому-то… У меня там другая проблема возникла: как доценту объяснить, что эти пять строк работают, и работают правильно!

— Объяснила?

— Не-а. Он так и не въехал.

— Но курсовую зачёл?

— А куда он денется? Работает же! Все тесты прошли!

— А с твоим помощничком-то что?

— А на него я серьёзно обиделась.

— А он?

— По-моему, не заметил…

— Ха! А знаешь что?

— Что?

— Думаю, что вы с ним всё-таки поженитесь! Вот!

Глава опубликована: 30.04.2026
КОНЕЦ
Отключить рекламу

2 комментария
Классная история!
И прям ситуации знакомые.
Были раньше времена — запустишь расчет, а он час идёт. И вроде ты работаешь, но при этом свободное время на законных основаниях.
А сейчас все моментально считается, даже чай не успеешь выпить.
Я тоже как-то хотела быть программистом и даже училась, но поняла, что не тяну. У меня тоже программы уходили куда-то не туда. А Си++ доконал меня окончательно. Это что-то за гранью.
Так что девушку понимаю, а студента уважаю!
Кстати, был у нас в институте такой вечный студент, который всем программы писал, гений, но другие предметы никак сдать не мог.
Спасибо за историю, удачи на конкурсе!
Мыр. Автору спасибо за массу воспоминаний и ассоциаций, которые ко мне пришли во время чтения этого очаровательного рассказа!
Надо пойти и записать идеи, дивно мотивирующая история у вас получилась, автор!!!
Класс, класс!
Чтобы написать комментарий, войдите

Если вы не зарегистрированы, зарегистрируйтесь

↓ Содержание ↓

↑ Свернуть ↑
Закрыть
Закрыть
Закрыть
↑ Вверх