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
[modificare | modificare sursă]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ă 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.[3]
În algebra booleană definește formula .
Informatică
[modificare | modificare sursă]Î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
[modificare | modificare sursă]- ^ a b en MDN, nmve. „Conditional (ternary) Operator”. Mozilla Developer Network. MDN. Accesat în .
- ^ en Jeremiah Certaine (1943) The ternary operation (abc) = a b−1c of a group, Bulletin of the American Mathematical Society 49: 868–77 MR0009953
- ^ 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
- ^ en Hoffer, Alex. „Ternary Operator”. Cprogramming.com. Cprogramming.com. Accesat în .
- ^ 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
- ^ Tipuri de date si operatori: Laborator 2, Universitatea Politehnica din București, accesat 2021-08-18
- ^ en „6. Expressions — Python 3.9.1 documentation”. docs.python.org. Accesat în .
- ^ en „7.7 Expressions”. caml.inria.fr. Accesat în .
Legături externe
[modificare | modificare sursă]- Materiale media legate de operație ternară la Wikimedia Commons