Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Razdel_II_Tekhnologia_programmirovania_Informat...docx
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
79.49 Кб
Скачать

27. Стринговые переменные. Основные функции и процедуры стринговых переменных.

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

Пример:

var

pet: string[4];

Целое число в квадратных скобках задает максимальную длину строки. Это атрибут длины строковой переменной. В данном примере максимальная длина переменной pet равна 4, поэтому присваивание вида pet := ’dog’; разрешено, а присваивание вида pet := ’kitty’; является ошибочным т.к. фактическое значение переменной pet будет ’kit’.

Максимальная длинна строки составляет 255 символов.

Существует набор процедур и функций для работы со строками:

  1. Функция Concat воспринимает в качестве параметров любое число строковых переменных; возвращаемое ею значение – строка с длинной не более 255 символов – образуется последовательным присоединением к друг другу значений параметров: второго к концу первого, третьего к концу второго и т.д.

  2. Процедура Delete решает задачу удаления из строки ненужных символов. В обращении к ней указываются три параметра: Delete (<строка>, <начальная позиция>, <количество удаляемых символов>)

  3. Процедура Insert вставляет в одну строку содержимое другой. Общая форма обращения к ней имеет вид:

Insert (<вставляемая строка>, <принимающая строка>, <позиция вставки>). Если максимальная длина строки, в которую вставляют символы, меньше длины нового значения, то в результирующей строке все символы, выходящие за пределы её максимальной длины будут отброшены.

  1. Функция Copy копирует фрагмент некоторой строки из одной переменной в другую. Вызывая данную функцию необходимо указать 3 параметра:

SubString := Copy (<строка>, <начальная позиция>, <количество символов>)

  1. Функция Pos определяет позицию подстроки в строке Она получает два параметра типа String и возвращает результат типа Integer. Обращение к ней имеет вид k := Pos (<строка, которую ищем>, <строка, в которой ищем>). Если строка не найдена, возвращается -1.

  2. Функция Length получает параметром строку и возвращает целочисленное значение, показывающее количество символов, содержащихся в данный момент в этой строке. Общая форма обращения к функции такова: Size := Length (St); где Size станет равен длине строки

  3. Процедура Str(V, S), где V – переменная типа Integer или Real, S – переменная типа String, преобразовывает числовое значение V в строку и присваивает его переменной S.

  4. Процедура Val (S, V, K), где S – строковая переменная,

V – переменная типа Integer или Real, K – переменная типа Integer, действует следующим образом: если строка S состоит из цифр, то они преобразуются в некоторое числовое значение и передаются в переменную V, если нет ошибок (вся строка состоит из цифр), то K = 0, в противном случае К получает значение номера позиции, содержащего «неверный символ», а V становится неопределенной.

28. Тип-запись. Способы доступа к полям записи: точечная нотация и оператор WITH.

Тип запись включает ряд компонентов, называемых полями, которые могут быть разных типов. При задании типа записи после зарезервированного слова record следует перечислять все поля, с указанием их типов и завершить задание типа словом end;

Поля отделяются друг от друга ;, количество полей записи может быть любым.

Type

Complex = record

Re, Im : Real;

end;

Data = record

Year : Integer;

Month : 1 .. 12;

Day : 1 .. 31;

end;

При введении типа-записи можно затем задать переменные или типизированные константы этого типа-записи. При заданий значений константе её поля записываются в ( ) через ;. Для задания значения каждого поля сначала указывается имя поля , а затем через : его значения.

Пример:

Var