Программа для вычисления возраста человека в днях, часах, минутах и секундах - Pascal

Узнай цену своей работы

Формулировка задачи:

Здравствуйте, помогите пожалуйста. Что нужно добавить, чтоб вычислял общее число дней, часов, минут и секунд?
var
y, m, d,
yy, mm, dd, god,
vozrast: integer;
var
correct: boolean;
correct2: boolean;
correct3: boolean;
correct4: boolean;
begin
 
writeln ('Введите дату рождения: ДД ММ ГГГГ');
readln (d, m, y);
writeln ('Введите сегодняшнюю дату: ДД ММ ГГГГ');
readln (dd, mm, yy);
correct :=      ((y<=yy) and (m<mm));
correct2   :=      ((y<=yy) and (m=mm) and (d<=dd)) ;
correct3   :=      ((y<=yy) and (m=mm) and (d>dd)) ;
correct4   :=      ((y<=yy) and (m>mm))       ;
if correct or correct2 then
begin
god := (yy-y);
vozrast:= god;
writeln ('Ваш возвраст составил: ', vozrast);
end ;
if correct3 or correct4 then
 
end.

Решение задачи: «Программа для вычисления возраста человека в днях, часах, минутах и секундах»

textual
Листинг программы
function Julian(y, m, d: Integer): Longint;
begin
  if m>2 then Dec(m,3)
  else begin
    Inc(m,9); Dec(y);
  end;
  Julian:=
    146097*(y div 100) div 4 +
    1461  *(y mod 100) div 4 +
    (153*m+2) div 5+d+1721119;
end;
var
  y,m,d: Integer;
  n: Longint;
begin
  Write('Дата рождения ДД ММ ГГГГ: '); ReadLn(d,m,y); n:=Julian(y,m,d);
  Write('Текущая дата  ДД ММ ГГГГ: '); ReadLn(d,m,y); n:=Julian(y,m,d)-n;
  WriteLn('Дней: ',n,' Часов: ',n*24,' Минут: ',n*24.0*60:0:0,' Секунд: ',n*24.0*3600:0:0);
end.

Объяснение кода листинга программы

  1. Создание функции Julian с параметрами y, m, d для вычисления Юлианской даты:
    • Название переменных и значений: y, m, d: Integer
    • Основная логика функции - конвертация григорианской даты в Юлианскую и возвращение результатов по формуле.
  2. Объявление переменных y, m, d и n:
    • Название переменных и значений: y, m, d: Integer, n: LongInt
  3. Запрос на ввод даты рождения и вычисление Юлианской даты с помощью функции Julian:
    • Ввод значений переменных d, m, y
    • Использование функции Julian(y, m, d) для вычисления Юлианской даты и сохранение результата в переменной n
  4. Запрос на ввод текущей даты и вычисление разницы в днях, часах, минутах и секундах:
    • Ввод значений переменных d, m, y
    • Использование функции Julian(y, m, d) для вычисления Юлианской даты текущей даты и вычисление разницы от рождения до текущей даты, сохранение результата в переменной n
  5. Вывод результатов:
    • Вывод разницы в днях, часах, минутах и секундах с использованием вычисленной разницы n:
      • Дней: n
      • Часов: n*24
      • Минут: n*24.0*60
      • Секунд: n*24.0*3600

Оцени полезность:

11   голосов , оценка 3.909 из 5
Похожие ответы