На Горох
Информатика

Словарный порядок. Дефис и апостроф

"Информатика", Рудченко Т.А., Семёнов А.Л. / Под ред. Семёнова А.Л.

Объяснение темы

Кратко о теме

Словарный порядок — способ располагать слова и строки так, как в словаре: сначала сравнивают первые символы, затем следующие, если предыдущие совпали. Такой порядок нужен для сортировки списков, поиска слов и обработки текста в программах. Решающее значение имеет первое различие, а дефис и апостроф нельзя бездумно пропускать: каждый специальный знак сравнивают по установленному правилу.

Объяснение темы

Текст подготовлен нейронной сетью по теме параграфа и не заменяет учебник — важные факты и формулировки сверяйте с ним.

Определения и обозначения

Словарный порядок — правило расположения слов или строк, при котором сначала сравнивают первые символы, затем следующие при совпадении предыдущих. Он нужен, чтобы однозначно сортировать слова в списках и быстро находить нужный элемент.

Лексикографическое сравнение — последовательное сравнение символов двух строк до первого различия или до окончания одной из них. Такое сравнение похоже на порядок слов в словаре, но применяется к любым строкам.

Дефис — специальный символ, который может входить в состав слова и учитывается по установленному правилу при сравнении строк. Поэтому вариант с дефисом нельзя рассматривать просто как слово без этого знака.

Апостроф — специальный знак внутри слова, для которого при словарной сортировке также определяется особое место или порядок учёта. Его нужно распознавать отдельно, поскольку он не равен кавычке или любому похожему символу.

Как это устроено

Сравнение выполняют слева направо, потому что начало строки задаёт её положение среди строк с тем же началом. Пока символы совпадают, они не дают ответа, поэтому переходят к следующей позиции. Как только найдено первое различие, дальнейшие символы уже не влияют на результат.

Порядок букв берут из алфавита, а компьютер может использовать таблицу символов. Поэтому сравниваются не внешний вид знаков, а их значения и место в принятом порядке. Если правило сортировки задаёт отдельные места для дефиса и апострофа, программа должна учитывать их так же, как буквы на соответствующем шаге.

Если все символы одной строки совпали с началом другой, сравнение буквами закончить нельзя: одна строка просто завершилась раньше. Обычно короткую строку считают предшествующей более длинной, потому что сначала идёт полное слово, а затем его продолжение. Например, «мир» обычно располагается перед «мирный».

Дефис сравнивают в той позиции, где он встретился, а не переносят в конец слова и не удаляют заранее. Если до него начальные части одинаковы, результат зависит от установленного места дефиса среди остальных символов. Поэтому перед сортировкой списка нужно знать конкретное правило для этого знака.

Апостроф также занимает свою позицию в строке и может изменить порядок двух почти одинаковых слов. Прямой апостроф, типографский апостроф и кавычка могут быть разными символами, хотя выглядят похоже. Надёжная проверка состоит в том, чтобы определить код или вид знака и сравнивать именно его по правилам задачи.

Правила сравнения строк в словарном порядке

СитуацияЧто сравниваютРезультат сравненияПример
Первые символы различаютсяПервые символы по алфавиту или таблице символовРаньше стоит строка с меньшим символом«дом» раньше «дым»: о раньше ы
Первые символы совпадаютСледующую пару символовСравнение продолжают слева направо«лук» и «лак»: сравнивают у и а после «л»
Одна строка является началом другойОкончание короткой строкиОбычно раньше стоит короткая строка«мир» раньше «мирный»
В строках встречается дефисДефис в своей позицииПрименяют специальное правило для дефиса«когда-то» сравнивают с учётом «-»
В строках встречается апострофАпостроф в своей позицииПрименяют специальное правило для апострофа«ко’ала» сравнивают с учётом «’»
Сравнивается список строк целикомКаждую соседнюю пару после сортировкиПолучают единый упорядоченный списокПроверяют «а», «аб», «ба» слева направо

Таблица помогает выбрать действие для конкретной ситуации. Сначала найдите первую различающуюся позицию, а затем обратитесь к нужной строке таблицы. Для специального знака заранее уточните его место в принятом порядке.

Разбор задач

Задача 1

Определим, какая строка раньше в словарном порядке: «дом» или «дым». Нужно сравнивать символы только до первого различия. Буквы «д» и «д» совпадают, поэтому ответ дадут вторые буквы.

  1. Сравниваем первые символы: «д» = «д».
  2. Сравниваем вторые символы: «о» стоит раньше «ы».
  3. Останавливаемся, потому что первое различие уже найдено.

Ответ: раньше стоит «дом».

Задача 2

