También conocidas como “Estructuras de Selección” te permiten elegir diferentes cursos de acción con base a condiciones establecidas en esta categorías tenemos IF, IF-ELSE, IF-ELSE-IF y SWITCH.
Sentencia IF: Se utiliza para ejecutar una sentencia o un grupo de ellas si una expresión es cierta.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
La sintaxis es la siguiente: | |
if (expresion){ //Si expresión es verdadera | |
sentenciaA; //Ejecutamos las sentencias | |
sentenciaB; | |
} | |
Ejemplo 1: | |
if(PORTA==0x01){ //Si PORTA es igual a 0x01 | |
PORTB=0xFF; //Colocamos el valor 0xFF en PORTB | |
} | |
Ejemplo 2: | |
if(PORTA==1 && A==5){ //Si PORTA=1 y A=5 | |
PORTC=1; //El puerto C es igual a 1 | |
LED_STATUS=0; //LED_STATUS es igual a 0 | |
X=150; //X es igual a 150 | |
} |
Sentencia IF-ELSE: Se utiliza para ejecutar dos opciones posibles una cuando la condición es verdadera y otra cuando no lo es. Si la condición es verdadera se ejecutan las sentencias dentro del IF, si es falsa se ejecuta lo que este dentro del ELSE.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
La sintaxis es la siguiente: | |
if(expresion){ //Si expresion es cierto | |
SentenciaA; //Ejecuta la sentencia A | |
} | |
else{ | |
SentenciaB; //Si es falso ejecuta sentencia B | |
} | |
Ejemplo 1: | |
if(BOTON_UNO==1){ | |
LED_STATUS=0; | |
} | |
else{ | |
LED_STATUS=1; | |
} |
Sentencia IF-ELSE-IF: Este es una versión ampliada del IF-ELSE ya que con esto puedes evaluar más de dos condiciones, la primera empieza con un IF, después sigue un ELSE-IF (las veces que se requiera) y por último se termina con un ELSE.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
La sintaxis es la siguiente: | |
if(Expresion1){ //Si Expresion1 es cierto | |
SentenciaA; //Ejecuta la sentencia A | |
} | |
else if(Expresion2){ //Si Expresion2 es cierto | |
SentenciaB; //Ejecuta la sentencia B | |
} | |
else if(Expresion3){ //Si Expresion3 es cierto | |
SentenciaC; //Ejecuta la sentencia C | |
} | |
else{ //Si ninguna de las anteriores se cumple | |
SentenciaD; //Ejecuta la sentencia D | |
} | |
Ejemplo 1: | |
if(PORTA==0x01){ | |
LED_ROJO=1; | |
} | |
else if(PORTA==0x02){ | |
LED_VERDE=1; | |
} | |
else if(PORTA==0x03){ | |
LED_AZUL=1; | |
} | |
else{ | |
LED_ROJO=0; | |
LED_VERDE=0; | |
LED_AZUL=0; | |
} |
Sentencia SWITCH: Esta sentencia nos brinda una forma más elegante de bifurcación múltiple. Podemos considerarla como una forma más estructurada de la sentencia IF-ELSE-IF, aunque tiene algunas restricciones en las condiciones lógicas a evaluar, las cuales son comparaciones de valores enteros. Para elaborar el código se usan las palabras reservadas como lo es SWITCH, CASE, BREAK Y DEFAULT. La opción DEFAULT contiene las sentencias que no entran en ningún caso anterior.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
La sintaxis es la siguiente: | |
switch(expresion){ | |
case constante1: //Si costante1 = expresion ejecutar sentenciaA | |
sentenciaA; | |
break; | |
case constante2: //Si costante2 = expresion ejecutar sentenciaB | |
sentenciaB; | |
break; | |
case constante3: //Si costante3 = expresion ejecutar sentenciaC | |
sentenciaC; | |
break; | |
. | |
. | |
. | |
default: //Si expresion no es igual a ninguna de las | |
sentenciaD; //constantes anteriores ejecutar la sentenciaD | |
break; | |
} | |
Ejemplo 1: | |
switch(VALOR){ | |
case 1: | |
LED_UNO=1; //Si VALOR=1 enciendo LED_UNO | |
break; | |
case 2: | |
LED_DOS=1; //Si VALOR=2 enciendo LED_DOS | |
break; | |
case 3: | |
LED_TRES=1; //Si VALOR=3 enciendo LED_TRES | |
break; | |
default: | |
LED_UNO=0; //Si VALOR es distinto | |
LED_DOS=0; //todos los LEDs apagados | |
LED_TRES=0; | |
break; | |
} |
Sentencias repetitivas
Dichas estructuras son también conocidas como por el nombre de “bucles”, “ciclos” o “lazos”. Este tipo de estructuras permite la ejecución de un conjunto de sentencias ya sea hasta que se cumple una condición o un número determinado de veces.
Sentencia WHILE: El cuerpo o bloque de este bucle se ejecutará una y otra vez mientras una expresión sea verdadera.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
La sintaxis es la siguiente: | |
while(expresion){ //Mientas expresion es cierta | |
sentenciaA; //Ejecutar las siguientes sentencias | |
sentenciaB; //Si expresion no es cierta | |
. //No va a ejecutar ninguna sentencia | |
. //dentro del WHILE | |
. | |
sentenciaN; | |
} | |
Ejemplo 1: | |
while(x!=0){ | |
a=1; | |
LED_STATUS=1; | |
VALOR=100; | |
} |
Sentencia DO-WHILE: Es parecida a un WHILE solo que la condición se evalúa al final, por lo que el cuerpo o bloque de este bucle se ejecutara por lo menos una vez. Mejor dicho mientras la expresión del WHILE sea verdadera se ejecutara todo lo que este dentro de DO.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
La sintaxis es la siguiente: | |
do{ | |
sentenciaA; //Ejecuta estas sentencias | |
sentenciaB; //mientras expresion no sea cierta | |
}while(expresion); //si se cumple las sentecias | |
//ya no se ejecutan mas | |
Ejemplo 1: | |
do{ | |
LED_STATUS=1; //Encienoo LED | |
}while(n<=50); //mientas n sea menos a 50 |
Sentencia FOR: Las dos sentencias anteriores, WHILE Y DO-WHILE se suelen emplear cuando no se sabe de antemano la cantidad de veces que se va a ejecutar el bucle. En los casos donde el bucle involucra alguna forma de conteo finito es preferible emplear la sentencia FOR. Esto porque un una sentencia FOR te permite tener un valor, una condición y una forma de incremento.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
La sintaxis es la siguiente: | |
for(expresion1; expresion2; expresion3){ | |
sentenciaA; //expresion1 es la condicion de inicio | |
sentenciaB; //expresion2 es la condicion que se evalua | |
} //mientras sea cierta se ejecutan | |
//las sentencias A y B | |
//expresion3 pone fin a expresion2 | |
Ejemplo 1: | |
for(i=0; i<=20; i++){ | |
LED_STATUS=1; | |
} |
Descargas:
Donaciones:
Aquí el enlace directo para DESCARGAR los archivos disponibles, también puedes revisar o descargar la información desde mi repositorio en GitHub, si no sabes como descargarlo puedes checar aquí, bueno por el momento es todo si tienes dudas, comentarios, sugerencias, inquietudes, traumas, etc. dejarlas y tratare de responder lo mas pronto posible.
Donaciones:
Si te gusta el contenido o si los recursos te son de utilidad, comparte el enlace en tus redes sociales o sitios donde creas que puede ser de interés y la otra puedes ayudarme con una donación para seguir realizando publicaciones y mejorar el contenido del sitio. También puedes hacer donaciones en especie, ya sea con componentes, tarjetas de desarrollo o herramientas. Ponte en contacto para platicar, o puedes volverte uno de nuestros sponsors.
Pido una retroalimentación avisando cada que un enlace no sirva o tenga errores al momento de abrirlo, así también si una imagen no se ve o no carga, para corregirlo en el menor tiempo posible.