"Информатика. Учебное пособие для общеобразовательных учреждений с русским языком обучения", Г. А. Заборовский, А. Е. Пупцев
Сортировка записей — это упорядочивание строк таблицы по значениям выбранного поля. Она помогает быстро находить нужные сведения, сравнивать объекты и анализировать данные. При сортировке важно перемещать запись целиком: фамилия, класс, баллы или другие значения одной строки должны остаться вместе. Порядок можно задать по возрастанию или убыванию, а для более точного результата использовать несколько ключей — основной и дополнительные.
Текст подготовлен нейронной сетью по теме параграфа и не заменяет учебник — важные факты и формулировки сверяйте с ним.
Запись — строка таблицы, содержащая сведения об одном объекте; при сортировке её поля перемещаются вместе. Например, строка об ученике может включать фамилию, класс и баллы. Это понятие помогает помнить, что все значения строки относятся к одному объекту и не должны разъединяться.
Поле — столбец таблицы, содержащий значения одного свойства объектов и используемый как критерий сортировки. В таблице товаров таким полем может быть цена, а в списке учеников — фамилия. Выбор поля позволяет указать, по какому признаку нужно расположить записи.
Сортировка записей — упорядочивание строк таблицы по значениям выбранного поля без изменения самих записей. После неё строки могут стоять в другом порядке, но сведения в каждой из них остаются прежними. Это нужно, чтобы быстро найти или сравнить объекты по общему признаку.
Ключ сортировки — поле, по которому сравнивают записи; при сортировке по нескольким критериям задают основной и дополнительные ключи. Основной определяет общий порядок, а дополнительный помогает упорядочить записи с совпадающими основными значениями. Так можно задать более точный порядок, чем по одному признаку.
Перед сортировкой выделяют всю таблицу, а не только столбец, который выбран ключом. В каждой строке значения разных полей связаны с одним объектом, поэтому они должны перемещаться вместе. Если переставить только фамилии, рядом с ними могут оказаться чужие классы или баллы. Целостность таблицы сохраняется только тогда, когда перемещаются целые записи.
Направление сортировки выбирают в зависимости от того, какой порядок нужен: по возрастанию или по убыванию. Для чисел возрастание означает движение от меньшего значения к большему, а для текста — обычно от А до Я. Даты при возрастании располагаются от более ранних к более поздним. Разница возникает потому, что значения разных типов сравниваются по своим правилам.
При сортировке по одному ключу записи сравнивают по значениям выбранного поля. Затем их располагают в порядке, заданном пользователем: например, сначала меньшие цены или сначала более высокие баллы. Остальные поля не участвуют в сравнении, но остаются частью каждой записи. Поэтому результат показывает упорядоченные объекты, а не отдельно упорядоченные значения столбца.
Нескольких ключей требуют задачи, в которых одного признака недостаточно. Сначала записи группируют по основному критерию, а среди записей с одинаковым значением этого критерия применяют дополнительный. Например, можно сначала расположить учеников по классам, а внутри каждого класса — по баллам. Дополнительный ключ не меняет порядок разных основных групп, а уточняет порядок внутри них.
После сортировки результат проверяют по смыслу задачи, а не только по виду таблицы. Убедитесь, что строки сохранили соответствие между полями и значения ключевого поля идут в нужном направлении. Если у нескольких записей основной ключ совпадает, проверьте порядок по дополнительному критерию. Такая проверка помогает обнаружить ошибочный выбор диапазона, ключа или направления.
| Тип значений ключевого поля | По возрастанию | По убыванию |
|---|---|---|
| Числа | От меньшего к большему | От большего к меньшему |
| Текст | От А до Я | От Я до А |
| Даты и время | От более ранних к более поздним | От более поздних к более ранним |
Сначала найдите в таблице тип значений поля, выбранного ключом, затем сопоставьте цель задачи с нужным направлением. Например, «от самой высокой цены к самой низкой» означает сортировку чисел по убыванию. Если фактический порядок не совпадает с ожидаемым, проверьте, как программа распознала значения.
Условие. Упорядочить список учеников по фамилии от А до Я. В таблице также есть класс и другие сведения об учениках. Нужно сохранить эти сведения связанными с фамилиями.
Ответ. Список сортируют целиком по полю «Фамилия» по возрастанию. В результате фамилии идут от А до Я, а сведения о каждом ученике сохраняют своё место в записи. При совпадении фамилий порядок можно уточнить дополнительным ключом.
Условие. Нужно расположить товары по цене от самой высокой к самой низкой, сохранив названия и остальные сведения. Значит, требуется не просто получить отдельный список цен, а переставить записи о товарах в нужном порядке.
Ответ. Всю таблицу сортируют по числовому полю «Цена» по убыванию. Первой окажется запись товара с наибольшей ценой, последней — с наименьшей. Названия и другие сведения останутся в строках своих товаров.
Условие. Результаты нужно упорядочить сначала по классу, а внутри каждого класса — по набранным баллам от большего к меньшему. Здесь два критерия, причём второй применяется только к участникам одного класса.
Ответ. Нужна многоуровневая сортировка: основной ключ — класс, дополнительный — баллы. Для класса задают выбранный порядок классов, для баллов — убывание. При равных баллах записи могут остаться на одном уровне порядка, если дополнительный критерий не задан.
Сортировать только столбец ключа. В этом случае значения могут перестать соответствовать остальным полям записи. Так ошибаются, когда принимают сортировку за перестановку одного списка ячеек, а не целых строк. Проверьте несколько строк по независимым сведениям; безопаснее сразу выделить всю таблицу.
Выбрать неверное направление. Например, сортировка по возрастанию даст меньшие значения раньше больших, хотя задача требует обратного порядка. Путаница возникает, если не перевести формулировку задания в понятное правило сравнения. До запуска назовите, что должно стоять первым и последним, а после проверьте крайние значения.
Считать числа или даты текстом. Если данные распознаны как текст, порядок может не соответствовать числовому или хронологическому. Такое случается при неодинаковом формате ячеек или лишних символах. Проверьте формат и запись значений, затем убедитесь, что результат действительно идёт от меньшего к большему или от раннего к позднему.
Задать дополнительный ключ главным. Тогда таблица будет прежде всего группироваться по нему, а основной критерий задачи не станет определять общий порядок. Ошибка часто появляется, когда пользователь добавляет ключи в неверной очередности. Сверьте уровни сортировки с условием: главный критерий должен быть основным, а уточняющий — дополнительным.
Для работы с сортировкой нужно понимать устройство таблицы: строки представляют записи, столбцы — поля, а ячейки содержат значения разных типов. Знание типа данных помогает предсказать порядок сравнения и заметить ошибку формата. Сортировка применяется в электронных таблицах и базах данных, когда нужно быстрее находить записи или анализировать набор данных. Она упорядочивает сведения, но сама по себе не объясняет причины обнаруженных закономерностей.
Почему нельзя отсортировать только один столбец таблицы?
В строке таблицы значения разных столбцов относятся к одному объекту. Если переставить только значения одного столбца, они окажутся рядом с чужими сведениями и запись потеряет смысл. Поэтому сортируют целые строки.
Чем сортировка по возрастанию отличается от сортировки по убыванию?
При сортировке по возрастанию значения идут от меньшего к большему, а при сортировке по убыванию — от большего к меньшему. Для текста это обычно порядок от А до Я и от Я до А. Для дат возрастание означает переход от более ранних к более поздним.
Как выбрать поле, по которому сортировать записи?
Выберите поле, значения которого лучше всего отвечают цели задачи: например, фамилию для списка учеников или цену для списка товаров. Это поле станет ключом сортировки. Учитывайте тип значений и нужное направление порядка.
Что делать, если значения основного ключа совпадают?
Добавьте дополнительный ключ, по которому записи с одинаковым значением основного ключа будут упорядочены между собой. Например, внутри каждой группы по классу можно отсортировать учеников по баллам. Для каждого ключа отдельно задают направление.
Почему даты или числа иногда сортируются в неожиданном порядке?
Возможно, значения распознаны программой как текст, а не как числа или даты. Тогда применяется текстовый порядок сравнения, и он может не совпадать с числовым или хронологическим. Проверьте формат ячеек и единообразие записи значений.
§ 14. Сортировка записей в таблице