Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Pascal_lectures_small.doc
Скачиваний:
13
Добавлен:
23.03.2015
Размер:
339.46 Кб
Скачать
      1. Операции с множествами

Два множества являются совместимыми, если их базовые типы полностью или частично перекрываются. При выполнении операции над множеством базовый тип результата является объединением базовых типов исходных множеств. При присваивании переменной-множеству некоторого значения совместимость обеспечивается, если все элементы присваиваемого значения входят в множество значений базового типа переменной, в которую это значение заносится.

Пусть A и B – множества совместимых типов, а e – элемент базового типа множества A.

Таблица операций над множествами

Результат – типа множество

Операция

Название

Результат

A + B

Объединение

Все элементы А и те элементы В, которых нет в А

A * B

Пересечение

Совпадающие элементы А и В.

A – B

Вычитание

Элементы А, которых нет в В.

Также для множеств предусмотрены операции отношений. Во всех этих операциях, кроме операции In, оба операнда – множества совместимых типов, а в операции In правый (второй) операнд – множество, а левый (первый) операнд – допустимый элемент этого множества.

Таблица операций отношений над множествами

Результат – типа Boolean

Операция

Название

Результат True, если

A = B

Равенство

Все элементы А и В одинаковы

A <> B

Неравенство

Есть хотя бы один элемент, отличающийся в А и В.

A >= B

Подмножество

Все элементы B есть в A, но в A могут быть элементы, не входящие в B.

A <= B

Подмножество

Все элементы A есть в B, но в B могут быть элементы, не входящие в A.

e In A

Вхождение

Элемент e входит в множество A.

Пример. Проверка, является ли введенный символ цифрой.

Program Check;

Var C: Char;

Begin

Write('Введите цифру >'); Readln(C);

If C in [0..9] then Writeln ('Введена цифра ',C)

Else Writeln('Это не цифра')

End.

    1. Файлы

      1. Назначение и описание

Файл в Паскале – это последовательность позиций для хранения данных одного и того же базового типа. Обычно файлы размещаются на внешних носителях – магнитных или лазерных дисках, магнитных лентах и т.п. Файлы могут использоваться для ввода данных, хранимых на внешнем носителе и для вывода данных для хранения на внешнем носителе.

Файл ввода имеет определенное количество позиций. В файле вывода изначально есть одна пустая позиция, но количество позиций увеличивается по мере вывода в файл и окончательно определяется по окончании вывода и закрытии файла.

Так как позиции файла хранят данные одного и того же типа, их размер одинаков.

В программе с каждым файлом связана файловая переменная, через которую доступна одна позиция файла, называемая текущей. Файловая переменная является как бы указателем на текущую позицию. Точнее, файловая переменная указывает на ячейку в оперативной памяти, связанную с текущей позицией на внешнем носителе.

В файле ввода по этому указателю можно прочитать содержимое текущей позиции. В файле вывода через файловую переменную можно занести значение в текущую позицию.

В стандартном Паскале перемещение текущей позиции возможно только последовательно и только в одном направлении – от начала к концу файла. Такие файлы называют файлами с последовательным нереверсивным доступом.

Синтаксис конструкции файлового типа:

<файловый тип>::="File" "of" <базовый тип>.

Здесь базовый тип – это любой базовый тип, кроме файлового.

Для работы с файлом в программе нужно определить упоминавшуюся файловую переменную, т.е., переменную файлового типа. В большинстве реализаций содержание файловой переменной недоступно программисту, однако, обратившись к ней с квалификатором указателя (знак ^) можно получить доступ к текущей позиции файла.

Пример:

Type R=Record

I,J:Integer;

Text: array[1..80] of char

End;

Var F1: file of Real;

F2: file of Boolean;

F3: file of R;

Здесь объявлено три файловых переменных для трех файлов разного типа.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]