Работа 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 — число дней.
Алгоритм учитывает, что если текущий месяц меньше месяца рождения, то год ещё не завершён, а если день текущего месяца меньше дня рождения, то нужно добавить один месяц и пересчитать дни.
Ответ
Программа определяет возраст человека в годах, месяцах и днях по введённым датам рождения и текущей дате.