Лабораторный практикум по программированию на языке Паскаль. Найханова Л.В - 63 стр.

UptoLike

63
Стринг, длина которого равна 0, называется пустым. Пустой стринг изображается в виде
двух апострофов, записанных рядом, без пробела: ''.
Например:
. . .
If st = '' then
writeln('стринг st пуст');
. . .
Следует отметить, что переменную типа STRING необходимо инициировать пустым
значением. В противном случае, если к моменту первого использования переменной она
не получила какого-то определенного значения, в программе может возникнуть
непредсказуемая ситуация. Дело в том, что при включении компьютера оперативная память
очищается, в результате любые переменные инициализированы: числовые переменные
обнулены, а стринги получают нулевую длину.
В любое другое время работы ЭВМ переменные будут содержать неопределенные
значения, обусловленные прежним содержимым памяти. В этом случае текущая длина
переменной типа STRING может быть ненулевой.
8.6. Функции преобразования
Для строковых типов данных определены следующие функции преобразования:
a)
STR(x[:width[:decimals]];var s:string) - эта функция преобразует численное значение x в
его строковое представление s.
b)
VAL(s:string; var x code:integer) - эта функция преобразует строковое значение s в его
численное представление x.
8.7. Стандартные процедуры и функции
Для строковых типов данных определены следующие процедуры и функции:
a)
INSERT(source: string; var s: string; index: integer) - эта процедура предназначена для
вставки строки SOURCE в строку S, начиная с символа с номером INDEX в этой строке.
b)
DELETE(var s: string; index, count: integer) - эта процедура производит удаление из
строки-параметра S подстроки длиной COUNT, начиная с символа с номером INDEX.
c)
CONCAT(s1, [s2,...]: string): string - эта функция выполняет слияние строк-параметров,
которых может быть произвольное количество. Каждый параметр является выражением
строкового типа. Если длина результирующей строки превышает 255 символов, то она
усекается до этой длины.
d)
COPY(s: string; index: integer; count: integer): string - эта функция возвращает подстроку,
выделенную из исходной строки S, длиной COUNT символов, начиная с символа под
номером INDEX.
e)
POS(substr, s: string): byte - эта функция производит поиск в строке S подстроки SUBSTR.
Результатом функции является номер позиции подстроки в исходной строке.
f)
LENGTH(s: string): integer - эта функция возвращает текущую длину строки S.
g)
MOVE(var x, y; count: word) - эта функция копирует заданное количество COUNT
последовательных байт из источника X в приемник Y.
h)
FILLCHAR(var x; count: word; value) - эта функция заполняет заданное количество
COUNT последовательных байт переменной X указанным значением VALUE.
Контрольные вопросы
1. Дайте определение строковой переменной.
2. Какие типы данных используются в качестве базовых в строковых данных?
3. Каким образом распределяется память под строковые переменные?
4. Какие операции выполняются над строковыми переменными?
5. В чем состоит сходство и различие строковых переменных и символьных массивов?
6. Возможно ли преобразование строковых переменных?
7. Назовите основные функции над строковыми переменными и их назначение.
8. Каково назначение процедур DELETE,INSERT.
Стринг, длина которого равна 0, называется пустым. Пустой стринг изображается в виде
двух апострофов, записанных рядом, без пробела: ''.
Например:
    . . .
   If st = '' then
    writeln('стринг st пуст');
    . . .
Следует отметить, что переменную типа STRING необходимо инициировать пустым
значением. В противном случае, если к моменту первого использования переменной она
не получила какого-то определенного значения, в программе может возникнуть
непредсказуемая ситуация. Дело в том, что при включении компьютера оперативная память
очищается, в результате любые переменные инициализированы: числовые переменные
обнулены, а стринги получают нулевую длину.
В любое другое время работы ЭВМ переменные будут содержать неопределенные
значения, обусловленные прежним содержимым памяти. В этом случае текущая длина
переменной типа STRING может быть ненулевой.
8.6. Функции преобразования
Для строковых типов данных определены следующие функции преобразования:
a) STR(x[:width[:decimals]];var s:string) - эта функция преобразует численное значение x в
   его строковое представление s.
b) VAL(s:string; var x code:integer) - эта функция преобразует строковое значение s в его
   численное представление x.
8.7. Стандартные процедуры и функции
Для строковых типов данных определены следующие процедуры и функции:
a) INSERT(source: string; var s: string; index: integer) - эта процедура предназначена для
    вставки строки SOURCE в строку S, начиная с символа с номером INDEX в этой строке.
b) DELETE(var s: string; index, count: integer) - эта процедура производит удаление из
    строки-параметра S подстроки длиной COUNT, начиная с символа с номером INDEX.
c) CONCAT(s1, [s2,...]: string): string - эта функция выполняет слияние строк-параметров,
    которых может быть произвольное количество. Каждый параметр является выражением
    строкового типа. Если длина результирующей строки превышает 255 символов, то она
    усекается до этой длины.
d) COPY(s: string; index: integer; count: integer): string - эта функция возвращает подстроку,
    выделенную из исходной строки S, длиной COUNT символов, начиная с символа под
    номером INDEX.
e) POS(substr, s: string): byte - эта функция производит поиск в строке S подстроки SUBSTR.
    Результатом функции является номер позиции подстроки в исходной строке.
f) LENGTH(s: string): integer - эта функция возвращает текущую длину строки S.
g) MOVE(var x, y; count: word) - эта функция копирует заданное количество COUNT
    последовательных байт из источника X в приемник Y.
h) FILLCHAR(var x; count: word; value) - эта функция заполняет заданное количество
    COUNT последовательных байт переменной X указанным значением VALUE.
Контрольные вопросы
1. Дайте определение строковой переменной.
2. Какие типы данных используются в качестве базовых в строковых данных?
3. Каким образом распределяется память под строковые переменные?
4. Какие операции выполняются над строковыми переменными?
5. В чем состоит сходство и различие строковых переменных и символьных массивов?
6. Возможно ли преобразование строковых переменных?
7. Назовите основные функции над строковыми переменными и их назначение.
8. Каково назначение процедур DELETE,INSERT.

                                                                                           63