Операции со строками
Преобразования «строка ↔ число»
Практическая работа № 12 «Посимвольная обработка строк»
Практическая работа № 13 «Обработка строк. Функции»
Практическая работа № 14 «Преобразования "строка ↔ число"»
Оператор + используется для «сложения» (объединения, сцепления) строк, эта операция иногда называется конкатенацией. Например:
s1: = 'Привет'
s2: = 'Вася'
s:=s1 + ',' + s2 + '!'
Здесь и далее считаем, что в программе объявлены строковые (литерные) переменные s, s1 и s2.
Запишите в тетради, какое значение будет иметь переменная s после выполнения этого фрагмента программы. Проверьте ответ с помощью компьютера.
Для обработки строк обычно используют готовые вспомогательные алгоритмы из библиотеки языка программирования — процедуры и функции. Различие между ними состоит в том, что процедура изменяет переданную ей строку, а функция возвращает результат — новое значение, — не изменяя исходную строку.
Для того чтобы выделить часть строки (подстроку), в алгоритмическом языке применяется операция получения среза (англ. slicing). Например, s[3:7] означает «символы строки s с 3-го по 7-й включительно». В Паскале для этого используется функция сору, она принимает три параметра: имя строки, номер начального символа и количество символов. Оба следующих фрагмента копируют в строку s1 символы строки s с 3-го по 7-й (всего 5 символов):
s:=f1234567891 s:='123456789';
s1:=s [3:7] s1:=copy(s,3,5);
Запишите в тетради, какое значение будет иметь переменная si после выполнения этого фрагмента программы. Проверьте ответ с помощью компьютера.
Для удаления части строки нужно вызвать стандартную процедуру, указав имя строки, номер начального символа и число удаляемых символов:
s:='123456789' s: = '123456789 ' ;
удалить (s, 3, 6) delete (s, 3, 6) ;
Запишите в тетради, какое значение будет иметь переменная s после выполнения этого фрагмента программы. Проверьте ответ с помощью компьютера.
При вставке символов процедуре передают вставляемый фрагмент, имя исходной строки и номер символа, с которого начинается вставка:
s:= 11234567891 s:= '123456789';
вставить(1 ABC 1, s, 3) insert(1 ABC 1, s, 3);
Запишите в тетради, какое значение будет иметь переменная s после выполнения этого фрагмента программы. Проверьте ответ с помощью компьютера.
Используя только операции выделения подстроки и «сложения» строк, постройте из строки
s: = *информатика!
как можно больше слов русского языка. Постарайтесь использовать наименьшее возможное число операций. Проверьте ваши решения с помощью программы.
Приведите несколько способов построения строки
'А. Семёнов'
из строки
s: = 'Семёнов Андрей'
Какой из них лучше? Как вы сравнивали эти способы?
Следующая страница Поиск в символьных строках