ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Operador Ternario

aeternus_isaac18 de Mayo de 2012

688 Palabras (3 Páginas)409 Visitas

Página 1 de 3

Operador Ternario

En informática un operador ternario (a veces incorrectamente llamado operador terciario) es un operador que toma tres argumentos. Los argumentos y el resultado puede ser de diferentes tipos. Originalmente proviene de BCPL, cuyo sintaxis equivalente para e1 ? e2: e3 era e1 -> e2, e3. Idiomas derivado de BCPL tienden a aparecer con este operador.

Muchos lenguajes de programación que utilizan la sintaxis del lenguage C utilizan un operador ternario,?:, que define una sentencia condicional. Dado que este operador es a menudo el único operador ternario existente en el lenguage de programación, a veces es referido simplemente como "el operador ternario".

La mayoría de los lenguajes de programación que se enfatizan en la programación funcional no necesitan dicho operador como su expresión regular condicional (s) es una expresión en primer lugar, por ejemplo, la expresión sistema (si (ab>) ab) es equivalente en la semántica de la expresión C (a> b)? a: b.

Este es también el caso en muchos lenguajes imperativos, empezando con ALGOL en el que sería posible escribir resultado := if a > b then a else b, también Smalltalk (resultado := (a > b) ifTrue: [ a ] ifFalse: [ b ]) o Ruby (resultado = if a > b: a else b end).

Asignación condicional

La sintaxis del operador ternario (?:) se utiliza como sigue:

Expresión boleana ? valor si cierto : valor si falso

La condición es evaluada verdadera o falsa como una expresión booleana. Sobre la base de la evaluación de la condición de Booleana, la expresión entera devuelve valor si cierto si la condición es verdadera, pero valor si falso en caso de lo contrario. Por lo general, las dos sub-expresiones valor si cierto y valor si falso deben tener el mismo tipo, lo cual determina el tipo de toda la expresión. La importancia de este tipo de control se encuentra en el uso más común del operador --en declaraciones de asignación condicional. En este uso aparece como una expresión en el lado derecho de una sentencia de asignación, de la siguiente manera:

variable = condición ? valor si cierto : valor si falso

El operador ?: es similar a la manera como funcionan las expresiones condicionales (if-then-else) en lenguajes de programación funcional, como Scheme, ML y Haskell, puesto que if-then-else forma una expresión en lugar de una declaración en esos idiomas.

Uso

El uso más común de este operador ternario es hacer una breve sentencia condicional. Por ejemplo, si queremos desarrollar código en C para cambiar las horas de apertura de una tienda a 12:00 del medio dia los fines de semana y 9 en punto entre semana, podemos usar:

int tiempo_de_apertura = (día == FIN_DE_SEMANA) ? 12 : 9;

en lugar del codigo más detallado

int tiempo_de_apertura;

if (día == FIN_DE_SEMANA)

tiempo_de_apertura = 12;

else

tiempo_de_apertura = 9;

Las dos formas son casi equivalentes. Tenga en cuenta que el ?: es una expresión y if-then-else una declaración. Tambien hay que tomar en cuenta que ni el valor si es verdaderoni valor si falso pueden ser omitidos en el operador ternario, lo cual resultaría en un error por el compilador. Esto contrasta con sentencias de if..else, donde se puede omitir la cláusula else.

Java, JSP

En Java el operador ternario es también referido como el operador condiconal y utiliza la misma sintaxis que los demás lenguajes basados en el lenguage C. Por ejemplo, para verifcar que una persona es mayor de edad, utilizariamos lo siguiente:

boolean mayor_de_edad = edad > 18 ? true: false;

Remplazaria el siguiente código detallado:

boolean mayor_de_edad;

if(edad > 18){

mayor_de_edad = true;

...

Descargar como (para miembros actualizados) txt (4 Kb)
Leer 2 páginas más »
Disponible sólo en Clubensayos.com