Техника - молодёжи 1987-01, страница 49

Техника - молодёжи 1987-01, страница 49

ВЕК НАЧНЕТСЯ С ПОНЕДЕЛЬНИКА

Многие читатели критикуют администрацию КЭИ за то, что в наших последних выпусках наметился отрыв от фантастики. К счастью, протянуть руку помощи отделу НФ несложно. Мы убеждены, что очень большое число научно-фантастических произведений осталось ненаписанным только потому, что писатели пытались начать их с фразы типа: «Был четверг, тридцатое июля две тысячи такого-то года». И тут же возникали серьезные сомнения: каким образом убедиться в том, что тридцатого июля две тысячи такого-то года был действительно четверг? А фантаст, надо сказать, имеет право фантазировать только в допустимых пределах: если он ошибется в дате, то кто же ему поверит? Вот и получалось, что на проверку первой же фразы романа уходили дни, недели и даже месяцы; за это время, естественно, все остальное (сюжет, фабула, образы героев и т. д.) из головы писателя улетучивалось.

Начиная с этого года положение должно улучшиться коренным образом: небезызвестный нашим постоянным читателям В. Алексеев разработал программы для ПМК, которые раз и навсегда покончат с затронутой проблемой. И хотя приведенные в его статье примеры относятся в основном к прошлому, мы-то хорошо понимаем: главная область применения новых программ лежит в будущем.

калек рь для прошлого, календарь для грядущего

Наступил Новый год, оторван последний лист календаря, на стену повешена красочная таблица на очередные 12 месяцев, а старая сдана в макулатуру — жизнь идет, время летит. А как узнать, в какой день недели произошло то или иное событие? Календарей за прошлые годы, кроме коллекционеров, никто не хранит.

Когда читаешь мемуары или исторические рассказы, желание получить такую информацию возникает нередко — она может прояснить описываемые события. Но как ее получить? Вопрос непростой, к тому же неоднозначный — во многих странах отсчет времени ведется по-разному, причем в разные периоды

нередко применялись различные календарные системы. Например, в отечественной истории с февраля 1918 года действует григорианский календарь, ему предшествовал юлианский, но и тот применялся лишь начиная с реформы Петра Первого, а до этого был еще один вариант летосчисления — «от сотворения мира» (Новый год наступал, увы, не 1 января) . Да что там далекие века — даже для 30-х годов определять день недели абсурдно, в этот период семидневная неделя была временно заменена на шестидневную (вспомните фильм «Веселые ребята»).

Сегодня существует множество различных по устройству «вечных календарей», и с момента образования КЭИ в редакцию стали поступать соответствующие программы. Их авторы, К. Патери-кин, В. Козаков, И. Пшенко, С. Митяев и многие другие, предлагали различные методы расчета, однако все эти алгоритмы неизменно оказывались более сложными и менее удобными, чем опубликованный в книге Я. Трохименко и Ф. Любича «Микрокалькулятор, ваш ход!» (для ПМК «Электроника БЗ-21»). Если взять его за основу, учесть расширенные возможности новых ПМК, а также некоторые остроумные находки наших читателей, то нетрудно получить такие, например, программы. Для Б3-34: OO.t 01. КППА 02 П5 01- 04. 2 05. F10" 06,* 07.108. КППА 09 П4 10.- 11.4 12 ПО* 13.» НП5 15.ИПВ 16- 17.Fx»o 18.20 19. КИП5 20. ИП4 21.3 22. ^ 23.Fx<o 24.2Э 25. КИПЗ 26.Ш14 27.9 28 + 29. ИПС 30.x 31.ИПД32.+ 35КППА34.5 35.ИПЗ 36.x 37 4 38.-+39. КППА 40.+ 41 ИП542. + 4ЬЧ 44. t 45. 7 46. т- 47. КППА 48.7 49.* 50.- 51. F«-o 52.54 53.7 54.Па 55.7 56.ПО 57.9 56 t 59Сх 60S 61.КН0П 62.ВП 63.КП1 64.FL0 65.63 66. ИП8 67. КП8 68.8 69.ПО 70. КИЛО 71. ВП 72.7 73. П8 74 КИП8 75.КИП 1 76 ИП8 77.® 78.5 79.ВП 80.1 81./-/ 82.FLO 8373 84.с/п 85.П8 86.КИП8 87. Fо 88. Fo 89.ИП8 90. Уо

Для МК-61:

001 01.кы 02.П5 03 - 04.2 05. FI0* 06 * 07. КМ 0&П4 09.FB*10.K{xj 11.4 12. F10* 13.x 14 П315 ИПВ 16 -17. Fx*o 18.20 19 КИП5 20. ИП4 21.5 22 - 23.Fx«о 24.29 25.КИПЗ 26.ИП4 27.9 28. + 29. ИПС 30 * 31.ИПД 32 + 33. К[х] 34.5 55.ИЛЗ 36.x 37.4 38.+ 39.КМ40.+41.ИП5 42.+ 43.t 44. t 45.7 46 +47. К[х] 48.749 * 50- 51.Fx-o 52 54 53.7 54. ПО 55. П6 56. КИП6 57. FL0 58.62 59.3 60.КПП8 61.КЫ1Е 62.FLO 63.66 64.БП 65.85 66.FLO

67.70 68 КППА 69 КБПЕ 70.FLO 71.76 72.КШ1А73.ИЛ9 74.К© 75.К6ПЕ 76.FLO 77.81 78.3 79. КПП8 80. КБПЕ 81. FL0 82.85 84 КППА 84. КБПЕ 85.2 86.ПП 87 96 88. Ки«« 89 К{х] 90. t 91 ВП 92.7 93.% 94 2 95.А/ 96.ИП6 97F10" 98.+ 99.9 - 0.FVx-1. 5 -2.x-3.+ -4. V»

Структурно каждая из них состоит из трех частей: первая — расфасовка даты по регистрам (адреса 00—14), вторая — собственно счетная (15—54), третья — формирование календарного видеосообщения. Первые две части в обеих программах практически идентичны, только на МК-61 выделение целой части числа прозводится одной операцией (адреса 01, 07, 33 и 39), а на Б3-34 для этой цели используется подпрограмма КППА (85—90). Завершающая же часть программы выполнена по-разному. На БЗ-34 для формирования итогового видеосообщения используется метод В. Архи-пова (см. «ТМ» № 6 за 1986 год): в регистры 1—7 засылается знак «—» (адреса 57—65), порядковый номер дня недели вписывается в соответствующий регистр (66—67), и из полученных знаков образуется видеосообщение, в котором вычисленный день недели, обозначенный цифрой от 1 до 7, стоит на своем порядковом месте, а прочие дни обозначены прочерком. На МК-61 используются логические операции с двоично-шестнадцатиричными числами: сначала команды FLO передают управление на тот участок программы, который ответствен за формирование бук-венно-цифровой «заготовки» нужного видеосообщения: к цифре 5, стоящей на нужном знакоместе в числе 0,55555555, прибавляется ±2 или 3 (подпрограмма КППА по адресам 94—А4), формирование буквы L (четверг) производится при помощи операции логического сложения (адреса 73—74), затем видеосообщение приводится к окончательному виду командой Кинв, при этом цифра 3 преобразуется в букву С (среда, суббота), 2 — в Г (понедельник, пятница), 7 — в В (вторник, воскресенье), L — в Ч (четверг), пятерки же — в прочерк. Таким образом, цифры на МК-б1 заменены буквами — так нагляднее.

Пора приступить к работе: вводим программу, затем константы. В регистр В — год перемены старого стиля на новый (1918 ПВ), в регистры С и Д — счетные и поправочные коэффициенты (2,6

Предыдущая страница
Следующая страница
Информация, связанная с этой страницей:
  1. Журнала Юный техник №8-80г

Близкие к этой страницы