Страница 147 из 148
Перпендикулярная линия, получившая новый объект, изменяет статус
'старый' на 'активный'. Обрабатываются только линии со статусом
'активная'. Обработка заканчивается при возникновении ошибки или при отсутствии линий со статусом 'активная'.
Какие ошибки видит программа. во входных данных:
– введено не число на строке? ХХ, поз.? ХХ
– отсутствуют начальные записи "строк ХХ" или "столбцов ХХ"
– задано нулевое число строк/столбцов
– сумма размеров блоков для линии превышает ее размер
– число считанных строк/столбцов не соответствует указанному в начальных записях "строк ХХ/столбцов ХХ" при обработке:
– программа пытается поставить '*' на позицию, где стоит '-' и наоборот.
Есть ошибки, которые программа не видит. Если Вы измените любую цифру в меньшую сторону или вовсе опустите ее. Например:
Длина линии: 30
Вместо: 3,1,1,6.
Вы введете: 2,1,1,6 или 3,1,6 и это будет принято к обработке.
О статусах объектов.
'нитка' – в этот статус переходит ограничитель из статуса 'новый'.
Больше у ограничителя нет статусов. Сразу поставить 'нитку' невозможно, так как в этом случае линия не получит статус 'активная' и не будет обработана.
У блока есть несколько статусов:
'сделан_*' – означает, что блок построен. То есть имеет с обеих сторон ограничитель или начало/конец линии. По размеру и порядку в списке блоков точно соответствует конкретному блоку. Звездочка соответствует порядковому номеру блока в списке.
'фрагмент' – означает фрагмент, который может принадлежать любым блокам. Не имеет ограничителей или имеет его с одной стороны.
'условный_*_*' – Закрытый с обеих сторон блок. Но точно указать его принадлежность пока невозможно, так как в обрабатываемой линии есть другие блоки такого же размера. Звездочки соответствуют порядковым номерам, на которые похож блок. Как условные превращаются в 'сделан_*'? Например, если имеем список: 2,4,1,2,9,1,9 и в результате первичной обработки получили:
'условный_5_7', 'условный_5_7', то они преобразуются в 'сделан_5' и 'сделан_7'.
Другой пример: имеем список: 1,2,2,1,1,2
Пусть в результате обработки получено: 'условный_2_3',
'условный_2_3_6' они преобразуются в 'сделан_2' и 'условный_3_6'
'неизвестный' – ограниченный с обеих сторон блок. Он получен в результате обработки не текущей линии, а предыдущих обработок перпендикулярных линий и требует рассмотрения на предмет отнесения его к статусу 'условный_*_*' или 'сделан_*'.
'визуальный_*' – фрагмент, точно принадлежащий некому блоку. Не имеет ограничителей или имеет его с одной стороны. В отличие от
'фрагмента', 'визуальный_*' можно попробовать удлинить в одну или другую сторону или объединить несколько 'визуальных_*' с одинаковым номером в один.
Кроме обычного режима работы программы лучше предусмотреть еще два: пошаговый и отладочный.
В пошаговом режиме предварительно можно задать номер линии и номер прохода, на котором намечается остановить программу. Проход – это один полный цикл просмотра всех активных линий.
Пошаговый режим показывает картинку текущей линии со статусом каждой клетки до обработки и после нее.
Отладочный режим служит для того, чтобы задать конкретную длину линии, список блоков, расставить на линии любые объекты и посмотреть, как реагируют Ваши подпрограммы на конкретную ситуацию.
Рассказы о Ленине. Ленин и MS DOS.
Загружал однажды Ильич MS DOS. Грузит, грузит. Никак загрузить не может. Кликнул Кржижановского, главного по электричеству в стране
Советов.
– Это что же батенька за недоумение такое? Может Вы морганист – вейсманист?
И скончался товарищ Крижановский апоплексическим ударом. И позвал
Ильич всероссийского старосту дедушку Калинина. Глянул раз Ильич на
Михал Иваныча, глянул второй. Стал плясать всероссийский староста.
Унесли его санитары. Пуще прежнего пригорюнился Ильич, велел ходаков перед Смольным повесить. Стал он кликать золотую рыбку. Приплыла к нему рыбка, сказала:
– Я вышла замуж. Вы должны, Я вас прошу, меня оставить; Я знаю: в вашем сердце есть и гордость и прямая честь. Я вас люблю (к чему лукавить?), но я другому отдана: Я буду век ему верна.
В первое же лето я облазил соседние леса и ближайшие поселки.
В Успенском красивая старинная церковь на высоком берегу Москвы реки. А в Дарьино церковь мне не понравилась. Внутри как в офисе.
Прилегающая территория выскоблена, узкие вьющиеся дорожки, низенькая травка. Благоустройством территории занимаются забитые среднеазиатские рабочие.
В Горки можно пройти полями, обходя грязные и шумные шоссе. А в
Успенское, Дарьино, Молоденово часть пути надо идти вдоль шоссе.
Около Таганьково и Молоденово на несколько километров вдоль шоссе тянутся высокие в два этажа сплошные заборы. Люди жили здесь всю жизнь и вдруг, кто-то пришел и огородил любимые их сердцу грибные и ягодные лесные места.
В июле набрел на березняк, в котором нашел четыре десятка подберезовиков. А в следующий раз нашел там клубнику. Вероятнее всего, много лет назад здесь были дачные участки или огороды, с тех пор осталась клубника. Она немного одичала, но вкусная и пахнет.
Собирать ее – настоящее наслаждение. В густой сочной траве, среди полевых цветков прячутся красные ягоды с грецкий орех. Пока не раздвинешь траву, не увидишь.
В ближайших лесах растут польские грибы и случайные подберезовики.
На мху под крапивой или копытнем, растут пестрые моховики. Есть белые, крупные, в высокой зеленой траве. Оранжевые маслята совсем не прячутся. Растут на лужайке с короткой травкой, которая закрывает только их короткие ножки. Шляпки у них бугорком. В прошлом году высыпали опята. Они растут в смешанном лесу на пеньках и стволах старых берез, иногда на пяти-шести метровой высоте. Опята растут и в траве и на сгнивших, поросших мхом пнях и упавших стволах неизвестного происхождения. Серые вешенки высыпают осенью на стволах умирающих ив, вдоль старого русла речки.
В лесу бегают зверушки. Зимой я заблудился и набрел на десятки лосиных следов в снегу. Глубокие и большие, как две мои ступни.
Иду в лес, на обочине в снегу кувыркаются собаки. Мама и пять подросших щенков. Что-то подбрасывают, отходят, хватают и снова подбрасывают. Подошел ближе, смотрю – это они играют с маленькой землеройкой. Когда она шлепается в снег, то делает как без чувств, чуть выжидает, а потом пытается удрать. Я отвлек собак куском хлеба, а землеройку взял в ладони. Пока отходил подальше от собак, она претворялась дохлой и не вкусной, а сердечко колотится, колотится.
Погладил пальцем шерстку. Она высунула свой носик и стала осторожно нюхать ладонь…
Есть лисы. А летом в мягкой глине видел след кабана. Иногда лесную тропинку переползают ужи. На стволах сосен греются ящерицы.
В мае, июне, июле в лесу тьма комаров. Не помогает быстрая ходьба. Кусают в ладони, лоб, щеки. Единственное спасение – ломать ветку и обмахиваться. При беге комары не мешают. Если остановиться – сразу облепливают. К концу июля, в августе комаров заметно меньше.
Если неделю идут дожди, лесная тропинка становится скользкой, местами стоят лужи. Держатся они долго. Сохнуть им мешают высокие ели, закрывающие солнце.
К середине лета тропинки, особенно бегущие через луг, сильно зарастают. Не хочется, на бегу после дождя, собирать все капли в кроссовки. Иногда траву косят, но если траву не скосили, сам ищу косу.
После сильных ветров на тропу падают старые деревья. Приходится брать пилу.
Мусора в лесу мало. Пакета два – четыре набирается за год. Дороги, которые соединяют поселки, больше засорены, грибные тропы чистые.