Arity

Arity ( / ær ɪ t i / w ( słuchaj ) ) to liczba argumentów lub operandów przyjmowanych przez funkcję , operację lub relację logice , matematyce i informatyce . W matematyce arity można również nazwać rangą , ale to słowo może mieć wiele innych znaczeń w matematyce. W logice i filozofii nazywa się to także ostrością i stopniem . W językoznawstwie zwykle nazywa się to wartościowością .

Przykłady

Termin „arity” jest rzadko używany w codziennym użyciu. Na przykład, zamiast mówić „arity operacji dodawania wynosi 2” lub „dodawanie jest operacją o arity 2”, zwykle mówi się „dodawanie jest operacją binarną”. Ogólnie rzecz biorąc, nazewnictwo funkcji lub operatorów z daną liczbą jest zgodne z konwencją podobną do tej używanej w systemach liczbowych opartych na n , takich jak binarny i szesnastkowy . Jeden łączy łaciński z końcówką -ary; Na przykład:

  • Funkcja pusta nie przyjmuje żadnych argumentów.
    • Przykład:
  • Funkcja jednoargumentowa przyjmuje jeden argument.
    • Przykład:
  • Funkcja binarna przyjmuje dwa argumenty.
    • Przykład:
  • Funkcja trójskładnikowa przyjmuje trzy argumenty.
    • Przykład:
  • Funkcja n -argumentowa przyjmuje n argumentów.
    • Przykład:

Nieważne

Czasami warto uznać stałą za operację o arity 0, a zatem nazwać ją nullary .

Również w programowaniu niefunkcjonalnym funkcja bez argumentów może być znacząca i niekoniecznie stała (ze względu na skutki uboczne ). Często takie funkcje mają w rzeczywistości jakieś ukryte dane wejściowe , którymi mogą być zmienne globalne , w tym cały stan systemu (czas, wolna pamięć, ...). Te ostatnie są ważnymi przykładami, które zwykle istnieją również w „czysto” funkcjonalnych językach programowania.

jednoargumentowy

Przykłady operatorów jednoargumentowych w matematyce i programowaniu obejmują jednoargumentowy minus i plus, operatory inkrementacji i dekrementacji w językach w stylu C (nie w językach logicznych) oraz następcę , silnia , odwrotność , podłoga , sufit , część ułamkowa , znak , wartość bezwzględna , pierwiastek kwadratowy (główny pierwiastek kwadratowy), koniugat zespolony (jednoargumentowa z „jednej” liczby zespolonej, która jednak ma dwie części na niższym poziomie abstrakcji) i funkcje normowe w matematyce. Dopełnienie do dwóch , odwołanie do adresu i operatory logiczne NOT to przykłady operatorów jednoargumentowych w matematyce i programowaniu.

Wszystkie funkcje w rachunku lambda iw niektórych funkcjonalnych językach programowania (zwłaszcza tych wywodzących się z ML ) są technicznie jednoargumentowe, ale patrz n-ary poniżej.

Według Quine'a , łacińskie dystrybutywy to liczba pojedyncza, bini, terni itd., a termin „liczba pojedyncza” jest właściwym przymiotnikiem, a nie „jednoargumentowy”. Abraham Robinson podąża za zwyczajami Quine'a.

W filozofii przymiotnik monadyczny jest czasami używany do opisania relacji jednomiejscowej, takiej jak „ma kwadratowy kształt”, w przeciwieństwie do relacji dwumiejscowej, takiej jak „jest siostrą”.

Dwójkowy

Większość operatorów spotykanych w programowaniu i matematyce ma postać binarną . Zarówno w przypadku programowania, jak i matematyki, obejmują one operator mnożenia , operator podstawy, często pomijany operator potęgowania , operator logarytmu , operator dodawania i operator dzielenia . Predykaty logiczne, takie jak OR , XOR , AND , IMP są zwykle używane jako operatory binarne z dwoma różnymi operandami. W CISC często stosuje się dwa operandy źródłowe (i przechowuje wynik w jednym z nich).

Potrójny

