Î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.
Exemple thumb|Fiind date punctele A, B și P, construcția geometrică produce V, proiecția conjugatului armonic al lui P față de A și B 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 î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. Jeremiah Certaine (1943) The ternary operation (abc) = a b−1c of a group , Bulletin of the American Mathematical Society 49: 868–77 Deoarece (abc) = d implică a – b = c – d, 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. 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
În algebra booleană definește formula .
Informatică În informatică, un operator ternar este un operator care are trei argumente (operanzi). Argumentele și rezultatul pot fi de diferite tipuri. Multe limbaje de programare care folosesc sintaxe asemănătoare cu cea a lumbajului C dispun de operatorul ternar ?:, care definește o 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. În unele limbaje acest operator este numit operator condiționalTipuri de date si operatori: Laborator 2, Universitatea Politehnica din București, accesat 2021-08-18.
Î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]. 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.
Operația de este alt operator ternar.
Alt exemplu de operator ternar este between () din SQL.
Limbajul de programare are operatorul ternar "to-by" (): expresia 1 to 10 by 2 generează întregii impari de la 1 la 9.
Note
Legături externe