Arity - Arity

Arity ( / Aer ɪ t i / ( asculta )Despre acest sunet ) este numărul de argumente sau de operanzi luate de o funcție sau operație în logică , matematică și informatică . În matematică, aritatea poate fi numită și rang , dar acest cuvânt poate avea multe alte semnificații în matematică. În logică și filozofie, se mai numește adicitate și grad . În lingvistică , se numește de obicei valență .

Exemple

Termenul „aritate” este rar folosit în utilizarea de zi cu zi. De exemplu, mai degrabă decât să spui „aritatea operației de adunare este 2” sau „adunarea este o operație a ariei 2” se spune de obicei „adunarea este o operație binară”. În general, denumirea funcțiilor sau operatorilor cu o aritate dată urmează o convenție similară cu cea utilizată pentru sistemele numerice bazate pe n , cum ar fi binare și hexazecimale . Unul combină un prefix latin cu finalul -ary; de exemplu:

  • O funcție nulară nu acceptă argumente.
    • Exemplu:
  • O funcție unară are un singur argument.
    • Exemplu:
  • O funcție binară ia două argumente.
    • Exemplu:
  • O funcție ternară ia trei argumente.
    • Exemplu:
  • O funcție n -ary ia n argumente.
    • Exemplu:

Nular

Uneori este util să considerăm că o constantă este o operație a ariității 0 și, prin urmare, o numim nulară .

De asemenea, în programarea nefuncțională , o funcție fără argumente poate fi semnificativă și nu neapărat constantă (datorită efectelor secundare ). Adesea, astfel de funcții au de fapt unele intrări ascunse care ar putea fi variabile globale , inclusiv întreaga stare a sistemului (timp, memorie liberă ...). Acestea din urmă sunt exemple importante care există de obicei și în limbaje de programare „pur” funcționale.

Unar

Exemple de operatori unari în matematică și în programare includ minusul și plusul unar, operatorii de creștere și descreștere în limbaje în stil C (nu în limbaje logice) și succesorul , factorial , reciproc , etaj , plafon , parte fracționată , semn , valoare absolută , rădăcină pătrată ( rădăcina pătrată principală), conjugat complex (unar de „un” număr complex, care are totuși două părți la un nivel inferior de abstractizare) și funcții normative în matematică. Complement față de doi , de referință adresa și logic NU operatorii sunt exemple de operatori unari în matematică și programare.

Toate funcțiile în calculul lambda și în unele limbaje funcționale de programare (în special cele descendente din ML ) sunt unice din punct de vedere tehnic, dar vezi n-ary mai jos.

Potrivit lui Quine , distribuțiile latine fiind singuli, bini, terni și așa mai departe, termenul „singular” este adjectivul corect, mai degrabă decât „unar”. Abraham Robinson urmărește utilizarea lui Quine.

În filozofie, adjectivul monadic este uneori folosit pentru a descrie o relație unilocală, cum ar fi „are formă pătrată”, spre deosebire de o relație în două locuri, cum ar fi „este sora lui”.

Binar

Majoritatea operatorilor întâlniți în programare și matematică sunt de formă binară . Atât pentru programare, cât și pentru matematică, acestea includ operatorul de multiplicare , operatorul radix, operatorul de exponențiere adesea omis , operatorul de logaritm , operatorul de adunare și operatorul de divizare . Predicatele logice, cum ar fi OR , XOR și AND , IMP , sunt de obicei utilizate ca operatori binari cu doi operanzi diferiți. În arhitecturile CISC , este obișnuit să existe doi operanzi sursă (și rezultatul stocării să fie unul dintre ei).

Ternar

