Нужно составить описание к программе( - составить список, содержащий сведения об n студентах. для каждого студента должно быть указано: - фамилия; - инн; - дата рождения; - год поступления в университет; - курс; - группа; - оценки текущей сессии по трем предметам. информацию о каждом студенте оформить в виде записи. совокупность записей объединить в массив. составить программу, которая обеспечивает ввод исходных данных, обработку и вывод на экран информации в соответствии с вариантом . вывести на экран фамилии трех самых молодых студентов) program pr5; const n = 5; type student = record fam: string; inn: string; year: integer; god_p: integer; kurs: 1..5; gruppa: string; b1, b2, b3: 1..5; end; var spisok: array [1..n] of student; ff: text; b, a: string; i, j, k1: integer; begin for i : = 1 to n do with spisok[i] do begin writeln('введите фамилию'); readln(fam); writeln('введите инн'); readln(inn); writeln('введите три оценки'); readln(b1, b2, b3); writeln('год поступления'); readln(god_p); writeln('курс'); readln(kurs); writeln('группа'); readln(gruppa); writeln('введите дату рождения(mmdd)без пробелов и точек всё пишем слитно(19971231)'); readln(year); end; for i : = 1 to n - 1 do for j : = 1 to n - i do if spisok[j].year > spisok[j + 1].year then begin k1 : = spisok[j].year; a : = spisok[j].fam; spisok[j].year : = spisok[j + 1].year; spisok[j].fam : = spisok[j + 1].fam; spisok[j + 1].year : = k1; spisok[j + 1].fam : = a end; writeln; for i : = 1 to 3 do begin write(spisok[i].fam); writeln; end; end.
type
student = Record
fam: String;
inn: string;
Year: integer;
god_p: integer;
kurs: 1..5;
gruppa: string;
b1, b2, b3: 1..5;
End;
Объявляются необходимые переменные и массив с типом записи
var
spisok: Array [1..N] Of student;
b, a: string;
i, j, k1: Integer;
И заполняется от 1 до N (N=5 установлена константа)
for i := 1 To N Do // идем от 1 до N и заполняем список
with spisok[i] Do
begin
Writeln('Введите фамилию');Readln(fam);
{}
end;
Потом обрабатывается согласно заданию по вариантам
Скорее всего, что-то типо сортировки по году рождения, самых молодых пихают в начало.(глупо. можно было не городить такой кусок кода, а уместить все в один цикл с проверкой и выводом ИМХО)
Затем выводится 3 фамилии самых молодых
for i := 1 to 3 do
begin
write(spisok[i].fam);
writeln;
end;