Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ШПОРЫ - ПРОГРАММИРОВАНИЕ(уже переделанные).doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
161.79 Кб
Скачать

23. Операции над данными множественного типа.

*  пересечение множеств; результат содержит элементы, общие для обоих множеств; например, S4*S6  содержит [3], S4*S5 - пустое множество (см. выше);

+ объединение множеств; результат содержит элементы первого множества, дополненные недостающими  элементами из второго множества:

- разность множеств; результат содержит элементы из первого множества, которые не принадлежат второму:

= проверка эквивалентности; возвращает TRUE, если оба множества эквивалентны;

<> проверка неэквивалентности; возвращает TRUE, если оба множества неэквивалентны;

<= проверка вхождения; возвращает TRUE, если первое множество включено во второе;

>= проверка вхождения; возвращает TRUE, если второе множество включено в первое;

IN проверка принадлежности; в этой бинарной операции первый элемент - выражение, а второй -   множество одного и того же типа; возвращает TRUE , если выражение имеет значение, принадлежащее множеству:

Дополнительно к этим операциям можно использовать две процедуры. INCLUDE - включает новый элемент во множество. Обращение к процедуре: INCLUDE (S,I) Здесь S - множество, состоящее из элементов базового типа TSetBase; I - элемент типа TSetBase, который необходимо включить во множество. EXCLUDE - исключает элемент из множества. Обращение: EXCLUDE(S,I) Параметры обращения - такие же, как у процедуры INCLUDE.

24. Файловый тип данных.

Файл определяет упорядоченную совокупность

произвольного числа однотипных компонент.

Общее свойство массива, множества и записи заключается в том, что количество их компонент определено на этапе написания программы, тогда как количество компонент файла в тексте программы не определяется

и может быть произвольным. Понятие файла достаточно широко. Это может быть обычный файл на диске, коммуникационный порт ЭВМ, устройство печати, клавиатура или другие устройства. При работе с файлами выполняются операции ввода - вывода. Операция ввода означает перепись данных с внешнего устройства (из входного файла) в основную память ЭВМ, операция вывода - это пересылка данных из основной памяти на внешнее устройство (в выходной файл). Файлы на внешних устройствах часто называют физическими файлами. Их имена определяются операционной системой. В программах на языке Паскаль имена файлов задаются с помощью строк. Например, имя файла на диске может иметь вид:

'A:LAB1.DAT'

'c:\ABC150\pr.pas'

'lab3.pas'.

С файловой системой TURBO PASCAL связано понятие буфера ввода-вывода. Ввод и вывод данных осуществляется через буфер. Буфер – это область в памяти, которая выделяется для каждого файла. При записи в файл вся информация сначала направляется в буфер и там накапливается до тех пор, пока весь объем буфера не будет заполнен. Только после этого или после специальной команды сброса происходит передача данных на внешнее устройство. При чтении из файла данные вначале считываются в буфер, причем данных считывается не столько, сколько запрашивается, а сколько поместится в буфер. Механизм буферизации позволяет более быстро и эффективно обмениваться информацией с внешними устройствами. Для работы с файлами в программе необходимо определить файловую переменную. TURBO PASCAL поддерживает три файловых типа: текстовые файлы, компонентные файлы, бес типовые файлы.

25. Текстовые файлы

Особое место в языке ПАСКАЛЬ занимают текстовые файлы, компоненты

которых имеют символьный тип. Для описания текстовых файлов в языке

определен стандартный тип Тext:

var TF1, TF2: Text;

Текстовые файлы представляют собой последовательность строк, а

строки - последовательность символов. Строки имеют переменную длину,

каждая строка завершается признаком конца строки.

Для операций над текстовыми файлами, кроме перечисленных, опреде-

лены также операторы обращения к процедурам:

ReadLn(T) - пропускает строку до начала следующей;

WriteLn(T) - завершает строку файла, в которую производится за-

пись, признаком конца строки и переходит к началу следующей.

Для работы с текстовыми файлами введена расширенная форма операто-

ров ввода и вывода. Оператор

Read(T,X1,X2,...XK)

эквивалентен группе операторов

begin

Read(T,X1);

Read(T,X2);

...........

Read(T,XK)

end;

26. Ссылочный тип данных.

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

Формат описания ссылочного типа данных:

Type <тип указателя> = ^ <идентификатор типа>,

то есть указатель связан с некоторым типом данных. Такие указатели называются типизированными.

Пример описания переменных ссылочного типа:

Type

p1=^integer;

p2=^real;

Var

A,B,C:p1;

X,Y,Z:p2;

P:^char;

Cсылочные переменные A, B, C указывают на динамические объекты целого типа, X,Y,Z - вещественного, P - символьного. Значением ссылочной переменной является адрес в динамически выделенной памяти, где хранится объект этого типа. Для обращения к ссылочной переменной используют запись “ A^ ”, что означает: ”идти по адресу, хранящемуся в A”. Память под указатели отводится на этапе компиляции. Однако в Турбо Паскале можно объявлять указатель и не связывать его с конкретным типом данных. Такой указатель называется нетипизированным. Для его объявления служит стандартный тип pointer. Структура и тип таких данных могут меняться во время выполнения программы. При работе с указателями обязательны этапа два:

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