Студопедия

Главная страница Случайная лекция


Мы поможем в написании ваших работ!

Порталы:

БиологияВойнаГеографияИнформатикаИскусствоИсторияКультураЛингвистикаМатематикаМедицинаОхрана трудаПолитикаПравоПсихологияРелигияТехникаФизикаФилософияЭкономика



Мы поможем в написании ваших работ!




Процедуры и функции для работы со String-строками

Читайте также:
  1. I. РЕКОМЕНДАЦИИ ПО ОРГАНИЗАЦИИ САМОСТОЯТЕЛЬНОЙ РАБОТЫ
  2. II ОСОБЕННОСТИ РАБОТЫ В ВЫГОРОДКАХ.
  3. II. РЕКОМАНДАЦИИ ПО ВЫПОЛНЕНИЮ КОНТРОЛЬНОЙ РАБОТЫ
  4. III ОСОБЕННОСТИ РАБОТЫ НА СЦЕНЕ.
  5. III. Корпоративные постулаты и принципы работы сотрудников
  6. III. Предмет, метод и функции философии.
  7. IV. По функции различают мышцы: сгибатели и разгибатели, отводящие и приводящие и вращатели.
  8. Автоматизация работы с помощью макросов
  9. Алгоритм работы.
  10. Анализ ритмичности работы предприятия.

Var

Описание Turbo-строки

Данному способу реализации строк соответствует стандартный тип String. Требуемая общая длина строки указывается в квадратных скобках. Примеры:

S1:string; {общая длина = 255}

S2:string[20]; {общая длина = 20}

Данные процедуры и функции входят в состав модуля System, который автоматически подключается к любой программе. Поэтому в строке USES программы, работающей со строками, не нужно подключать дополнительные модули. Для символов, составляющих строки, применимы функции Ord(x), Pred(x), Succ(x), Chr(x), Upcase(x). Кроме этого, есть специальные процедуры и функции (всего 8):

1.function CONCAT(S1,[S2,…,SN]:String):String;

Выполняет конкатенацию (сцепление) последовательности строк, указанных в качестве параметров функции. Результат – полученная строка, причем, если ее длина оказалась больше 255 символов, остаются первые 255. При вызове функции в качестве параметров можно задавать переменные, константы, выражения типа String. Пример:

S1:=’светит’; S3:=’солнце’;

S4:=concat(S1,’яркое’,S3);

В результате S3=’светитяркоесолнце’;

Такой же результат можно получить, используя операцию конкатенации, обозначаемую символом «+»:

S3:=S1+’яркое’+S3;

2. function COPY(S:String; Ind:Integer; Count:Integer):String;

Возвращает строку, число символов которой соответствует параметру Count и которая начинается с символа строки S, индекс которого равен Ind. При вызове функции в качестве параметров можно задавать переменные, константы или выражения: на первом месте – типа String, на втором и третьем - типа Integer. Пример:

Пусть строка S содержит:

С Е Г О Д Н Я   Х О Р О Ш А Я   П О Г О Д А

Тогда после выполнения оператора

S1:=copy(S,9,5);

строка S1 будет содержать текст ‘ХОРОШ’.

3. function LENGTH(S:String):Integer;

Функция возвращает текущую длину строки. В качестве параметра может быть переменная. Константа или выражение типа String. Пример:

Пусть строка S содержит:

С Е Г О Д Н Я   Д О Ж Д Ь

Также объявлена переменная D типа Integer. Тогда после выполнения оператора

D:=LENGTH(S);

D будет содержать значение 13.

4. function POS(S,S1:String):Byte;

Функция возвращает позицию первого вхождения строки S в строку S1. Если строка S в строке S1 не найдена, то функция возвращает 0. Примеры:

Пусть строка S содержит:

A B C D E F   C D E A B F

Также объявлена переменная D типа Integer. Тогда после выполнения оператора

D:=POS(‘CDE’,S);

D будет содержать значение 3.

А после выполнения оператора

D:=POS(‘CDE_’,S);

D будет содержать значение 0.

5. procedure DELETE(var S:String; Ind:Integer; Count:Integer);

Процедура удаляет из строки S число символов, соответствующее параметру Count, начиная с символа, номер которого задан параметром Ind. При вызове процедуры в качестве параметров можно задавать: на первом месте – только переменная, на втором и третьем – переменная, константа, выражение типа Integer. Пример:

Пусть строка S содержит:

С Е Г О Д Н Я   Х О Р О Ш А Я   П О Г О Д А

Тогда после выполнения оператора

DELETE(S,9,8);

Строка S будет содержать

С Е Г О Д Н Я   П О Г О Д А

6. procedure INSERT(S:String; var S1:String; Ind:Integer);

Процедура вставляет строку S в строку S1, начиная с позиции Ind. При вызове процедуры в качестве параметров можно задавать: на первом месте - переменная, константа, выражение типа String, на втором месте – только переменная, на третьем месте –переменная, константа или выражение типа Integer. Пример:

Пусть строка S содержит:

С Е Г О Д Н Я   Д О Ж Д Ь

Тогда после выполнения оператора

INSERT(‘сильный’,S,9);

Строка S будет содержать

С Е Г О Д Н Я   С И Л Ь Н Ы Й Д О Ж Д Ь

7. procedure STR(X[:Size[:Dec]];var S:String);

Преобразует численное значение в его строковое представление. Параметр Х – это выражение целого или вещественного типа. Параметры Size и Dec – выражения целого типа, задают параметры форматирования: Size – общий размер для записи числа, Dec – количество знаков после запятой (эти параметры имеют тот же смысл, что и при форматированном выводе на экран). В качестве второго параметра можно использовать только переменную типа String. Пример:

Пусть D:=23.578;

Тогда после выполнения оператора

STR(D:6:2,S);

Переменная S = ‘_23.58’, т.е. всего в строке будет 6 символов, т.к. форматированием задается общий размер записи числа равный 6. Из этих 6 символов последние 5 заняты числом, а первый равен пробелу.

8. procedure VAL(S:String; var V; var Cod:Integer);

Преобразует строку S в ее численное представление и сохраняет его в переменной V. Если где-то в строке встречается недопустимый символ, то его позиция сохраняется в переменной Cod. Если недопустимых символов нет, то Cod=0. Первый параметр – строковая переменная, выражение или константа. Второй параметр V – переменная целого или вещественного типа. Третий параметр – переменная типа Integer. Примеры:

А) Пусть S:=’-34.28’, а также имеются переменные D типа real и Cod типа Integer. Тогда после выполнения оператора

VAL(S,D,Cod);

Переменная D = -3.4280000e+01, Cod=0, т.к. в исходной строке нет недопустимых символов.

Б) Пусть S:=’_34.28’ и те же переменные D и Cod. Тогда после выполнения оператора

VAL(S,D,Cod);

Переменная D = 0, Cod=1, т.к. в исходной строке на первой позиции находится пробел – недопустимый для числа символ.

В) Пусть S:=’34abc28’ и те же переменные D и Cod. Тогда после выполнения оператора

VAL(S,D,Cod);

Переменная D = 0, Cod=3, т.к. в исходной строке на позиции №3 находится символ «a» – недопустимый для числа символ.


<== предыдущая страница | следующая страница ==>
Turbo-строки | Алгоритмы проверки свойств последовательности

Дата добавления: 2014-03-11; просмотров: 381; Нарушение авторских прав




Мы поможем в написании ваших работ!
lektsiopedia.org - Лекциопедия - 2013 год. | Страница сгенерирована за: 0.003 сек.