- •Лабораторная работа № 7 строки
- •1.Цель работы
- •2. Теоретическая часть
- •2.1 Основные понятия и определения
- •2.2 Операции со строками
- •Процедуры для обработки строк
- •Функции для обработки строк
- •Примеры решения задач обработки строковых данных
- •3.1 Перестановка символов.
- •3.2 Обработка списка строк.
- •3.3 Нахождение наиболее короткого слова списка.
- •Задание для самостоятельного выполнения
- •5.Контрольные вопросы
- •Приложение а. Таблица обмена информацией (фрагмент) ascii code
- •Приложение б Варианты заданий по теме «Обработка строки символов»
- •Приложение в Варианты заданий по теме «Обработка списка строк»
- •Приложение г Варианты заданий по теме «Строковые переменные»
-
Процедуры для обработки строк
Рассмотрим ряд процедур, используемых для обработки строк.
DELETE (ST, POZ, N) – удаление N символов строки ST, начиная с позиции POZ. Например, для значения ST ’ АБВГДЕ’ выражение DELETE (ST, 4,2) дает результат ‘АБВГ’.
INSERT (ST1, ST2, POZ) – вставка строки ST1 в строку ST2 начиная с позиции POZ. Например,
VAR ST1, ST2, ST3: STRING;
BEGIN
ST2:= ‘Компьютер 2.0 GHz’;
ST1:= ‘Celeron’;
ST3:= INSERT (ST1, ST2, 11);
В результате получается строка ST3, равная ‘Компьютер Celeron 2.0 GHz’
STR (IBR, ST) – преобразование числового типа (integer, byte, real) значения величины IBR и помещение результата в строку ST. После имени переменной IBR может быть указан формат вывода. Например, при значении переменной IBR, равном 2680, выражение STR (IBR:7, ST) дает результат ‘ 2680’.
VAL (ST, IBR, COD) - преобразование значения ST в величину типа integer, byte, real и помещение результата в IBR. Значение ST не должно содержать незначащих пробелов в начале и конце. COD - целочисленная переменная. Если при выполнении операции преобразования ошибки не обнаружено, рации преобразования ошибки не обнаружено, COD = 0. Если обнаружена ошибка, то COD будет содержать номер позиции первого ошибочного символа в ST, значение IBR будет неопределенно. Например, при ST равном ‘1526’ выражение VAL (ST,IBR,COD) дает результат 1526, COD=0.
-
Функции для обработки строк
Рассмотрим ряд функций, используемых для обработки строк.
LENGTH (ST) - вычисляет длину в символах строки ST. Результат – целочисленного типа. Например, при ST, равном ‘длина строки’, выражение LENGTH (ST) дает результат 12.
COPY (ST, POZ, N) – выделяет из строки ST подстроку длиной N символов, начиная с позиции POZ. POZ, N – целочисленные выражения. Если POZ > LENGTH (ST), то результатом будет пробел. Если POZ > 255, возникнет ошибка при выполнении. Например, при значении ST= ‘ABCDEFG’, выражение COPY (ST,2,3) дает результат ‘BCD’.
CONCAT (STR1, STR2,…, STRN) – выполняет конкатенацию (сцепление) строк STR1,STR2,…,STRN в том порядке, в каком они указаны в списке параметров. Сумма символов всех сцепляемых строк должна быть не более 255. Например, выражение CONCAT (‘AA’, ’BB’, ’CC’) дает результат ‘AABBCC’.
POS (ST1, ST2) – обнаруживает первое появление в строке ST2 подстроки ST1. Результат целочисленного типа и
равен номеру той позиции, в которой находится первый символ подстроки ST1. Если в ST2 не найдено ST1, то результат равен 0. Например, для значения ST2 ‘ABCDEFGH’ выражение POS (‘DE’,ST2) дает результат, равный 4.
UPCASE (CH) - преобразует строчную букву в прописную. Параметр и результат имеют тип CHAR. Обрабатывает только буквы латинского алфавита. Например, для значения CH = ‘f’, выражение UPCASE (CH) дает результат ‘F’.
-
Примеры решения задач обработки строковых данных
3.1 Перестановка символов.
Поменять местами первый и второй символ в заданном слове произвольной длины.
Возможное решение:
PROGRAM Str;
var t: string; c: char;
begin
writeln('Введите слово');
readln(t); {ввод слова}
c:=t[1]; {перестановка первого и второго символа}
t[1]:=t[2];
t[2]:=c;
writeln('Ответ: ',t) {печать строки, полученной в результате перестановки }
end.