На Горох
Информатика, 9 класс

7.2. Сравнение и сложение строковых величин

"Информатика. Учебное пособие для учреждений общего среднего образования с русским языком обучения", В. М. Котов, А. И. Лапо, Ю.А. Быкадоров, Е.Н. Войтехович

Объяснение темы В оглавлении: 7.2. Сравнение и сложение строковых величин

Кратко о теме

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

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

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

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

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

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

Конкатенация строк — соединение строковых величин в одну строку с помощью операции сложения. Например, при соединении 'добро' и 'пожаловать' получится 'добропожаловать'. Это позволяет составлять текст из отдельных частей, в том числе из значений переменных.

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

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

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

При сложении строк программа не вычисляет сумму чисел, а ставит символы второй строки после символов первой. Поэтому 'лес' + 'ник' даёт 'лесник', а не числовое значение. Результат остаётся строкой, потому что он состоит из символов. Порядок частей имеет значение: перестановка строк обычно даёт другой текст.

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

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

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

Операции над строковыми величинами

ОперацияОбозначениеРезультат и правило
Сложение (конкатенация)+Соединяет строки: символы правой части добавляются после левой.
Равенство= или ==Истина, если строки совпадают; конкретная запись зависит от языка.
Неравенство≠ или !=Истина, если строки различаются; обозначение зависит от языка.
Сравнение по возрастанию<Истина, если левая строка стоит раньше правой по правилам сравнения.
Сравнение по убыванию>Истина, если левая строка стоит позже правой по правилам сравнения.

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

Разбор задач

Задача 1. Определить результат выражения 'инфо' + 'рматика'. Здесь знак + означает соединение строк, поэтому нужно сохранить обе части без перестановок. Для проверки удобно мысленно записать сначала символы слева от знака, затем символы справа. Между частями пробел не добавляется, если он явно не записан.

  1. Первая строка — 'инфо'.
  2. Вторая строка — 'рматика'; её символы приписываем к первой.
  3. Записываем части рядом в исходном порядке: 'информатика'.

Ответ: 'информатика'.

Задача 2. Сравнить строки 'кот' и 'код'. Не нужно оценивать смысл слов или считать их длину: обе строки имеют одинаковое число символов. Сопоставим символы по порядку и остановимся там, где они впервые различаются. Этот символ определит результат сравнения.

  1. Первые символы к и к совпадают.
  2. Вторые символы о и о тоже совпадают.
  3. Третьи символы т и д различаются; по порядку символов т стоит позже д.
  4. Значит, строка 'кот' больше строки 'код'.

Ответ: 'кот' > 'код'.

Задача 3. Сравнить строки 'дом' и 'домик' и объяснить результат. Их общее начало — 'дом', поэтому на этом участке выбрать большую строку нельзя. Когда символы короткой строки заканчиваются, в длинной остаётся продолжение. По правилу сравнения начальной части меньшей считается строка, которая заканчивается раньше.

  1. Сопоставляем первые три символа: д, о, м совпадают.
  2. В строке 'дом' символы закончились, а в 'домик' есть продолжение.
  3. Значит, 'дом' — начало строки 'домик' и является более короткой.

Ответ: 'дом' < 'домик'.

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

Ошибка — считать сложение строк арифметическим. Так происходит из-за знака +, который знаком по вычислениям с числами, но для строк он соединяет символы. Проверьте результат: если операндами были строки, ожидается текст, а не сумма числовых значений.

Ошибка — сравнивать строки по длине или смыслу слов. Длинное слово не обязательно больше короткого, а значение слов вообще не участвует в проверке. Чтобы проверить себя, выпишите символы по порядку и найдите первое различие.

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

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

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

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

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

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

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

Что получится при сложении двух строк?

Получится одна строка, в которой сначала идут символы первой части, а затем второй. Например, 'инфо' + 'рматика' даёт 'информатика'.

Можно ли сложить строку и число?

Это зависит от языка программирования: в одних языках нужно сначала преобразовать число в строку, в других такое выражение запрещено. Сложение строки и числа не следует считать обычным арифметическим сложением.

Как определить, какая из двух строк больше?

Сравнивайте строки слева направо, пока не встретится первая пара разных символов. Порядок этих символов и определяет, какая строка больше.

Что делать, если строки совпадают до конца одной из них?

Если одна строка целиком является началом другой, меньшей считается более короткая. Например, 'дом' меньше, чем 'домик'.

Зависит ли результат сравнения от регистра букв?

Может зависеть: во многих языках прописная и строчная буквы считаются разными символами. Их порядок задаётся правилами языка программирования и кодировки, поэтому регистр нужно учитывать.

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

7.2. Сравнение и сложение строковых величин

Учебник

Оглавление →
Предмет
Информатика
Класс
9 класс
Учебник
"Информатика. Учебное пособие для учреждений общего среднего образования с русским языком обучения", В. М. Котов, А. И. Лапо, Ю.А. Быкадоров, Е.Н. Войтехович