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

Ответы 1

  • 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 := yyend;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 19975000 дней прожито 18.6.2011
  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years