Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы.DOC
Скачиваний:
35
Добавлен:
15.06.2014
Размер:
154 Кб
Скачать
☆

11. Строковый тип

Тип динамических строк используется для обработки текстовой информации. Строка представляет собой цепочку символов. В программе строковая переменная может быть описана в блоках Туре или Var. Максимальная длина строки - 255 символов. Строка имеет структуру подобную одномерному массиву. Отличие между строкой типа string и массивом состоит в том., что строка имеет переменную длину (количество символов) и нулевой элемент строки содержит информацию о длине строки. Строки можно присваивать и сравнивать. Строки считаются одинаковыми, если они имеют одинаковую длину и одинаковые символы. К строкам применима операция сцепления. Встроенные функции и процедуры для обработки строк: LENGTH(s:string):byte - выдает длину строки в символах. CONCAT(sl,s2,...,sN:string):string-осуществляет сцепление строк. COPY(S: string; Start,Len:integer):string выдает подстроку s длиной Len, начиная с символа с номером Start. DELETE(Var S:string; Start, Len: integer) удаляет из строки S подстроку длиной Len, начиная с символа с номером Start.

INSERT(Subs:string; Var S: string; index:integer) вставляет в строку S подстроку Subs, начиная с символа с номером index;

POS(Subs,S:string):byte - отыскивает вхождение подстроки Subs в строке S и выдает номер позиции, с которой начинается это вхождение. Если строка s не содержит данной подстроки, то функция РОS выдает О. Если в строке s несколько одинаковых подстрок subs, то функция выдает только номер первого вхождения. Процедуры преобразования: STR(xt:w[:n]], Var s:string) - преобразует числовое значение х в строковое s, х может быть переменной или выражением целого или вещественного типа. Для переменной х может быть указана ширина поля w, которое она занимает, а также n - количество знаков после десятичной точки. VAL(S:string,Var x,Var Errcod)- преобразует числовую строку S в числовую переменную х, формируя код ошибки errcod. FILLCHAR(var x; k:word; Value) – процедура заполнения к последовательных байт переменной х значением Value.

12.Множества

Множества - наборы однотипных логически связанных друг с другом объектов. Количество элементов в множестве может меняться от 0 до 256. Множество, которое не содержит элементов, называется пустым. От массивов множества отличаются тем, что количество элементов не постоянно. Его можно расширять и сокращать по ходу выполнения программы. Описание типа производится в разделе ТУРЕ в следующем виде:

<ИмяТипа>=SЕТ of <базовый_тип>.

Можно тип объявлять сразу при описании переменных, например:

VAR SI: set of '1'..'9';

Для задания множества может использоваться конструктор множества - список (спецификаций) элементов множества, отделенных друг от друга запятыми. Список заключается в квадратные скобки. Спецификациями элементов могут быть константы или выражения базового типа, а также тип-диапазон того же базового типа. Два множества считаются эквивалентными тогда и только тогда, когда все их элементы одинаковы причем порядок следования в множестве безразличен. Если все элементы одного множества входят в другое множество то говорят, что первое включено во второе. Пустое множество считается включенным в любое другое. Над множествами определены следующие операции: 1.Пересечение множеств (*) 2.Объединение множеств (+) 3.Разность множеств (-) 4.Операции отношений: операция эквивалентности (=), проверки неэквивалентности (<>),(>=), проверки принадлежности (in). Множества имеют компактное машинное представление. Недостатком данного типа является невозможность вывода множеств на экран, поскольку отсутствует механизм изъятия элемента из множества. Ввод множества возможен только поэлементно.