Проект «Сфера-82»: Цвет и слой - Станислав Миков
Книгу Проект «Сфера-82»: Цвет и слой - Станислав Миков читаем онлайн бесплатно полную версию! Чтобы начать читать не надо регистрации. Напомним, что читать онлайн вы можете не только на компьютере, но и на андроид (Android), iPhone и iPad. Приятного чтения!
Шрифт:
Интервал:
Закладка:
Она постучала обратной стороной карандаша по плотной бумаге.
— Код станции, шифр груза, номер поезда — это константы, их переведем в числа. Но взгляните, как заполняют остальное, — карандаш Егоровой сдвинулся к затертому полю. — Цифра зачеркнута, исправлено поверх. В графе веса вместо тонн указаны штуки. А в особых отметках идет чистый текст: «Сломалась стрелка» или «Ждем до утра». Ваша программа должна блокировать явный мусор при вводе, но оставлять диспетчеру возможность сохранить такие пометки и не завесить систему.
Шрамов склонился над бланками. Произвольный текст — полбеды, под него можно зарезервировать отдельную строку дисплея.
— В каком виде эти данные приходят на узел? — спросил он, потирая подбородок. — И в каком виде должны уходить?
— Исходные сводки приходят телеграммами, либо помощник пишет их на бумаге со слов дежурного по станции, — ответил Ширяев. — Ваш оператор будет переносить цифры в машину. А итоговый маршрут должен ложиться на стол начальнику смены в виде твердой копии.
— Вывод пойдет на АЦПУ или телетайп, — вмешался Морозов. — Юрий Павлович, забирайте формирование бланка на себя. Громов отдаст массив результата и номер расчета, а дальше вы сами собираете символы в строчки.
— Выдавать прямо в порт вывода? — деловито уточнил Шрамов.
— Ни в коем случае, — отрезал Морозов. — Никакой самодеятельности с железом. Используй пятый системный вызов из методички. Система сама опросит готовность и вытолкнет символ. Иначе повесите шину из-за разницы в задержках у АЦПУ и телетайпа.
Шрамов быстро сделал пометку в блокноте. Жесткие рамки профиля не оставляли места для низкоуровневых фокусов, но гарантировали предсказуемость.
— С печатью ясно. Вывод отвязан от железа, — кивнул Шрамов.
Он тяжело вздохнул, оценивая общий объем проверок и блокировок, которые ему предстояло написать для интерфейса программы «МАРШРУТ-82В». Математика не должна защищаться от опечаток оператора — это была исключительно его работа. Громов же, наоборот, выглядел заинтригованным алгоритмической сутью задачи. Он смотрел на разложенные по столу карточки, словно видел не бумагу, а взвешенные графы и матрицы смежности.
— Павел Андреевич, — обратился Громов. — А критерий оптимальности у нас какой? Что мы минимизируем? Время доставки? Стоимость? Пустой пробег вагонов?
Ширяев мрачно усмехнулся:
— Всё сразу, Евгений Александрович. И чтобы к утру.
— Так не бывает, — покачал головой Громов. — Если мы минимизируем время, придется гонять пустые локомотивы ради одного срочного вагона. Если минимизируем пустые перегоны — сорвем сроки поставки. Математика чудес не делает. На Олимпиаде мы искали кратчайший путь, но здесь это не сработает.
Морозов мысленно согласился. Полный перебор вариантов на «Сфере» займет недели, а ответ нужен диспетчеру к утру.
— Найти абсолютно идеальный план за приемлемое время машина не сможет, просто захлебнется, — сказал Алексей. — Поэтому берем олимпиадный алгоритм за базу, но строим сначала грубый маршрут, который просто не нарушает запретов. Проталкиваем грузы по кратчайшим путям.
Громов нахмурился, обдумывая идею, и быстро кивнул.
— А потом перекидываем составы на соседние ветки, — подхватил он. — Если общая сумма штрафов за маршрут уменьшилась — сохраняем. Если увеличилась — откатываем назад. И так до упора.
— Штраф? — переспросил Ширяев. — Какой еще штраф?
— Математический, — пояснил Громов. — Мы не зашиваем критерии жестко в код. Мы делаем таблицу весов. Опоздание на час — штраф сто очков. Пустой пробег километра — десять очков. Задержка литерного груза — миллион очков. Алгоритм просто ищет вариант с наименьшей суммой штрафов.
— Вот! — Морозов указал на Громова. — И мы можем менять поведение системы, просто исправляя цифры в этой таблице. Не переписывая саму расчетную подпрограмму.
Егорова оторвалась от своих карточек и посмотрела на программистов поверх очков.
— Звучит красиво, — сказала она. — Но я вам не верю.
Громов поперхнулся. Морозов удивленно поднял брови.
— Вы сделаете алгоритм, он выдаст какой-то ответ, и вы скажете, что он оптимальный, — пояснила Егорова. — А как мы это проверим? Вы сами сказали, что идеального ответа нет.
Она вытащила из папки чистый лист и положила перед Громовым.
— Евгений Александрович, вы напишете не один алгоритм. Вы напишете три. Быстрый грубый подбор. Вариант с гигантским штрафом за пустой пробег. И вариант с абсолютным приоритетом сроков. А я подготовлю вам такие контрольные срезы данных, где эти три варианта гарантированно должны дать разные маршруты. Если ваша программа на разных настройках погонит поезда по одному и тому же пути — значит, ваша математика не работает, и вы просто подгоняете результат.
Громов посмотрел на женщину с нескрываемым уважением. Она не просто проверяла бумаги, а переводила бюрократическую рутину в строгие условия машинного теста.
— Договорились, Тамара Николаевна, — Громов забрал чистый лист. — Три варианта. И таблица штрафов вынесена в отдельный блок памяти. Юрий Павлович, — он повернулся к Шрамову. — Я дам тебе фиксированный адрес в памяти, по которому будет лежать структура с результатами. Код ошибки, номер маршрута, расчетное время. Как ты это будешь рисовать на экране — твоя забота.
* * *
Чернов, который всё это время молча стоял у окна и слушал монотонное гудение силового трансформатора в моноблоке, наконец подал голос.
— Вы тут всё память делите, адреса раздаете, — пробасил он. — Но ПЗУ-82В, как мы договаривались, жестко зашито. А операторская часть и справочники будут требовать обновлений.
Горелов предупреждающе поднял руку:
— Сразу говорю: никаких дискет в рабочей зоне диспетчера. Дискета — это грязь, пыль, магнитные поля и человеческий фактор. На узле будет работать только аппаратный блок.
— Поэтому в ПЗУ пойдет только окончательная версия, — подтвердил Морозов. — Аппаратно зашьем весь комплекс: операторскую часть, расчетную подпрограмму и базовые справочники станций.
Шрамов постучал костяшками по глухому кожуху машины.
— Прикладная программа будет меняться каждый день. А на предприятии? Контролер попросит сдвинуть колонку в печатном бланке — мне прикажете микросхему перепаивать?
— Оставим возможность загрузки с дискеты для отладочного режима, — пояснил Морозов. — На этапе доводки и во время выезда на предприятие программа крутится с дисковода. Нашли нестыковку — быстро поправили код на месте. Когда логика стабилизируется, готовим мастер-ПЗУ и ставим в штатную машину.
Чернов шагнул к столу и очертил пальцем воображаемый квадрат на задней стенке моноблока.
— Для замены ПЗУ паяльник вообще не понадобится. Сделаем аккуратный лючок. Микросхемы посадим в цанговые панельки, ключи
Прочитали книгу? Предлагаем вам поделится своим отзывом от прочитанного(прослушанного)! Ваш отзыв будет полезен читателям, которые еще только собираются познакомиться с произведением.
Уважаемые читатели, слушатели и просто посетители нашей библиотеки! Просим Вас придерживаться определенных правил при комментировании литературных произведений.
- 1. Просьба отказаться от дискриминационных высказываний. Мы защищаем право наших читателей свободно выражать свою точку зрения. Вместе с тем мы не терпим агрессии. На сайте запрещено оставлять комментарий, который содержит унизительные высказывания или призывы к насилию по отношению к отдельным лицам или группам людей на основании их расы, этнического происхождения, вероисповедания, недееспособности, пола, возраста, статуса ветерана, касты или сексуальной ориентации.
- 2. Просьба отказаться от оскорблений, угроз и запугиваний.
- 3. Просьба отказаться от нецензурной лексики.
- 4. Просьба вести себя максимально корректно как по отношению к авторам, так и по отношению к другим читателям и их комментариям.
Надеемся на Ваше понимание и благоразумие. С уважением, администратор knigkindom.ru.
Оставить комментарий
-
Semmi22 июль 17:17
Не знаю, кто выложил эту книгу здесь без разрешения и без указания чтецов, но хочу чтобы слушатели знали: Над начиткой этой книги...
Priest - В башне над мостом
-
Гость Наталья22 июль 08:37
Отлично,даже очень захотелось продолжения этой истории....
Перо бумажной птицы - Елена Ивановна Михалкова
-
Гость Татьяна17 июль 09:40
Начала читать эту книгу из-за предыдущего отзыва. Ну не ВАУ!, но интересно ...
Неправильные - Катрин Корр
