Найти самого старшего мужчину в группе - Turbo Pascal
Формулировка задачи:
- type строка=array [1..16] of char;
- дата=record число:1..31;
- месяц:1..12;
- год:1900..1979
- end;
- анкета=record фамилия:строка;
- пол:(муж, жен);
- деньрожд:дата
- end;
- группа=array [1..25] of анкета;
Решение задачи: «Найти самого старшего мужчину в группе»
- uses
- Crt;
- const
- N = 3; {êîëè÷åñòâî ÷åëîâåê â ãðóïïå}
- type
- Date = record
- Day, Month, Year: integer;
- end;
- Rec = record
- Surname: string[50];
- BDate: Date;
- Sex: char;
- end;
- procedure WriteRec(var a: Rec);
- begin
- Write('Surname: ');
- ReadLn(a.Surname);
- Write('Day: ');
- ReadLn(a.BDate.Day);
- Write('Month: ');
- ReadLn(a.BDate.Month);
- Write('Year: ');
- ReadLn(a.BDate.Year);
- Write('Sex: ');
- ReadLn(a.Sex);
- end;
- var
- a: array [1..N] of Rec;
- i,maxID: integer;
- begin
- ClrScr;
- for i := 1 to N do
- WriteRec(a[i]);
- maxID := 1;
- for i := 2 to N do
- if a[i].BDate.Year < a[maxID].BDate.Year then
- maxID := i
- else
- if a[i].BDate.Month < a[maxID].BDate.Month then
- maxID := i
- else
- if a[i].BDate.Day < a[maxID].BDate.Day then
- maxID := i;
- WriteLn('//--------------------------------------------------------');
- with a[maxID] do
- begin
- WriteLn('Surname: ', Surname);
- WriteLn('Date: ', BDate.Day, '.', BDate.Month, '.', BDate.Year);
- WriteLn('Sex: ', Sex);
- end;
- ReadLn
- end.
Объяснение кода листинга программы
Данный код написан на языке Turbo Pascal и предназначен для поиска самого старшего мужчины в группе.
В начале кода объявляются необходимые переменные и типы данных. Затем используется конструкция uses
, чтобы импортировать необходимые библиотеки.
Далее определяется константа N
, которая представляет собой количество мужчин в группе.
Затем определяется тип Date
, который представляет собой дату в формате ДД.ММ.ГГГГ.
После этого определяется тип Rec
, который представляет собой запись с информацией о мужчине, включая фамилию, дату рождения, пол и другие данные.
Далее объявляется переменная a
, которая представляет собой массив из N
записей типа Rec
.
Затем идет цикл for
, который перебирает все записи в массиве a
. Внутри цикла вызывается процедура WriteRec
, которая выводит информацию о текущей записи на экран.
После этого определяется переменная maxID
, которая будет хранить индекс самого старшего мужчины. Изначально устанавливается значение maxID
равным 1.
Затем идет еще один цикл for
, который перебирает все записи в массиве a
. Внутри цикла сравниваются даты рождения текущей записи и предыдущего самого старшего мужчины. Если дата рождения текущего мужчины старше, то обновляется значение maxID
. Если месяц или день текущего мужчины старше, то также обновляется значение maxID
.
После завершения циклов выводится информация о самом старшем мужчине на экран.
В конце кода вызывается функция ReadLn
, чтобы прочитать ввод пользователя.
Таким образом, данный код позволяет найти самого старшего мужчину в группе.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д