Język programowania komputerowego C i jego różni potomkowie (w tym C++ , C# , Java , Julia , Perl i inne) zapewniają potrójny operator warunkowy ?: . Oceniany jest pierwszy operand (warunek), a jeśli jest prawdziwy, wynikiem całego wyrażenia jest wartość drugiego operandu, w przeciwnym razie jest to wartość trzeciego operandu. Język Python ma trójskładnikowe wyrażenie warunkowe, x jeśli C else y .

Język Forth zawiera również operator trójskładnikowy */ , który mnoży pierwsze dwie (jednokomórkowe) liczby, dzieląc przez trzecią, przy czym wynikiem pośrednim jest podwójna liczba komórek. Jest to używane, gdy wynik pośredni przepełniłby pojedynczą komórkę.

Uniksowy kalkulator prądu stałego ma kilka operatorów trójskładnikowych, takich jak | który pobierze trzy wartości ze stosu dowolną precyzją .

Wiele instrukcji języka asemblera ( RISC ) jest trójskładnikowych (w przeciwieństwie do tylko dwóch operandów określonych w CISC); lub wyższe, takie jak MOV %AX , ( %BX , %CX ) , które załadują (MOV) do rejestru AX zawartość obliczonej komórki pamięci będącej sumą (w nawiasach) rejestrów BX i CX .

n -ary

Z matematycznego punktu widzenia funkcję n argumentów można zawsze rozpatrywać jako funkcję jednego argumentu, który jest elementem pewnej przestrzeni iloczynowej . Jednak w notacji może być wygodne rozważenie n -arnych, jak na przykład odwzorowania wieloliniowe (które nie są odwzorowaniami liniowymi w przestrzeni iloczynu, jeśli n ≠ 1 ).

To samo dotyczy języków programowania, w których funkcje przyjmujące kilka argumentów można zawsze zdefiniować jako funkcje przyjmujące pojedynczy argument pewnego typu złożonego , takiego jak krotka , lub w językach z funkcjami wyższego rzędu przez curry .

Zmienna arność

W informatyce funkcja przyjmująca zmienną liczbę argumentów nazywa się variadic . W logice i filozofii predykaty lub relacje przyjmujące zmienną liczbę argumentów nazywane są wielostopniowymi , anadycznymi lub zmiennie poliadycznymi .

Terminologia

łacińskie są powszechnie używane dla określonych arities, głównie opartych na łacińskich liczbach rozdzielczych oznaczających „w grupie n ”, chociaż niektóre są oparte na łacińskich liczebnikach głównych lub porządkowych . Na przykład 1-ary jest oparte na kardynale unus , a nie na rozdzielczym singulī , co skutkowałoby liczbą pojedynczą .

x-ary Arity (oparty na łacinie) Adicity (po grecku) Przykład z matematyki Przykład w informatyce
0-ary Nieważny (od nūllus ) niladzki stała _ Funkcja bez argumentów, Prawda, Fałsz
1-ary jednoargumentowy monadyczny Liczba przeciwna Operator logiczny NOT
2-ary Dwójkowy diadyczny Dodatek LUB , XOR , I
3-ary Potrójny triadyczny Potrójny produkt wektorów Operator warunkowy
4-ary Czwartorzędowy tetradyczny Kwaternion
5-ary Pięcioraki pentadyczny kwintyl
6-ary Senatorski heksadyczny
7-ary Siódemka hebdomadzki
8-ary Oktonarz Ogdoadycki
9-ary nowenarski (alt. nonarny ) enneadyczny
10-ar Denar (alt. Decenary ) dziesiętny
Więcej niż 2-ary Wieloraki i wieloraki poliadyczne
Różne wariadyczny Suma; np. Funkcja zmienna , redukcja

n - ary oznacza n operandów (lub parametrów), ale jest często używane jako synonim „poliadycznego”.

Te słowa są często używane do opisania wszystkiego, co ma związek z tą liczbą (np. szachy undenary to wariant szachów z szachownicą 11 × 11 lub Petycja Tysiąclecia z 1603 r.).

Arity relacji ( lub predykatu ) to wymiar domeny w odpowiednim produkcie kartezjańskim . (Funkcja o arity n ma zatem arity n +1 traktowana jako relacja.)

W programowaniu komputerowym często istnieje składniowe rozróżnienie między operatorami a funkcjami ; operatory syntaktyczne mają zwykle arity 0, 1 lub 2 ( operator trójskładnikowy ?: jest również powszechny). Funkcje różnią się znacznie pod względem liczby argumentów, chociaż duże liczby mogą stać się nieporęczne. Niektóre języki programowania oferują również wsparcie dla funkcji zmiennokształtnych , tj. funkcji składniowo przyjmujących zmienną liczbę argumentów.

Zobacz też

Linki zewnętrzne

Monografia dostępna bezpłatnie w Internecie: