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

1.4.2.3. Знаки операций для множеств

Знаки операций для множеств применимы к операндам типа set и вырабатывают результат типа set. Объявленные размеры в битах для операндов типа set должны совпадать. Знак унарного минуса обозначает дополнение x, т.е. –x обозначает множество целых чисел между 0 и max(set), которые не являются элементами x.

+     объединение                                         покомпонентное или  -      разность                                                покомпонентное вычитание         (x - y = x * (-y))  *     пересечение                                           покомпонентное и  /      симметричная разность множеств      покомпонентное исключенное или         (x / y = (x-y) + (y-x))

Конструктор множества определяет значение множества перечислением в скобках его элементов, если они есть. Элементы должны быть числами из диапазона 0 .. max(set). Диапазон m .. n обозначает все целые числа из интервала, начинающегося элементом m и завершающегося элементом n, включая m и n. Если m > n, то m .. n обозначает пустое множество.

Примеры использования множеств:

const left = 0; right = 1; top = 2; bottom = 3;  var edges: set; x, y: integer;  begin      edges := { }; (* пустое множество *)      if x < xMin then edges := edges + {left}  …      if left in edges then … (* отрезать слева *)

const opCodemask = {0..3};  var opCode, word: set;  …      opCode := word * opCodeMask; (* извлечь op-code *)   

1.4.2.4. Отношения

Отношения вырабатывают результат boolean. Отношения =, #, <, <=, >, и >= применимы числовым типам и char. Отношения = и # также применимы к boolean и set, также как и к процедурным типам (включая значение nil). x in s означает “x является элементом s”. x должно быть целого типа, а s  типа set.

=                        равно  #                        неравно  <                        меньше  <=                      меньше или равно  >                        больше  >=                      больше или равно  in                        быть элементом множества  implements        x implements D равно true, если объект x реализует определение D  is                        x is T является true, если присущий тип x является T

Примеры выражений

выражение                                 тип                  пояснения  1991                                            integer              Простое константное значение  i div 3                                          integer              Целочисленное деление i на 3  ~wellFormed or outOfRange       boolean            (не well-formed) или out-of-range  (i+j) * (i-j)                                   integer              Арифметическое выражение  s - {8, 9, 13}                                set{8}              s , из которого удалены 8, 9, 13  keys in {left, right}                       boolean           keys в left или в right или в том и другом  ('0'<=ch) & (ch<='9')                    boolean           ch является цифрой      

1.4.3. Определенные пользователем знаки операций и объявления знаков операций

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