Limbajul de programare computer C și diferiții descendenți ai săi (inclusiv C ++ , C # , Java , Julia , Perl și alții) oferă operatorului ternar ?: , cunoscut și sub numele de operator condițional , luând trei operanzi. Primul operand (condiția) este evaluat și, dacă este adevărat, rezultatul întregii expresii este valoarea celui de-al doilea operand, altfel este valoarea celui de-al treilea operand. Forth limba conține , de asemenea , un operator ternar */, care multiplică primele două (one celule) numere, împărțind de al treilea, cu rezultatul intermediar fiind un număr de celule dublu. Aceasta este utilizată atunci când rezultatul intermediar ar revărsa o singură celulă. Python limba are o expresie condițională ternar x if C else y. Calculatorul Unix dc are mai mulți operatori ternari, cum ar fi |, care va scoate trei valori din stivă și va calcula eficient cu precizie arbitrară . În plus, multe instrucțiuni de limbaj de asamblare ( RISC ) sunt ternare (spre deosebire de doar doi operanzi specificați în CISC); sau mai mare, cum ar fi , care va încărca (MOV) în registrul AX conținutul unei locații de memorie calculate care este suma (paranteză) a registrelor BX și CX . MOV %AX, (%BX, %CX)

n -ary

Din punct de vedere matematic, o funcție de n argumente poate fi întotdeauna considerată ca o funcție a unui singur argument care este un element al unui spațiu de produs . Cu toate acestea, poate fi convenabil pentru notare să se ia în considerare funcțiile n -ary, cum ar fi hărțile multiliniare (care nu sunt hărți liniare pe spațiul produsului, dacă n ≠ 1 ).

Același lucru este valabil și pentru limbajele de programare, unde funcțiile care acceptă mai multe argumente ar putea fi întotdeauna definite ca funcții care iau un singur argument de un anumit tip compozit, cum ar fi un tuplu , sau în limbi cu funcții de ordin superior , prin curgere .

Aritate variabilă

În informatică, o funcție care acceptă un număr variabil de argumente se numește variadic . În logică și filozofie, predicatele sau relațiile care acceptă un număr variabil de argumente sunt numite multigrad , anadic sau variabil poliadic.

Terminologie

Latină nume sunt frecvent utilizate pentru arities specifice, în principal pe baza latine numere distributiv însemnând „în grupul de n “, deși unele sunt bazate pe latine numere cardinale sau numere ordinale . De exemplu, 1-ary se bazează pe unus cardinal , mai degrabă decât din singulī distributivă care ar duce la singulare .

x-ari Arity (bazat pe latină) Adicitate (bazată pe greacă) Exemplu în matematică Exemplu în informatică
0-ari Nular (din nūllus ) Niladic O constantă O funcție fără argumente, Adevărat, Fals
1-ari Unar Monadică Aditiv invers Logic NU operator
2-ari Binar Diadică Plus SAU , XOR , ȘI
3-ari Ternar Triadic Produs triplu de vectori Operator condiționat
4-ari Cuaternar Tetradic Cuaternion
5-ari Quinar Pentadic Quintile
6-ari Senar Hexadic
7-ari Septenar Hebdomadic
8-ari Octonar Ogdoadic
9-ari Novenar (alt. Nonary ) Enneadic
10-ari Denar (alt. Decenar ) Decadic
Mai mult de 2 arii Multar și multiar Polyadic
Variabil Variadic Sumă; de exemplu, Funcția variabilă , reduce

n - ary înseamnă n operanzi (sau parametri), dar este adesea folosit ca sinonim al „poliadic”.

Aceste cuvinte sunt adesea folosite pentru a descrie orice este legat de acest număr (de exemplu, șahul undenar este o variantă de șah cu o placă de 11 × 11 sau Petiția milenară din 1603).

Aritatea unei relații (sau predicat ) este dimensiunea domeniului din produsul cartezian corespunzător . (O funcție a ariei n are astfel aritatea n +1 considerată ca o relație.)

În programarea computerelor , există adesea o distincție sintactică între operatori și funcții ; operatorii sintactici au de obicei aritate 0, 1 sau 2 ( operatorul ternar ?: este, de asemenea, obișnuit). Funcțiile variază mult în ceea ce privește numărul de argumente, deși un număr mare poate deveni dificil. Unele limbaje de programare oferă, de asemenea, suport pentru funcții variadice , adică funcții care acceptă sintactic un număr variabil de argumente.

Vezi si

Referințe

linkuri externe

O monografie disponibilă gratuit online: