На правах рекламы:
ISSN 0236-235X (P)
ISSN 2311-2735 (E)

Авторитетность издания

ВАК - К1
RSCI, ядро РИНЦ

Добавить в закладки

Следующий номер на сайте

4
Ожидается:
09 Декабря 2024

Календарные расчеты на калькуляторе

Статья опубликована в выпуске журнала № 3 за 1988 год.
Аннотация:
Abstract:
Автор: Пятак И.А. () -
Ключевое слово:
Ключевое слово:
Количество просмотров: 20982
Версия для печати

Размер шрифта:       Шрифт:

В практике вычислительных работ встречаются задачи, связанные с определением количества дней, разделяющих две календарные даты. Эти задачи возникают при датировке исторических событий, астрономических расчетах, составлении сетевых графиков и планировании длительных технологических процессов (например выращивания биологических культур).

С древних времен в европейских странах применялся преимущественно солнечный юлианский календарь (старый стиль). Он позволил привязать сроки выполнения сельскохозяйственных работ к определенным датам и. соответственно, к сезонным изменениям погоды. Смена сезонов, в свою очередь, зависит от положения Земли на околосолнечной орбите. В юлианском календаре после трех лет по 365 суток следует високосный год в 366 суток. Небольшая неточность этого календаря приводит к тому, что за 400 лет он отстает примерно на 3 суток.

В 325 г. н. э., когда на Никейском соборе была установлена дата празднования Пасхи, день весеннего равноденствия приходился на 21-е марта. К XVI веку в календаре накопилось отставание на 10 суток, что вносило путаницу в определение дат христианских праздников. Поэтому в 1582-м г. по проекту итальянского математика и врача Луллкя буллой папы Григория XIII был введен исправленный календарь (новый стиль — григорианский). Постановили не считать в дальнейшем високосными те года столетий, у которых число сотен не делится без остатка на 4 (1700, 1800, 1900. 2100 и т. д.). Кроме того, для устранения имеющегося отставания после 4-го октября 1582-го года решили считать не 5-е, а 15-е октября. Таким образом, даты с 5.10.1582 г. по 14.10.1582 г. оказались несуществующими.

Как видно, вычислить интервал между двумя произвольными датами, разделенными столетиями, довольно сложно из-за неодинаковой продолжительности месяцев и лет, а также изменений календаря.

Для облегчения вычислений введена система юлианских дат —сплошного счета без подразделения на месяцы и годы. Юлианская дата JD представляет собой число суток, прошедших от 1-го января 4713-го г. до н. э., до полудня по гринвичскому времени текущей даты. Например, календарной дате 1-го января 1900-го года соответствует юлианская JD = 2415021. а 1.01.1988 г. —JD = 2447162. Число суток d, прошедших между двумя календарными датами D1 и D2, вычисляется просто как разность их юлианских дат. d = Ю(О7) - JD(D,).

Соответствие между юлианскими и календарными датами задается специальными таблицами, приведенными, например в Астрономическом ежегоднике СССР.

С помощью микрокалькулятора (МК) все указанные вычисления могут быть осуществлены по фор чулам без использования таблиц. Далее приводятся программы вычислений, составленные для МК типа БЗ-34, и для ЭВМ типа «Искра-226» на языке БЕЙСИК.

Программы для микрокалькулятора

Для работы программы записать в регистры памяти: РО = 5,555555510 - 1; Р1 = К; Р2 = 30.6; РЗ = 365,25

В зависимости or величины константы К программа позволяет осуществлять расчеты: К = 1720995 —для дат, заданных по старому стилю; К = 1720982 — для дат, заданных по новому стилю в диапазоне от 1.03.1900 г. до 28.02.2100 г.

Порядок работы. Для заданного голи Г, месяца М. даты Д ввести Г| М' Д, нажать С/П. После !авер-шеиия счета на индикаторе высвечивается значение юлианской даты.

Для работы программы записать в регистры памяти: РО = 5,5555555,,, - I; PI = N; Р2 = 40000; РЗ = 80; Р4 = 4708; Р5 = №10001; Р6 = 1461; Р7 = 2447

