• Нужно составить описание к программе(Задание - Составить список, содержащий сведения об 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('Введите дату рождения(GGGGMMDD)без пробелов и точек всё пишем слитно(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.

Ответы 1

  • Описывается список с полями согласно заданию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;
  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years