Напишите программу для работы со списком из произвольного количества учеников (не больше...

0 голосов
33 просмотров

Напишите программу для работы со списком из произвольного количества учеников (не больше 50). О каждом ученике запрашивается Имя, Отчество, Фамилия, возраст, номер и буква класса. По завершении ввода, выводится список учеников (один ученик на строке) упорядоченный в порядке убывания по Имени. Паскаль.


Информатика (14 баллов) | 33 просмотров
Дан 1 ответ
0 голосов

// PascalABC.NET 3.6

type

 TR = record

   Имя, Отчество, Фамилия: string;

   Возраст, НомерКласса: integer;

   БукваКласса: char;

 end;

 

function ПринятьСведения: TR;

 begin

   Result.Имя := ReadlnString('Имя:');

   Result.Отчество := ReadlnString('Отчество:');

   Result.Фамилия := ReadlnString('Фамилия:');

   Result.Возраст := ReadlnInteger('Возраст:');

   Result.НомерКласса := ReadlnInteger('Номер клвсса:');

   Result.БукваКласса := ReadlnChar('Буква класса:');

 end;

 

procedure ВывестиСведения(L: List);

begin

 foreach var r in L do

   Writeln(r.Имя+' '+r.Отчество+' '+r.Фамилия:40,

      r.Возраст:4, r.НомерКласса+r.БукваКласса:4)

end;

 

begin

 var p := new List;

 var n := ReadlnInteger('Сколько учеников добавить?');

 loop n do

   p.Add(ПринятьСведения);

 p := p.OrderByDescending(t -> t.Имя).ToList;

 ВывестиСведения(p);

end.

(1.6k баллов)