В зависимости от величины N программа позволяет производить расчеты: N = 1520 — для календарных дат старого стиля; V = 1507 — для календарных лат нового стиля в диапазоне от JD = 2415080 (1.03.1900 г.) до JD = 248812Н (28.02.2100 г.).

Порядок работы. Внести юлианскую дату, нажать С/П. После останова прочесть календарную дату. нажать С/П, прочесть номер месяца, нажать С/П, прочесть номер года.

Для работы программы записать в регистры памяти:

ГО = 5,5553555,,, " l< pl = 32075> п = 1461- рз = 4Щ): Р4 = т- р5 = 367; pf) = п-Программа позволяет производить расчеты для дат, начиная с 15.10.1982 г.

Порядок работы. Для заданного года Г. месяца М, даты Д ввести Г! М1Д, нажать С/П. После завср-пения счета на индикаторе высвечивается значение юлианской даты.

Для работы программы записать в регистры памяти:

PU = 5.5555555.. - 1;Р1.= 68569; Р2 = 146097; РЗ = 80; Р4 = 100;Р5 = 2922002; Р6 = Н61;Р7 = 2447; Р8 = 49.

Программа позволяет производить расчеты для юлианских дат, начиная с JD = 2299161 (15.10. 1582 г.].

Порядок работы, ввести юлианскую дату, нажать С/П. После останова прочесть год; в регистрах PC и PD находятся значения соответственно месяца и даты. Для расчета с несколькими значениями юлианской латы перед каждым новым расчетом нажать В/С; в программах ГТ1, П2. ПЗ нажимать В/О перед новым расчетом не требуется.

Константа, засылаемая в PC, вычисляется как 5.5555555|0 - I = 1/1,8.

Программы на языке БЕЙСИК

Программы на языке БЕЙСИК, диалогичны одноименным программам для МК. В этих программах обозначено:

J0 — юлианская дата; 0в%. Мв%, Dfl% — год, месяц, календарная дата;

N. К — константы, [клволяющие в программах П1 и 112 произнодить расчеты как по новому, так и по старому стилю.

С помощью данных программ можно решить задачи, связанные с календарными расчетами.

1.  Вычисление количества дней от одной календарной даты до другой

Определить is днях продолжительность Великой Отечественной войны. С помощью программ Ш или П1 (в варианте нового стиля) вычисляются юлианские даты:

D, = 21.06.1941 г. JDj = 2430I67;

D: = 9.05.1945 г. ГО, = 2431585.

Результат: d = Ю; - JD, = 1418 дней.

2.  Вычисление биты, отстоящей от данной на d дней

Комета Галлея находилась н ближайшей к Солнцу точке орбиты (перигелии] 19 мая 1910 г. и — 10 феврали I486 г. Определить дату следующего прихода кометы в перигелий. С помощью программы Ш (или ГП) вычисляются юлианские даты:

D, = I9.05J910 г JD, =2418811; П>, = 10.02.1986 г. JD, = 2446472; период обращения d = JD2 - JD, = 27661 сутки: юлианская дата следующего прихода в перигелий JD, = 2474133.

С помощью программы П4 (или 112) вычисляется календарная дата нового прихода кометы: D, = 4.11.2061 г.

Следует отметить, что из-ча наличия ночмущений периода обращения полученная оценка является ориентировочной.

3. Определение дня небели на заданную дату Номер Р дня недели (воскресенье — нулевой, понедельник — первый) вычисляется по формуле;

Р = JD + 1 - 7*F-[(JD + 1У7|. где Е(х) — целая часть числа \.

Вычисляя юлианские даты, можно определить их дни недели: 1.01.1000 г. JD = 2086308; Р = 1 (понедельник), 31.12.1899 г. JD = 241502(1; Р = 0 (воскресенье). 1.01.1900 г. JD = 2415021; Р = 1 (понедельник), 7.10.1987 г. JD = 244707ft- р"= 3 (среда): 1.01.1988г. JD = 2447162; Р = 5 (пятница), 1.01.2000г. JD = 2451545: Р = б(суббота).


Постоянный адрес статьи:
http://swsys.ru/index.php?id=1485&like=1&page=article
Версия для печати
Статья опубликована в выпуске журнала № 3 за 1988 год.

Возможно, Вас заинтересуют следующие статьи схожих тематик: