Язык программирования Pascal. Строки и записи. Васильев В.В - 18 стр.

UptoLike

18
begin
s:=s+n*days(dm,dc); dm:=dc
end;
inc(n)
end;
dr.gd:=dm.gd; dr.mc:=dm.mc; dr.dn:=dm.dn;
if s>sto
then
writeln('Столетний юбилей наступил до рождения младшего члена семьи')
else
begin
bd_dt((sto-s) div n, dr);
writeln('Дата столетнего юбилея:');
write('День : '); writeln(dr.dn);
write('Месяц: '); writeln(dr.mc);
write('Год : '); writeln(dr.gd);
end;
readkey
End.{Sto_let}
Почему в процедуре bd_dt() нельзя воспользоваться функцией dn_dt()?
Для упрощения доступа к полям записи используется оператор присоеди-
нения:
With Переменная_типа_запись Do Оператор;
Например, в предыдущей задаче дату столетнего юбилея можно вывести
так:
With dr do
begin write('День : '); writeln(dn);
write('Месяц: '); writeln(mc);
write('Год : '); writeln(gd);
end;
Рассмотрим задачу, в которой используется массив из записей .
Задача 5. Сведения о студентах вуза записаны в массиве и содержат сле-
дующую информацию : фамилия, имя, пол (м или ж), курс (с 1-го до 5-го). На-
пишите программу, которая вводит эту информацию и печатает следующие
данные:
а) номер курса, на котором наибольший процент мужчин ;
б) самые распространенные мужские и женские имена.
Чтобы решить поставленную задачу, нужно:
1. ввести информацию о студентах в массив из записей ;
2. найти номер курса, на котором наибольший процент мужчин ;
3. напечатать самые распространенные мужские и женские имена.
Рассмотрим подробнее алгоритмы второй и третьей задач.
2. Искомый номер курса вычислим в функции man(). Для этого найдем ко-
личество студентов и количество мужчин на каждом курсе. Наибольший про-
цент мужчин окажется на курсе, на котором получится максимальное отноше-