Программа для вычисления возраста человека в днях, часах, минутах и секундах - 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.
Объяснение кода листинга программы
- Создание функции
Julian
с параметрамиy, m, d
для вычисления Юлианской даты:- Название переменных и значений:
y, m, d: Integer
- Основная логика функции - конвертация григорианской даты в Юлианскую и возвращение результатов по формуле.
- Название переменных и значений:
- Объявление переменных
y, m, d
иn
:- Название переменных и значений:
y, m, d: Integer, n: LongInt
- Название переменных и значений:
- Запрос на ввод даты рождения и вычисление Юлианской даты с помощью функции
Julian
:- Ввод значений переменных
d, m, y
- Использование функции
Julian(y, m, d)
для вычисления Юлианской даты и сохранение результата в переменнойn
- Ввод значений переменных
- Запрос на ввод текущей даты и вычисление разницы в днях, часах, минутах и секундах:
- Ввод значений переменных
d, m, y
- Использование функции
Julian(y, m, d)
для вычисления Юлианской даты текущей даты и вычисление разницы от рождения до текущей даты, сохранение результата в переменнойn
- Ввод значений переменных
- Вывод результатов:
- Вывод разницы в днях, часах, минутах и секундах с использованием вычисленной разницы
n
:- Дней:
n
- Часов:
n*24
- Минут:
n*24.0*60
- Секунд:
n*24.0*3600
- Дней:
- Вывод разницы в днях, часах, минутах и секундах с использованием вычисленной разницы
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д