«Travel 1.0» расчетно-моделирующая программа для автоматизации подготовки автономных спортивных походов и экспедиций. Предложение к тестированию.
Предлагаю протестировать мою программу Travel 1.0.
Travel – программное средство для автоматизации рутинных действий и расчетов при подготовке к автономным спортивным походам, путешествиям и экспедициям.
В ней есть функции:
- ведения баз данных снаряжения и продовольствия;
- моделирования распределения груза по рюкзакам и заброскам с наглядным графическим контролем;
- анализа распределения груза по ряду параметров;
- комплектации ремнабора, аптечки, личного снаряжения.
Возможен автоматический учет и расчет расходов
на приобретение и аренду снаряжения, покупку продуктов питания.
Предусмотрен экспорт таблиц с данными двумя способами в редактор Word.
Программа обеспечена набором примерных баз данных, которые можно редактировать и расширять:
- групповое снаряжение – >50 поз.;
- продукты питания – 60 поз.;
- ремнабор – >20 поз.;
- медикаменты – >100 поз.;
- личное снаряжение – >40 поз.
В базах данных можно вводить собственную классификацию.
Все данные о походе, снаряжении и
продуктах питания компактно архивируются в общий файл-проект.
Системные требования: Windows XP, 7, 8. 10.
Минимальное разрешение монитора - 1240х768,
интерфейс автомасштабируемый с вычисляемыми координатами элементов (при сравнительной низкой частоте процессора возможен специфический оптический эффект при старте, возможны также искажения при проблемах с видеодрайвером).
В разделе 8 приведена ссылка на скачивание установочного файла из моего мэйл-облака.
Общее содержание
1. Трудно ли отделить мух от котлет?
2. О пользе пасьянсов.
3. Предыстория. «Синекдоха отвечания»
4. «Душанбинские капризницы»
5. Спиртуозная технология диагностики ЭВМ
6. Кодировать или программировать? Мичуринские методы в программировании
7. «Рюкзакиада», или По следам Ляписа Трубецкого
8. Интерфейс программы и основные операции
8.1. Главное окно программы
8.2. «Пасьянсная» технология распределения груза
8.3. Текущий графический контроль
8.4. Анализ результатов распределения
8.5. Экспорт данных
8.6.Режим «Проект»
8.7. Создание «кучи» снаряжения и продуктов
8.8. Создание и редактировании баз данных
8.9. Настройки программы
9. Заключение
У меня есть основания пояснить мотивацию разработки этой программы, не хотелось бы, чтобы это было воспринято примитивно, что вот, нечем заняться что ли было, или неожиданно вдруг решил народ «осчастливить».
Последний вариант, при красивом внешнем гуманизме в совокупности с довольно большой трудоемкостью задачи, и неопределенной потребностью отдает, (по моему восприятию, имхо) альтруистическим чудачеством с угодливым душком :=) (не тот возраст у меня). В реальности была сложная совокупность причин разного характера.
Если бы на FreeSoft, или еще куда-то, как в космическое пространство, выкладывал, то не было бы и мысли о пояснениях, но для целевой аудитории на ее платформе, где я уже как-то идентифицирован – другое дело, все же предисловие напрашивается. Нигилисты-отрицальшики 19-го века считали, что предисловиями авторы скрывают истинные мотивы, но я нигилистов за их нигилизм сам отрицаю.
В прошлом году исполнилось 40 лет ее идее, начала она реализовываться лет через 6, но абсолютно не с целью ее практического использования.
Не будь у меня определенного задела по базовому алгоритму, вряд ли я начал бы ее сейчас с нуля.
Объяснить же внятно, на кой ляд она была вообще нужна, и зачем с ней нужно было перманентно возиться, да еще много лет, практически невозможно без передачи атмосферы ее зачатия и развития.
1. Трудно ли отделить мух от котлет?
Базовый алгоритм ее прошел через кучу поколений компьютеров, операционных систем и систем программирования.
Ее история неразрывно связана с довольно забавным под личным углом зрения развитием компьютерной техники и программирования.
В трех фразах мотивацию пояснить не удастся, 20-ю фразами, экономя слова, как воду в пустыне, теоретически можно, но будет страсть как скучно это и читать и мне писать, вымучивая формулировки.
Рубрика «Творчество», вполне соответствующая программированию, довольно растяжима по смыслу, решил сделать комбинированный по содержанию пост.
Отделить собственно историю туристской идеи от вроде бы оффтопной сопутствующей информации, как мухота котлету облепившей ее и даже проникнувшей внутрь, не получается у меня, да и нужно ли?
Софт на Риске, хоть и по целевому туристскому назначению – не совсем типичная тема, так что и сопутствующее сопровождение может быть специфическим.
Для разминки разовью мысль.
Да простят меня убежденные вегетарианцы за хищный цинизм, но есть, есть особая прелесть в здоровенном, запеченном «a la naturel» кусмане свежего говяжьего мясца, размером с половину силикатного кирпича, истекающем ароматным соком под легким нажимом острого, как бритва, ножа… А бараний задок, запеченный в фольге, сшибающий с ног ударной волной чесночного аромата? (Ну грешно такую баранину портить без чеснока, имхо, это душа ее!). И шипящего в горле нарзана не надо, родниковая водичка в кайф…
Какая-то первобытная кулинарная простота в этих яствах без изгаления над естественной структурой корма, сермяжная пищевая правда, вкушая их (точнее, пожирая!), словно чувствуешь себя сидящим в кругу родного племени, у костра, разрывающего непроглядную тьму пещеры, потирая плечо, ушибленное хоботом мамонта и вращая вертел с его печенью и прислушиваясь, не рыкнет ли поблизости саблезубый тигр… (Чу! Вот он замурлыкал, заурчал довольно у входа, хрустит чем-то, как чипсами… Не закусил ли он вышедшим неосторожно по большой нужде товарищем?!).
Плотоядная часть человечества издавна приметила, что, изрубив мелко-намелко скотское мясо, можно чрезвычайно разнообразить его вкус композицией с пахучими травами, пряностями и неожиданными добавками. Нет, увы, плюса без минуса, наверняка сразу же нашлись и изобретатели способа замаскировать тухлятину.
А уж кот-гурман Матроскин обязательно заметил бы, что котлета гора-а-а-здо правильнее бутерброда, хлеб в ней с мясом перемешан, незачем ее во рту вращать, она со всех сторон вкусная…
И вот, по законам фольклора, гениальному кулинарному изобретению - котлете уготована роль участника в задаче, которую частенько озвучивают очень приличные господа при галстуках и костюмах от всяких кутюр, а то и эффектная красавица – телеведущая, что вот, надо мол, отделить мух от котлет…
Перед внутренним оком невольно всплывает в цвете картина маслом, как бы это делали сами предлагающие (уж такое у меня заводное воображение, фантазия гротескно разыгрывается, «Каждый пишет, что он слышит»)…
Мог бы и посоветовать им, как решать эту задачу.
Отделение мух от котлеты, если уж они успели насесть на нее плотным, шевелящимся слоем – задача, по сути, технически несложная.
Берешь в правую (чистую) руку котлету с мухами (чистую в мусульманском смысле, кстати, очень полезный принцип в горах на маршрутах с дефицитом воды, ведь левая, нечистая, участвует в завершающем этапе шхельдования):=).
Левой рукой, нечистой, аккуратно собираешь с котлеты жирных, с прозеленью мух, казнишь (стараясь не брызгать их соком на котлету), с хрустом ломая хитиновый покров, и складывая агонизирующие трупики в пепельницу.
Котлету кушаешь…(а то зачем же чистил?!). Ну, еще, пожалуй, особо брезгливым можно об штаны (или об юбку, если красавица) посоветовать ее вытереть, или подуть, стряхивая символически заразу и накаканные мухами эмбрионы будущего шустрого потомства…:=)
А вот отделить котлетное мясо от хлеба и увкусняющих ингридиентов – вот суперзадача, даже если привлечь методы экстракции, колоночной хроматографии и прочие заморочки :=). Можно, в принципе, отделить углеводы от животного белка и жиров, но это будет уже несъедобно.
Ну еще, пожалуй, можно будет узнать представителя отряда млекопитающих, который любезно завещал свое тело для посмертных кулинарных экспериментов, или установить его родственные связи по генетическому коду (при словах «отряд млекопитающих» в этом зоологическом контексте с детства мне сразу фантазийно-пристебно представлялись марширующие куда-то целеустремленно вдаль, чинной колонной по двое, строевым шагом в ногу, под бодрую музыку типа «Взвейтесь, кострами, синие ночи…» разнокалиберные съедобные божьи твари, потряхивая молочными железами, все особи попарно под ручку (?), а каждой твари - по паре…:=)).
В сущности и программа эта тоже была ингридиентом этакой многокомпонентной котлеты и начала она сочиняться с вполне определенной, не совсем понятной сразу целью.
Решил, что лучше не выцарапывать лишь относящуюся к конкретной теме инфу, а дать все комплексно, наверняка будут и те, кому это будет любопытно с исторической и других точек зрения, тем паче что к компьютерным железякам и программам причастны сейчас многие.
Да и в повествованиях подобного типа (как в застольных беседах) проявляется «эффект камнепадного склона»: попробуйте наступить на камень, не затронув соседние?
Чехов обнадежил и ободрил немного:
«Стать писателем очень нетрудно. Нет того урода, который не нашел бы себе пары, и нет той чепухи, которая не нашла бы себе подходящего читателя»:=)
А если не хочется читать все – в пункте №8 начинается собственно деловая информация, а на мыши есть ролик, позволяющий прокрутить ненужное :=).
Получилось что-то вроде туристско-профессионально-компьютерно-программного эссе, затрагивающего период от лебединой песни паровозной отсечки и первых калькуляторов до процессоров технологии 14 нанометров.
2. О пользе пасьянсов
Когда начинал ходить в горы, процедура раскладки барахла и харчей выполнялась обычно вживую, или в чьей-то квартире, или в помещении клуба.
Групповой снаряж и продукты складывали в две кучи, из которых и растаскивали постепенно все по персональным кучкам или рюкзакам
(термин «куча» я ввел и в программу).
Не все обитатели квартиры были в восторге, когда в нее сносились в урочные и неурочные часы вещи, несовместимые с приличной обстановкой. Безмен был в помощь, окончательные списки составлялись уже, когда все было в рюкзаках. Бывали варианты.
Было это неудобно по массе причин и я, постепенно, перешел на, по крайней мере, частично, заочную систему, манипулируя списками барахла и харчей.
Для удобства сделал при раскладе на 11 чел учебной двойки колоду картонных карточек, размером с игральные, на которых крупно, разноцветными фломастерами, написал название единицы груза, его вес и даже яркую упрощенную картинку для быстрой визуальной идентификации (по сути, теперешнюю иконку или пиктограмму).
Карточными играми не увлекался, в основном отвращали от них не какие-то особые моральные устои, сколько несколько неадекватно истерический, экзальтированный характер реакции некоторых игроков. Всегда находились партнеры, принимающие проигрыш слишком близко к сердцу, как личную трагедию, или визжавшие от восторга при выигрыше, как фетишист, раздобывший потный лифчик своей кумирши, и осыпавшие проигравшего насмешками не в меру. И то и другое неприятно. В команде, в которой начинал ходить, принципиально не приветствововались колоды карт в походе.
Считали, что лишние психологические шершавости ни к чему. Нечем заняться? Найдем.
Пытались меня на сборах в Шахимардане вовлечь в неспешный философский культурный преферанс, убеждая, что здесь все благочинно и благородно, но уже работала прививка. А вот пасьянсы нравились, как неконфликтная гимнастика для мозгов.
Сделанная колода превращала процесс распределения груза в разновидность пасьянса, крупные, разноцветные по легенде, рисунки и цифры позволяли ускоренно прикидывать вес в каждой линейке, соответствующий рюкзаку, карточки брались из общей колоды –«кучи» и, после обзора «лесенок» принималось решение о перетасовке.
Использовал обычно помимо чисто весовой оценки, конечно, еще «расходность» груза.
Негоже, когда у одного в основном продукты и каждый день груз убывает существенно, а другой прет нерасходный снаряж, значит нужно, справедливости ради, слишком часто затевать перекладку и переписку.
Степень «важности» тоже считал важным параметром, когда были «мясные», «консервные» и прочие «короли» - это было удобно для учета расхода, но были и минусы, которые не хотелось сбрасывать со счетов.
Рюкзак в два-два с половиной пуда - не расческа, но специфика многих троп в Фанах и не только в них такова, что упустить рюкзак на сотню - другую метров в каньон, где обычно бурная речка, довольно велика, особенно в группах с еще не видевшими, как просто это происходит, участниками.
Некоторые истории, слава богу, не в моей группе, были впечатляющими, они настолько меня воспитали, что иногда приходилось выслушивать (после длинного обхода какого-либо прижима на большой высоте) признание о тайной мечте сделать со мной что-нибудь нехорошее из-за категорического запрета снять при кратковременном отдыхе рюкзак с пережатых натруженных плеч в неподходящих для этого местах.
Ну, встань ты раком, обопрись на ледоруб, подыши, лямки оттяни, рюкзак и не думай снимать.
Однажды приютил меня с корешем знакомый плановый инструктор в инструкторском домике на базе «Варзоб» с безразмерными двухэтажными полатями-нарам. Как-то подгребли еще ребята с маршрутов, сдав группы с плеч, зашел разговор о том, о сем, о случаях с плановыми группами. Нередко улетал чей-нибудь плохо положенный рюкзак с тропы. И хорошо, если неглубоко, не в реку, не порвался. В плановой группе особо серьезных последствий не было, ну фотик вдрыск, рюкзак порвался и добро рассеялось, с трусами проблема, ну косметичку у подружки клянчить теперь надо…
Но один случай с опытной группой особенно впечатлил.
Расположился однажды после похода в дворике маленького «старого альплагеря Варзоб», который рядом с основной турбазой, как обычно, на суверенном месте рядом с трансформаторной будкой в дальнем углу двора. Его почему-то никто не занимал, то ли трансформатора боялись, то ли несильный, но постоянный гудеж отпугивал.
Пришла вечером группа, по снаряжу пятерочная, но какая-то ободранная нестандартно для гор. Руки – ноги в ссадинах, грязными бинтами обвязанными, мрачные. Впечатление, что у них был летальный случай.
Но, когда они, разместившись, начали лечиться «Памиром», по разговору стало ясно, что они больше переживают из-за каких то предстоящих несчастий.
Иногда вяло поругивали заплаканную Машку, кто-то подвел итог разговору кратким задумчивым резюме «Зато Машка хорошо покакала».
Интриговало. Когда утром один парень из их компаши пошел по нужде мимо, на обратном пути предложил ему поправить здоровье прохладненьким сухим вином «Варзоб», всю ночь лежавшим в сырой майке. Другого способа охлаждения не было.
Не отказался, крепко они вчера с непонятного мне расстройства погудели. Вдумчиво закурили, и тут его прорвало, видимо внутри группы уже стало тошно говорить об этом.
Все началось с легкого расстройства желудка сразу у троих в неподходящий момент (шли они по условной тропе, обходя длинный прижим-каньон), где-то на Юго-Западном. Сказал, что каньончик был не хуже Язгулемского, но покороче.
И приспичило сразу троим на крутяке. Руковод не стал возражать, сам не прочь был присоединиться. Закрепил свой высокий рюкзак-станок фирменным способом, использовав по-хитрому ледоруб для застопоривания на склоне.
Пацаны, как водится, пошли вперед «на разведку», a стеснючая Машка полезла вверх, углядев укромный уголок на крутом склоне с живыми камнями, немного уйдя в сторону от рюкзаков, дабы не спустить на них булыжник.
Когда, довольная, стала спускаться, случилось непоправимое. Небольшой булыган дал рикошет в сторону, там затронул булыган покрупнее, а тот пошел тоже не прямо, но, аккурат, угодив в руководскую конструкцию. Равновесие высокого рюкзака было нарушено и тот под потрясенными взглядами ушел вниз.
Перегиб склона не позволял проследить линию падения.
Масштаб беды осознали не сразу, надеялись, что скоро достанут сбежавший рюкзак.
Сверху не спустишься, суицидно, веревок двух-трех не хватит, крепить не за что, конгломерат с крупными вкраплениями, мечтающими сорваться вниз. Спуск возможен только далеко.
Пометили место, спустив на всю длину веревку с цветной аноракой из парашюта, завернув в нее камень. Надеялись снизу разглядеть,
место было невыразительное. До навигаторов в немассовом варианте было лет пятнадцать.
И началось.
Суть трагичности. В рюкзаке были, во-первых, все паспорта.
Где держать паспорта в горах частенько решали индивидуально.
Сейчас в Фанах, например, этой проблемы, похоже, не возникает, они на регистрации у посредника «Вертикали», да и те не общегражданские, хотя пропади они, тоже неслабая заморочка была бы с консульствами…
Одни считали, что у руководителя, особенно если он опытнее, надежнее, боялись забыть-выронить из мешка на стоянке.
Другие считали, что при себе держать спокойнее, или руковод не хотел быть «Швейцарским банком».
А у этого руковода там же была вся походная касса.
Сильный спецснаряж – крючья, и прочие хитрости, он был основной забойщик. Еще масса ценных нужных вещей.
Операция по выручению рюкзака растянулась на неделю. Торопится было некуда, контрольный срок позволял, а надежда найти сбежавший рюкзак не пропадала до последнего. О походе уже не думали. У одного рушилась ответственная командировка, у другого – намечалась серьезная семейная драма, ведь обещал, бия в перси кулаком, наконец-то второй месяц отпуска провести с дражащей половиной на дальнем курорте, пропадали путевки и авиабилеты. У каждого выросла совершенно некстати на ровном месте серьезная проблема, связанная с крайней необходимостью иметь краснокожую книжицу.
Умом понимали, что это не смертельно, но внезапное лишение в неподходящий момент (а когда бывает подходящий?) той штуки, что вынимают дубликатом бесценного груза из широких штанин (я о паспорте…) сильно подкосило психическое состояние. Ежедневные длинные проходы-пролазы по каньону от удаленного бивака, где по воде, где, рискованно, по паскудным конгломератным прижимам измотали.
Предполагали, что рюкзак могло бурлизмом затянуть в одну из естественных ловушек из бегемотистых валунов, но как устоять в этом потоке, балансируя на скользких комнях?. Серьезно ободрались. Сделали что-то типа защитного комплекта, как у водников, для локтей и ног, изрезав две пенки, иначе могли быть серьезные травмы в бурлящем потоке. Багры сделали, удлинив ледорубы.
Пришлось все же завершать поиски. Серьезно заболел один из «дайверов», явно начиналось воспаление легких. У участников в индпакетах оставались только желудочные таблетки, бинты кончились и частично пошли на приматывание защитных щитков из пенки…
А как же аптечка, ведь в пятерку шли?
А там же. В утопшем рюкзаке. Руковод был еще и врачом. Неплохим, говорит, но легочные болезни лаской, заботой и поцелуями в лобик и попку лечить не умел.
Вот и сидели они теперь в дворике базы, определив болезного в больницу, дожидаясь денежных переводов и настраиваясь к грядущим неприятным событиям дома.
Да и еще были любопытные случаи, но лично мне было вполне достаточно и малой доли, чтобы очень внимательно относится к таким возможным подводным камням, проигрывая «а что будет, если…».
Еще пытался учитывать для линейных маршрутов такой признак, который для себя называл «активностью». Под этим понимал снаряжение, которое могло выниматься на ответственных участках, автоматически разгружая ведущего забойщика, то есть, себя и возможных напарников, (веревки в основном).
Все в общем-то бесхитростно.
И вот в процессе этого пасьянса тихо, по-Бальзаминовски, мечталось «Вот был бы сказочный секретут (секретутка), которая все эти умственные фрикции подсчитывал и протоколировал. Только сказочный.
Реальный секретеныш долго не выдержал бы, послал бы к едрене-фене: «Сколько можно?!».
Да еще бы списки аккуратным почерком готовил бы. Много пожеланий было.
3. Предистория. «Синекдоха отвечания»
О возможностях ЭВМ хорошо осведомлен был, да уж больно неформатная для того уровня задачка была, да и дома такую не заведешь.
На работе двумя этажами ниже была гордость другой кафедры - мини-ЭВМ «Наири», занимавшая половину аудитории, одного из моих будущих факультетских компьютерных классов.
Потребность в ней у меня была большая, моя группа по НИР выходила из чисто синтетической стези кафедры, где хватало бумаги и логарифмической линейки для подсчета всяких «плепорций», на уровень оптимизации технологий, где и калькулятор не спасал.
«Наири» и критиковали и хвалили (больше), реально это все же была первая ЭВМ, за которую мог сесть, подучившись, тот, кому был нужен результат, без жрецов-посредников. Спасибо ей за это, обнадежила.
Рис.1. Мини-ЭВМ «Наири» и пишмашинка Consul-254.
Основных проблем с ней у меня было две:
-тягостное общение без шустрых навыков через электрическую чешскую пишмашинку-терминал «Консул-254» с несколько причудливым раскладом клавиатуры (да это ладно уж, не проблема, преодоление собственной криворукости – дело практики, не машина виновата);
-неисправность перфосчитывателя (а вот это гора-а-здо хужее…).
Программу нельзя было сохранить и прочитать, нужно было каждый раз заново вводить в память…Караул и полный абзац.
Да и в очередь вставать надо было, шоколадки хозяйке за «аренду» презентовать…
Почему не ремонтировали такую чепуху, не мог понять сразу.
Потом въехал, что эту «Наири» сбросил кафедре, как слегка побитую молью шубу с барского плеча, завод из ВПК (таких деньжищ у нее в жисть не было бы).
А на кафедре этой шеф, считал, что деньги надо тратить лишь на важные (с его лично точки зрения) проблемы («В принципе работать можно? Можно! Пусть хоть поучатся пальцем тыкать».
Машинка при неверном вводе (а откуда было взяться безошибочному?),
всхрапывала, лягалась, печатала о своем возмущении.
Текст вводимой программы до безобразия пестрел, как верблюжьими плевками, сообщениями об ошибке, которыми зловредная машинка отмечала каждую мою неуклюжую фрикцию на клавиатуре. Хотелось стыдливо прикрыть его ладошками (какое-там…) или телом, когда кто-то из присутствующих подходил с сердобольным вопросом:
- «Ну, как успехи?»
(частые характерные теннисистские взвизги «Консула» при каждой ошибке ввода привлекали внимание и вызывали сочувствие).
В целом, общение с мозгами «Наири» посредством пишущей машинки, через которую она же и возвращала ответ, напоминало действия шарлатана-изобретателя старикашки Эдельвейса с «эвристической машиной» - «Ремингтоном» с неоновой лампочкой и сетевым шнуром, «внутре» которой были «решатель» и «думатель» в «Сказке о тройке» Стругацких.
Старичок словно взорвался.
— Высочайшие достижения нейтронной мегалоплазмы! — провозгласил он. — Ротор поля наподобие дивергенции градуирует себя вдоль спина и там, внутре, обращает материю вопроса в спиритуальные электрические вихри, из коих и возникает синекдоха отвечания!
Если же ввод программы и данных завершался, и можно было, взмыленному, откинуться в кресле (ну чисто, как по живой сыпухе карабкаться!), «Наири» начинала успокоительно моргать, потом (всегда неожиданно), в ней просыпалась «синекдоха отвечания» и начинал грохотать «Консул», выплевывая листинг : «Ну на, на, на, подавись!».
Мои попытки компенсировать нехватку фирменных приборов для физхиманализа комбинацией типовых микровольтметров, генераторов ВЧ и НЧ и прочего, взятых напрокат у радиотехников, не остались незамеченными шефом, и он, учитывая мою склонность к странствиям, благословил меня на интересную миссию в четвертом квартале каждого года.
Дело в том, что договорные деньги на оборудование нужно было обязательно истратить, перевести их в наличку – ни боже мой. Если их не истратить до 31-го декабря, то они проваливались в какую-то таинственную задницу невозвратно. Накопить на что-то серьезное было невозможно.
Нужное импортное аналитическое оборудование на деревянные не купишь, да и попадало оно к каким-то не менее таинственным фондодержателям, которых надо искать и лизать им разные места. Хлам всякий брать не резон, ну, вот и деньги свободные.
Возможность комбинировать типовую измерительную аппаратуру со своими самоделками (платины и серебра на электроды хватало, стеклодувка работала, только мозгой шевели…) я почерпнул в переводной книжке, где, умеющий считать денежки, американец приводил примеры, которую и показал шефу для убедительности.
Привлекательными эти турне были еще и тем, что их нужно было делать по магазинам системы «Салон приборов» по столицам союзных республик, в основном Среднеазиатских.
В Москве и Питере своих потребителей хватало.
В промозглый ноябрь окунуться в атмосферу осеннего восточного базара, поглядеть на четкие Ала-Арчинские контуры с улиц Фрунзе-Бишкека, погреться в Ташкентской чайхане было приятно. А в дипломате гарантийное письмецо с приличной цифирью до 50000, при цене жигуленка в 5-6 кусков, давало ощущение себя «богатеньким Буратино».
4. «Душанбинские капризницы»
И вот в Душанбе – желтенькие, как канарейка, микро-ЭВМ Д3-28 всего-то (!) за 5500. Давно уяснил, что лучше каждой твари иметь по паре, хоть шанс есть отремонтировать, если что. Сервис был где-то, не внушающий доверия, если туда что-то засасывало, то не факт что возвращалось отремонтированным. А уж отправлять на завод-изготовитель - что в омут камушки кидать…
Думалось, что если такой желтенький зверек будет на своем (СВОЕМ! А не чужом!) столе, то сомнений в его приручении не было бы.
Рис. 2. Микро-ЭВМ Д3-28.
На безрыбье первое знакомство не разочаровало, ожидал худшего.
В сущности, без причиндалов, это был сверхмощный программируемый калькулятор с похожей, но гораздо более развитой системой команд (несколько сотен), пробиравшей эту железяку до любой ее печенки.
Возможность писать программы на аудиокассеты вполне устраивала (хотя, ох какая куча проблем образовалась с читабельностью, не всякая кассета годилась для устойчивого хранения цифровой записи), грешно было капризничать после «Наири» без перфосчитывателя. Однако слухи о версиях Д3-28 с Бэйсиком вызывали приступы жгучей зависти, когда выписывал 0501, что значит «минус» и сам придумывал, в какую ячейку памяти запещерить переменную (какие уж там имена…).
В принципе, не очень сложно, как 0702 0503 0702. (Это я «дважды два» написал на ее мове, хотя в машине реально операция немножко по другому писалась, нужно было сначало рассовать операнды-цифири по регистрам, а уж потом действие назначать… Уж больно тягомотна была вся эта херомантия, как ведро чайной ложкой разливать, да еще вспоминалось с легкой завистью «Он в черепе сотни губерний ворочал…».
Да еще писать программу столбиком на узеньких полосках порезанной диаграммной ленты длиной несколько метров…
(Догадливые наверное сообразили, что 07 –признак цифири, а 05 – арифметической операции. Как каленым железом выжгло в мозгу…Это однобайтовые команды, двухбайтовые (двуспальными их называл) посуровее:=).
Тем не менее, удалось сваять пакет очень полезных вычислительных программ.
Успешность первых блинов, не оказавшихся комом, шефа порадовала, а так как на свою голову, пришлось отдать одну машинку в учебную аудиторию, он дал добро на покупку некоего «чуда» за 24000 рубчиков –«Рабочее место программиста».
В присланном списке оборудования больше никакой информации не было.
«Чудо» оказалось все той же той же Д3-28, но в обрамлении термопринтера, монитора и могучего стоечного дисковода для 5-дюймовых дисков. Такой набор ништяков радовал, но…
Гадство было в том, что никакого софта, кроме тестового, оживляющего эту кучу железа, не было. Где его брать – непонятно. Зато был чемодан с полной документацией и даже набор запчастей.
Ничего более существенно нового делать на ней было нельзя.
С горя (такие деньжищи, как в ж…!), читая на ночь всю техническую абракадабру, составил программку, которая, будучи подзагруженной к основной в закоулок памяти, хоть заставляла принтер и дисплей печатать столбики результатов, не выписывая их по очереди с табло-индикатора, и то хлеб. Потом мне пояснили знающие люди, что это, по сути, были, хоть и хреновые, но все же драйвера.
Для дисковода такую штуку я уже не мог осилить. Сложно его сектора да дорожки адресовать на этом суахили.
А тут и Душабинские машинки начали капризничать, то программа в одной плохо читалась, то непредсказуемо барахлила вторая.
И начался марлезонский балет с их периодическим ремонтом.
Удручало, что возиться с этим приходилось в основном в свободное от основной работы время, да и пока вся эта компьютерная жеребятина не интегрировалась прочно в химических конюшнях, широко пустив метастазы и и зацепив всех, (как далеко до этого еще было!), общеполезные удачи приветствовались умеренными гип-гипами («это НАШЕ все!»), а проблемы с этим стадом (хромота, болячки) – ТВОЕ личное дело – «инициатива наказуема».
А что делать?
"Мыши плакали, кололись, но продолжали грызть кактус..."
5. Спиртуозная технология диагностики ЭВМ
Был на факультете один бывший флотский спец, разбиравшийся в электронике и ЭВМ и причудливым путем попавший сюда. Его комиссовали с подплава из-за кессонной болезни после аварийной эвакуации, а рекомендовал его, как классного электронщика, препод кафедры радиотехники, капитан первого ранга в отставке.
Под одной крышей в корпусе обитали и химики, и радиотехники и химо-механики (или механо-химики?) и еще всякие, примерно как в Марфинской шараге, описанной Солженицином в «Круге первом».
Этот симбиоз неплохо помогал, радиотехники нуждались в хлорном железе и растворителях, мне нужны были приборы и детали для самоделок и ремонта.
Универсальной валютой был ректификат. То, что у химиков спирт в достатке, не совсем верно. Его расход нужно было тщательно расписывать в групповом журнале и личной тетради, прошнурованных и опечатанных, на утвержденные методики.
Комиссии так называемого «Народного контроля» мечтали прищучить какого-нибудь завлаба, в чьем хозяйстве были просчеты в учете спирта, или отсутствие заинвентаризованной бытовухи, дабы оправдать свое существование и претендовать на премию.
Внутренние денежные расчеты исключены, халявность не приветствовалась и осуждалась. А вентиляторщику и сантехнику дай, водителю за междугородний рейс за реактивами и к заказчику со своей продукцией дай, за длительную аренду какого-нибудь осциллографа и генератора дай, и так до бесконечности.
Да и для работы тоже нужно было, а уж к празднику настоять на корочках - святое дело…
Еще дипломником раскопал методику, нужную для частых анализов генерального продукта, который кормил нас постоянно. Методика кушала 75 кубиков спирта за раз, я огорчился по незнанию и наивности, реактив-то дефицитный... А дипломный шеф обрадовался, было бы на что списывать, а заказывать можно было бидонами…
Уже будучи менеэсом, методику усовершенствовал, установив, что изопропиловый спирт химчистоты ведет себя в анализах не хуже валютного ректификата, привезли его целую бочку с завода. Это было равносильно открытию Колымского золота. Женщины группы тоже были рады, изопропанолом замечательно было мыть стекла без разводов, он и сейчас во все такие средства входит.
Но «майнинг» спиртовалюты шариковой ручкой – занятие все же довольно утомительное.
Вопрос оплаты Володе-подводнику был решен, из своего «биТона» (как он ласково называл родную утопшую лодку) он вынес не только технические познания в электронике, но и любовь к «шилу». На флоте спирт «шилом» звали исстари, с парусных времен, когда ушлые матросы прокалывали шилом трубочку, шедшую от емкости с бодрящим напитком к каюте баталера-разливальщика.
На кафедре его тоже звали шилом, но по другой причине, потому что его не утаишь.
Соседняя группа втайне завидовала нашей «валютной» методике, у них вообще-то спирт лился рекой, но увы, метиловый, а паскудная реакция в съедобном ректификате идти не хотела. А масштаб у них был приличный, хороший гражданский заказ-договор.
Варили продукт для Львовского завода кинескопов, где освоили выпуск по японской лицензии популярных ламп «мерцающее пламя». Электроды, в виде язычка пламени, и нужно было покрывать этим продуктом. Кроме как на нашей кафедре, его нигде не делали. Особенно хорошо это смотрелось в елочных гирляндах с маленькими свечками.
На заводе начцеха Степан Степаныч, угостив вкусным салом с ректификатом, одаривал гонцов гирляндой и лампами, в Самару они практически не доходили в магазины. Одна из трудностей этой командировки была в том, что хлебосольный Степан Степаныч разливал напиток в корпуса лампочек «Миньон», в цеху служивших рюмками.
Хлебосольный в буквальном смысле, лучшей закуской он считал черняшку с солью, ну еще весьма приветствовал сало с репчатым луком, солидный шмат которого лежал у него в огромном сейфе, где стояла и 10-литровая бутыль ректификата…
Поставить «Миньон» было невозможно, в руке содержимое грелось, а быстро выпитое Степан Степанович нОлитым не считал.
Рабочие в цеху годы этого заказа считали одним нескончаемым праздником, электроды нужно было по технологии купать в спирту, не выливать же потом это добро…
Желая разжиться забавными лампами, увязался гонцом с канистрой продукта в интересный город, тем паче там был салон приборов.
Приборами во Львове не разжился, это не Средняя Азия, зато привез дефицитные киевские вибрамы.
«Гений электроники» Володя к заявке на ремонт отнесся положительно, но закатил цену в полтора литра. Торгом удалось сбить цену до литра, но он ставил условие – ремонтировать у себя без моего присутствия.
Может секрет какой таит? Он ревниво оберегал свои приемы, это ж хлеб его…
Мне же страсть, как хотелось посмотреть, как же можно ремонтировать такую незнакомую сложную технику, это же не телевизор, не соглашался, мол, таскать еще эту тижель, да и зависнет она у тебя…
Он упирался, но я добавил сбитые поллитра и консенсус был достигнут, с условием не торчать рядом. Это я понимал, у меня для некоторых дел был даже халат с транспарантиком на спине «Не Стой НАД ДУШОЙ!».
Придя ремонтировать, Володя выставил подозреваемую плату на переходной ремонтной плате из корпуса, включил машинку: «Пусть греется!» и сразу потребовал спиртику налить в стаканчик.
Догадался: «Для вдохновенья, наверное…».
Пользуясь отсутствием лабораторных женщин, упорхнувших в перерыв в самохват по кличке «Шанхай» (там «выбросили» импортных кур, к вечеру или скончаются, или давка будет), соорудил из их запасов в холодильнике неслабый закусон (Закуска-то градус крадет! Не в голяк же ему давать спирт глохтить, наремонтирует еще...). Вернувшись к Володе, выставил закусь и налил ректификата в фарфоровый тигель.
Он недоуменно уставился на закуску: «Это вообше-то потом надо бы, вечером…», и, хотя я и рта не успел раскрыть, без паузы добавил: «Уговорил, черт красноречивый!» и махнул рюмаху, запив «вредным» молоком вдогонку прямо из треугольного пакета (это было в местных обычаях, неплохо и очень мягко). Бодро захрустел маринованным огурчиком…
Затем быстро и хищно набуровил еще…
«Однако…»
Но пить эту дозу уже не стал, только коротко глянул на меня и буркнул: «ИзЫди…».
Понятно, такой вариант был продуман, равнодушно открыл стеклянную дверцу книжного шкафа и углубился в толстый справочник, В краешке дверцы прекрасно отражалось поле его деятельности.
Воровато глянув на мою спину, он вынул из кармана сюртука белый комочек (догадался – вата!), скрутил жгут, обмакнул в спирт и быстрым движением мазнул сразу по нескольким одинаковым микросхемам, в несколько рядов распаянных на плате и стал внимательно смотреть на них. Потом по другим. По комнате пошел густой спиртовой дух…
Вот она, тайна диагностики!
Неисправная (или неработающая без подвода питания и т.п.) микросхема в однородной по назначению компании была или горячее, или холоднее своих подружек, разная скорость испарения спирта выдавала ее!
Потом он сходил за осциллографом и долго тыкал щупом в ножки микросхем, с умным видом разглядывая чудовищную паутину схемы, мыча и угугукая. Чуял я, что теперь Володя просто туфтил, изображая длительный интеллектуальный поиск и мозговой штурм...
Потом он удовлетворенно хрюкнул, и, вынув плату, стал изучать через лупу распайку одной микросхемы. Ну, а потом ткнул паяльником в одну точку. Все заработало.
Лет через 10, в девяностых, я тоже начал применять этот прием затягивания диагностики и ремонта, ремонтируя на стороне медаппаратуру и другую нестандартную. Спецы из «Медтехники» разбежались, а в родных стенах заработать реально можно было сверх оклада только Почетную грамоту, пока не развились собственные коммерческие структуры.
Еще не отвыкли тогда у нас оценивать труд иначе, чем по количеству пота и телодвижений с разными инструментами.
Добрым незлобивым словом помянул Д3-28, разные ДВК да и СМ-1420 за суровенькую школу.
…Когда «мерцающая» неисправность, явно говорящая о «холодной» пайке приключилась на другой машинке, решил уже сам попробовать, и был застигнут Володей, пришедшим поинтересоваться, нет ли еще чего починить (спирт, видимо, кончился). «Догадался, смышленый однако…» -протянул разочарованно, почти как Варенуха, понявший, что его вампиризм расшифрован.
Ну, а уж с осциллографом потихоньку обучился диагностировать, благо вся такая техника комплектовалась документацией с эпюрами импульсов в контрольных точках.
А с Д3-28 и позже (но реже) с ДВК-2 и ДВК-3 у меня основной причиной неисправностей, особенно «мерцающих», были технологические - «холодные пайки», ну еще блоки питания отличались.
Степень интеграции относительно низкая, элементов море, пайка ручная.
На некоторых ДВК больше удручали болгарские винчестеры из за ошибок чтения-записи и бэд-блоков, медленно, но неуклонно размножающихся.
Хотя свою научно-техническую функцию они исправно выполняли, не для игрищ делались. Но хотелось чего-то типа MathCAD’a и AutoCAD’a.
С заменой микросхем была заморочка, специальную колодку-насадку на паяльник делать приходилось, такую многолапую заразу проще припаять, чем выцарапать.
У приборов была еще причиной неисправностей сборка последних чисел декабря…
Рис. 3. ДВК-2, ДВК 3М, Правец-16.
Один наш сотрудник получил из Еревана неработающий шлейфовый осциллограф выпуска 31 декабря. На нераспаянном пучке монтажных проводов была примотана записка «Извини, друг, не успел распаять» и схема распайки.
Володя, заценив мои «драйвера», предсказал, что лет через «-надцать», глядишь, и операционную систему сваяю, если Д3 не сгниет раньше и я брошу все дела ради этого.
У него были связи, по которым он выбил две Д3-28, могущие работать с загружаемым Бэйсиком, моя не хотела, была какая-то особенность, а с платой из его машины могла.
Он положил глаз на мой могучий дисковод и предложил махнуться.
Предлагал мне очень нужную плату из одной в обмен на практически не нужный мне дисковод.
И, конечно, литр сверху…
По стоимости железок обмен был грабительский, но я вспомнил о 0702 0503 0702 и согласился. Все же это был шанс перейти от садомазохистских упражнений на практически машинном языке к цивилизованному программированию.
Но поллитру скостил, если Володя лишался какой-то платы, запрятанной в корпус (да и была ли она вообще? Матответственному лишь бы корпус с инвентарным номером был…), то я отдавал здоровенный дорогущий ящик, отсутствие которого при инвентаризации создавало очень грозную формулировку «Разукомплектация дорогостоящего оборудования».
Заручились расписками, скандал с завлабом потом был, но как то уладилось, с баланса на баланс перевели.
И вот тут-то начала всплывать «рюкзачная» тема.
Нет, не для того чтобы, сделав программу, перед походом, в отпуск, переться на работу делать проект раскладки по программе, Боже, Спаси и Сохрани!.
В такое время на работе можно было появляться только стремительным летящим шагом, показывая, что тебя здесь нет, а это просто фантом, дубель, а на улице тебя ждет такси со счетчиком, паровоз, уже говорящий «Ого!», или конь вороной нетерпеливо бьет копытом.
А уж если вдумчиво расположиться за ЭВМ, то стопудово раздастся вкрадчивое «Ну, если уж все равно ты (вы) здесь…) и можно влипнуть обеими ногами в длительное разрешение вопроса, который или сам рассосался бы, или вообще не требовал обязательного решения.
Да и диалоговый режим без графического интерфейса просто не очень-то подходил реально для таких расчетов-раскладок, не давал бы пасьянсной легкости. Идея несколько опережала интерфейсные возможности ДВК.
Причина была в другом. Уже на Д3-28 без Бэйсика удалось сделать (размявшись на программе игры в очко) очень полезную имитационную обучающую программу для одного из многочисленных вероятностных испытаниях характеристик веществ, напоминающих забаву пацанов, бьющих молотком по похожей на пистон блямбе: «Бахнет или не бахнет?».
Вариаций таких способов туча по всему миру, и «русская проба» и «нижний предел чувствительности» и «кривая частости» и «Методы Горного бюро США», и к удару, и к трению, и к наколу и т.д. и т.п., и никакой теорией нельзя было заменить такую сугубо практическую оценку безопасности.
В современных вариантах, уже с видео и мультипликацией эта программа и ее модификации для разных способов живут и поныне на кафедре в учебном процессе, воспринимаются как само собой разумеющееся.
В реальности, для учебных целей, провести полный цикл испытаний было невозможно, долго и очень болезненно для ушей и нервов, а студиозы довольно причудливо понимали их сущность при сокращении методики, да и теория вероятности многими с трудом воспринималась без полного эксперимента.
Рис. 4. Уши и нервы женщин надо беречь!
Мальчикам такая стрельба нравилась, гордо кричали «Внимание!» перед очередным нажатием на кнопку сброса десятикилограммовой чушки (наверное, представляя себя артиллеристами, ведущими огонь по супостату), дабы мирно сидевших за сдачей коллоквиума товаришей не хватил Кондратий (да еще то ли бахнет, то ли нет, интрига постоянная…).
В одной точке кривой частости было по ГОСТу 25 сбросов, мы гуманно для студентов, но с ущербом для науки, сокращали до 10.
А вот девочкам эта бодрящая музыка почему-то не очень нравилась:=) («О, Го-о-с-с-поди!), особенно если будущая мама и срок приличный …
По интернет-информации (ректорат давил – «Давайте информацию о разработках на соответствующие ресурсы для рейтингов!») в конце 90-х этими программками заинтересовались и в Бауманке, на косвенно близкой по профилю кафедре, где нерационально было заводить специальную испытательную лабораторию, и еще в разных местах, но время было сложное, противодействующие субъективные факторы задавили возможные альянсы.
Других задач обучения тоже было полно, в разделах, где реальное выполнение полезных для понимания сути изучаемого процесса действий, могло привести стьюдента к получению, безусловно, почетных, но сомнительных кликух, типа «Кутузов» или «Беспалый», а препод мог бы узнать, что сидеть можно стабильно и долго при любом реальном пространственном положении тела. Да и возможности показать и объяснить наглядно то, что невозможно увидеть реально, уже виднелись.
Были посулы о ДВК-4 с цветной графикой и приличной по тем временам памятью.
Уже появлялись слухи и инфа о разных тренажерах на базе ЭВМ,
Популярны были игрушки по управлению государством, типа «Хаммурапи».
А уж в контроле была возможность придумать что-то поэффективнее туповатых выборочных тестов, которые служили предметом едких шуток.
Особенно запомнилась такая подборка в разделе юмора факультетской газеты в тушинском корпусе Менделеевки, которую перечитывал несколько раз, скучая, в долгом ожидании кафедрального шефа по поводу защитных дел (мотаться сотрудникам факультета в главный корпус за каждой ерундой на Миусскую – не ближний свет, как наказание).
Один из тех приколов:
«Какую поэму написал Маяковский?
1-Удовлетворительно.
2-Нормально.
3-Хорошо!
4-Отлично, Константин!
(Конечно, понять полноценно можно, только зная про миниатюру М.Жванецкого.)
Невольно запомнил фамилию автора раздела юмора и его фото (очкарик ботанического вида) на факультетской доске почета: М.Ходорковский.
6. Кодировать или программировать?
Мичуринские методы в прикладном программировании
– А что это там у вас за лампа? – подозрительно спросил Фарфуркис.
Старичок ударил по клавишам, потом быстро вырвал из машинки листок бумаги и рысцой поднес его Фарфуркису. Фарфуркис прочитал вслух:
– «Вопрос: что у нея… гм… у нея внутре за лпч?» Лэпэчэ… Кэпэдэ, наверное? Что еще за лэпэчэ?
– Лампочка, значит, – сказал старичок, хихикая и потирая руки. – Кодируем помаленьку. – Он вырвал у Фарфуркиса листок и побежал обратно к своей машинке
Аркадий и Борис Стругацкие. Сказка о тройке
Основными задачами сначала была чисто автоматизация рутинных вычислений, но это сравнительно простая задача, суть которых в переводе формул от математического вида в программный. Для развития техники программирования такая деятельность мало что давала.
Старикашка Эдельвейс неплохо выразил суть кодирования, как перевода.
В Википедии сейчас кодирование и программирование считают практически синонимами, но в среде профессиональных программистов в 80-х, да и в переводной литературе, они считались разными по характеру. На стажировке в солидной шараге ВПК на ИВЦ слышал такое определение «Программирование начинается там, где заканчивается кодирование».
Учиться на коротеньких примерам по книжкам было нужно, несколько лет брал в горы засыпальником брошюрки с примерами, это замечательно успокаивало и удремывало в спальнике при свете налобника, что-то оставалось, вроде как обучение в полусне.
Практически весь софт для ДВК был самодельный, детище энтузиастов, распространяемый по принципу «ты – мне, я – тебе». ДВК по породе была не IBM – совместимой, а из, в общем-то, благородного «дворянского» рода PDP-11 (для юзеров софта в этом роде негусто было), сиречь о MatCAD’e, AutoCAD’e, электронных таблицах зналось, но только чаялось..
Планов появилось громадье.
Для отработки техники программирования мне нужна была непротивная (!) по смыслу задача с простой, как мычание, арифметической математикой, но в которой можно реально пробовать, изучать, осваивать, хранить разнообразные приемы, связанные с более широким спектром действий, чем запись матформул.
Возможные проекты программ-имитаторов и симуляторов-тренажеров уже мерещились в голове, их реализация образовывала целое направление деятельности, одним из тех, которыми пришлось заниматься до конца служебной карьеры. Уровень нужен был, скорее более, чем менее.
Учиться самостоятельно базису на реальных задачах с изощренной математикой было стремно, вроде как идти на бигволл, осваивая основы ИТО на ходу, в процессе.
Да и малоэффективно, обычно по психологическим причинам вместо применения результативного, но не освоенного приема, заносило на путь наименьшего сопротивления.
(-Маша, вяжи булинь!
-Сейчас попробую…
-Машенька, не надо пробовать, вяжи лучше десять бантиков!)
Вот тут то и пришла в голову задачка о распределении груза по рюкзакам.
По-ученому она могла бы примерно так формулироваться:
Распределение объектов с набором свойств путем обратимых транзакций и визуальным наглядным контролем в базах данных.
Наворочать приемов программирования в этой задаче можно массу,
а брать работающую процедурку для применения в реальных задачах удобнее из живой программы, а не из короткого абстрактного примера. Да и все в одном месте с комментариями будет, как справочник.
Ценность такой «рюкзачной задачи» для меня была и в том, что ее алгоритмические идеи совпадали с принципами работы задуманной серии программ-симуляторов реальных технологических процессов – создается определенное воздействие на процесс (или дозировка компонентов в реактор), по показаниям приборов оценивается его состояние, принимаются решения, ищутся пути выхода из аварийной ситуации.
Помимо действительно нужных для раскладки груза по рюкзакам функций добавлялись довольно органически, другие, несвойственные этому процессу но полезные для освоения заковыристых приемов.
Так появилась эдакая мичуринская технология изучения программирования, как если бы на ветвях яблони прививали грушу, ранет и пр., а у меня на «рюкзачной» задаче причудливо начинали паразитировать и совсем экзотичные для этой задачи функции, как если б на яблоню привили огурцы и репчатый лук.
Но свою роль, как бройлерное самообучение, этот прием выполнял отлично, особенно в девяностых, когда хлынул поток софта и систем программирования.
Да и железо IBM-совместимое поперло, у нас началось с болгарских Правец-16, клонов ХТ.
В 90-х припомнилось авторитетное предсказание одного гуру-эксперта.
В обзоре файловых оболочек (где то в 86-87-м) врезалась в память разгромная критика «самой тормозной», требущей много ресурсов и «абсолютно бесперспективной Windows от компании Microsoft», «с вычурными песочными часами».
Врубаться в прикладное программирование смысл был, универсального специализированного софта не было, а заиметь профессионального программиста со стороны, как зудом-зудели некоторые коллеги «не в теме», под видом доброжелания желающие пристроить своего родича в трудное время на все же гарантированный кусок хлеба с колбасой– пустое дело, сложно было бы найти угол, в какой его можно было пристойно поставить, чтоб не падал.
А на каком птичьем языке замыслы передавать? Для мозгов USB-кабелей и сейчас не придумано.
Не успев вовремя отбояриться от настырного коллеги, оформившего своего племяша– будущего программиста, на официальную «производственную» практику ко мне, действительно очень способного вьюношу, выдал ему, как задание, несколько расчетов из «Справочника инженера-химика» Дж.Перри, и отправил работать домой, чтоб не отсвечивал (начало девяностых, уже по домам компы появились). Не справился ни с одной по банальной причине – справочник изобиловал типографскими опечатками визуального типа (наборщику по барабану было, цифра 1 или L-малое латинское в формуле, и еще в этом духе, но легко распознаваемые людьми «в теме», секущими смысл формулы.).
Старательного парня не обидел (не растут уши выше лба), помог, положительный отзыв на практику дал, но маленько борзую спесь стряхнул, а то:
«Что можете делать в программировании?»
«- Че скажут, то и сделаю!».
«Болезнь третьего разряда» не только в альпинизме бывает…
Через пару лет один мой средненький дипломник, от нуля подтянулся за месяц до уровня, позволяющего использовать его как реального помощника на кодировании и несложном программировании в совместном проекте.
Он запрограммировал все расчеты злополучного двухтомного справочника на MathCAD’e в очень полезный «Пакет эксперта». Процентов семьдесят задач были с такими ошибками (при списке академиков в полстраницы на титульном, видимо, если они и смотрели, то с особым прищуром – начертание похожее? – кому надо, поймет!).
Была в ходу поговорка – «чистый», профи-программист знает, КАК ЛУЧШЕ что сделать, НЕ ОЧЕНЬ ПОНИМАЯ, ЧТО ИМЕННО ДЕЛАТЬ, а прикладной ХОРОШО ЗНАЕТ, ЧТО ИМЕННО ДЕЛАТЬ, но делает это, КАК МОЖЕТ.
По результату второй вариант на практике был эффективнее. Главное, «КАК МОЖЕТ» расширять.
После ДВК, конструктивно признанной самой сложной микро-ЭВМ, одноплатные компьютеры казались детским конструктором «Лего».
Трудновато было лишь привыкать к раскладу латиницы по стандарту QWERTY.
Об истории этого эргономически совершенно не обоснованного расклада в переводной энциклопедии компьютеров была легенда, что его специально ввели в конце 19-го века, чтобы шустрые машинистки «Ундервудов» не работали со скоростью, превышающей возможности механики машинок, отчего их клинило.
Кириллический же расклад эргономичен и обоснован, в центре более употребляемые.
Сколько нецензурщины было при программировании, при ломке многолетнего стереотипа… Привыклось, что созвучные латинские символы следовали по кириллице. Правда рядовых юзеров это меньше напрягало.
7. «Рюкзакиада», или По следам Ляписа Трубецкого
Нужно было оценивать и выбирать систему для разных типов задач.
Хотя есть мнение, что лучший язык программирования – тот, который хорошо знаешь, руководящим принципом его для себя не считал.
Прием с «рюкзачным деревом» помог освоить графический Паскаль с шедевральным пакетом PCX, Clarion, Delphi, попробовать Clipper.
От Бэйсика отошел еще на ранних стадиях. Каждый язык невольно ассоциировался у меня с человеческим типажом.
Бэйсик – эдакий рубаха-парень, слегка нетрезвый, добродушный: «Брателло! Ты, да я, да мы с тобой!», ширинка застегнута на рубашку, ручонку потную сует, с пьяным поцелуем лезет… Чуть задача посложнее – делает козью морду, «Ну вот такое уж я гуано…».
Конечно, он здорово посерьезнел и возмужал, когда стал Visual Basic’ом, но все же некоторые замашки остались.
Паскаль – строгий джентльмен в наглухо застегнутом сюртуке, в цилиндре и белых перчатках, все у него по правилам и законам, немного занудный, но обязательный и надежный.
Clarion – торговец удобной стандартной мебелью, да как то не очень удобно вписывающейся в разные нестандартные квартиры.
Привычным стало пробовать новую осваиваемую систему программирования, опираясь на один базовый алгоритм, видны были выпукло все нюансы и возможности. Это напоминало поэтическое многообразие «Гаврилиады» незабвенного Ляписа Трубецкого, колоритного типажа «Двенадцати стульев», торговавшего многоликим Гаврилой в разных редакциях, но в данном случае эффект был положительным, получилась этакая «рюкзакиада».
Студиозы оценивали такие программные продукты положительно, все же веселее моделировать, как в игры играть, чем в книжку врубаться и в свои каракули.
Но чувствовался у некоторых в этом пиетете что-то вроде «стокгольмского синдрома», а контролирующие модули с нестандартной системой тестирования, быстро и качественно определяющие лоботрясов, вызывали, похоже, сложное чувство, сродни особенному одобрению действий палача, тщательно намыливающего веревку. Пришлось достойно принять кликуху «Терминатор».
Уже в двухтысячных успешно ввел прием обучения на такой «сквозной дидактической задаче с постепенно увеличивающейся сложностью» (название такое придумал для конференции) и для студентов в курсе прикладного программирования на VBA (конечно, не на основе раскладки рюкзаков:=) . Освоение VBA и было последним вариантом применения «рюкзачного» чудо-дерева.
О версии программы для реального применения такой задачи и мысли не возникало, байдарку по уральским речкам или в круиз по Волге хоть с парусом, хоть с мотором, хоть так, можно и без автоматизаций снарядить.
Для решения интересной задачи «Куда идут деньги?» перепробовал кучу готовых программ домашних финансовых расчетов (не хотелось велосипед изобретать), но больше недели ни с одной работать не мог – слишком много мышиных кликов на один чек, занудно.
Большинство их было замешано на стандартных приемах управления базами данных, как в серьезной бухгалтерии, где это оправдано, а для домашних целей несколько громоздко.
Попробовал сделать программку со своим приемом, напоминающим пасьянсную раскладку – получалось порядка 50 мышиных кликов на один чек из супермаркета – не 150 как в аналогах классических бухгалтерий. Так и успешно юзаю свою самоделку с графическим анализом для учета и оптимизации домашних расходов уже три года.
Основная суть этого приема реализована Питером Нортоном, еще в первой версии «Commander»-а – одна панель – источник, другая – приемник, после клика на строке с файлом нужно было выбирать команду F-клавишей, а у меня команда была предопределена единственная, поэтому просто всплывала панелька с возможными условиями транзакции (задать значение и т.д.)
Получалось быстрее, чем при классическом выполнении такой операции в базах данных и всяких бухгалтериях в частности.
А ведь такая легкая «пасьянсная» технология распределения могла бы и «рюкзачную» задачу превратить в забавное занятие?
Из любопытства сделал поиск, какой софт есть для «рюкзаконосцев», разнообразия особого не нашел, да и не искал особо плотно.
Чужие приемы обладают способностью невольно зашоривать собственные мысли и решения.
«Рюкзачная задача» - по сути, побочный продукт профдеятельности, исправно исполнявшая свою специфическую роль, как-то не очень требовала воплощения в реальную программу. Не было личной потребности, да и дополнительные тяготы в виде создания пользовательского интерфейса, всяких блокировок, «защит от дурака», составляющие значительно больший объем, чем базовый алгоритм, не вдохновляли.
Но какое-то ощущение досадного недодела, как замороженная стройка, застопорившийся ремонт, начинало бередить и зудеть занозой.
Это, пожалуй, соответствовало ситуации, как если бы проторчав в Гималаях, разведав неплохой маршрут, обработав ледопад и ключи, сделав заброски, провесив перила в стремных местах – и свалить, не оглядываясь, в Катманду пить чанг, или что покрепче, и далее, скажем, вибрамы в Индийском океане мыть:=) и чесать пузо на солнце.
Не по-пацански как-то…:=)
Да и людЯм могла бы она пригодиться.
Вот так я докатился до внутренней потребности сделать «рюкзачную» задачу в своем варианте завершенной, увидеть в действии, попробовать дать подышать и выйти в люди этому детенышу, а не выбрасывать его на свалку времени, как нерадивая мамаша новорожденного в мусорный бак.
Созрела и техническая база для реализации, что было важнейшим условием для создания распространяемой версии.
Хотелось попробовать в деле среду разработки со свободной лицензией «Lazarus» (Free Pascal) Знакомство с ним в 2005 году оставило приятное впечатление, но уж слишком много «детских болезней» в начальной версии было. Развивался он очень неспешно, продукт некоммерческий.
Попалось интервью с Кристианом Гислером, автором всемирно известного Total Commander’а, в котором он, в общем-то, положительно отзывался о повзрослевшем Lazarus’e, делая на нем восьмую, 64-разрядную версию своего продукта (жалуясь, правда, на серьезные трудности, связанные с недостаточным документированием особенностей, все же это не полный аналог почти абсолютно документированной Delphi).
Интересно было поюзать его, сделав что-то полезное (не вирусы же писать) тем паче версия 1.6 уже, считают, была близка к приличной Delphi-7.
Вот такая большая совокупность причин и привела к тому, что получилось, то, что получилось.
Сейчас расчетные задачи при подготовке походов можно неплохо облегчить и Excel’ем, но мне показалось, что с такой программкой веселее и быстрее было бы работать.
Появились новые методы формирования групп, обеспечения продовольствием (вплоть до личного дела каждого участника), но возможность делать прикидочные расчеты, осталась.
Наибольшая применимость программы, имхо, - для линейных маршрутов, но и при комбинированных маршрутах набор легко создаваемых, без напряга, домашних заготовок для колец и радиалок весьма практичен, как основа для перераспределений груза по ходу дела в изменяющихся условиях.
8. Интерфейс программы и основные операции
Более полное описание программы приведено в руководстве-мануале в формате PDF, включенном в состав дистрибутива демо-версии, которую можно скачать по ссылке из моего мэйл-облака.
Скачать демо-версию из мэйл-облака
На скачку с мэйл-облака есть жалобы, поэтому
дублирую ссылкой Яндекс-облака:
Скачать демо-версию из Яндекс-облака
В демо-версии заблокированы функции, позволяющие увеличить или редактировать список распределяемого продовольствия и снаряжа, но вполне можно оценить ее функционал и понять, нужна ли она вам вообще.
Там же есть информация (в разделе "О программе"), как получить (бесплатно) полнофункциональную версию.
Нужно просто отправить мне на приведенный там адрес запрос. В какой форме? Да любой, берите пример с лаконичного бравого пилота Мимино («Ларису Ивановну хАчу!»).
Почему раздача программы в такой двухступенчатой форме?
Мне хотелось бы знать реальный уровень заинтересованности в ней. Это дало бы уверенность и мотивацию для доведения ее до «окснарвида», эта версия – пробный шар (если, конечно, в ней вообще будет потребность).
Под «окончательно снаряженным видом» в данном случае я понимаю версию с исправленными возможными ошибками, с моделированием разработки походного меню с учетом калорийности, сбалансированности (по жирам, белкам и углеводам), составлением комплексной сметы, ряда дополнительных возможностей и усовершенствования существующих (с учетом возможных пожеланий).
Готовую базу продуктов собирался подключить не только с походными, но и с цивильными продуктами, что позволило бы использовать ее для диетического проектирования, что, вероятно, может пригодится и понравиться боевым и не боевым подругам в домашних условиях.
По приведенной здесь ссылке скачать могут демо-версию просто из естественного благородного любопытства (я бы скачал, я любопытный) без намерения практически использовать (демошка его вполне удовлетворит).
Писать же, хотя бы трехсловный запрос, не поленившись зайти в почту, предполагаю, будут те, кто действительно собирается ее использовать. Это и даст мне более объективное представление о востребованности. Вполне понятное и законное желание.
Во-вторых, канал обратной связи позволит мне высылать скорректированную версию исполняемого файла при обнаружении в программе досадных глючков, если таковые вдруг обнаружатся мной или пользователями, их и у Мелкософта хватало.
Это считается хорошим тоном, если уж всучил свой продукт – неси разумную ответственность за его работоспособность в рамках заявленной версии.
Хоть я и проверял полный цикл работы на примерах в ХР, 7, 8, 10 но замыленный взгляд на 29 тысячах строк программного кода может и сплоховать, да и статистику в одиночку получить трудно, может и платформа как-то повлиять. Так что, если уж вылезет какая недоработка грешная на свет божий, прошу не пинать, а по-деловому отписать по указанному в программе адресу замечание, буду благодарен.
Во всяком случае, спамом не задушу и несанкционированно использовать полученные адреса для темных целей не собираюсь.
.
Здесь, в посте, я привожу сокращенное описание интерфейса программы и ее функционала.
По умолчанию в настройках включена функция подсказки («хинт») при наведении на каждый элемент интерфейса, участвующий в управлении программой.
Для удобства ознакомления с функционалом демо-версия программы укомплектована небольшим примером (проект «Демо»), а рабочая версия дополнительно более полным примером (группа 10 чел.) в двух состояниях – перед распределением - пример «Демо_исход») и полное распределение груза - пример «Демо_конец» (находятся в подкаталоге "Архивные" каталога программы).
Ставить рабочую версию можно (нужно) просто поверх демошки.
Для общего представления о структуре программы и ее функциях иллюстрирую далее пост картинками из мануала. Качество их отображения на сайте получается не слишком хорошее, тонкоконтурный растр - не пейзаж, разрешения не хватает, но ознакомительную роль они все же выполняют. Текст тоже из мануала.
Для удобства вес при подготовке баз данных и создании «куч» снаряжения и продуктов вводится в граммах (не нужно заморачиваться разделителем), в режиме моделирования вес отображается в килограммах.
Рис. 5. Кадр из описания –руководства программы в формате PDF, где упрощенно представлен ее основной функционал.
8.1. Главное окно программы
Основное окно (окно моделирования) в верхней части имеет главное меню и дублирующую его панель управления с кнопками основных режимов.
Фундаментом, основой интерфейса программы выбрал парадигму двух панелей Питера Нортона, на которые делится экран (Источник -Приемник). В главном окне слева «куча» продуктов или снаряжении, справа – группа рюкзаков с панелью просмотра их содержимого в табличном или графическом виде.
Рис. 6. Панель меню программы. Основные разделы и функции.
Кадр из руководства в формате PDF.
В нижней части окна – строка статуса, в которой отображается имя текущего проекта и динамическая информация о сохранении и автосохранении.
Рис. 7. Главное окно программы. Выделены основные его элементы.
Особенностью работы программы при работе в главном окне моделирования (по сравнению с работой в среде электронных таблиц) является то, что каждая транзакция фиксируется сразу же не только в экранных таблицах, но и на файловом уровне, поэтому, в принципе, выход из программы в любое время без специального сохранения не приведет к потере данных на текущий момент.
Это на доли секунды «подтормаживает» операцию, зато надежно защищает от возможных досадных потерь.
Рис. 8. Заголовок таблицы распределения группового снаряжения.
В заголовке «Кучи» после наименования груза идут три столбца для отображения установленных признаков-атрибутов: «Комплект», «Расходный», «Важный» у которых есть очевидная цветовая легенда для наглядности.
Желтый цвет соответствует «важному», голубой – «расходному», зеленый - компоненту с двойным атрибутом.
Признак «комплектности» «К» (синий) виден только в столбце «К», а признаки «Р» и «В» видны по цвету на «карте распределения груза» в столбцах 1-12, соответствующих рюкзакам.
Назначение атрибута-метки элементу груза позволяет наглядно видеть его «судьбу» - как он распределится по рюкзакам.
Правее столбцов с атрибутами идут столбцы с весом одного объекта позиции («Вес»), затем столбец с количеством этих объектов в куче («Кол»), а далее столбец с суммарным весом этих объектов в куче («СумВ»).
Когда конкретный груз в позиции роздан по рюкзакам, обнуленное поле количества подцвечивается серым цветом для наглядности.
Далее два «спрятанных» по умолчанию столбца «Расх» и «СумР» - расход и суммарный расход, в данной версии они в принципе уже работают, в основном предназначены для включения в расчет общей сметы версии 2.
Это финансовые затраты на приобретение снаряжения (продуктов) или прокат (аренду) снаряжения. При распределении они не нужны и по умолчанию спрятаны.
Рис. 9. Кнопка «Столбцы по умолчанию» раскрывает спрятанные и одновременно приводит ширину других столбцов к стандарту по умолчанию.
Показано, как «захватывать» границу столбца мышкой для изменения его ширины.
Опять убрать их можно уменьшением ширины до нуля.
Такие манипуляции можно делать со всеми столбцами во всех таблицах, если включена соответствующая опция в «Настройках» (включена по умолчанию) для оптимизации рабочего пространства в таблицах, например по завершении распределения можно улучшить видимость карты распределения (при низких разрешениях таблицы она видна неполностью и может понадобиться подстройка ширины столбцов по вкусу):
Рис. 10. Некоторые столбцы в «куче» стали не нужны.
Рис. 11. Карта распределения видна полностью, столбцы уменьшены частично или до нуля.
Столбец «1-12» содержит количество распределенных по рюкзакам единиц продуктов и снаряжения (ненулевые значения подцвечиваются розовым).
Дальше идут 12 столбцов для количества объектов в рюкзаках, и, затем, поле комментария.
Серым цветом выделяются ячейки с количеством снаряжения у позиций, уже участвующих в раздаче.
Ниже таблицы – панель материального баланса, распределение груза по весу между «кучей» и рюкзаками в целом.
Рис. 12. Панель материального баланса «кучи».
Рис. 13. Вид главного окна в начале распределения груза.
На рис.13 видно, что куча снаряжения прошла оптимальную сортировку, (как, показано ниже).
Позиции с атрибутом «Важный» собраны вверху таблицы, отсортированы по убыванию веса (столбец «СумВ»). Остальные позиции в своей группе тоже отсортированы по весу. Начинать распределение удобнее с верхних строк, с более тяжелым снаряжем.
8.2. «Пасьянсная» технология распределения
Технология распределения напоминает работу с файл-менеджерами Нортоновского типа и, одновременно, раскладку пасьянса.
Щелчок на строке таблицы вызывает появление панели свойств операции.
Для управления программой используется только щелчок (клик) ЛЕВОЙ кнопки мыши.
По левой панели – в открытый рюкзак (рис. 14), по правой (рис. 15) – возврат позиции продуктов или снаряжа в «кучу».
Соответственно слева меняется закладка «кучи»: или продукты, или снаряж.
Рис. 14. Текущий момент распределения снаряжения в рюкзак №5.
Рис. 15. Текущий момент возврата снаряжения в кучу из рюкзака №5.
Графический контроль загрузки рюкзаков нагляднее.
Рис. 16. Графический контроль загрузки рюкзаков. Панель «Вид диаграммы» дает возможность выбирать нужные ряды. Панель вызывается щелчком по полю диаграммы.
Рис. 17. Создание комплекта - группы, Запрос на подтверждение комплектации.
Если назначить записи атрибут «К» - то количество единиц в данной позиции становится неделимым комплектом, который в дальнейшем будет перебрасываться за один клик мыши, как будто эти предметы положили в мешочек.
Ведь, возможно, эту группу понадобиться перепасовывать в другой рюкзак и это исключит лишние действия (установку количества) и ускорит процесс в целом.
Можно сделать и разгруппировку.
Рис. 18. Комплект создан,
Рис. 19. Передача груза в виде комплекта в открытый рюкзак 5. Он несет атрибут «К» с собой.
Обратите внимание на цифры в колонках «Код» в «Куче» и рюкзаках (красные линии соответствия). Если в «Куче» код совпадает с номером строки, то в рюкзаках это не так.
Показано соответствие позиций по коду.
Код – это собственно идентификатор груза для программы, она в смысл наименований не вникает.
В рюкзаках строки не нумеруются, этот код – собственность объекта, а не таблицы.
В рюкзак груз переходит со своим программным идентификатором – кодом, в «куче» он совпадает с номером строки.
В рюкзаках первая колонка содержит этот код, По коду эта позиция вернется именно в «родную» строку с эти номером, если понадобится переложить этот груз в другой рюкзак.
Все перемещения грузов сопровождаются изменениями по количеству или весу в таблицах и полях с суммарным весом категории груза (продукты или снаряжение) в рюкзаке и под таблицей «кучи» на панели материального баланса.
Синхронно меняется информация в сводной таблице загрузки рюкзаков, или на выбранной диаграмме (рис. 20-24), это удобно для отслеживания динамики процесса и корректировки (куда, что перебросить).
8.3. Текущий графический контроль
Теперь о контроле по диаграммам в правом нижнем углу.
Щелчок по диаграмме вызывает диалог, в котором можно указать нужные столбцы, если все три мешают восприятию (особенно если экран неширокий).
Рис. 20. Контроль по диаграмме за весом снаряжа и продуктов. Диалоговое окно выбора нужных рядов гистограммы. Выбран суммарный вес.
Рис. 21. Контроль по диаграмме за весом снаряжа (синий столбец) и продуктов (красный).
Рис. 22. Текущий контроль за характером распределения груза по рюкзакам по степени важности для минимизации ущерба при возможных утерях.
Красных столбцов нет, еще не выбраны «важные» продукты.
.
Рис. 23. Текущий контроль за характером «расходности» по снаряжу и продуктам. Продукты «расходны» по определению.
Рис. 24. Сводная таблица загрузки рюкзаков. В табличном варианте менее наглядно, зато сразу вся информация.
Допустим, распределение завершено (рис. 25).
Рис. 25. Распределение завершено.
Рис. 26. Распределение груза завершено. «Выключены» ненужные столбцы.
Включен просмотр загрузки по диаграмме. По весу распределение приемлемое.
Перейдем в режим «Анализ».
8.4. Анализ результатов распределения
Рис. 27. Анализ распределения.
Слева - просмотр распределения газа и сублимированного мяса.
Справа - По весу загрузка рюкзаков равномерная.
Есть неравномерность в «расходности».
Рис. 28. По продуктам расходность хорошая.
При таком распределении продуктов меньше возникнет необходимости в перераспределении груза между участниками, это основной расходный груз.
Рис. 29. По снаряжению есть некоторая неравномерность .
Смотрим, например, что в рюкзаке №10 расходного.
Рис. 30. Из рюкзака №10 можно перебросить часть баллончиков с газом в рюкзак №7.
Ну и так далее, до желаемого состояния.
8.5. Экспорт данных
Все таблицы легко экспортируются в Word через буфер обмена.
Предварительно выбранная таблица автоматически превращается в размеченный текст нажатием кнопки «Преобразовать таблицу в текст», в котором разделителем колонок является точка с запятой.
Рис. 31. Экспорт таблиц через размеченный текст.
sm]Рис. 32. Вот так выглядит размеченный текст.
При нажатии на кнопку «Копировать все в буфер обмена» размеченный текст копируется из контрольного поля в буфер обмена.
Контрольное поле – просто «иллюминатор» для контроля, что операция преобразования выполнена, делать в нем нечего.
Процедура преобразования размеченного текста в таблицу достаточно тривиальна.
Предполагаю, что не все абсолютно делали в Word’e эту операцию, поясняю ee детально.
В редакторе Word текст таблицы вставить в нужное место из буфера, выделить и выполнить команды мышью «Вставка» - «Таблица» - «Преобразовать в таблицу». Указать в качестве разделителя точку с запятой.
Рис. 33. Преобразование размеченного текста в таблицу.
Вот так это выглядит без дополнительной обработки, ну а дальше таблица обрабатывается ручками.
Рис. 34. Вид образованной в Word’e таблицы без обработки.
Аналогично экспортируются остальные таблицы.
Содержание каждого рюкзака экспортируется поочередно со спаренными таблицами снаряжения и продуктов.
Рис. 35. Экспорт таблиц содержимого рюкзаков через размеченный текст.
Рис. 36. Вид образованных в Word’e таблиц содержимого рюкзака без обработки.
В принципе неплох и достаточно быстр «дубоватый» экспорт через снимок экрана - «скриншот» с обрезкой в графическом редакторе и сведением картинок в нужную комбинацию на листе «Word».
Только разрешение монитора должно быть побольше, чтобы меньше кроить таблицу из «лоскутов». И столбцы по ширине нужно подстроить по вкусу.
При нажатии на кнопку «Фото» образ текущего окна фиксируется и отображается в поле контроля.
Кадр можно или сохранить в формате ВМР или через буфер обмена системы перенести в графический редактор для обрезки.
Кстати, о разрешении экрана. Полезно поиграть с масштабированием от 100 до 150% в свойствах экрана, может быть удобен и тот и другой коэффициент в разных ситуациях, изменять элементарно в свойствах экрана, щелчок правой кнопкой (да простят меня продвинутые юзеры – вроде, как булинь взялся на Риске учить вязать, уровень любопытства к технике разный бывает).
Рис. 37. Экспорт таблиц через скриншот.
Вот скриншот, сделанный при разрешении 1600х900.
Рис. 38. Скриншот, сделанный при разрешении 1600х900.
Это может быть удобно для походного документирования – раздать списки участникам, завхозу, руководу, медику и др., когда с Word-ом возится явно недосуг, а экспортировать в редактор уже для отчета.
Рис. 39. Карты распределения снаряжения и продуктов по рюкзакам. Удобный рабочий документ завхоза и руководителя в распечатанном виде.
8.6. Режим «Проект»
В режиме «Проект» задаются оҫновные данные.
Минимально необходимой информацией является название проекта, оно служит именем для комплексного объединенного файла проекта, в который включаются все табличные файлы.
Для внесения данных нужно отключить защиту. Данные о составе группы программе для работы не нужны, просто удобнее видеть кто владелец рюкзак при его заполнении.
Под рюкзаком можно понимать и заброску, это по сути один большой рюкзак, название заброски вводят в поле фамилии.
Количество участников – для нумерации строк с фамилиями владельцев, программа работает со всеми 12 емкостями, не интересуясь, заброска это или рюкзак.
Почему 12? Просто число хорошее.
Большими шалманами редко ходят, была б потребность – и 20 можно было бы сделать.
Другие данные тоже для удобства пользования архивными файлами в дальнейшем.
Рис. 40. Сведения о проекте и состав группы.
8.7. Редактирование и создание «куч» снаряжа и продуктов
Редактировать таблицу с «кучей» снаряжа или продуктов может приспичить, когда ее уже начали раздавать по рюкзакам («Баночку райских яблочек забыл
положить, дядя обидится. Мой дядя - самых честных правил!»).:=)
Это возможно для строк, не затронутых раздачей, которые при открытии таблицы высвечиваются серым в поле «количество».
Эти строки заблокированы для изменений. Но если нужно добавить продукта (снаряжения) уже принявшего серый цвет :=), можно просто из базы данных («закромов») паснуть того же добра, организовав новую строку с тем же наименованием.
Сущности это не изменит, просто одна и та же вещь будет раздаваться из разных позиций «кучи».
Вообще эта операция, связанная с некоторой вероятностью навредить при некорректных действиях, требует внимания.
Обеспечить любую безопасность, как известно можно двумя основными способами: запретить и научить. Надежнее, конечно, вообще заблокировать эту возможность редактирования, но это негуманно, скольких пядей нужно быть во лбу, чтобы не забыть в списке ничего до начала распределения.
Лучше соблюдать простые правила, указанные в руководстве, о наиболее важном появляется табличка-напоминание при входе в режим редактирования «кучи».
Поэтому, если вы собираетесь реально попробовать эту программу, а не просто просматриваете пост в рамках досуга, рекомендую прочитать мануал, там поподробнее все описано с нюансами. Все же это, хоть и простое, но специфическое инструментальное средство со своими соглашениями.
Рис. 41. Редактирование кучи, из которой началась раздача. Для выбранной позиции можно изменить вес, количество, комментарий, атрибут.
Сортировка заблокирована. Выделена красным опция защиты, которую нужно выключить перед записью таблицы в дисковый файл.
Показано, что «ОК» соответствует записи только в таблицу на экране, но не в файл.
Желтое предупреждение «В таблице» напоминает, что для перезаписи таблицы в дисковый файл нужно сохранять таблицу кнопкой ниже ее.
Тогда и в главном окне моделирования отразятся изменения.
Любая сортировка заблокирована, если раздача началась (меняются номера позиций – кодов компонентов (а в рюкзаках то об этом не знают…:=)).
«Расходные» компоненты в особом отношении не нуждаются, все продукты – расходны автоматически, а расходный снаряж по пальцам руки пересчитать можно, да и мало его. Внутри этих групп дополнительно происходит сортировка по убыванию веса. Таким образом, логично раздачу начинать с «важного» и тяжелого, меньше «прыгая» глазами по всему списку.
Числовые данные удобнее вводить со специальной «мышиной» клавиатуры на панели, красные треугольные стрелки показывают допустимые для этого поля.
Заполнение текстовых полей уже без клавиатуры не обойдется.
Рис. 42. Окно подбора «кучи» снаряжения. Доступность кнопки « Сохранить» определяется опцией «Защита», это справедливо для всех таблиц с возможностью прямого редактирования.
Радиокнопками можно назначить просмотр определенной группы. Группу назначают при редактировании. Цифра в поле «Груп» - ее номер в списке.
На рис. 42 справа – таблица базы данных группового снаряжения («закрома»). Сюда можно включать дополнительные позиции и редактировать всю таблицу как по записям (надежнее, мало ли какой символ ненужный занесете), так и как обычную экселевскую, сняв защиту.
При прямом редактировании нужно внимательнее относится к столбцу «Груп» где находится номер класса (группы) снаряжения (см. в центре).
Там должна быть только цифра от 1 до 10, 0 или «пусто» - неклассифицировано («Defense fool» – «защита от дурака» есть, при сохранении мусор проигнорируется, просто все же с осторожностью и с умом)
Если защита включена, щелчок по строке вызывает диалог редактирования одной выбранной записи.
если защита выключена, то панель с диалогом, естественно не появляется, «спит», ведь избран прямой метод обращения кo всей таблице.
Сохранить таблицу при прямом редактировании должен сам юзер, программа не знает, когда он закончит это действо (кнопка сохранения становится доступной при снятой защите).
Рис. 43. Редактирование записей «закромов» через панель редактирования. Группа снаряжения выбирается из списка, который задан в «Настройках».
Если редактирование выбранной записи идет через панель редактирования при включенной защите, то каждое нажатие на кнопку «Сохранить» сразу записывает изменения в дисковый файл. Факт записи подтверждается индикатором прогресса, его время работы завышено по сравнению с реальной длительностью процесса сохранения для заметности.
Таблица справа по сути просто список (база) доступного снаряжения и продуктов, количество в ней не фигурирует, для упрощения терминологии я ее назвал «закрома» (это безразмерный источник - чулан, сарай, балкон, магазин, прокат и т.п.) .
Рис. 44. Передача в «кучу» из «закромов». Количество можно сейчас задать (по умолчанию - 1), можно потом.
Рис. 45. Карабины «прописались» в куче. Теперь только нужно эту позицию отредактировать, задать атрибут при желании и изменить количество, если это не было сделано перед транзакцией.
Рис. 46. Если не задать вес объекта в «куче» (допустим, в базе не записан был вес), то поле веса закрашивается красным, как напоминание об обязательности заполнения.
Рис. 47. Если включен просмотр группы, то кнопки сортировок становятся недоступными
Кнопка «Сортировка оптимальная» в таблицах баз («закромах») недоступна всегда, нет атрибутов. Доступна только для «куч» снаряжения и продуктов.
Аналогично подготавливается «куча» продуктов для распределения по рюкзакам, а также списки ремнабора, аптечки, личного (или эталонного личного) снаряжения.
Рис. 48. Атрибутов «Расходный» и «Важный» можно назначить до 10.
Сейчас выполнена сортировка по алфавиту.
Рис. 49. Сейчас выполнена оптимальная сортировка. Вверху с атрибутом «В», сортировка по убыванию суммарного веса («СумВ»). Ниже остальные позиции, отсортированные тоже по убыванию веса в своей группе.
8.8. Создание и редактировании баз данных
Рис. 50. Режим подготовки баз данных.
Подготовка баз данных большого размера может выполняться специальными приемами через размеченный текст разными способами. Рассматривается в инструкции- мануале.
Рис. 51. Система каталогов программы.
Где что хранится в системе каталогов программы и как этим можно распоряжаться – тоже в мануале.
Сохранение
Предусмотрено автосохранение, финишное, резервное, архивное и произвольное. Подробности в мануале.
8.9. Настройки программы
Рис. 52. В «Настройках» можно задавать классификацию компонентов баз данных, ряд настроек внешнего вида, режим автосохранения, размер шрифта в таблицах. Подробности в мануале.
9. Заключение
Для иллюстрации возможностей программы для координации подготовки к походу разобщенной группы я приведу краткий отчет о ее проверке в действии от группы Крутых Перцев, любезно согласившихся быть ее бета-тестерами :=)) (Нельзя же быть долго слишком серьезным, это вредно для здоровья и читающему и пишущему).
Это всемирно известная шобла под руководством Кристофера Робина в составе Винни-Пуха, Пятачка, Кролика, Иа-Иа и совы. Об их подвигах в горах много лет слагают легенды и анекдоты альпинисты, туристы и климберы.
Вот и сейчас эта неунывающая компаша решила тряхнуть стариной и показать всему миру, что есть еще порох в пороховницах и ягоды в ягодицах!
Анализ результатов космической съемки с МКС дал неопровержимые доказательства о существовании гнезда таинственного Слонопотама на крутом скалистом склоне шеститысячника в глухом труднодоступном районе Крокодильер. Мировая научная общественность взбудоражена…
Было заманчиво и для ненаучных путешественников сделать селфи с ним и, особенно, взять интервью.
Видимо, ужасы цивилизации и тяжкая поступь демократии, ведущей себя как слон в посудной лавке загнали этого бедолагу в такие трущобы, где мало пищи и кислорода (по свидетельству Чехова, «Кислород – химиками выдуманный газ. Говорят, без него жить нельзя. Пустяки. Без денег только жить нельзя». Абсолютно с Чеховым согласен применительно к современному миру.)
«Кристофер и К» тоже знали это, и нашли спонсоров в Петцле и Манараге. Кое-что, что не успели выкинуть на помойку жены (любимое их занятие!), сохранилось в чуланах.
Друзьям было что вложить из имеющегося снаряжа и продуктов в походный фонд, не тратя лишних средств.
Винни-Пух давно уже сколотил небольшую компанию промальперов по сбору меда диких пчел на высоких деревьях и крутых скалах, что-то ИТОшное у него было.
Пятачок организовал правозащитную организацию ультралиберального толка по отмене смертной казни свиньям на скотобойнях, выпуску их на свободу из темниц-свинарников, борьбе за толерантность к ним, разрешения проезда в метро и купания не только в лужах, но и в фонтанах, запрету свиной тушенки, узаконивания официальных браков в их среде (в том числе однополых, естественно) и уже получил гранты из Европы.
Он усиленно продвигал на рынок замещающую продукцию от своей фирмы «Веселый Бычок» - мясные концентраты и сублиматы на основе говядины (особенно хороши у его фирмы копченые охотничьи колбаски «Бычий хвост»! Советую!).
Кролик занимался разведением овощей и производством овощных консервов и сублиматов.
Трудности с зарядкой аккумуляторов большой емкости (на солнечные батареи надежда слабая, вдруг длительная облачность) заставили Кристофера отказаться от китайского квадрокоптера для разведок и фотосъемок (а какие ветра в Крокодильерах, сами знаете! Уронить коптер в какую-нибудь задницу, как два пальца …. И ага… )
Удалось уговорить на эту должность сварливую Сову, обосновавшуюся в Австралии, пообещав ей на заказ сделанное, переносное на горбу Иа-Иа, дупло на гагачьем пуху, а ее опасения по поводу отсутствия в Крокодильерах любимой пищи развеял Пятачок, посулив сделать в своей фирме партию отборных (одна к одной!) крупных сублимированных подкопченных мышей (готовятся по принципу «просто добавь воды!», пальчики оближешь, да вы сами попробуйте! Уже в «Пятерочку» поставки начались, спрашивайте…).
А ко дню ее рождения в горах Пятачок заказал на самарской фабрике «Россия» сувенирный набор из сублимированных мышей (мал-мала меньше!), сваренных в ванильном сиропе, фаршированных грецкими орехами, глазурованных горьким шоколадом и упакованных в красивую коробку, как конфеты «Бон-Бон».
Сову по совместительству назначили также ответственной за фото и видеосъемку, так что перед спонсорами будет чем отчитаться в случае удачи. Дело было для нее знакомое, она иногда подрабатывала коптером для богатеньких Буратин, клиентов клуба «Семь Вершин», обеспечивая качественную съемку всех особенно впечатляющих рискованных моментов при трудном и опасном восхождении с элементами ИТО на высочайшую вершину Австралии – г.Косцюшко.:=)
Жизнь разбросала друзей, но по «Одноклассникам» и мэйлу они списались, Кристофер разослал им мою программу с мануалом и процесс подготовки к «Искпедиции века» пошел…
Сначала Кристофер сгенерировал эталонный список рекомендуемого личного снаряжения и списки потребного группового и продуктов и разослал всем эти файлы.
Каждый из друзей в шаблоне базы данных по снаряжению оставил те позиции, которые у него были, указав в комментах их состояние и имя себя, любимого, а в базе продуктов написал, что имел и хотел бы, с указанием цены и комментарием.
Кролику, как самому умному (а кому еще здоровье доверить? Не Винни-Пуху же с опилками в голове…), была доверена аптечка. Он сгенерил список медикаментов с указанием их цены (ох и дорогущие, мля! А еще, говорят, здоровье не купишь! Может и не купишь нового, непоюзанного, в фирменной упаковке «Made in China», но потерять остатки наличного без крутого бабла - запросто…)
Сова составила список фото и видеопричиндалов, закупила и отослала свой файл базы Кристоферу для весового учета и сметы.
Друзья отказались от газовых горелок, в Крокодильерах газ в дефиците и дорогой, а главное – примус живой, он ФУРЫЧИТ, создавая атмосферу уюта. Да и легкая вонь бензоса создает специфическую атмосферу дальних странствий и будоражит воображение….
Решили, что в свой список все включат поюзанные «Шмели», (у каждого накопилось этого хлама-а!) с указанием их комплектации и состояния.
Кристофер, получив со всех концов света файлы, быстро склеил все фрагменты стандартного формата в общие базы снаряжа и продуктов, проанализировал, выбросил ненужное и дубли, указал нужное количество желаемого. Совокупный файл-список опять разослал, а так как в комментах был сохранен обещатель-поставщик, каждый знал, что от него требовалось, а также чем озадачены товариши без лишнего базара-тусовки.
Наличие в базах цены позволило легко, автоматически, без специальных расчетов, получить данные для сметы и взаиморасчетов (дружба дружбой, а баблу учет!).
Кристофер разбросал снаряжение и продукты по рюкзакам участников, стараясь учесть основные принципы и особенности характера друзей (Винни-Пуху сгущенку и мед с орехами – ни в коем случае, Иа-Иа не доверил крупы, Кролику – сушеные овощи, бензовозу Иа-Иа - сахар и другие деликатные продукты, зато вдоволь нагрузил его «слесарней» и веревками).
За все время подготовки ему практически не пришлось пользоваться занудными калькуляторными пересчетами, они выполнялись автоматически. Как свидетельствовал Робин, освобождение от рутинных пересчетов позволило ему лучше сосредоточиться на вопросах, которые нельзя было доверить компьютеру.
Обещал вскорости выложить пост о занимательных приключениях своей компании в таинственных Крокодильерах.
Ждем-с и запасаемся попкорном…
Вот такие дела.
Извините, вылетело, поблагодарить вас особо за первый положительный отзыв.
Уверен в успехах вашей многогранной деятельности при такой заинтересованности и любознательности. Уважаю это.
Ну а олдскул, он и есть олдскул:=)...
В демо есть раздел "О программе", там адрес для запроса рабочей версии.
Зачем так сделал - в начале 8 раздела.
Благодарю покорно…
Я своим временем сам распоряжаюсь.
А ее алгоритмом занимался в прошлые годы не для того, чтобы походы обсчитывать, ясно написано было (если прочитать, а не прокрутить).
А зачем сейчас - тоже ясно.
А если умудрялись и умудряются - замечательно, вольному воля.
Я тоже в свое время успешно умудрялся.
И еще много без чего обходился.
Вы мне пошлите скриншот экрана, мне кажется у вас масштабирование включено в свойствах экрана 150%, я об этом в посте написал, но вы его же не смотрели...
Я на всех разрешениях проверял на 4 компах с 4 системами.
А я в ответ рабочую версию пасну.
Хорошо организованная работа превращается в развлечение.
Спасибо за оценку трудоемкости в целом.
Сказать то шо думаю -- значит, выпучиться негалантерейным.
Сказать галантерейно -- значит, выпучиться лживым.
Жизнь коротка. Поэтому, не надо бы тратить её на забавы ИТ-ишников.
Практический опыт управления говорит следующее: чтобы инструментом пользовались массы оный должен быть очевидным-простым-интерактивным. В данном случае, им может быть Excel-таблица.
Такую таблицу сваять может каждый:
-- 1-й столбец -- списки предметов (снаряжения, продуктов, ...).
со 2-го столбца до N-го столбца -- характеристики предметов (вес, цена, тип упаковки, номер упаковки, ...).
-- с N+1 -го столбца до N+1+М столбца -- распределение предметов по рюкзакам. М – число участников похода.
Заканчивается таблица строкой итоговых сумм по столбцам. Например:
-- общий вес группового снаряжения;
-- общий вес продуктов;
-- сумма затрат на снаряжение;
-- сумма затрат на продукты;
-- вес медаптечки;
-- сумма затрат на медаптечку;
... (короче, количество столбцов со 2-го до N-го определяется желаемой степенью полноты данных о снаряжении-продуктах-... .
... .
Итоговые суммы по столбцам с N+1 до М -- это распределение общественного веса по рюкзакам.
Excel-таблица весьма удобна для корректировок. Добавить/убрать столбец/строку -- наглядно и просто. Так что, такая таблица-калькулятор распределения общественного веса – прагматична. А ради кем-то выдуманной "автоматизации" изучать "сарай" ... .
Хотя, приятно, что на наших просторах есть свои Невтоны и Левши.
Но могу сделать существенные замечания.
К той подробнейшей инструкции, которую вы составили для желающих работать в Экселе, неплохо бы добавить элементы наглядности (графика везде рулила для оперативной работы),
да еще организовать базы данных еще много чего нужно сделать.
Да еще в Экселевской программе для удобства без VBA не обойтись, а с этим стопудово будут напряги у простого юзера. Я такую версию делал в рамках освоения VBA лет 17 назад, и мысли не было давать такую версию в ширпотреб, как раз интерактивности не хватает, а уж в «голом» Экселе и подавно.
Важный момент, какой я подчеркнул словом «моделирование» - это быстрота и легкость каждой транзакции, приводящая сразу к множеству пересчетов. Это отличает моделирование от одноразового пересчета. Я предлагаю свое решение не тем, кто хочет просто просчитать как-нибудь, а ОПТИМИЗИРОВАТЬ. Нужно прочувствовать разницу.
А в Экселе взаимосвязи между ячейками разных таблиц и их консолидации отлаживать – замечательное упражнение, но не для рядового юзера и не в предпоходной суете (!), а уж отладить без ошибок…
Если, конечно делать программу, а не просто тупое суммирование по столбикам, что взял.
Кроме того, это только часть всего проекта, который я выставил в пробной версии без автоматического расчета сметы, создания сбалансированных меню для экстремальных походов и еще ряда функций, которые предполагались собственно в релизе, как в одном флаконе.
А внешняя сложность создается у тех, кто не любит читать много букв, Это собственно описание КАК РАБОТАЕТ ПРОГРАММА. а не КАК С НЕЙ РАБОТАТЬ, стоит только ткнуть пару раз мышатиной в демошке, и все ясно. Я считаю, что тайны и непонятки уместны лишь в женщинах, а уж элементарное знание «матчасти» не вредило при управлении ЛЮБЫМ объектом. Я не понаслышке знаю (20 лет преподавал компьютерные технологии и офисные в частности в техническом универе), что 90 проц. пользователей не используют массу полезных функций АВТОМАТИЗАЦИИ в том же Ворде, потому что нужно чуть-чуть почитать хотя бы хелп (ну как же, лишние буквы читать, хребет переломится, глазки устанут). Достаточно взглянуть на качество так называемых рефератов в Инете. А Ворд в первую очередь средство автоматизации, а не пишущая машинка.
То же относится и к вычислительным программам, диапазон автоматизции очень большой, а вы предлагаете минимальный уровень.
Вольному воля, мне искренне непонятно ваше возмущение, можно по аналогии призвать закрыть кулинарии, рестораны. ошхоны, пиццерии, Макдональдсы и пр., ведь кухня есть (я сам с удовольствием там вожусь, когда хочется, особенно если плов).
Ну, а желающим сделать что-то своими руками - флаг в руки.
Уважаю самодельство, сам такой.
Я никому ее не навязываю, но люди уже пишут, предлагают дополнения.
Ориентируюсь на тех, кому надо.
А я могу на Ваши существенные замечания сделать не менее существенные отвечания. Все, прошу извинения, лень. Но, некоторые – пожалуйста.
>>> … неплохо бы добавить элементы наглядности (графика везде рулила для оперативной работы), да еще организовать базы данных еще много чего нужно сделать.
Графика хороша как форма предоставления информации для принятия решений. А к чему притулить графику для принятия решений о распределении общественного веса по рюкзакам участников?
А базы данных. Да с ними только свяжитесь, понадобиться СУБД. Потом захочется адекватности и оптимизаций. К примеру, реляционные базы данных заменить на объектно-ориентированные.
>>> … элементарное знание «матчасти» не вредило при управлении ЛЮБЫМ объектом. Я не понаслышке знаю (20 лет преподавал компьютерные технологии и офисные в частности в техническом универе),
Я участвовал в создании тех «матчастей», которые Вы преподавали в ВУЗ-ах. Создавал их для работы. А не для того, чтобы показать студентам, как много знает их преподаватель.
>>> … 90 проц. пользователей не используют массу полезных функций АВТОМАТИЗАЦИИ в том же Ворде …
Как практик скажу, что 90% пользователей охотно выбросили бы из Excel-а 90% его функций. Безруков в своей Софтпанораме, говоря о прожорливости MS-программ, привёл пример своего текстового редактора, который уместился в 32 килобайтах (грубо, текст его программы-редактора уместился на 16 страницах). А каков размер нынешних программ Word и Excel даже смотреть не хочу. Особенно дурь попёрла, когда Б.Гейтс перестал читать измышления доработчиков MS-программ. Для примера укажу на ублюдочные новации с командныими строками в Word-е и Excel-е. А как сим «доработчикам» удалось испортить удобство работы с проводником в Винде-7 и старше!
Так что, «Страшнэ пэро нэ в гусака» а у ИТ-ишника.
>>> … мне искренне непонятно ваше возмущение …
Причины для моего возмущения нет. Поелику, каждый имеет право делать ЧТО ему нравится и КАК ему нравится. Я всего лишь высказал скептицизм к чужому непростому инструменту для простого дела.
И, AleFan, без обид, чтобы убедится в своём эгоцентризме, обратите внимание как Вы изволите писать местоимения «Вы», «Ваше».
Не удивительно, что Вы в сём эгоцентризме оказались страшно далёкими от народа.
Чтобы убедиться в излишествах своей программы, можете посмотреть книгу Феликса Люсьена «Элементарная математика в современном изложении». И сравнить её с учебниками по школьной математике. Да не с теми «учебниками» (середины 1980-х гг), написанными «новаторами» во главе с Колмогоровым (с их «конгруэнтностью» и прочими глупостями). А с учебниками Киселева.
>>> Я никому ее не навязываю, но люди уже пишут, предлагают дополнения.
Попишут-попишут да перестанут. Поговорить – пожалуйста. А применять – извините. Ибо, никто не станет помнить чужой «сарай», который может быть применён один-два раза в году. особенно при наличии очевидной-простой альтернативы.
Там стройная концепция - люди, сидя дома за компьютерами или планшетами, на любых расстояниях друг от друга могут сообща работать над подготовкой, без необходимости что-то там дополнительно устанавливать (и при этом люди могут этим пользоваться как на виндовсе, так и на маке или линуксе, или даже андроиде). Плюс более-менее приличный пользовательский интерфейс, в отличие от данного произведения. Да и к тому же на предпоходе есть зачатки социальной сети (можно попроситься в поход или пригласить людей). Не критика, просто интересно сравнение и преимущества данной программы.
Перед описанием программы в посте я объяснял, что в результате длительного использования алгоритмической идеи поста в своих профессиональных целях для самообучения разным языкам программирования получилась ситуация, что в принципе могущая быть полезной кому-то программа, нереализована для практического применения.
У меня не было мысли обязательно занять какую-то нишу в софте для туристов, конкурировать тоже не собирался. Появилось желание поработать над этим, не считаясь с трудоемкостью, ведь программирование не по заказу – интересный творческий процесс, приносящий удовольствие (поэты и писатели меня поняли бы) .
А уж в том, что кому-то (не всем) пригодится, не сомневался, есть еще походы с большой группой, при подготовке к которым возникают серьезные рутинные трудности, хорошо помнил, как маялся с раскладом на 11 человек давно. Письма от моих тестеров подтвердили, что есть и сейчас такие затруднения и желание пробовать программу.
Дополнительно устанавливать -какие проблемы, 1 минута, не вагон разгружать, юзеры все время что-то ставят.
Проект «предпоход» - отличная идея, но несколько иного формата.
Как я понял сам и из писем, не всем интересно публично трясти барахлом и планами, не все абсолютно разобщены. Есть проекты с высоким уровнем приватности.
Кроме того, основная функция в данной версии – моделирование раскладом удобнее и нагляднее в автономном режиме, а не «онлайн», такая работа защищена от теоретически возможных проблем провайдеров (особенно в неподходящий момент) . Да и одно не обязательно исключает другое, может в «предпоход» удобнее кому-то покажется выходить после «домашних заготовок.
Да и дополнительные идеи появились, все не буду озвучивать, но например, математически трудоемкая генерация сбалансированных по массе параметров меню для серьезных экстремальных походов тоже кому-то (не всем) может пригодиться, а уж ее в Экселе самостроком делать для себя – караул.
Короче, с одной стороны, по принципу Окуджавы «не стараясь угодить», а с другой – с учетом предложений по дополнительным функциям.
Прикиньте, сколько сейчас графических и прочих редакторов, и число растет, где-то лучше, где-то хуже, никто не пытается модерировать этот процесс. А туристский софт небогат.
Поэтому считаю, что никакого противопоставления «предпоходу» нет, ему тоже есть куда развиваться. Должна быть свобода выбора.
Как-то так. Надеюсь, достаточно полно обрисовал свою позицию.
AleFan, Вам удобно пользоваться своим средством? -- Наверняка, да. И потому, Вам безразлично чьё либо мнение о Вашем средстве. А критиканам я бы сказал: "С вашим мнением ознакомился. Не нравится -- не ешь! Будьте здоровы!".
:)
А рассуждения о легкости создания собственной эффективной программы на Экселе КАЖДЫМ просто смешны. И бесполезную дискуссию эту с Вами прекращаю.