Главная » Просмотр файлов » Языки и методы формальной спецификации

Языки и методы формальной спецификации (1158803), страница 16

Файл №1158803 Языки и методы формальной спецификации (Языки и методы формальной спецификации) 16 страницаЯзыки и методы формальной спецификации (1158803) страница 162019-09-18СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 16)

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

11.2. Инфиксные операции (Infix Operators)

Синтаксис.

infix_op ::=

= ½  ½  ½  ½  ½  ½  ½  ½  ½  ½  ½  ½  ½  ½ \ ½ ^ ½  ½ † ½  ½ / ½

 ½  ½

Контекстные условия. Контекстные условия для инфиксных операций описаны в разделе 11.1.

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

Семантика. Семантика инфиксной операции infix_op определяется ее соответствующим определением. Предопределенные значения (семантика) применения инфиксных операций infix_op перечислены ниже.

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

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

  • Равенство:

= : T  T  Bool

Результат равен true тогда и только тогда, когда значения обоих аргументов равны.

  • Неравенство:

 : T  T  Bool

Результат равен true тогда и только тогда, когда значения обоих аргументов не равны.

  • Целочисленное сложение:

 : Int ´ Int ® Int

Результат равен сумме двух целочисленных значений.

  • Вещественное сложение:

 : Real ´ Real ® Real

Результат равен сумме двух вещественных значений.

  • Целочисленное вычитание:

 : Int ´ Int ® Int

Результат равен разности первого и второго целочисленных значений.

  • Вещественное вычитание:

 : Real ´ Real ® Real

Результат равен разности первого и второго вещественных значений.

  • Целочисленное умножение:

 : Int ´ Int ® Int

Результат равен произведению двух целочисленных значений.

  • Вещественное умножение:

 : Real ´ Real ® Real

Результат равен произведению двух вещественных значений.

  • Целочисленное возведение в степень:

 : Int ´ Int Int

Предусловие: второе целочисленное значение должно быть неотрицательным, и оно не должно быть равным 0, если первое целочисленное значение равно 0.

Результатом является первое целочисленное значение, возведенное в степень второго целочисленного значения.

  • Вещественное возведение в степень:

 : Real ´ Real Real

Предусловие: если второе вещественное значение отрицательно или равно нулю, то первое вещественное значение должно быть отличным от нуля (0.0); если второе вещественное значение не является целым числом, то первое должно быть неотрицательным.

Результатом является первое вещественное значение, возведенное в степень второго вещественного значения.

  • Композиция функций:

 : (T2 a T3) ´ (T1 a T2) ® (T1 a T3)

где a представляет собой объединение a и a.

Результат равен композиции двух функций, определяемой следующим образом:

f1  f2  x : T1 • f1(f2(x))

  • Композиция отображений:

 : (T2 T3) ´ (T1 T2) ® (T1 T3)

Результат равен композиции двух отображений, определяемой следующим образом:

m1  m2  [x ↦ m1(m2(x))  x : T1 • x  dom m2  m2(x)  dom m1]

  • Целочисленное деление:

/ : Int ´ Int Int

Предусловие: второе целочисленное значение должно быть отличным от нуля (0).

Абсолютным значением (без учета знака) результата является количество раз, которое абсолютное значение второго целочисленного значения содержится в абсолютном значении первого целочисленного значения. Знак результата равен произведению знаков аргументов.

  • Вещественное деление:

/ : Real ´ Real Real

Предусловие: второе вещественное значение должно быть отличным от нуля (0.0).

Результат получается путем деления первого вещественного значения на второе вещественное значение.

  • Ограничение отображения на подмножестве (Map restriction to):

/ : (T1 T2) ´ T1-infset ® (T1 T2)

Результатом является отображение, полученное из исходного путем ограничения его домена элементами указанного множества.

  • Остаток от целочисленного деления:

\ : Int ´ Int Int

Предусловие: второе целочисленное значение должно быть отличным от нуля (0).

Абсолютным значением результата является остаток от деления абсолютного значения второго целочисленного значения на абсолютное значение первого целочисленного значения. Знак результата равен знаку первого аргумента. Справедливо следующее соотношение:

a = (a / b)b + (a \ b)

где a и b — целочисленные значения, b отлично от нуля.

  • Разность множеств:

