Символьные строки. Функции для работы с символьными строками | Сравнение и сортировка строк (курс pol 68 ч.) /informatika_10_68_pol/ (68 часов в уч. год)

Планирование уроков на учебный год (по учебнику К.Ю. Полякова, Е.А. Еремина, сокращенный курс, 2 часа в неделю)


Уроки 52 - 54
Символьные строки. Функции для работы с символьными строками
§66. Символьные строки



Содержание урока

Что такое символьная строка?

Операции со строками

Поиск в строках

Пример обработки строк

Преобразования число ↔ строка

Строки в процедурах и функциях

Рекурсивный перебор

Сравнение и сортировка строк

Вопросы и задания

Задачи


Сравнение и сортировка строк


Строки, как и числа, можно сравнивать. Для строк, состоящих из одних букв (русских или латинских), результат сравнения очевиден: меньше будет та строка, которая идет раньше в алфавитном порядке. Например, слово «паровоз» будет «меньше», чем слово «пароход»: они отличаются в пятой букве: 'в' < 'х'. Более короткое слово, которое совпадает с началом более длинного, тоже будет стоять раньше в алфавитном списке, поэтому 'пар' < 'парк'.

Но откуда компьютер «знает», что такое алфавитный порядок? И как сравнивать слова, в которых есть строчные и заглавные буквы, а также цифры и другие символы? Что больше, 'ПАР', 'Пар' или 'пар'? Оказывается, при сравнении строк используются коды символов. Тогда получается, что:

'ПАР' < 'Пар' < 'пар'.


Возьмём пару 'ПАР' и 'Пар'. Первый символ в обоих словах одинаков, а второй отличается — в первом слове буква заглавная, а во втором — такая же, но строчная. Во всех современных таблицах символов (включая UNICODE) заглавные буквы стоят раньше строчных и поэтому имеют меньшие коды. Поэтому 'А' < 'а', 'П' < 'а' и 'ПАР' < 'Пар' < 'пар'.

А как же с другими символами (цифрами, латинскими буквами)? Цифры стоят в кодовой таблице по порядку, причём раньше, чем латинские буквы; латинские буквы — раньше, чем русские; заглавные буквы (русские и латинские) — раньше, чем соответствующие строчные. Поэтому: '5STEAM' < 'STEAM' < 'Steam' < 'steam' < 'ПАР' < 'Пар' < 'пар'.

Сравнение строк используется, например, при сортировке. Рассмотрим такую задачу: надо ввести с клавиатуры 10 фамилий и вывести их на экран в алфавитном порядке.

Для сортировки удобно выделить массив строк, который в школьном алгоритмическом языке объявляется как литтаб, а в Паскале — array of string. Ввод и вывод выполняются с помощью стандартных циклов, а сортировка — любым известным способом, например методом пузырька:



Следующая страница Вопросы и задания



Cкачать материалы урока







Наверх