====== [Arduino] Referencia: Condicionales ====== ===== Condicional abreviado o ternario ===== condition ? true : false; A==5 ? dispara(): espera(); // Si A vale 5 se ejecuta dispara(), si no espera() \\ - [[https://aprenderaprogramar.es/index.php?option=com_content&view=article&id=833:operador-condicional-ternario-qif-con-interrogacionq-javascript-java-php-y-dos-puntos-ejemplo-cu01152e&catid=78&Itemid=206|Operador condicional ternario "if con interrogación"]] **Ventajas e inconvenientes del operador condicional ternario**. En la siguiente tabla resumimos las ventajas e inconvenientes del operador condicional ternario comparándolo con el if tradicional. ^ Condicional ternario ^ If tradicional ^ | Permite la escritura compacta, permitiendo ahorrar escritura de código. | Obliga a escribir más sentencias para conseguir el mismo resultado. | | Resulta más difícil de leer, entender y depurar | Resulta más fácil de leer, entender y depurar | | No todos los programadores lo usan, algunos ni siquiera lo conocen. | Todos los programadores lo usan y lo conocen. | | Se admite en la sintaxis de los lenguajes en lugares donde no se admite la sentencia if | No es válido en ciertas ubicaciones donde sólo se admiten expresiones, pero puede hacerse la evaluación antes del punto donde sea necesario el condicional. | | Criticado por algunos expertos, adorado por otros | Uso y aceptación cuasi-universal | \\ ===== Condicional if ===== if (variable < 10) { // accion A, se ejecuta si variable es menor de 10 } if (variable < 10) { // accion A, se ejecuta si variable es menor de 10 } else { // accion B, se ejecuta si variable es mayor o igual a 10 } if (variable < 10) { // accion A, se ejecuta si variable es menor de 10 } else if (variable >= 100) { // accion B, se ejecuta si variable es mayor o igual a 100 } else { // accion C, se ejecuta si variable es mayor o igual a 10 y menor de 100 } \\ ===== Condicional switch/case of ===== switch (variable) { case 1: // accion A, se ejecuta si variable vale 1 break; case 2: // accion B, se ejecuta si variable vale 2 break; default: // caso por defecto (opcional), se ejecuta en cualquier otro caso } \\ switch (variable) { case 1: case 2: // accion A, se ejecuta si variable vale 1 o 2 break; case 3: // accion B, se ejecuta si variable vale 3 break; default: // caso por defecto (opcional), se ejecuta en cualquier otro caso } \\