Другая жизнь Ромы Гончарова 5 (СИ), стр. 15
На стенде у доски висели машинописные листы заданий прошлых лет. Я прошел вдоль ряда, высматривая, к кому бы подсесть с подборкой задач по информатике, и услышал за спиной:
— Гончаров?
Окликнул меня плечистый парень с короткой темной стрижкой и таким гулким голосом, что его, наверное, слышали и на втором этаже. Он уже развернулся ко мне всем корпусом и уточнил:
— Ты тот самый? Рекордсмен Испытания?
— Тот самый, — кивнул я. Отпираться было глупо, да и не хотелось. В конце концов надо было вливаться, а я тут все равно никого не знал.
— Сева Горин, второй курс, — прогудел парень и протянул руку. Потом, убрав папку с соседнего стула, деловито заговорил: — Слушай, рассуди, я тут над одной химической задачей час сижу, все пересчитал, а получается больше, чем в ответе. Процента на два. И ведь, мать его так, никто понять не может. А тут гляжу, рекордсмен бесхозный по аудитории ходит. Ну что, поможешь бездари?
Ребята за столом рассмеялись.
— Помогу, — улыбнулся я и подсел к нему.
Сева тут же, чтобы не терять время, развернул ко мне лист с вычислениями на полях. Ну что ж, познакомиться мне предложили своеобразно, но я был не против и задачу прочитал с интересом.
— Химическая часть прошлогодней общей задачи, — пояснил Сева. — Газ собрали над водой, дали объем, температуру и давление, спрашивают количество вещества. Где подвох?
Я глянул, какое давление он подставил в формулу. Ну да, все целиком, как дали в условии. И усмехнулся: ловушка старая как мир.
— Сева, а вода где? — спросил я и ткнул пальцем в первую строку. — Газ-то над водой собирали. В сосуде не один газ, там еще пар, и давление тебе дали общее, на двоих. Вычти из него давление пара при этой температуре, оно в таблице под условием, и считай заново.
Парень секунду смотрел в условие, а потом шлепнул себя по лбу. Я мысленно усмехнулся: так-то, знай наших! Он тут же нашел в таблице нужную цифру и застрочил на полях. Дописал, посмотрел на ответ и стукнул ручкой по листу.
— Да чтоб тебя, — выругался он. — Сошлось. Я час над ней просидел, уже решил, что в ответе опечатка, а ты с первого взгляда разобрался. Ну ты реально красавец!
— Да брось, расчет-то у тебя нормальный, — покачал я головой. — Пара не хватало, и все.
— Ладно, с химией я к тебе больше приставать не буду, — пообещал он и уточнил: — А с информатикой у тебя как?
— Фигово, — честно признался я. — Понять задачу, наверное, смогу, а вот оформить по-человечески… разве что только со справкой в руках. Мне бы разбор целиком посмотреть, от условия до готовой программы, чтобы видеть, как это вообще положено записывать.
— Инга, у тебя же есть такие? — тут же включился Сева и деловито повернулся к девушке на другом конце стола. — Дай-ка Роме глянуть. А он тебе, если че, с химией поможет.
Девушка отложила ручку. Светлые волосы она собрала в тугой хвост, а в спокойных серых глазах я не заметил особого интереса к великому и прославленному рекордсмену Испытания, то есть ко мне. Перед ней лежала открытая тетрадь с расчетами.
— Рома, — представился я. — Первый курс.
— Я в курсе, — хмыкнула она и представилась: — Инга, второй.
Она протянула мне лист из своей подборки. Вот это я понимаю, взаимовыручка тут была на высшем уровне. Понятно, что на самой олимпиаде мы будем соперниками, но до нее еще дожить надо. А пока что мы тут все в одной лодке.
— Это разбор прошлогодней задачи, — сказала она. — Здесь все подробно расписано, изучай, только ничего не исправляй, понял?
— Без проблем, — пообещал я. — А что у тебя по химии? Надо что-то глянуть?
— Задача на титрование не получается, — пожаловалась Инга. — Не то чтоб горит, я ее допинаю, но, если поможешь, буду рада.
— Без вопросов, — пообещал я. — Сейчас с информатикой разберусь — и посмотрю.
В разборе за условием шел столбик команд на Paradox, местном языке программирования. Инструкции латиницей задавали порядок работы компьютера: что взять, с чем сложить, сколько раз повторить и когда остановиться. Задача была про ряд показаний прибора: найти в нем участок заданной длины с самой большой суммой.
Цикл я в этой записи узнал сразу, тут и учебник уже помог. Но дальше…
Дальше я впервые осознал, что понимаю, как лучше сделать самому, а не как в разборе. За непривычными инструкциями я наконец увидел вполне знакомые и понятные вещи!
Заворочались в голове давным-давно изученные, но в жизни так и не пригодившиеся языки программирования моего детства и юности — в школе я учил Бейсик и Паскаль, в институте — C++ и ассемблер. Да у меня даже свой ZX-Spectrum был! Он подключался к советскому телевизору, а игры я загружал с аудиокассет. На нем-то я и пробовал свои первые программки и игры создавать на том самом Бейсике. Это было еще до того, как родители смогли подарить мне простенький ПК, но не суть. Главное, что вдруг Paradox стал для меня словно старым знакомым, просто с новой прической.
В общем, с циклами и массивами я работал еще тогда, так что смысл решения стал очевиден… Хотя нет, я даже знал, как это решить еще лучше и не так громоздко, как в разборе. Сразу захотелось записать свой вариант и проверить, ничего ли не упустил.
— Инга, в этом решении для каждого нового участка заново складывают все показания, — сказал я. — Вроде как куча лишней работы. Можно же сложить первый участок один раз, а потом сдвигать его на шаг: вычесть число, которое ушло слева, и прибавить то, которое появилось справа. То, что уже сосчитано, второй раз складывать незачем.
— Покажи, — ответила она и пододвинула мне чистый лист.
Я записал свое решение, подглядывая служебные слова в ее разборе, и спросил только, как здесь принято объявлять ряд.
Инга нашла нужную строку в разборе, а затем проверила оба решения на коротком ряду чисел. Ответ совпал. На этот раз она внимательно прочитала мою запись до конца.
— Так действительно быстрее, — задумчиво проговорила девушка. — Только вот здесь команду поправь и тут тоже. Нет, давай я сама. — Увлекшись, она быстро черканула в нужных местах и спросила: — Ты похожую задачу уже решал?
— Не думаю, — ответил я. — Просто здравый смысл.
Сева все это время сидел, подперев щеку кулаком, и теперь хмыкнул:
— Слушай, а Рома реально твой разбор на ходу улучшил. Как-то изящнее даже стало.
— Разбор не мой, — буркнула Инга. — А способ хороший, я бы здесь делала так же.
— Ладно, с информатикой он тоже, похоже, на ты, — признал Сева и с азартом придвинул собственную стопку. — Тогда математика. Ром, глянь-ка сюда. Хочу посмотреть, как будешь решать то, чего вам еще не давали. Тут прошлогодняя шестая, неравенство на три переменные…
Через пять минут мы с ним заспорили в полный голос. Я предложил сначала подставить равные значения и посмотреть, где достигается равенство, чтобы понять, как строить доказательство. Сева тут же возразил, что это не доказательство, а гадание на кофейной гуще. Спорить с ним было чертовски интересно: соображал он быстро, цеплялся за каждое слово и ни разу не сделал вид, что согласен, когда согласен не был.
Очнулся я, только когда меня нетерпеливо одернула Инга:
— Рома, вы там надолго? Ты обещал посмотреть мою задачу.
— Инга, дай нам еще десять минут, — попросил Сева, не дав мне раскрыть рот. — Тут интересное место, сейчас разберемся. Ром, объясни, почему ты взял именно единицу.
— Ты мне час назад тоже предложил подождать, пока свое дорешаешь, — сердито напомнила она Севе. — Я до вечера ждать не могу.
Мне сделалось совестно, и я отодвинул математику. Увлекся, ничего не скажешь: получил от человека помощь, пообещал ответить тем же и тут же о ней забыл.
— Да, сейчас гляну, — кивнул я. — Извини, затянуло математическое болото.
Сева что-то там пробурчал за спиной и уткнулся в неравенство, а Инга придвинулась ко мне.
— Вот условие и вот мой расчет, — пояснила она уже спокойнее. — Кальцинированную соду титруют соляной кислотой. В условии два индикатора, и для каждого указан общий расход кислоты от начала опыта. Я посчитала по первому, а соды получилось вдвое меньше, чем в ответе. Сколько ни проверяю, ошибку не вижу.
