Файл: Язык программирования Turbo Pascal. Строковый тип данных.doc

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 04.12.2023

Просмотров: 59

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Язык программирования TurboPascal. Строковый тип данных. Строкой в Паскале называется последовательность из определенного количества символов. Количество символов последовательности называется длиной строки.Синтаксис: var s: string[n]; var s: string; n - максимально возможная длина строки - целое число в диапазоне 1..255. Если этот параметр опущен, то по умолчанию он принимается равным 255. Строковые константы записываются как последовательности символов, ограниченные апострофами. Допускается формирование строк с использованием записи символов по десятичному коду (в виде комбинации # и кода символа) и управляющих символов (комбинации ^ и некоторых заглавных латинских букв). Пример: 'Текстовая строка' #54#32#61 'abcde'^A^MПустой символ обозначается двумя подряд стоящими апострофами. Если апостроф входит в строку как литера, то при записи он удваивается. Переменные, описанные как строковые с разными максимальными длинами, можно присваивать друг другу, хотя при попытке присвоить короткой переменной длинную лишние символы будут отброшены. Выражения типа char можно присваивать любым строковым переменным. Процедуры и функции для работы со строкамиВ системе Turbo Pascal имеется несколько полезных стандартных процедур и функций, ориентированных на работу со строками.Функции

  1. Функция Copy(s:string; index:integer; count:integer):string
Функция возвращает подстроку, выделенную из исходной строки s, длиной count символов, начиная с символа под номером index. Пример:s := 'Система Turbo Pascal';s2 := copy(s, 1, 7); {s2 будет равно 'Система'}s3 := copy(s, 9, 5); {s3 будет равно 'Turbo'}s4 := copy(s, 15, 6); {s4 будет равно 'Pascal'}

  1. Функция Concat(s1,[s2,...,sn]:string):string (обьединение, слияние)
Функция выполняет слияние строк-параметров, которых может быть произвольное количество. Каждый параметр является выражением строкового типа. Если длина строки-результата превышает 255 символов, то она усекается до 255 символов. Данная функция эквивалентна операции конкатенации "+" и работает немного менее эффективно, чем эта операция.

  1. Функция Length(s:string):integer (длина, расстояние)
Функция возвращает в качестве результата значение текущей длины строки-параметра Пример: n := length('Pascal'); {n будет равно 6}

  1. Функция Pos(substr,s:string):byte
Функция производит поиск в строке s подстроки substr. Результатом функции является номер первой позиции подстроки в исходной строке. Если подстрока не найдена, то функция возвращает 0. Пример.s := 'Система Turbo Pascal';x1 := pos('Pascal', s); {x1 будет равно 15}x2 := pos('Basic', s); {x2 будет равно 0}Процедура__Delete(var_s:string;_index,count:integer)'>Процедуры

  1. Процедура Delete(var s:string; index,count:integer)
Процедура удаляет из строки-параметра s подстроку длиной count символов, начиная с символа под номером index. Пример:s := 'Система Turbo Pascal';delete(s,8,6); {s будет равно 'Система Pascal'}

  1. Процедура Insert(source:string; var s:string;index:integer)
Процедура предназначена для вставки строки source в строку s, начиная с символа index этой строки. Пример:s := 'Система Pascal';insert('Turbo ',s,9); {s будет равно 'Система Turbo Pascal'}

  1. Процедура Str(X: арифметическое выражение; var st: string)
Процедура преобразует численное выражение X в его строковое представление и помещает результат в st.  

  1. Val(st: string; x: числовая переменная; var code: integer)
Процедура преобразует строковую запись числа, содержащуюся в st, в числовое представление, помещая результат в x. x - может быть как целой, так и действительной переменной. Если в st встречается недопустимый (с точки зрения правил записи чисел) символ, то преобразование не происходит, а в code записывается позиция первого недопустимого символа. Выполнение программы при этом не прерывается, диагностика не выдается. Если после выполнения процедуры code равно 0, то это свидетельствует об успешно произошедшем преобразовании. В дополнение приведем некоторые функции, связанные с типом char, но которые тем не менее часто используются при работе со строками.  Chr(n: byte): charФункция возвращает символ по коду, равному значению выражения n. Если n можно представить как числовую константу

, то можно также пользоваться записью #n.
 

Ord(ch: char): byte;

В данном случае функция возвращает код символа ch.
 

UpCase(c: char): char;

Если c - строчная латинская буква, то функция возвращает соответствующую прописную латинскую букву, в противном случае символ c возвращается без изменения.

Определим длину строки:

Var stroka: string[10]; strLength: Byte;

begin

stroka := 'sbp';

Writeln(stroka);

strLength := Length(stroka);

Writeln(strLength);

ReadLn();

end.
Если строке присвоить значение, длина которого больше допустимой, то лишние символы будут удалены. Пример:

Var stroka: string[2];

begin

stroka := 'sbp';

Writeln(stroka);

ReadLn();

end.
Присоединить одну строку к другой в Паскале знаком «+».

Var stroka, tire, prog: string;

begin

stroka := 'sbp';

tire := '-';

prog := 'program';

stroka := stroka + tire + prog;

Writeln(stroka);

ReadLn();

end.
Соединение строк в Паскале с помощью встроенной функции Concat:

Var stroka, tire, prog: string;

begin

stroka := 'sbp';

tire := '-';

prog := 'program';

stroka := Concat(stroka, tire, prog);

Writeln(stroka);

ReadLn();

end.
Вставка строки в другую строку с помощью стандартной функции Insert.

Var stroka, prog: string;

begin

stroka := 'sbp-gram';

prog := 'pro';

Insert(prog, stroka, 5);

Writeln(stroka);

ReadLn();

end.
Скопировать часть строки с помощью функции Copy.

Var stroka, pro: string;

begin

stroka := 'sbp-program';

pro := Copy(stroka, 5, 3);

Writeln(pro);

ReadLn();

end.
Найти подстроку в строке с помощью функции Pos.

Var stroka, gram: string; number: integer;

begin

stroka := 'program';

gram := 'gram';

number := Pos(gram, stroka);

Writeln(number);

ReadLn();

end.
Удалить подстроку из строки с помощью стандартной функции Delete.

Var stroka: string;

begin

stroka := 'program';

Delete(stroka, 1, 3);

Writeln(stroka);

ReadLn();

end.