logo
Лекции по информационным технологиям / Лекции_2_семестр

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

Выражения, в которых операндами служат строковые данные, называются строковыми. Над строковыми данными допустимы операции сцепления и операции отношения.

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

Например:

’Бейсик’ +’Паскаль’+’Си’+’–’+’языки программирования высокого уровня’.

В результате получится строка:

’Бейсик Паскаль Си – языки программирования высокого уровня’.

Длина результирующей строки не должна превышать 255 символов.

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

Например:

Выражение

Результат

’True1’ < ’True2’

True

’Student’ > ’STUDENT’

True

’Студент’ <> ’ Студент’

True

’Группа’ = ’Группа’

True

Все остальные действия над строками и символами реализуются с помощью встроенных процедур и функций.

Функции для работы с данными строкового типа

Обращение к функции

Действие

Пример

Copy(S,Poz,N)

Выделяет из строки Sподстроку длинойNсимволов, начиная с позицииPoz. ЗдесьNиPoz- целочисленные выражения.

S:=’IBM-PC’; S1:=Copy(S,5,2);

Результат: S1=’PC’

Length(S)

Определяет текущую длину строки S. Результат – значение целого типа.

S:=’Test-5’; n:=Length(S);

Результат: n=5

Chr(X)

Возвращает символ, указанный его ASCII-кодом. ЗдесьХ– значение целого типа. Результат – значение типаChar.

for i:=65 to 71 do S:=S+Chr(i);

Результат: S=’ABCDEFG’

Ord(S)

Возвращает ASCII-код указанного символа. ЗдесьS– переменная типаChar. Результат – значение целого типа.

S:='F'; Cod:=Ord(S);

Результат: Cod=70

Pos(S1,S2)

Обнаруживает первое появление в строке S2подстрокиS1. Результат – целое число, равное номеру позиции, где находится первый символ подстрокиS1. Если такое появление не обнаружено, то результат равен 0.

S:=’abcdef’; n:=Pos(’cd’,S);

Результат: n=3

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

Обращение к процедуре

Действие

Пример

Delete(S, Poz, N);

Удаление Nсимволов из строкиS, начиная с позицииPoz.

S:=’abcdef’; Delete(S,3,2);

Результат: S=’abef’

Insert(S1,S2,Poz);

Вставка строки S1в строкуS2, начиная с позицииPoz.

S:=’ЭВМ PC’; Insert(’IBM-’,S,5);

Результат: S=’ЭВМ IBM-PC’

Файлы

Чтобы сохранять входные данные и результаты неограниченно долго и иметь возможность воспользоваться ими в любой момент используют файлы на магнитных носителях информации.

По способу доступа к информации, записанной в файл, различают файлы прямого и последовательного доступа.

Файлом последовательного доступаназывается файл, к элементам которого обеспечивается доступ в такой же последовательности, в какой они записывались. Как правило – это текстовые файлы.

Файлом прямого доступаназывается файл, доступ к элементам которого осуществляется по адресу элемента. Как правило – это файлы баз данных.

Delphiподдерживает следующие типы файлов: текстовые, типизированные и нетипизированные.