Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по ОАП.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
1.1 Mб
Скачать

9.4.3. Пустой стринг

Стринг, длина которого равна 0, называется пустым. Пустой стринг изображается в виде двух апострофов, записанных рядом, без пробела: ''.

Например:

. . .

If st = '' then

writeln('стринг st пуст');

. . .

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

9.4.4. Функции преобразования

Для строковых типов данных определены следующие функции преобразования:

STR(x[:width[:decimals]];var s:string) - эта функция преобразует численное значение x в его строковое представление s.

VAL(s:string; var x,code:integer) - эта функция преобразует строковое значение s в его численное представление x.

9.4.5. Стандартные процедуры и функции

INSERT(source: string; var s: string; index: integer) - эта процедура предназначена для вставки строки SOURCE в строку S, начиная с символа с номером INDEX в этой строке.

DELETE(var s: string; index, count: integer) - эта процедура производит удаление из строки-параметра S подстроки длиной COUNT, начиная с символа с номером INDEX.

CONCAT(s1, [s2,...]: string): string - эта функция выполняет слияние строк-параметров, которых может быть произвольное количество. Каждый параметр является выражением строкового типа. Если длина результирующей строки превышает 255 символов, то она усекается до этой длины.

COPY(s: string; index: integer; count: integer): string - эта функция возвращает подстроку, выделенную из исходной строки S, длиной COUNT символов, начиная с символа под номером INDEX.

POS(substr, s: string): byte - эта функция производит поиск в строке S подстроки SUBSTR. Результатом функции является номер позиции подстроки в исходной строке.

LENGTH(s: string): integer - эта функция возвращает текущую длину строки S.

MOVE(var x, y; count: word) - эта функция копирует заданное количество COUNT последовательных байт из источника X в приемник Y.

FILLCHAR(var x; count: word; value) - эта функция заполняет заданное количество COUNT последовательных байт переменной X указанным значением VALUE.

UPCASE(CH) - эта функция возвращает для символьного выражения CH соответствующую заглавную букву; если значением CH является любой другой символ (в т.ч. строчная буква русского алфавита), функция возвращает его без преобразования.

Тема № 10: Работа с файлами

Файл - это именованная область внешней памяти компьютера (жесткого диска, гибкой дискеты, электронного «виртуального» диска), содержащая логически связанную совокупность данных.

Любой файл имеет три характерные особенности. Во-первых, у него есть имя, что дает возможность программе работать одновременно с несколькими файлами. Во-вторых, он содержит компоненты одного типа. Типом компонентов может быть любой тип Турбо - Паскаля, кроме файлов. В-третьих, длина вновь создаваемого файла никак не оговаривается при его объявлении и ограничивается только емкостью устройств внешней памяти.

В зависимости от способа объявления можно выделить три типа файлов: типизированные файлы (задаются предложением FILE OF...), текстовые файлы (определяются типом NEXT), нетипизированные файлы (определяются типом FILE), которые в программе (в разделе VAR) объявляются следующим образом:

<файловая переменная>: file of <тип компоненты>;

<файловая переменная >: text;

<файловая переменная> : file;

<файловая переменная> - это логическое имя файла, используемое в программе. <тип компоненты>-компонентой файла может быть как переменная базового уровня, так и структурного. Структурный тип определяет данные типа «запись» (record).