Нужно составить описание к программе( - составить список, содержащий сведения об 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.

brandt04 brandt04    1   10.09.2019 06:30    7

Ответы
nastyskabaterfp08pfs nastyskabaterfp08pfs  07.10.2020 04:44
Описывается список с полями согласно заданию
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;
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика