В Турбо Паскале предусмотрен тип данных STRING. Переменная типа STRING может принимать значения переменной длины. Максимально возможная длина переменной 255 символов. Например:
str: STRING[200];
ow: STRING[10];
В скобках указывается максимальная длина для данной переменной. Для ввода значений типа STRING необходимо использовать READLN, а не READ. За один раз может быть введена только одна строка. Две строки можно сравнивать, используя операции отношения (сначала сравниваются самые левые символы, если они равны, то сравниваются следующие). Для работы с переменными типа STRING используют следующие стандартные процедуры и функции:
1) Функция LENGTH
C:=LENGTH(str); Переменной С будет присвоено целое значение, показывающее количествo символов в строковой переменной str .
2) Функция СОNCAТ - сцепление строк в порядке их перечисления.
str:=CONCAT(st1,st2,...,stN);str-переменная типа STRING, состоящая из строк st1,...,stN.
3) Функция POS
P:=POS (st1, st2); Р-целое число, показывающее номер позиции, с которой начинается строка st1 в строкe st2.
4) Функция COPY
S1:=COPY( str, I, J); Sl-символьная подстрока, выделенная из строки str с позиции I, длиной J символов.
5) Процедура DELETE(Str, I, J);
Из строки str удаляется J символов, начиная с I позиции.
6) Процедура INSERT(Str1, Str2, I);
Строка Str1 вставляется с I позиции в строку Str2.
7) Процедура STR (V, S1);
Числовое значение переменной V преобразуется в строку символов и записывается в строку S1.
8) Процедура VAL (S1, V, C);
Строковое выражение S1 преобразуется в величину целочисленного или вещественного типа и записывается в переменной V . Если при этом ошибок не обнаруживается, то С будет равно 0 . В противном случае значение С будет равно номеру позиции первого ошибочного символа и V будет неопределено. Строка S1 не должна содержать незначащих пробелов, переменная V может быть целой или вещественной, а переменная С - только целой .
Пример: Подсчитать количество слов во введенной с клавиатуры строке.
program lr2;
var
s: string[30];
kol, i, n: integer;
begin
writeln ('введите строку'); readln (s);
kol:=0;