P
pro·school.ru
Каталог школ

Обработка символьных строк

💻 Информатика · 9 класс

Символьные строки

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

Длина и символы

У каждой строки есть длина — количество символов в ней. К отдельному символу обращаются по его номеру (индексу). В разных языках программирования нумерация символов начинается с нуля или с единицы — это важно учитывать, чтобы не выйти за границы строки.

s := "информатика" длина(s) = 11 s[1] = "и"

ОперацияЧто делаетПример
длинавозвращает число символовдлина «дом» = 3
обращение по индексувозвращает один символ«дом»[1] = «д»
сцеплениесклеивает две строки«ал» + «фа» = «алфа»

Перебор строки в цикле

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

k := 0 для i от 1 до длина(s) повторять: если s[i] = "а" то k := k + 1 вывод k

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

Типичные задачи

  • подсчёт символов определённого вида (гласных, цифр, пробелов);
  • подсчёт слов в предложении по числу пробелов;
  • поиск заданного символа или подстроки;
  • «переворот» строки — запись её символов в обратном порядке;
  • замена одних символов на другие.

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

Коды символов

В памяти компьютера каждый символ хранится в виде числа — его кода. Для каждого символа в таблице кодировки закреплён свой номер, и именно по этим номерам компьютер отличает буквы друг от друга. Благодаря кодам символы можно сравнивать: например, буквы алфавита идут по возрастанию кодов, поэтому проверку «символ является заглавной латинской буквой» можно записать как сравнение его кода с границами нужного диапазона. Зная код символа, легко перейти к соседнему: прибавив единицу к коду буквы, получают код следующей буквы. На этом приёме строят шифры простой замены, когда каждую букву сдвигают на несколько позиций. Понимание того, что строка — это последовательность чисел-кодов, помогает решать более сложные задачи обработки текста.

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

Кратко о главном

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