Информатика • 9 класс
680

Сортировка массива записей по нескольким критериям (Паскаль)

  • В Pascal для сортировки массивов по нескольким критериям можно использовать:
    • встроенные алгоритмы сортировки (в современных версиях);
    • самостоятельно реализованные процедуры сортировки.

    Пример. Функция, сортирующая учеников по классу (возрастание), затем по баллам (убывание) и по ФИО (по алфавиту).

Объявление структуры

Функция сортировки

  type Pupil = record
  fio: string [50];
  classNum: integer;
  ball: integer;
end;
var
Pupils: array of Pupil;
n: integer;

function Compare (a, b: Pupil): integer;
begin {Сравниваем класс}
  if a.classNum < b.classNum then   Compare := -1
  else if a.classNum > b.classNum     then Compare := 1
    else begin {Сравниваем баллы     (по убыванию)}
      if a.ball > b.ball then               Compare := -1
      else if a.ball < b.ball then       Compare := 1
        else begin {Сравниваем         по фамилии}
        if a.fio < b.fio then         Compare := -1
        else if a.fio > b.fio then         Compare := 1
          else Compare := 0; end;
      end;
   end;

Было полезно?

Рекомендуем

Вы учитель или ученик?
Познакомьтесь с нашим образовательным онлайн-сервисом с тысячами интерактивных работ
Учителю
Удобно проводить уроки в классе, назначать работы на дом и анализировать результаты всего класса или конкретных учеников
Ученику
Самостоятельно изучать новые и повторять пройденные темы, готовиться по индивидуальной траектории и оценивать результаты на наглядных графиках
Зарегистрироваться в «Облаке знаний»
Логотип облако знаний
+7 (499) 322-07-57
info@oblakoz.ru

Контактный центр

МО, г. Долгопрудный,
Лихачевский проезд, 4, стр. 1

Отдел заботы о пользователях

Политика конфиденциальности

© ООО «Физикон Лаб», 2025

Пользуясь нашим сайтом, вы соглашаетесь с тем, что мы используем cookies 🍪