Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ответы на устные вопросы.doc
Скачиваний:
3
Добавлен:
22.09.2019
Размер:
860.16 Кб
Скачать

Вопрос 21. Символьные величины. Операции над символьными величинами.

Тип-строка (стандартный тип string) - последовательность символов произвольной длины (до 255 символов). Строку можно рассматривать как массив символов.

Различают два способа объявление строкового типа в программе:

Первый способ:

Туре <имя типа> = string [<длина строки>];

Var <имя переменной> : <имя типа>;

Второй способ:

Var <имя переменной> : string [<длина строки>];

Значением строки может быть любая последовательность символов, заключенная в апострофы, например: 'Турбо Паскаль 7.0'.

Для того чтобы поместить в стринговую переменную какое-либо значение, можно применить любой из доступных в Турбо Паскале методов. Например, присвоить переменной некоторое значение с помощью оператора присваивания или с помощью оператора ввода данных:

Read (s2).

При этом возможны следующие ситуации:

1) если длина вводимой строки меньше или равна длине строковой переменной, то длина строковой переменной становится равной длине текущей строки и значения их совпадают;

2) если длина вводимой строки больше длины строковой переменной (n- символов), то значением строковой переменной являются первые n символов вводимой строки.

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

Операция конкатенации применяется для склеивания строк.

Сравнение двух строк осуществляется слева направо в соответствии с ASCII-кодами соответствующих символов.

Замечание. Строковый и символьный типы совместимы, т.е. одновременно могут присутствовать в выражениях строкового типа.

Вопрос 22. Процедуры для работы с символьными величинами.

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

1. Функция Concat. Формат обращения к функции в программе:

S:=Concat(Sl, S2,..., Sn).

2. Функция Length. Параметром этой функции является строка S. Результатом ее работы является целое число L - длина строки S. Формат обращения к функции в программе:

L := Length(S).

3. Функция Сору. Параметрами этой функции являются: строка ST; данные целого типа N и М. Результатом ее работы является подстрока S длины М, выделенная из строки ST, начиная с позиции N, при этом значение исходной строки ST не изменяется.

Формат обращения к функции в программе:

S:=Copy(ST,N, M).

4. Функция Pos. Параметрами функции являются стринги SUBST, ST, где SUBST -подстрока, которую нужно найти, a ST - строка, в которой ищем подстроку SUBST. Результатом ее работы является номер позиции К первого вхождения подстроки SUBST в строку ST или 0, если подстрока не найдена.

Формат обращения к функции в программе:

К := Pos(SUBST, ST).

5. Процедура Delete. Параметрами процедуры являются: строка ST (параметр-переменная) данные целого типа М и N (параметры-значения). Процедура удаляет М символов из строки ST, начиная с позиции N.

Формат вызова процедуры в программе:

Delete( ST, N, M );

6. Процедура Insert. Параметрами процедуры являются: подстрока SUBST (параметр значение), которую нужно вставить; строка ST (параметр-переменная), в которую вставляется подстрока SUBST; данное N целого типа, определяющее номер позиции вставки.

Процедура вставляет подстроку SUBST в строку ST, начинал с позиции N. Результатом работы процедуры является видоизмененная строка ST. Формат вызова процедуры в программе:

Insert( SUBST, ST, N );

7. Процедура Str. Результатом работы процедуры является строка ST, в которую записывается символьное представление параметра X, где х число целого или) вещественного типа.

Формат вызова процедуры в программе:

Str(X [:M [:N]]; St);

8. Процедура Val. Процедура Val преобразует строковое значение ST в его численное представление X. Если преобразование строки в число выполнено успешно, то результатом работы процедуры является число X, в которое преобразуется строка ST, параметр Р примет значение 0. В противном случае переменная X принимает значение С, а переменная Р имеет своим значением номер позиции в строке ST, где обнаружен ошибочный символ. Формат вызова процедуры в программе:

Val(ST,X,P);