Программа для вычисления возраста человека в днях, часах, минутах и секундах - 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
- Дней:
- Вывод разницы в днях, часах, минутах и секундах с использованием вычисленной разницы
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д