\ : T-infset  T-infset  T-infset

Результатом является множество, все элементы которого входят в первое множество и не входят во второе.

  • Усечение отображения (Map restriction by):

\ : (T1 T2) ´ T1-infset ® (T1 T2)

Результатом является отображение, полученное из исходного путем исключения из его домена элементов указанного множества.

  • Целочисленное больше:

 : Int ´ IntBool

Результат равен true тогда и только тогда, когда первое целочисленное значение больше второго целочисленного значения.

  • Вещественное больше:

 : Real ´ RealBool

Результат равен true тогда и только тогда, когда первое вещественное значение больше второго вещественного значения.

  • Целочисленное меньше:

 : Int ´ Int ® Bool

Результат равен true тогда и только тогда, когда первое целочисленное значение меньше второго целочисленного значения.

  • Вещественное меньше:

 : Real ´ RealBool

Результат равен true тогда и только тогда, когда первое вещественное значение меньше второго вещественного значения.

  • Целочисленное больше или равно:

 : Int ´ Int ® Bool

Результат равен true тогда и только тогда, когда первое целочисленное значение больше или равно второго целочисленного значения.

  • Вещественное больше или равно:

 : Real ´ Real ® Bool

Результат равен true тогда и только тогда, когда первое вещественное значение больше или равно второго вещественного значения.

  • Целочисленное меньше или равно:

 : Int ´ Int ® Bool

Результат равен true тогда и только тогда, когда первое целочисленное значение меньше или равно второго целочисленного значения.

  • Вещественное меньше или равно:

 : Real ´ Real ® Bool

Результат равен true тогда и только тогда, когда первое вещественное значение меньше или равно второго вещественного значения.

  • Включение в качестве подмножества (строгое):

 : T-infset ´ T-infset ® Bool

Результат равен true тогда и только тогда, когда второе множество является строгим подмножеством первого множества (т.е. совпадение множеств не допускается).

  • Вхождение в качестве подмножества (строго):

 : T-infset ´ T-infset ® Bool

Результат равен true тогда и только тогда, когда первое множество является строгим подмножеством второго множества (т.е. совпадение множеств не допускается).

  • Включение в качестве подмножества:

 : T-infset ´ T-infset ® Bool

Результат равен true тогда и только тогда, когда второе множество является подмножеством первого множества.

  • Вхождение в качестве подмножества:

 : T-infset ´ T-infset ® Bool

Результат равен true тогда и только тогда, когда первое множество является подмножеством второго множества.

  • Принадлежность множеству:

 : T ´ T-infset ® Bool

Результат равен true тогда и только тогда, когда первый аргумент является элементом указанного множества.

  • Отрицание принадлежности множеству:

 : T ´ T-infset ® Bool

Результат равен true тогда и только тогда, когда первый аргумент не является элементом указанного множества.

  • Пересечение множеств:

 : T-infset ´ T-infset ® T-infset

Результатом является множество, состоящее из всех элементов, которые входят одновременно в оба указанные множества.

  • Объединение множеств:

 : T-infset ´ T-infset ® T-infset

Результатом является множество, состоящее из всех элементов, которые входят хотя бы в одно из указанных множеств.

  • Объединение отображений:

 : (T1 T2) ´ (T1 T2) ® (T1 T2)

Результатом является отображение, состоящее из всех пар первого отображения и всех пар второго отображения.

  • Конкатенация списков:

^ : T ´ T T

Предусловие: первый список должен быть конечным.

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

  • Перекрытие отображений:

† : (T1 T2) ´ (T1 T2) ® (T1 T2)

Результатом является первое отображение, перекрытое вторым отображением. Для всех элементов, принадлежащих одновременно доменам обоих указанных отображений, второе отображение перекрывает (замещает) первое.

Характеристики

Тип файла
Документ
Размер
776,5 Kb
Тип материала
Высшее учебное заведение

Список файлов книги

Свежие статьи
Популярно сейчас
Зачем заказывать выполнение своего задания, если оно уже было выполнено много много раз? Его можно просто купить или даже скачать бесплатно на СтудИзбе. Найдите нужный учебный материал у нас!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6532
Авторов
на СтудИзбе
301
Средний доход
с одного платного файла
Обучение Подробнее