Расположим слова «когда», «когда-то», «кондитер», «ко’ала», учитывая специальные знаки как значимые символы. Воспользуемся правилом, по которому знак сравнивают в своей позиции, а специальный знак в данном порядке идёт перед буквами. Это позволяет не смешивать сравнение общей части и сравнение знака.

  1. «когда» является началом «когда-то», поэтому короткое слово ставим первым.
  2. У «когда-то» и «кондитер» первые две буквы совпадают, затем сравниваются «г» и «н»; «г» раньше «н».
  3. В «ко’ала» после «ко» стоит апостроф, поэтому по принятому правилу это слово идёт перед продолжениями с буквами на этой позиции.
  4. Собираем результат, сохраняя найденные отношения между соседними словами.

Ответ: «когда», «когда-то», «ко’ала», «кондитер». Если в конкретной программе задан другой порядок знаков, результат для строк со специальными символами нужно проверить по её правилу.

Задача 3

Пусть требуется отсортировать список «мирный», «мир», «ко’ала», «когда-то», «кондитер». Нельзя расставлять его по длине или внешнему виду: для каждой пары действует один алгоритм. После сортировки полезно проверить каждую соседнюю пару, потому что ошибка обычно обнаруживается на первом нарушенном сравнении.

  1. Сравниваем начало «мирный» и «мир»: короткая строка «мир» должна быть раньше.
  2. Для слов «когда-то» и «кондитер» сравниваем «ко», затем «г» и «н»: раньше «когда-то».
  3. В «ко’ала» специальный знак встречается после «ко» и учитывается по установленному порядку.
  4. Расставляем все элементы и проверяем соседей слева направо.

Ответ: «ко’ала», «когда-то», «кондитер», «мир», «мирный» при указанном порядке апострофа. Проверка соседних пар подтверждает: в каждой паре найдено первое различие или применено правило для начала строки.

Типичные ошибки

Сравнивать слова по длине. Так делают, потому что длину легко заметить, но она важна только после совпадения всей короткой строки. Проверяйте сначала символы слева направо, а длину учитывайте лишь при совпадении начальных частей.

Продолжать сравнение после первого различия. Ошибка возникает, когда пытаются учесть всё слово целиком. Остановитесь на первой различающейся позиции и запишите, какой символ раньше.

Забывать о начале длинной строки. Иногда одинаковое начало принимают за полное совпадение. Проверьте, закончилась ли одна строка: обычно завершившаяся короткая строка идёт первой.

Игнорировать дефис и апостроф. Их пропускают из-за малого размера или сходства с другими знаками. Уточните вид символа и его место в правиле, затем сравнивайте его в обычной позиции.

Связь с другими темами

До этой темы нужны алфавитный порядок, понятия символа и строки, а также правила сравнения символов. Словарная сортировка используется при упорядочивании списков, поиске элементов, работе со строками и организации данных в таблицах. Позже тот же принцип пригодится в алгоритмах поиска, сортировки и обработки текстовой информации.

Что запомнить

  • Словарный порядок определяется сравнением строк слева направо.
  • Результат задаёт первое различие между строками.
  • При совпадении начальных частей сравнивают следующие символы.
  • Если одна строка является началом другой, порядок определяется правилом для более короткой строки.
  • Дефис и апостроф являются значимыми символами и требуют отдельного правила учёта.
  • Перед сортировкой нужно установить, какие символы и в каком порядке сравниваются.

Частые вопросы по теме

Почему слово с меньшей длиной не всегда стоит раньше?

Длина сама по себе не определяет словарный порядок. Сначала сравнивают символы слева направо, и более длинное слово может опередить короткое, если первое различие указывает на него.

Что делать, если первые несколько букв двух слов совпадают?

Нужно перейти к следующему символу и продолжать сравнение слева направо. Порядок определяется первой позицией, где символы различаются.

Как сравнивать слово и его вариант с дефисом?

Сначала сравнивают общую часть. Если встречается дефис, его учитывают как отдельный значимый символ по правилу сортировки, а не автоматически удаляют.

Нужно ли учитывать апостроф при сортировке?

Да, если апостроф входит в строку, он участвует в сравнении. Нужно отличать его от кавычек и похожих знаков и применять установленное для него место.

Почему порядок в компьютерной сортировке может отличаться от привычного словарного порядка?

Компьютер сравнивает символы по заданной таблице символов или специальному алгоритму. В ней порядок букв, регистра, дефиса и апострофа может отличаться от правил обычного словаря.

Спросить по теме параграфа

Словарный порядок. Дефис и апостроф

Эта же тема в других учебниках

Учебник

Оглавление →
Предмет
Информатика
Учебник
"Информатика", Рудченко Т.А., Семёнов А.Л. / Под ред. Семёнова А.Л.