Студопедия

Главная страница Случайная страница

КАТЕГОРИИ:

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Процедуры и функции для обработки стрингов.

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

§ Операция склеивания.

Операция склеивания (конкатенации) (+) применяется для соединения нескольких строк в одну результирующую строку. Сцеплять можно как строковые константы, так и переменные.

Например: 'Мама ' + 'мыла ' + 'раму'. В результате получится строка: 'Мама мыла раму'. Длина результирующей строки не должна превышать 255.

§ Операция сравнения.

Позволяют произвести сравнение двух строк, в результате чего получается логическое значение (true или false). Сравнение строк производится слева направо до первого несовпадающего символа, и та строка считается больше, в которой первый несовпадающий символ имеет больший номер в таблице символьной кодировки. Если строки имеют различную длину, но в общей части символы совпадают, считается, что более короткая строка меньше, чем более длинная. Строки равны, если они полностью совпадают по длине и содержат одни и те же символы. Для сравнения используются знаки отношений: =, <, >, < =, > =, < >.

Пример:

Выражение Результат
‘True1’< ’True2’ True
‘Mother’> ’MOTHER’ True
‘Мама ‘ < > ‘Мама’ True
‘Cat’=’Cat’ True

Процедуры и функции для обработки стрингов.

Строковые функции:

§ Функция Concat(S1, S2, …, SN) выполняет склеивание (конкатенацию) строк S1, S2, …, SN в одну строку. Пример:

Выражение Результат
Concat('Маша ', 'ела ', 'кашу') 'Маша ела кашу'

§ Функция Length(S) — определяет текущую длину строки S. Результат — значение целого типа. Пример:

Значение S Выражение Результат
'test-5' Length(S)  
'(A+B)*C' Length(S)  

§ Функция Copy(S, Pozition, N) выделяет из строки S подстроку длиной N символов, начиная с позиции Pozition. Здесь N и Pozition — целочисленные выражения. Пример:

Значение S Выражение Результат
‘Мама мыла раму’ Copy(S, 6, 4) ‘мыла’
‘Маша ела кашу’ Copy(S, 1, 8) ‘Маша ела’

§ Функция Pos(S1, S2) — обнаруживает первое появление в строке S2 подстроки S1. Результат — целое число, равное номеру позиции, где находится первый символ подстроки S1. Если в S2 подстроки S1 не обнаружено, то результат равен 0. Пример:

Значение S2 Выражение Результат
'abcdef' Pos('cd', S2)  
'abcdcdef' Pos('cd', S2)  
'abcdef' Pos('k', S2)  

Строковые процеруры:

§ Процедура Delete(S, Poz, N) — удаление N символов из строки S, начиная с позиции Poz. В результате выполнения процедуры уменьшается текущая длина строки в переменной S. Пример:

Исходное значение S Оператор Конечное значение S
'abcdefg' Delete(S, 3, 2) 'abefg'
'abcdefg' Delete(S, 2, 6) 'a'

§ Процедура Insert(S1, S2, Poz) — вставка строки S1 в строку S2, начиная с позиции Poz. Пример:

Исходное значение S2 Оператор Конечное значение S2
'ЭВМ РС' Insert('IBM-', S2, 5) 'ЭВМ IBM-PC'
'Рис. 2' Insert('N', S2, 6) 'Рис. N 2'

 

 

§ Процедура Str(X, S) – преобразует числовое значение X в последовательность символов. Пример:

Исходное значение X Оператор Конечное значение S
  Str (1234, S) S=’1234’
4.52e+3 Str (4.52e+3, S) S=’4.52e+3’

§ Процедура Val (S, X, K) – преобразует строку S в его числовое представление. Если строка действительно является записью числа, то значение K=0, а в противном случае – K=номеру первого символа. Пример:

Исходное значение S Оператор Конечное значение X Значение K
‘10890’ Val ('10890’, X, K)    
‘12d4’ Val (‘12d4’, X, K)    

 

4. Пример. Сколько раз в данной строке встречается символ пробел?

Program upr;

var S: string; i, k: integer;

begin

writeln (‘введите строку’); readln (S);

k: =0;

for I: =1 to length (S) do If S[i] = ‘ ‘ then k: = k + 1;

writeln (‘k=’, k);

readln

end.

 

<== предыдущая лекция | следующая лекция ==>
Практическая часть. Пример №1. Определить количество слов в строке, разделенных пробелами. | Христа. Заблужденье. Я не в праве оспаривать его
Поделиться с друзьями:

mylektsii.su - Мои Лекции - 2015-2024 год. (0.008 сек.)Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав Пожаловаться на материал