Регистрация
Войти
Стать экспертом Правила
Информатика

Нужно составить описание к программе(Задание - Составить список, содержащийсведения об n студентах. Для каждого студентадолжно быть указано:

-фамилия;

-ИНН;

-дата рождения;

-год поступления в университет;

-курс;

-группа;

-оценки текущей сессии по трем предметам.

Информацию о каждом студенте оформить в виде записи.Совокупность записей объединить в массив. Составить программу, котораяобеспечивает ввод исходных данных, обработку и вывод на экран информации всоответствии с вариантом задания.

Вывести на экран фамилии трех самых молодых студентов)

program pr5;constN = 5;typestudent = Record fam: String; inn: string; Year: integer;god_p: integer; kurs: 1..5; gruppa: string; b1, b2, b3: 1..5; End;varspisok: Array [1..N] Of student;FF: Text; b, a: string;i, j, k1: Integer;beginfor i := 1 To N Do with spisok[i] Do beginWriteln('Введите фамилию');Readln(fam);Writeln('Введите ИНН');Readln(inn);Writeln('Введите три оценки');Readln(b1, b2, b3); Writeln('год поступления');Readln(god_p);Writeln('курс');Readln(kurs);Writeln('группа');Readln(gruppa);Writeln('Введите дату рождения(GGGGMMDD)без пробелов и точек всё пишем слитно(19971231)');Readln(Year);end; for i := 1 to n - 1 dofor j := 1 to n - i doif spisok[j].Year > spisok[j + 1].Yearthen begink1 := 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 := aend;writeln;for i := 1 to 3 do beginwrite(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;
836
Контакты
Реклама на сайте
Спрошу
О проекте
Новым пользователям
Новым экспертам