Обработка символьных строк
💻 Информатика · 9 класс
Символьные строки
Строка — это последовательность символов: букв, цифр, пробелов и знаков препинания. Строковый тип данных позволяет хранить и обрабатывать текст: слова, имена, целые предложения. Без строк было бы невозможно работать с любой текстовой информацией — от имени пользователя до содержимого документа.
Длина и символы
У каждой строки есть длина — количество символов в ней. К отдельному символу обращаются по его номеру (индексу). В разных языках программирования нумерация символов начинается с нуля или с единицы — это важно учитывать, чтобы не выйти за границы строки.
s := "информатика"
длина(s) = 11
s[1] = "и"
| Операция | Что делает | Пример |
|---|---|---|
| длина | возвращает число символов | длина «дом» = 3 |
| обращение по индексу | возвращает один символ | «дом»[1] = «д» |
| сцепление | склеивает две строки | «ал» + «фа» = «алфа» |
Перебор строки в цикле
Чтобы что-то посчитать или найти в строке, её перебирают символ за символом в цикле со счётчиком — от первого индекса до длины строки. На каждом шаге работают с одним символом. Например, подсчёт количества букв «а» в строке:
k := 0
для i от 1 до длина(s) повторять:
если s[i] = "а" то k := k + 1
вывод k
Здесь переменная-счётчик увеличивается каждый раз, когда очередной символ совпадает с искомым. По окончании цикла она хранит итоговое количество.
Типичные задачи
- подсчёт символов определённого вида (гласных, цифр, пробелов);
- подсчёт слов в предложении по числу пробелов;
- поиск заданного символа или подстроки;
- «переворот» строки — запись её символов в обратном порядке;
- замена одних символов на другие.
Во всех этих задачах основой служит перебор строки в цикле: меняется только условие внутри тела и то, что именно мы делаем с каждым символом.
Коды символов
В памяти компьютера каждый символ хранится в виде числа — его кода. Для каждого символа в таблице кодировки закреплён свой номер, и именно по этим номерам компьютер отличает буквы друг от друга. Благодаря кодам символы можно сравнивать: например, буквы алфавита идут по возрастанию кодов, поэтому проверку «символ является заглавной латинской буквой» можно записать как сравнение его кода с границами нужного диапазона. Зная код символа, легко перейти к соседнему: прибавив единицу к коду буквы, получают код следующей буквы. На этом приёме строят шифры простой замены, когда каждую букву сдвигают на несколько позиций. Понимание того, что строка — это последовательность чисел-кодов, помогает решать более сложные задачи обработки текста.
Частые ошибки. Путают, с какого индекса начинается нумерация символов; выходят за границы строки в цикле; сравнивают один символ со строкой из нескольких знаков; забывают, что пробел — это тоже символ и он входит в длину строки.
Кратко о главном
- Строка — последовательность символов, у неё есть длина.
- К символу обращаются по индексу.
- Строки перебирают в цикле для подсчёта, поиска и замены.
- Пробел — полноценный символ строки.
- Нумерация символов может начинаться с нуля или единицы.