Разработать проект, запрашивающий дату рождения пользователя и рассчитывающий, в какой день им было прожито 5000 дней.

Разработать проект, запрашивающий дату рождения пользователя и рассчитывающий, в какой день им было прожито 5000 дней.
Гость
Ответ(ы) на вопрос:
Гость
type   Dat = record     d: integer;     m: integer;     y: integer   end; function jday(pd: Dat): longint; // Алгоритм 199б // "Переход от календарной даты к порядковому номеру дня и обратно" // взят из сборника // "Библиотека алгоритмов 151б-200б", М.И.Агеев и др., // М.: Радио и связь, 1981 // // Алгоритм возвращает порядковый номер дня по Юлианскому календарю. // Работает для дат, начиная с 01.01.4713 до н.э. var   c, ya: longint; begin   with pd do   begin     if m > 2 then m := m - 3     else     begin       m := m + 9;       y := y - 1     end;     c := y div 100;     ya := y mod 100;     Result := ((146097 * c) div 4) + ((1461 * ya) div 4) +       ((153 * m + 2) div 5) + d + 1721119   end; end; function jdate(j: longint): Dat; // Алгоритм 199б // "Переход от календарной даты к порядковому номеру дня и обратно" // взят из сборника // "Библиотека алгоритмов 151б-200б", М.И.Агеев и др., // М.: Радио и связь, 1981 // // Алгоритм возвращает дату григорианского календаря по // порядковому номеру дня Юлианского календаря. // Работает для дат, начиная с 01.01.4713 до н.э. var   dd, mm, yy: integer; begin   j := j - 1721119;   yy := (4 * j - 1) div 146097;   dd := (4 * j - 1 - 146097 * yy) div 4;   j := (4 * dd + 3) div 1461;   dd := (4 * dd + 7 - 1461 * j) div 4;   mm := (5 * dd - 3) div 153;   dd := (5 * dd + 2 - 153 * mm) div 5;   yy := 100 * yy + j;   if mm < 10 then mm := mm + 3   else begin mm := mm - 9; yy := yy + 1 end;   Result.d := dd;   Result.m := mm;   Result.y := yy end; var   d1,d2: Dat; begin   Writeln('Введите дату рождения в формате <день месяц год>: ');   Read(d1.d, d1.m, d1.y);   d2:=jdate(jday(d1)+5000);   Writeln('5000 дней прожито ',d2.d,'.',d2.m,'.',d2.y) end. Тестовое решение: Введите дату рождения в формате <день месяц год>: 9 10 1997 5000 дней прожито 18.6.2011
Не нашли ответ?
Ответить на вопрос
Похожие вопросы