Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
АиП теория 1-22.rtf
Скачиваний:
3
Добавлен:
01.03.2025
Размер:
2 Мб
Скачать
☆

Процедуры и функции при работе со строками.

При работе со строками, как правило, возникает необходимость выполнять их копирование, вставку, удаление или поиск. Для эффективной реализации этих действий в Паскале предусмотрены стандартные процедуры и функции. Они кратко описаны ниже.

Функция Concat (s1, s2, ..., sn) возвращает строку, являющуюся слиянием строк s1, s2, ..., sn.

Функция Copy (s, start, len) возвращает подстроку длиной len, начинающуюся с позиции start строки s.

Процедура Delete (s, start, len) удаляет из строки s, начиная с позиции start, подстроку длиной len.

Процедура Insert (subs, s, start) вставляет в строку s подстроку subs, начиная с позиции start.

Функция Length (s) возвращает фактическую длину строки s, результат имеет тип byte.

Функция Pos (subs, s) ищет вхождение подстроки subs в строку s и возвращает номер первого символа subs в s или нуль, если subs не содержится в s.

Процедуры преобразования типов

Процедура Str (x, s) преобразует числовое значение x в строку s, при этом для x может быть задан формат, как в процедурах вывода writeи writeln. Например:

x := 123;

s := str(x:6,s);

Результат: s = ' 123'.

Процедура Val (s, x, errcode) преобразует строку s в значение числовой переменной x, при этом строка s должна содержать символьное представление числа. В случае успешного преобразования переменная errcode равна нулю. Если же обнаружена ошибка, то errcode будет содержать номер позиции первого ошибочного символа, а значение x не определено.

Стандартные процедуры для работы со строками (Delete, Insert, Str, Val)

Процедура Insert

Процедура Insert вставляет в исходную строку, начиная с указанной позиции, какую-либо другую строку. Оператор Insert(Word1, Word2, 5) указывает, что строку Word1 необходимо вставить в строку Word2, начиная с 5-ой позиции.

Процедура Delete

Процедура Delete удаляет из исходной строки фрагмент определенной длины, начиная с указанной позиции. Так, оператор Delete(Word1, 2, 3) удаляет из указанной строки фрагмент длиной в три символа, начиная со второго.

Процедура Str

Общий вид Str(Chislo, Stroka)

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

Program DemoProcedureStr; Var   Word : string;   Chislo : integer; Begin   Chislo := 1560;   Str(Chislo:8, Word);   writeln(Word); {выводится строка '    1560'} End.

Процедура Val

Общий вид Val(Stroka, Chislo, Code)

Процедура Val преобразует значение строки Stroka в величину целочисленного или вещественного типа и помещает результат в Chislo. Значение строковой переменной Stroka не должно содержать пробелов в начале и в конце. Code – целочисленная переменная. Если во время операции преобразования ошибки не обнаружено, значение Code равно нулю, если же ошибка обнаружена, Code будет содержать номер позиции первого ошибочного символа, а значение Chislo будет не определено.

Program DemoProcedureVal; Var   Word : string;   Chislo, Code : integer; Begin   writeln('Введите строку цифр ');    readln(Word);   Val(Word, Chislo, Code); {преобразование строки в число}   if Code <> 0     then       writeln('Ошибка! В позиции ',Code,' не цифра!');  End.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]