Вопрос задан 10.07.2023 в 05:49. Предмет Информатика. Спрашивает Кондрашева Рина.

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

каждом ученике запрашивается Имя, Отчество, Фамилия, возраст, номер и буква класса. По завершении ввода, выводится список учеников (один ученик на строке) упорядоченный в порядке убывания по Имени. Паскаль.
0 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<TR>);

begin

 foreach var r in L do

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

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

end;

 

begin

 var p := new List<TR>;

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

 loop n do

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

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

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

end.

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Конечно, вот пример программы на Pascal, которая выполняет описанные вами действия:

pascal
program StudentList; const MaxStudents = 50; type Student = record FirstName: string; MiddleName: string; LastName: string; Age: integer; ClassNumber: integer; ClassLetter: char; end; var Students: array [1..MaxStudents] of Student; NumStudents: integer; i, j: integer; TempStudent: Student; procedure InputStudent(var s: Student); begin writeln('Введите информацию об ученике:'); write('Имя: '); readln(s.FirstName); write('Отчество: '); readln(s.MiddleName); write('Фамилия: '); readln(s.LastName); write('Возраст: '); readln(s.Age); write('Номер класса: '); readln(s.ClassNumber); write('Буква класса: '); readln(s.ClassLetter); end; procedure SortStudents(); begin for i := 1 to NumStudents - 1 do for j := i + 1 to NumStudents do if Students[i].FirstName < Students[j].FirstName then begin TempStudent := Students[i]; Students[i] := Students[j]; Students[j] := TempStudent; end; end; procedure DisplayStudents(); begin writeln('Список учеников:'); for i := 1 to NumStudents do writeln(Students[i].LastName, ' ', Students[i].FirstName, ' ', Students[i].MiddleName, ', Возраст: ', Students[i].Age, ', Класс: ', Students[i].ClassNumber, Students[i].ClassLetter); end; begin writeln('Введите количество учеников (не более ', MaxStudents, '): '); readln(NumStudents); if (NumStudents > MaxStudents) or (NumStudents <= 0) then begin writeln('Неверное количество учеников.'); exit; end; for i := 1 to NumStudents do InputStudent(Students[i]); SortStudents(); DisplayStudents(); end.

Программа запрашивает информацию об учениках, сохраняет их в массив и сортирует по имени в порядке убывания. Затем выводит отсортированный список.

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос