жная информация есть…
И я для начала стал помогать «родному минместпрому», написав простенькую программку по оптимизации перевозок того же паркета. Ведь из-за того, что его просто вовремя на стройку не доставили, почти половину жилых домов в Горьком готовились сдать под заселение с задержкой до полугода после того, как само строительство закончилось. Понятно, что именно «для начала» я даже не собирался замахиваться на хорошо мне известную «транспортную задачу» в масштабах всей страны: все же и комп был не особо для таких целей пригодным, и просто собрать все нужные для решении я задачи данные не представлялось возможным – а вот в масштабах области задачка изначально выглядела решаемой. Хотя бы потому, что я точно знал у кого можно спросить, где в области эту несчастную березу рубят, где ее пилят и строгают и куда готовую паркетную доску собираются везти.
И я спросил, все узнал. Затем целая бригада в круглосуточном режиме полученные циферки набивала на перфолентах (перфораторов нужных у меня теперь уже четыре штуки было), я составлял таблицы (не один я, еще Ю Ю этим занималась, сказав, что такая работа для нее поможет ей «лучше меня контролировать») с описанием маршрутов, а так же писал дополнительные функции, учитывающие скорость производства ценных деревяшек и скорость их расхода, прочие «вспомогательные» данные готовил – и перед самым Новым годом программа была торжественно запущена. Ну да, только подготовка данных для нее полтора месяца заняла – а машина все успела рассчитать примерно за полторы минуты. И результат получился… очень странным.
Вообще-то сама по себе «транспортная задача» – проста и незатейлива, но если ее совсем немного расширить и считать не только затраты на перевозку чего-то из пункта А в пункт Б, а добавить туда еще «из одной трубы втекает, а из другой вытекает», то результат может получиться совсем неочевидным. Саму-то перевозку бухгалтера-расчетчики вообще на счетах давно уже просчитали и столпившиеся вокруг машины женщины были уверены, что машина лишь немного подправит (в худшем для них случае) ранее составленные «расписания» – но все оказалось совсем не так.
Я в процессе подготовки данных для программы тоже много нового узнал. Например, что паркетную доску только в области делают дубовую и березовую. А еще делают ее кленовую и лиственничную, еще из ясеня, вяза, вишни, бука и даже из сосны (хотя последнюю в области делать попробовали – и тут же перестали). И разные деревообрабатывающие фабрички делали этот паркет каждая из «своего» дерева (а чаще – из двух-трех «своих») – а использовать в одном месте доски из разных пород было просто нельзя потому что в домашних условиях они себя вели очень по-разному. Даже при укладке вели по-разному, например, береза и бук могли от повышенной влажности просто распухнуть и паркет при этом вспучивался, а вот лиственница по каким-то причинам не могла класться на чаще всего применяемый сейчас «полусинтетический» клей, которым доски к полу приклеивались. Но прекрасно ложились на менее популярный «каучуковый» клей, а вот дубовый паркет при использовании такого клея быстро и очень неравномерно темнел.
Еще – что меня сильно удивило – производительность рабочего-паркетчика довольно сильно зависела от материала паркета: на укладку паркета из ясеня рабочий тратил в полтора раза больше времени, а из лиственницы – в два раза больше, чем на укладку дубового или березового. И я все это как-то (все же очень приблизительно, так как просто памяти на все нужные таблицы не хватало) сумел посчитать – и оказалось, что по стройкам с железнодорожных станций паркет дешевле и быстрее всего развозить на грузовых «Векшах». И не потому что сами перевозки получаются дешевле, а потому, что так выходит больше всего бригад паркетчиков одновременно материалами обеспечить.
Результат расчета всех очень удивил, ведь можно было на стройку и целый грузовик паркета сразу завезти – но оказалось, что «программа все верно подсчитала»: завозить любые материалы «в запас» можно когда этого материала некоторый избыток, а когда он буквально с колес уходит, то такие «запасы» сильно снижают общую производительность труда. Зинаида Михайловна, внимательно изучив результаты работы программы, именно к такому выводу и пришла – а потом мне пришлось ей очень долго объяснять, что это не «железка» сама все так качественно считает, а программа, при составлении которой нужно все подобные мелочи все же учесть. А затем долго рассказывал, как правильно составлять техзадание на разработку программ, какие при ее написании могут возникнуть трудности и как эти трудности следует преодолевать…
– Я поняла: ты придумал очень большой и очень дорогой арифмометр, а результат расчета зависит от того, крутит ручку этого арифмометра дитё несмышленое или вообще дикая обезьяна. Но если ручку будет крутить специально подготовленный инженер…
– Причем, обратите внимание, ручку специально подготовленный будет крутить один раз – и он ее так раскрутит, что если потом в арифмометр этот пихать правильные цифры, то и результат всегда… почти всегда будет верным.
– А почему «почти»? Нам «почти» не годится.
– Я же вам только что объяснил: в программе практически всегда будут какие-то мелкие ошибки. И иногда программа из-за таких ошибок результат может дать тоже ошибочный, поэтому все же обезьян к машине подпускать я бы не порекомендовал: оператор, то есть бухгалтер, считающий свои задачи, должен все же представлять хотя бы примерно, какие результаты могут считаться верными, а какие нет. По счастью, в чисто расчетных задачах при ошибке результат получается откровенно бредовый: вон, тут парень из политеха насчитал, что элементы конструкции железнодорожного моста можно соединять заклепками диаметром в пять миллиметров – явный же бред, и он ошибку в программе тут же побежал искать и исправлять. Но считать, что в программе изначально ошибок нет и быть не может – неправильно, нужно, наоборот, считать, что в программе куча ошибок и заранее предусмотреть способы и средства обнаружения и исправления этих ошибок – а этому нужно долго и упорно учиться. Причем, сразу скажу, это не каждому дано – зато, когда программа полностью отлажена, ее запускать и получать правильные результаты и обезьяна сможет.
– То есть мало ты миллионы на арифмометр потратил, так еще и кучу миллионов хочешь потратить на подготовку правильных крутильщиков ручек. Но я тут прикинула… только на перевозке паркета на стройки мы до лета сэкономим с полмиллиона, а программу эту, ты говоришь, вы за неделю написали…
– И полтора месяца готовили данные для расчета.
– Верно, но ты же сам говорил, что данные для расчета можно будет сразу по мере их поступления готовить.
– Ну… да. И если мне к лету хотя бы сделают парочку новых устройств…
– Сколько?
– Вот за что я вас, Зинаида Михайловна, так люблю и обожаю, так это за решительность… и мудрость. Но в данном случае ответ будет простой: нисколько: ребята в политехе уже все необходимые средства получили. И даже почти все сделали, теперь просто ждут, когда в институте тонких пленок им сделают то, что для использования их машинки необходимо.
– А там в чем загвоздка? Нужно кому-то вразумляющего пинка дать?
– Нет, а вот с дюжину орденов приготовить стоит. Потому что если они хотя бы к концу следующего года сделают, что обещали – это будет настоящий прорыв в бухгалтерской науке! И не только, кстати, бухгалтерской…
На самом деле «прорыв» уже случился, правда в науке совсем другой: предложенная-то мною вычислительная машина имела изначально «очень открытую архитектуру», в которой каждая команда реализовывалась отдельным, совершенно независимым от остальных, аппаратным модулем. И одним из совершенно новых модулей, разработанным совсем молодыми ребятами-второкурсниками, стал блок, загружающий из памяти в указанный регистр необходимые для следующей операции данные. Не за четыре машинных такта, как ранее изготовленный блок, а за шесть или даже за семь – но новый модуль «умел» адресовать уже не шестьдесят четыре килобайта, а восемь мегабайт, и семь тактов на операцию тратилось если нужные байты размещались на смежных «страницах» памяти, а не на одной. И вставили этот модуль уже в новую, изготовленную в начале декабря, машину – а в неё уже воткнули не восемь, конечно, мегабайт, а всего двести пятьдесят шесть килобайт, но воткнули так мало просто потому что больше готовых матриц памяти не было. Но и такая память позволяла довольно «размашисто» программы составлять – просто пока еще большие программы неоткуда было в машину запихивать. Пока неоткуда – но ведь в Дзержинске «тонкопленочники» героически трудились над новыми достижениями отечественной науки! И стимул теперь у них был чрезвычайно мощный…
Мощный стимул у них появился сразу после того, как в политехе изготовили и запустили «в пробную эксплуатацию» видеомагнитофон с блоком вращающихся головок. Он пока в единственном экземпляре существовал, и размещался этот «экземпляр» на горьковской телестудии – но после того, как выступление товарища Сталина на праздновании годовщины революции в городе по телевизору показали подряд три раза, и все разработчики девайса, и парочка технологов, сумевших нужную пленку изготовить, обрели по ордену Трудового Красного Знамени. Буквально на следующий день обрели – а все причастные (и множество непричастных) прекрасно знали, что всю эту разработку «заказал Шарлатан». И тут же все «вспомнили», как очень много других людей, придумки Шарлатана воплощавших, тоже быстро были отмечены высокими наградами – так что мой следующий заказ народ бросился исполнять буквально наперегонки. Правда, «заказ» был непростой: «пленочникам» нужно было придумать (кроме всего прочего) как изготовить абсолютно ровную плоскую пленку толщиной микрон так семьдесят пять – но народ старался. А радиоинженерам тоже сильно повозиться пришлось: предложенный ими изначально вариант воспользоваться магнитными головками от чудища под названием «Днепр» даже их самих довел до икоты от смеха. Впрочем, определенный опыт у них уже был, для видака-то они нужные магнитные головки изготовить смогли. И, хотя каждая обошлась им больше чем в тысячу рублей, повторение успеха было возможно.