stringtranslate.com

Арити

В логике , математике и информатике арность ( / ˈær ɪ t i / ) — это количествоаргументовилиоперандов, принимаемыхфункцией,операциейилиотношением. В математике арность также можно назвать рангом,[1][2], но это слово может иметь много других значений. В логике ифилософииарность можно также назватьадичностьюистепенью. [3][4]Влингвистикеэто обычно называютвалентностью. [5]

Примеры

В общем, функции или операторы с заданной арностью следуют соглашениям об именах n -основанных систем счисления , таких как двоичная и шестнадцатеричная . Латинский префикс сочетается с суффиксом -ary. Например:

Нуллари

Константу можно рассматривать как результат операции арности 0, называемой нулевой операцией .

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

Унарный

Примеры унарных операторов в математике и программировании включают унарные операторы минус и плюс, операторы инкремента и декремента в языках C (не в логических языках), а также преемник , факториал , обратную величину , пол , потолок , дробную часть , знак , абсолютное значение , квадратный корень (главный квадратный корень), комплексно-сопряженное число (унарное из «одного» комплексного числа , которое, однако, состоит из двух частей на более низком уровне абстракции) и нормальные функции в математике. В программировании операторы дополнения до двух , ссылки на адрес и логические операторы НЕ являются примерами унарных операторов.

Все функции в лямбда-исчислении и в некоторых функциональных языках программирования (особенно потомках ML ) технически унарны, но см. n-арные ниже.

Согласно Куайну , латинскими дистрибутивами являются сингли , бини , терни и т. д., термин «сингулярный» является правильным прилагательным, а не «унарный». [6] Авраам Робинсон следует использованию Куайна. [7]

В философии прилагательное монадическое иногда используется для описания одноместного отношения , например «имеет квадратную форму», в отличие от двухместного отношения, например «является сестрой».

Двоичный

Большинство операторов, встречающихся в программировании и математике, имеют двоичную форму. Как для программирования, так и для математики к ним относятся оператор умножения , оператор основания, часто опускаемый оператор возведения в степень , оператор логарифма , оператор сложения и оператор деления . Логические предикаты, такие как OR , XOR , AND , IMP , обычно используются как бинарные операторы с двумя разными операндами. В архитектурах CISC обычно имеется два исходных операнда (и результат сохраняется в одном из них).

тройной

Язык программирования C и его различные потомки (включая C++ , C# , Java , Julia , Perl и другие) предоставляют тернарный условный оператор ?: . Вычисляется первый операнд (условие), и если он истинен, результатом всего выражения является значение второго операнда, в противном случае — значение третьего операнда.

В языке Python есть троичное условное выражение . В Эликсире эквивалентом будет: .x if C else yif(C, do: x, else: y)

Язык Форт также содержит тернарный оператор , */который умножает первые два числа (одноячеечные) на третье, при этом промежуточным результатом является двойное число ячеек. Это используется, когда промежуточный результат переполняет одну ячейку.

Калькулятор постоянного тока Unix имеет несколько тернарных операторов, таких как |, которые извлекают три значения из стека и эффективно вычисляют с произвольной точностью .

Многие ( RISC ) инструкции языка ассемблера являются троичными (в отличие от двух операндов, указанных в CISC); или выше, например , который загружает ( MOV ) в регистр AX содержимое вычисленной ячейки памяти, которая представляет собой сумму (круглые скобки) регистров BX и CX .MOV %AX, (%BX, %CX)

n -арный

С математической точки зрения функцию n аргументов всегда можно рассматривать как функцию одного аргумента, который является элементом некоторого пространства произведений . Однако для обозначений может быть удобно рассматривать n -арные функции, например, полилинейные отображения (которые не являются линейными отображениями в пространстве произведений, если n ≠ 1 ).

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

Различная арность

В информатике функция, принимающая переменное количество аргументов, называется вариативной . В логике и философии предикаты или отношения, принимающие переменное число аргументов, называются мультиградусными , анадическими или переменно-полиадическими. [8]

Терминология

Латинские имена обычно используются для определенных категорий, в основном на основе латинских распределительных чисел , означающих «в группе из n », хотя некоторые из них основаны на латинских кардинальных числах или порядковых числах . Например, 1-арность основана на кардинальном unus , а не на дистрибутивном единственном числе , что привело бы к единственному числу .

n - ary означает наличие n операндов (или параметров), но часто используется как синоним слова «полиадический».

Эти слова часто используются для описания всего, что связано с этим числом (например, неденарные шахматы — это вариант шахмат с доской 11×11 или Тысячелетняя петиция 1603 года).

Арность отношения ( или предиката ) — это размерность области в соответствующем декартовом произведении . (Таким образом, функция арности n имеет арность n +1, рассматриваемую как отношение.)

В компьютерном программировании часто существует синтаксическое различие между операторами и функциями ; синтаксические операторы обычно имеют арность 1, 2 или 3 ( также распространен тернарный оператор ? :). Функции сильно различаются по количеству аргументов, хотя большие числа могут оказаться громоздкими. Некоторые языки программирования также предлагают поддержку вариативных функций , т. е. функций, синтаксически принимающих переменное количество аргументов.

Смотрите также

Рекомендации

  1. ^ Хазевинкель, Мишель (2001). Энциклопедия математики, Приложение III. Спрингер. п. 3. ISBN 978-1-4020-0198-7.
  2. ^ Шехтер, Эрик (1997). Справочник по анализу и его основам. Академическая пресса. п. 356. ИСБН 978-0-12-622760-4.
  3. ^ Детлефсен, Майкл; Маккарти, Дэвид Чарльз; Бэкон, Джон Б. (1999). Логика от А до Я. Рутледж. п. 7. ISBN 978-0-415-21375-2.
  4. ^ Коккьярелла, Нино Б.; Фройнд, Макс А. (2008). Модальная логика: введение в ее синтаксис и семантику. Издательство Оксфордского университета. п. 121. ИСБН 978-0-19-536658-7.
  5. ^ Кристалл, Дэвид (2008). Словарь лингвистики и фонетики (6-е изд.). Джон Уайли и сыновья. п. 507. ИСБН 978-1-405-15296-9.
  6. ^ Куайн, WVO (1940), Математическая логика , Кембридж, Массачусетс: Издательство Гарвардского университета, стр. 13
  7. ^ Робинсон, Абрахам (1966), Нестандартный анализ , Амстердам: Северная Голландия, стр. 19
  8. ^ Оливер, Алекс (2004). «Множественные предикаты». Разум . 113 (452): 609–681. дои : 10.1093/mind/113.452.609.

Внешние ссылки

Монография доступна бесплатно в Интернете: