Operație ternară

În matematică, o operație ternară este o operație n-ară cu n = 3 operanzi. O operație ternară pe o mulțime A ia trei elemente date din A și le combină pentru a forma un singur element din A.

În informatică, un operator ternar este un operator care are trei argumente.[1]

Exemple

Dacă K este un corp, funcția este un exemplu de operator ternar pe K. Proprietățile acestei operații ternare au fost folosite pentru a defini inelele ternare planare⁠(d) în bazele geometriei proiective.

În planul euclidian cu punctele a, b, c definite față de o origine, operația ternară a fost folosită pentru a defini vectorii euclidieni.[2] Deoarece (abc) = d implică ab = cd, aceste segmente orientate sunt echipotente și sunt asociate cu același vector euclidian. Oricare trei puncte din planul a, b, c determină astfel un paralelogram cu d la al patrulea vârf.

În geometria proiectivă diviziunea armonică este o operație ternară pe trei puncte. În diagramă, punctele A, B și P determină punctul V, conjugatul armonic al P față de A și B. Punctul R și linia prin P pot fi selectate în mod arbitrar, determinând C și D. Desenarea AC și BD determină intersecția Q, iar RQ determină apoi V.

Presupunând că A și B sunt două mulțimi date iar este colecția de relații binare între A și B. Compunerea relațiilor este întotdeauna definită atunci când A = B, dar în caz contrar compunerea ternară poate fi definită prin , care este relația inversă a q.[3]

În algebra booleană definește formula .

Informatică

În informatică, un operator ternar este un operator care are trei argumente (operanzi).[1] Argumentele și rezultatul pot fi de diferite tipuri. Multe limbaje de programare care folosesc sintaxe asemănătoare cu cea a lumbajului C[4] dispun de operatorul ternar ?:, care definește o instrucțiune de decizie⁠(d)[5]. În unele limbaje acest operator este numit operator condițional[6].

În Python instrucțiunea de decizie este x if C else y (x dacă condiția C este evaluată drept „adevărat”, y dacă este „fals”). Python are și o operație ternară asupra tablourilor: a[b:c] întoarce un tablou al cărui prim element este a[b] iar ultimul este a[c-1].[7] Expresiile OCaml permit operații ternare pe înregistrări, tablouri și șiruri: a.[b]<-c înseamnă că elementul cu indicele b din șirul a primește valoarea c.[8]

Operația de înmulțire și acumulare⁠(d) este alt operator ternar.

Alt exemplu de operator ternar este between (română între) din SQL.

Limbajul de programare Icon⁠(d) are operatorul ternar "to-by" (română până la-cu pasul): expresia 1 to 10 by 2 generează întregii impari de la 1 la 9.

Note

  1. en MDN, nmve. „Conditional (ternary) Operator”. Mozilla Developer Network. MDN. Accesat în .
  2. en Jeremiah Certaine (1943) The ternary operation (abc) = a b−1c of a group, Bulletin of the American Mathematical Society 49: 868–77 MR0009953
  3. en Christopher Hollings (2014) Mathematics across the Iron Curtain: a history of the algebraic theory of semigroups, page 264, History of Mathematics 41, American Mathematical Society ISBN: 978-1-4704-1493-1
  4. en Hoffer, Alex. „Ternary Operator”. Cprogramming.com. Cprogramming.com. Accesat în .
  5. Daniela Zaharie, Algoritmi si structuri de date: Curs 1, Introducere în rezolvarea algoritmică a problemelor, Timișoara: Universitatea de Vest, 2019, p. 55, accesat 2021-08-18
  6. Tipuri de date si operatori: Laborator 2, Universitatea Politehnica din București, accesat 2021-08-18
  7. en „6. Expressions — Python 3.9.1 documentation”. docs.python.org. Accesat în .
  8. en „7.7 Expressions”. caml.inria.fr. Accesat în .

Legături externe

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.