Работа 3.9 Упр.11 ГДЗ Семакин 10 класс (Информатика)
- Имеются сведения о датах рождения сотрудников учреждения.
а) Определить самого молодого сотрудника.
б) Определить самого старшего сотрудника.
в) Получить список всех сотрудников, родившихся весной.
Для определения возраста сотрудника нужно сравнить две даты: дату рождения и сегодняшнюю дату. Сначала находим разность по годам и месяцам, затем уточняем её по дням.
var
dr, gr, mr, gs, ms, ds, v1, v2, v3: integer;
begin
writeln(‘Введите дату рождения dd,mm,gg’);
Readln(dr, mr, gr);
writeln(‘Введите сегодняшнюю дату dd,mm,gg’);
readln(ds, ms, gs);v1 := gs — gr;
v2 := 12 — mr + ms;if v2 > 12 then
begin
v1 := v1 + 1;
v2 := v2 — 12;
end;if v2 = 12 then
v2 := 0;if ds < dr then
begin
v3 := 30 — dr + ds;
v2 := v2 + 1;
if v2 > 12 then
begin
v1 := v1 + 1;
v2 := v2 — 12;
end;
end
else
if ds > dr then
begin
v3 := ds — dr;
end
else v3 := 0;writeln(‘Дней ‘, v3, ‘ Месяцев ‘, v2, ‘ Лет ‘, v1);
readln;
end.
Здесь:
- v1 — число полных лет;
- v2 — число полных месяцев;
- v3 — число дней.
Алгоритм учитывает, что если текущий месяц меньше месяца рождения, то год ещё не завершён, а если день текущего месяца меньше дня рождения, то нужно добавить один месяц и пересчитать дни.
Ответ
Программа определяет возраст человека в годах, месяцах и днях по введённым датам рождения и текущей дате.

