SlideShare una empresa de Scribd logo
1 de 4
Descargar para leer sin conexión
CENTRO TECNOLÓGICO DE AVANZADA
AREA DE MECATRÓNICA
Código: M06 MICROCONTROLADORES I
Laboratorio: D-19
Duración: 2 Hs INSTRUCCIONES DE CONTROL
5.2. Instrucción switch
Objetivos
1. Entender el funcionamiento de la estructura switch.
La instrucción switch hace que se seleccione un grupo de instrucciones entre varios
grupos disponibles. La selección se basa en el valor de una expresión que se incluye en la
instrucción switch.
La forma general de la instrucción switch es
switch (expresión) instrucción
en donde expresión devuelve un valor entero. Tenga en cuenta que expresión tam-
bién puede ser de tipo char, ya que los caracteres individuales tienen valores enteros.
La instrucción incluida es generalmente una instrucción compuesta que especifi-
ca opciones posibles a seguir. Cada opción se expresa como un grupo de una o más
instrucciones individuales dentro de la instrucción global incluida.
Para cada opción, la primera instrucción dentro del grupo debe ser precedida por
una o más etiquetas «case» (también llamadas prefijos). Las etiquetas case identifican
los diferentes grupos de instrucciones (las distintas opciones) y distinguen unas de otras.
Las etiquetas case deben ser, por tanto, únicas dentro de una instrucción switch dada.
Cuando se ejecuta la instrucción switch, se evalúa la expresión y se transfiere el
control directamente al grupo de instrucciones cuya etiqueta case tenga el mismo valor
que el de expresión. Si ninguno de los valores de las etiquetas case coincide con el
valor de expresión, entonces no se seleccionará ninguno de los grupos de la instrucción
switch. En este caso se transfiere el control directamente a la instrucción que se encuentre
a continuación de la instrucción switch.
EJEMPLO 5.1 Presentamos a continuación una instrucción switch sencilla. En este
ejemplo, suponemos que eleccion es una variable de tipo char
switch (eleccion = getchar ()) {
case ’r’:
case ’R’:
printf ("ROJO");
break;
case ’b’:
case ’B’:
printf ("BLANCO");
Pedro Ramírez <pedroramirez22@gmail.com> 1
CENTRO TECNOLÓGICO DE AVANZADA
AREA DE MECATRÓNICA
Código: M06 MICROCONTROLADORES I
Laboratorio: D-19
Duración: 2 Hs INSTRUCCIONES DE CONTROL
break;
case ’a’:
case ’A’:
printf ("AZUL");
}
Por tanto, se presentará ROJO si eleccion representa r o R, se presentará BLANCO si
eleccion representa b o B, y AZUL si eleccion tiene el valor a o A. No se visualizará
nada si eleccion tiene asignado algún otro carácter.
Observe que cada grupo de instrucciones tiene dos etiquetas case para contemplar
mayúsculas y minúsculas. Observe también que cada uno de los dos primeros grupos
acaba con la instrucción break. La instrucción break hace que se transfiera el control
fuera de la instrucción switch, evitando que se ejecute más de un grupo de instrucciones.
Uno de los grupos de instrucciones se puede etiquetar como default. Este grupo se
seleccionará si ninguna de las etiquetas case coincide con el valor de expresión. (Ésta
es una forma conveniente de generar un mensaje de error en rutinas de corrección de
errores.) El grupo default puede aparecer en cualquier lugar dentro de la instrucción
switch (no necesita ser emplazado al final). Si ninguna de las etiquetas case coincide con
el valor de expresión y no se encuentra el grupo default (como en el ejemplo anterior),
la instrucción switch no hará nada.
EJEMPLO 5.2 He aquí una variación de la instrucción switch presentada en el ejem-
plo anterior.
switch (eleccion = toupper(getchar())){
case ’R’:
printf ("ROJO");
break;
case ’B’:
printf ("BLANCO");
break;
case ’A’:
printf ("AZUL");
break;
default:
printf ("ERROR");
}
La instrucción switch contiene ahora un grupo default (que consta de una sola
instrucción), el cual genera un mensaje de error si ninguna de las etiquetas case coincide
con expresión.
Cada uno de los tres primeros grupos de instrucciones tiene ahora una sola etiqueta
case. En este ejemplo no se necesitan etiquetas case múltiples, ya que la función de bi-
blioteca toupper hace que todos los caracteres que se reciban se conviertan a mayúsculas.
Por tanto, eleccion siempre tendrá asignada una letra mayúscula.
Pedro Ramírez <pedroramirez22@gmail.com> 2
CENTRO TECNOLÓGICO DE AVANZADA
AREA DE MECATRÓNICA
Código: M06 MICROCONTROLADORES I
Laboratorio: D-19
Duración: 2 Hs INSTRUCCIONES DE CONTROL
5.2.1. LA INSTRUCCIÓN break
La instrucción break se utiliza para terminar la ejecución de una instrucción, como
por ejemplo switch.
La instrucción break se puede escribir sencillamente de la siguiente forma:
break
La instrucción break se ocupa de transferir el control fuera de la instrucción switch
completa, a la primera instrucción que se.encuentre a continuación de ella.
Practica
1. ¿Qué salida producirá el código siguiente, cuando se empotra en un programa
completo y primera-opcion vale 1?¿Y si primera-opcion vale 2?
int primera-opcion;
switch(primera-opcion+1)
{
case 1:
puts("Cordero asado");
break;
case 2:
puts("Chuleta lechal");
break;
case 3:
puts("Chuletón");
case 4:
puts("Postre de Pastel");
break;
default:
puts("Buen apetito");
}
2. Escribir un programa que introduzca el número de un mes (1 a 12) y visualice el
número de días de ese mes.
3. El domingo de Pascua es el primer domingo después de la primera luna llena pos-
terior al equinoccio de primavera, y se determina mediante el siguiente cálculo
sencillo:
A = año mod 19
Pedro Ramírez <pedroramirez22@gmail.com> 3
CENTRO TECNOLÓGICO DE AVANZADA
AREA DE MECATRÓNICA
Código: M06 MICROCONTROLADORES I
Laboratorio: D-19
Duración: 2 Hs INSTRUCCIONES DE CONTROL
B = año mod 4
C = año mod 7
D = (19 * A + 24) mod 30
E = (2 * B + 4 * C + 6 * D + 5 ) mod 7
N = (22 + D + E )
Donde N indica el número de día del mes de marzo (si N es igual o menor que
3) o abril (si es mayor que 31). Construir un programa que determine fechas de
domingos de Pascua.
4. Escribir un programa que acepte fechas escritas de modo usual y las visualice como
tres números. Por ejemplo, la entrada
15, Febrero 1989
producirá la salida
15 2 1989
5. Escribir un programa que acepte un número de tres dígitos escrito en palabra y a
continuación los visualice como un valor de tipo entero. La entrada se termina con
un punto. por ejemplo, la entrada
doscientos veinticinco
producirá la salida
225
6. Escribir un programa que calcule el número de días de un mes, dados los valores
numéricos del mes y el año.
7. Escribir y ejecutar un programa que simule un calculador simple. Lee dos enteros
y un carácter. Si el carácter es un +, se imprime la suma; si es un -, se imprime la
diferencia; si es un *, se imprime el producto; si es un /, se imprime el cociente; y
si es un % se imprime el resto. Nota: utilizar la sentencia switch.
Ultima Actualización 7 de marzo de 2017
Pedro Ramírez <pedroramirez22@gmail.com> 4

Más contenido relacionado

La actualidad más candente

Introducción A Las Estructuras De Seleccion En C
Introducción A Las Estructuras De Seleccion En CIntroducción A Las Estructuras De Seleccion En C
Introducción A Las Estructuras De Seleccion En Cpainni
 
Estructuras de seleccion
Estructuras de seleccionEstructuras de seleccion
Estructuras de seleccionClariza
 
Estructura de un Algoritmo
Estructura de un AlgoritmoEstructura de un Algoritmo
Estructura de un AlgoritmoCarlos Pes
 
Clase 2 Estructuras de Control
Clase 2 Estructuras de ControlClase 2 Estructuras de Control
Clase 2 Estructuras de ControlDesireé mart?ez
 
Estructuras de control selectivas
Estructuras de control selectivasEstructuras de control selectivas
Estructuras de control selectivasmarigelcontreras
 
Asignación, Salida y Entrada
Asignación, Salida y EntradaAsignación, Salida y Entrada
Asignación, Salida y EntradaCarlos Pes
 
Estructuras de control
Estructuras de controlEstructuras de control
Estructuras de controlFernando Solis
 
2.9 variables
2.9 variables2.9 variables
2.9 variablesSNPP
 
Instrucciones basicas de_c_
Instrucciones basicas de_c_Instrucciones basicas de_c_
Instrucciones basicas de_c_EspitiaGiancarlo
 
Comparacion lenguajes-de-programacion-c-y-cplusplus
Comparacion lenguajes-de-programacion-c-y-cplusplusComparacion lenguajes-de-programacion-c-y-cplusplus
Comparacion lenguajes-de-programacion-c-y-cplusplusAbefo
 
Instrucciones primitivas en pseudocódigo
Instrucciones primitivas en pseudocódigoInstrucciones primitivas en pseudocódigo
Instrucciones primitivas en pseudocódigoAbrirllave
 
Programacion Avanzada JavaScript
Programacion Avanzada JavaScriptProgramacion Avanzada JavaScript
Programacion Avanzada JavaScripttovi27
 
Instrucciones de control repetitivas
Instrucciones de control repetitivasInstrucciones de control repetitivas
Instrucciones de control repetitivasCarlos Pes
 
Estructuras de repetición en programacion
Estructuras de repetición en programacionEstructuras de repetición en programacion
Estructuras de repetición en programacionSERCOMPFAST
 

La actualidad más candente (20)

COMANDOS DE C#
COMANDOS DE C#COMANDOS DE C#
COMANDOS DE C#
 
Introducción A Las Estructuras De Seleccion En C
Introducción A Las Estructuras De Seleccion En CIntroducción A Las Estructuras De Seleccion En C
Introducción A Las Estructuras De Seleccion En C
 
Estructuras de seleccion
Estructuras de seleccionEstructuras de seleccion
Estructuras de seleccion
 
Comandos c#
Comandos c#Comandos c#
Comandos c#
 
Estructuras de control
Estructuras de controlEstructuras de control
Estructuras de control
 
Diagramas De Flujo
Diagramas De FlujoDiagramas De Flujo
Diagramas De Flujo
 
Estructura de un Algoritmo
Estructura de un AlgoritmoEstructura de un Algoritmo
Estructura de un Algoritmo
 
Clase 2 Estructuras de Control
Clase 2 Estructuras de ControlClase 2 Estructuras de Control
Clase 2 Estructuras de Control
 
Estructuras de control selectivas
Estructuras de control selectivasEstructuras de control selectivas
Estructuras de control selectivas
 
Asignación, Salida y Entrada
Asignación, Salida y EntradaAsignación, Salida y Entrada
Asignación, Salida y Entrada
 
Estructuras de control
Estructuras de controlEstructuras de control
Estructuras de control
 
Ordinogramas
OrdinogramasOrdinogramas
Ordinogramas
 
2.9 variables
2.9 variables2.9 variables
2.9 variables
 
Instrucciones basicas de_c_
Instrucciones basicas de_c_Instrucciones basicas de_c_
Instrucciones basicas de_c_
 
Metodos en java
Metodos en javaMetodos en java
Metodos en java
 
Comparacion lenguajes-de-programacion-c-y-cplusplus
Comparacion lenguajes-de-programacion-c-y-cplusplusComparacion lenguajes-de-programacion-c-y-cplusplus
Comparacion lenguajes-de-programacion-c-y-cplusplus
 
Instrucciones primitivas en pseudocódigo
Instrucciones primitivas en pseudocódigoInstrucciones primitivas en pseudocódigo
Instrucciones primitivas en pseudocódigo
 
Programacion Avanzada JavaScript
Programacion Avanzada JavaScriptProgramacion Avanzada JavaScript
Programacion Avanzada JavaScript
 
Instrucciones de control repetitivas
Instrucciones de control repetitivasInstrucciones de control repetitivas
Instrucciones de control repetitivas
 
Estructuras de repetición en programacion
Estructuras de repetición en programacionEstructuras de repetición en programacion
Estructuras de repetición en programacion
 

Similar a INSTRUCCIONES SWITCH Y BREAK EN C

Lenguaje Borland C - Estructuras de Control
Lenguaje Borland C - Estructuras de ControlLenguaje Borland C - Estructuras de Control
Lenguaje Borland C - Estructuras de ControlKarina Arguedas Ruelas
 
instrucciónes basicas para c++
instrucciónes basicas para c++instrucciónes basicas para c++
instrucciónes basicas para c++heidiromero11
 
ESTRUCTURAS DE SELECCIÓN SENTENCIAS IF Y SWITCH EN C++
ESTRUCTURAS DE SELECCIÓN SENTENCIAS IF Y SWITCH EN C++ESTRUCTURAS DE SELECCIÓN SENTENCIAS IF Y SWITCH EN C++
ESTRUCTURAS DE SELECCIÓN SENTENCIAS IF Y SWITCH EN C++die_dex
 
Centro de estudios_tecnologicos_industrial_y_de_servicios
Centro de estudios_tecnologicos_industrial_y_de_serviciosCentro de estudios_tecnologicos_industrial_y_de_servicios
Centro de estudios_tecnologicos_industrial_y_de_servicioswendy_romero06
 
Centro de estudios_tecnologicos_industrial_y_de_servicios
Centro de estudios_tecnologicos_industrial_y_de_serviciosCentro de estudios_tecnologicos_industrial_y_de_servicios
Centro de estudios_tecnologicos_industrial_y_de_serviciosEfren Pacheco
 
Guia Programacion 1
Guia Programacion 1Guia Programacion 1
Guia Programacion 1martell024
 
Presentación de matlab electromagnetismo ...
Presentación de matlab electromagnetismo                                     ...Presentación de matlab electromagnetismo                                     ...
Presentación de matlab electromagnetismo ...SimonCaceres4
 
3. ESTRUCTURAS DE CONTROL C.pptx
3. ESTRUCTURAS DE CONTROL C.pptx3. ESTRUCTURAS DE CONTROL C.pptx
3. ESTRUCTURAS DE CONTROL C.pptxDieguess
 
Grupo 6 turbopascal apesteguia (1)
Grupo 6 turbopascal apesteguia (1)Grupo 6 turbopascal apesteguia (1)
Grupo 6 turbopascal apesteguia (1)tonytenorio2
 
Tutorial lenguaje c
Tutorial lenguaje cTutorial lenguaje c
Tutorial lenguaje ctbjs
 

Similar a INSTRUCCIONES SWITCH Y BREAK EN C (20)

Lenguaje Borland C - Estructuras de Control
Lenguaje Borland C - Estructuras de ControlLenguaje Borland C - Estructuras de Control
Lenguaje Borland C - Estructuras de Control
 
instrucciónes basicas para c++
instrucciónes basicas para c++instrucciónes basicas para c++
instrucciónes basicas para c++
 
Bebe ami
Bebe amiBebe ami
Bebe ami
 
ESTRUCTURAS DE CONTROL.pdf
ESTRUCTURAS DE CONTROL.pdfESTRUCTURAS DE CONTROL.pdf
ESTRUCTURAS DE CONTROL.pdf
 
Power point
Power pointPower point
Power point
 
Guia2 ac
Guia2 acGuia2 ac
Guia2 ac
 
Clase 6
Clase 6Clase 6
Clase 6
 
ESTRUCTURAS DE SELECCIÓN SENTENCIAS IF Y SWITCH EN C++
ESTRUCTURAS DE SELECCIÓN SENTENCIAS IF Y SWITCH EN C++ESTRUCTURAS DE SELECCIÓN SENTENCIAS IF Y SWITCH EN C++
ESTRUCTURAS DE SELECCIÓN SENTENCIAS IF Y SWITCH EN C++
 
Centro de estudios_tecnologicos_industrial_y_de_servicios
Centro de estudios_tecnologicos_industrial_y_de_serviciosCentro de estudios_tecnologicos_industrial_y_de_servicios
Centro de estudios_tecnologicos_industrial_y_de_servicios
 
Centro de estudios_tecnologicos_industrial_y_de_servicios
Centro de estudios_tecnologicos_industrial_y_de_serviciosCentro de estudios_tecnologicos_industrial_y_de_servicios
Centro de estudios_tecnologicos_industrial_y_de_servicios
 
Guia Programacion 1
Guia Programacion 1Guia Programacion 1
Guia Programacion 1
 
Presentacion c++
Presentacion c++Presentacion c++
Presentacion c++
 
Presentacion c++
Presentacion c++Presentacion c++
Presentacion c++
 
Programacion en java
Programacion en javaProgramacion en java
Programacion en java
 
Presentación de matlab electromagnetismo ...
Presentación de matlab electromagnetismo                                     ...Presentación de matlab electromagnetismo                                     ...
Presentación de matlab electromagnetismo ...
 
3. ESTRUCTURAS DE CONTROL C.pptx
3. ESTRUCTURAS DE CONTROL C.pptx3. ESTRUCTURAS DE CONTROL C.pptx
3. ESTRUCTURAS DE CONTROL C.pptx
 
Fundamentos de Lenguaje C
Fundamentos de Lenguaje CFundamentos de Lenguaje C
Fundamentos de Lenguaje C
 
Grupo 6 turbopascal apesteguia (1)
Grupo 6 turbopascal apesteguia (1)Grupo 6 turbopascal apesteguia (1)
Grupo 6 turbopascal apesteguia (1)
 
Funcion printf
Funcion printfFuncion printf
Funcion printf
 
Tutorial lenguaje c
Tutorial lenguaje cTutorial lenguaje c
Tutorial lenguaje c
 

Más de SNPP

RR00X_RESUMEN.pdf
RR00X_RESUMEN.pdfRR00X_RESUMEN.pdf
RR00X_RESUMEN.pdfSNPP
 
RR_TAYI.pdf
RR_TAYI.pdfRR_TAYI.pdf
RR_TAYI.pdfSNPP
 
1. panel de le ds
1. panel de le ds1. panel de le ds
1. panel de le dsSNPP
 
7. incubadora de huevos
7. incubadora de huevos7. incubadora de huevos
7. incubadora de huevosSNPP
 
6. visualizacion remota de consumo de agua en tiempo real
6. visualizacion remota de consumo de agua en tiempo real6. visualizacion remota de consumo de agua en tiempo real
6. visualizacion remota de consumo de agua en tiempo realSNPP
 
5. alimentador de animales domesticos smart feeder
5. alimentador de animales domesticos smart feeder5. alimentador de animales domesticos smart feeder
5. alimentador de animales domesticos smart feederSNPP
 
3. radar medidor de velocidad
3. radar medidor de velocidad3. radar medidor de velocidad
3. radar medidor de velocidadSNPP
 
2. soft starter monofasico
2. soft starter monofasico2. soft starter monofasico
2. soft starter monofasicoSNPP
 
Operadores y expresiones
Operadores y expresionesOperadores y expresiones
Operadores y expresionesSNPP
 
6.2 cadenas de caracteres
6.2 cadenas de caracteres6.2 cadenas de caracteres
6.2 cadenas de caracteresSNPP
 
6.1 vectores
6.1 vectores6.1 vectores
6.1 vectoresSNPP
 
5.5 instruccion for
5.5 instruccion for5.5 instruccion for
5.5 instruccion forSNPP
 
5.4 instruccion do-while
5.4 instruccion do-while5.4 instruccion do-while
5.4 instruccion do-whileSNPP
 
5.3 instruccion while
5.3 instruccion while5.3 instruccion while
5.3 instruccion whileSNPP
 
5.1 instruccion if-else
5.1 instruccion if-else5.1 instruccion if-else
5.1 instruccion if-elseSNPP
 
4. entrada y salida de datos
4. entrada y salida de datos4. entrada y salida de datos
4. entrada y salida de datosSNPP
 
3.6 funciones de biblioteca
3.6 funciones de biblioteca3.6 funciones de biblioteca
3.6 funciones de bibliotecaSNPP
 
3.5 operador condicional
3.5 operador condicional3.5 operador condicional
3.5 operador condicionalSNPP
 
2.10 entrada y salida
2.10 entrada y salida2.10 entrada y salida
2.10 entrada y salidaSNPP
 
2.8 constantes
2.8 constantes2.8 constantes
2.8 constantesSNPP
 

Más de SNPP (20)

RR00X_RESUMEN.pdf
RR00X_RESUMEN.pdfRR00X_RESUMEN.pdf
RR00X_RESUMEN.pdf
 
RR_TAYI.pdf
RR_TAYI.pdfRR_TAYI.pdf
RR_TAYI.pdf
 
1. panel de le ds
1. panel de le ds1. panel de le ds
1. panel de le ds
 
7. incubadora de huevos
7. incubadora de huevos7. incubadora de huevos
7. incubadora de huevos
 
6. visualizacion remota de consumo de agua en tiempo real
6. visualizacion remota de consumo de agua en tiempo real6. visualizacion remota de consumo de agua en tiempo real
6. visualizacion remota de consumo de agua en tiempo real
 
5. alimentador de animales domesticos smart feeder
5. alimentador de animales domesticos smart feeder5. alimentador de animales domesticos smart feeder
5. alimentador de animales domesticos smart feeder
 
3. radar medidor de velocidad
3. radar medidor de velocidad3. radar medidor de velocidad
3. radar medidor de velocidad
 
2. soft starter monofasico
2. soft starter monofasico2. soft starter monofasico
2. soft starter monofasico
 
Operadores y expresiones
Operadores y expresionesOperadores y expresiones
Operadores y expresiones
 
6.2 cadenas de caracteres
6.2 cadenas de caracteres6.2 cadenas de caracteres
6.2 cadenas de caracteres
 
6.1 vectores
6.1 vectores6.1 vectores
6.1 vectores
 
5.5 instruccion for
5.5 instruccion for5.5 instruccion for
5.5 instruccion for
 
5.4 instruccion do-while
5.4 instruccion do-while5.4 instruccion do-while
5.4 instruccion do-while
 
5.3 instruccion while
5.3 instruccion while5.3 instruccion while
5.3 instruccion while
 
5.1 instruccion if-else
5.1 instruccion if-else5.1 instruccion if-else
5.1 instruccion if-else
 
4. entrada y salida de datos
4. entrada y salida de datos4. entrada y salida de datos
4. entrada y salida de datos
 
3.6 funciones de biblioteca
3.6 funciones de biblioteca3.6 funciones de biblioteca
3.6 funciones de biblioteca
 
3.5 operador condicional
3.5 operador condicional3.5 operador condicional
3.5 operador condicional
 
2.10 entrada y salida
2.10 entrada y salida2.10 entrada y salida
2.10 entrada y salida
 
2.8 constantes
2.8 constantes2.8 constantes
2.8 constantes
 

Último

MEC. FLUIDOS - Análisis Diferencial del Movimiento de un Fluido -GRUPO5 sergi...
MEC. FLUIDOS - Análisis Diferencial del Movimiento de un Fluido -GRUPO5 sergi...MEC. FLUIDOS - Análisis Diferencial del Movimiento de un Fluido -GRUPO5 sergi...
MEC. FLUIDOS - Análisis Diferencial del Movimiento de un Fluido -GRUPO5 sergi...Arquitecto Alejandro Gomez cornejo muñoz
 
Peligros de Excavaciones y Zanjas presentacion
Peligros de Excavaciones y Zanjas presentacionPeligros de Excavaciones y Zanjas presentacion
Peligros de Excavaciones y Zanjas presentacionOsdelTacusiPancorbo
 
SEMANA 6 MEDIDAS DE TENDENCIA CENTRAL.pdf
SEMANA  6 MEDIDAS DE TENDENCIA CENTRAL.pdfSEMANA  6 MEDIDAS DE TENDENCIA CENTRAL.pdf
SEMANA 6 MEDIDAS DE TENDENCIA CENTRAL.pdffredyflores58
 
Clase 1 Análisis Estructura. Para Arquitectura pptx
Clase 1 Análisis Estructura. Para Arquitectura pptxClase 1 Análisis Estructura. Para Arquitectura pptx
Clase 1 Análisis Estructura. Para Arquitectura pptxPaolaVillalba13
 
S454444444444444444_CONTROL_SET_A_GEOMN1204.pdf
S454444444444444444_CONTROL_SET_A_GEOMN1204.pdfS454444444444444444_CONTROL_SET_A_GEOMN1204.pdf
S454444444444444444_CONTROL_SET_A_GEOMN1204.pdffredyflores58
 
Edificio residencial Tarsia de AEDAS Homes Granada
Edificio residencial Tarsia de AEDAS Homes GranadaEdificio residencial Tarsia de AEDAS Homes Granada
Edificio residencial Tarsia de AEDAS Homes GranadaANDECE
 
AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptx
AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptxAMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptx
AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptxLuisvila35
 
Estacionamientos, Existen 3 tipos, y tienen diferentes ángulos de inclinación
Estacionamientos, Existen 3 tipos, y tienen diferentes ángulos de inclinaciónEstacionamientos, Existen 3 tipos, y tienen diferentes ángulos de inclinación
Estacionamientos, Existen 3 tipos, y tienen diferentes ángulos de inclinaciónAlexisHernandez885688
 
Sistema de gestión de turnos para negocios
Sistema de gestión de turnos para negociosSistema de gestión de turnos para negocios
Sistema de gestión de turnos para negociosfranchescamassielmor
 
Como de produjo la penicilina de manera masiva en plena guerra mundial Biotec...
Como de produjo la penicilina de manera masiva en plena guerra mundial Biotec...Como de produjo la penicilina de manera masiva en plena guerra mundial Biotec...
Como de produjo la penicilina de manera masiva en plena guerra mundial Biotec...ssuser646243
 
Sistema de Base de Datos (Rubén Alberto)
Sistema de Base de Datos (Rubén Alberto)Sistema de Base de Datos (Rubén Alberto)
Sistema de Base de Datos (Rubén Alberto)mendezruben1901
 
Revista estudiantil, trabajo final Materia ingeniería de Proyectos
Revista estudiantil, trabajo final Materia ingeniería de ProyectosRevista estudiantil, trabajo final Materia ingeniería de Proyectos
Revista estudiantil, trabajo final Materia ingeniería de ProyectosJeanCarlosLorenzo1
 
Biología molecular ADN recombinante.pptx
Biología molecular ADN recombinante.pptxBiología molecular ADN recombinante.pptx
Biología molecular ADN recombinante.pptxluisvalero46
 
SOUDAL: Soluciones de sellado, pegado y hermeticidad
SOUDAL: Soluciones de sellado, pegado y hermeticidadSOUDAL: Soluciones de sellado, pegado y hermeticidad
SOUDAL: Soluciones de sellado, pegado y hermeticidadANDECE
 
Fisiología del azufre en plantas S.S.pdf
Fisiología del azufre en plantas S.S.pdfFisiología del azufre en plantas S.S.pdf
Fisiología del azufre en plantas S.S.pdfJessLeonelVargasJimn
 
5.1 MATERIAL COMPLEMENTARIO Sesión 02.pptx
5.1 MATERIAL COMPLEMENTARIO Sesión 02.pptx5.1 MATERIAL COMPLEMENTARIO Sesión 02.pptx
5.1 MATERIAL COMPLEMENTARIO Sesión 02.pptxNayeliZarzosa1
 
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...Francisco Javier Mora Serrano
 
Fijaciones de balcones prefabricados de hormigón - RECENSE
Fijaciones de balcones prefabricados de hormigón - RECENSEFijaciones de balcones prefabricados de hormigón - RECENSE
Fijaciones de balcones prefabricados de hormigón - RECENSEANDECE
 
CFRD simplified sequence for Mazar Hydroelectric Project
CFRD simplified sequence for Mazar Hydroelectric ProjectCFRD simplified sequence for Mazar Hydroelectric Project
CFRD simplified sequence for Mazar Hydroelectric ProjectCarlos Delgado
 
Topografía 1 Nivelación y Carretera en la Ingenierías
Topografía 1 Nivelación y Carretera en la IngenieríasTopografía 1 Nivelación y Carretera en la Ingenierías
Topografía 1 Nivelación y Carretera en la IngenieríasSegundo Silva Maguiña
 

Último (20)

MEC. FLUIDOS - Análisis Diferencial del Movimiento de un Fluido -GRUPO5 sergi...
MEC. FLUIDOS - Análisis Diferencial del Movimiento de un Fluido -GRUPO5 sergi...MEC. FLUIDOS - Análisis Diferencial del Movimiento de un Fluido -GRUPO5 sergi...
MEC. FLUIDOS - Análisis Diferencial del Movimiento de un Fluido -GRUPO5 sergi...
 
Peligros de Excavaciones y Zanjas presentacion
Peligros de Excavaciones y Zanjas presentacionPeligros de Excavaciones y Zanjas presentacion
Peligros de Excavaciones y Zanjas presentacion
 
SEMANA 6 MEDIDAS DE TENDENCIA CENTRAL.pdf
SEMANA  6 MEDIDAS DE TENDENCIA CENTRAL.pdfSEMANA  6 MEDIDAS DE TENDENCIA CENTRAL.pdf
SEMANA 6 MEDIDAS DE TENDENCIA CENTRAL.pdf
 
Clase 1 Análisis Estructura. Para Arquitectura pptx
Clase 1 Análisis Estructura. Para Arquitectura pptxClase 1 Análisis Estructura. Para Arquitectura pptx
Clase 1 Análisis Estructura. Para Arquitectura pptx
 
S454444444444444444_CONTROL_SET_A_GEOMN1204.pdf
S454444444444444444_CONTROL_SET_A_GEOMN1204.pdfS454444444444444444_CONTROL_SET_A_GEOMN1204.pdf
S454444444444444444_CONTROL_SET_A_GEOMN1204.pdf
 
Edificio residencial Tarsia de AEDAS Homes Granada
Edificio residencial Tarsia de AEDAS Homes GranadaEdificio residencial Tarsia de AEDAS Homes Granada
Edificio residencial Tarsia de AEDAS Homes Granada
 
AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptx
AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptxAMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptx
AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptx
 
Estacionamientos, Existen 3 tipos, y tienen diferentes ángulos de inclinación
Estacionamientos, Existen 3 tipos, y tienen diferentes ángulos de inclinaciónEstacionamientos, Existen 3 tipos, y tienen diferentes ángulos de inclinación
Estacionamientos, Existen 3 tipos, y tienen diferentes ángulos de inclinación
 
Sistema de gestión de turnos para negocios
Sistema de gestión de turnos para negociosSistema de gestión de turnos para negocios
Sistema de gestión de turnos para negocios
 
Como de produjo la penicilina de manera masiva en plena guerra mundial Biotec...
Como de produjo la penicilina de manera masiva en plena guerra mundial Biotec...Como de produjo la penicilina de manera masiva en plena guerra mundial Biotec...
Como de produjo la penicilina de manera masiva en plena guerra mundial Biotec...
 
Sistema de Base de Datos (Rubén Alberto)
Sistema de Base de Datos (Rubén Alberto)Sistema de Base de Datos (Rubén Alberto)
Sistema de Base de Datos (Rubén Alberto)
 
Revista estudiantil, trabajo final Materia ingeniería de Proyectos
Revista estudiantil, trabajo final Materia ingeniería de ProyectosRevista estudiantil, trabajo final Materia ingeniería de Proyectos
Revista estudiantil, trabajo final Materia ingeniería de Proyectos
 
Biología molecular ADN recombinante.pptx
Biología molecular ADN recombinante.pptxBiología molecular ADN recombinante.pptx
Biología molecular ADN recombinante.pptx
 
SOUDAL: Soluciones de sellado, pegado y hermeticidad
SOUDAL: Soluciones de sellado, pegado y hermeticidadSOUDAL: Soluciones de sellado, pegado y hermeticidad
SOUDAL: Soluciones de sellado, pegado y hermeticidad
 
Fisiología del azufre en plantas S.S.pdf
Fisiología del azufre en plantas S.S.pdfFisiología del azufre en plantas S.S.pdf
Fisiología del azufre en plantas S.S.pdf
 
5.1 MATERIAL COMPLEMENTARIO Sesión 02.pptx
5.1 MATERIAL COMPLEMENTARIO Sesión 02.pptx5.1 MATERIAL COMPLEMENTARIO Sesión 02.pptx
5.1 MATERIAL COMPLEMENTARIO Sesión 02.pptx
 
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...
 
Fijaciones de balcones prefabricados de hormigón - RECENSE
Fijaciones de balcones prefabricados de hormigón - RECENSEFijaciones de balcones prefabricados de hormigón - RECENSE
Fijaciones de balcones prefabricados de hormigón - RECENSE
 
CFRD simplified sequence for Mazar Hydroelectric Project
CFRD simplified sequence for Mazar Hydroelectric ProjectCFRD simplified sequence for Mazar Hydroelectric Project
CFRD simplified sequence for Mazar Hydroelectric Project
 
Topografía 1 Nivelación y Carretera en la Ingenierías
Topografía 1 Nivelación y Carretera en la IngenieríasTopografía 1 Nivelación y Carretera en la Ingenierías
Topografía 1 Nivelación y Carretera en la Ingenierías
 

INSTRUCCIONES SWITCH Y BREAK EN C

  • 1. CENTRO TECNOLÓGICO DE AVANZADA AREA DE MECATRÓNICA Código: M06 MICROCONTROLADORES I Laboratorio: D-19 Duración: 2 Hs INSTRUCCIONES DE CONTROL 5.2. Instrucción switch Objetivos 1. Entender el funcionamiento de la estructura switch. La instrucción switch hace que se seleccione un grupo de instrucciones entre varios grupos disponibles. La selección se basa en el valor de una expresión que se incluye en la instrucción switch. La forma general de la instrucción switch es switch (expresión) instrucción en donde expresión devuelve un valor entero. Tenga en cuenta que expresión tam- bién puede ser de tipo char, ya que los caracteres individuales tienen valores enteros. La instrucción incluida es generalmente una instrucción compuesta que especifi- ca opciones posibles a seguir. Cada opción se expresa como un grupo de una o más instrucciones individuales dentro de la instrucción global incluida. Para cada opción, la primera instrucción dentro del grupo debe ser precedida por una o más etiquetas «case» (también llamadas prefijos). Las etiquetas case identifican los diferentes grupos de instrucciones (las distintas opciones) y distinguen unas de otras. Las etiquetas case deben ser, por tanto, únicas dentro de una instrucción switch dada. Cuando se ejecuta la instrucción switch, se evalúa la expresión y se transfiere el control directamente al grupo de instrucciones cuya etiqueta case tenga el mismo valor que el de expresión. Si ninguno de los valores de las etiquetas case coincide con el valor de expresión, entonces no se seleccionará ninguno de los grupos de la instrucción switch. En este caso se transfiere el control directamente a la instrucción que se encuentre a continuación de la instrucción switch. EJEMPLO 5.1 Presentamos a continuación una instrucción switch sencilla. En este ejemplo, suponemos que eleccion es una variable de tipo char switch (eleccion = getchar ()) { case ’r’: case ’R’: printf ("ROJO"); break; case ’b’: case ’B’: printf ("BLANCO"); Pedro Ramírez <pedroramirez22@gmail.com> 1
  • 2. CENTRO TECNOLÓGICO DE AVANZADA AREA DE MECATRÓNICA Código: M06 MICROCONTROLADORES I Laboratorio: D-19 Duración: 2 Hs INSTRUCCIONES DE CONTROL break; case ’a’: case ’A’: printf ("AZUL"); } Por tanto, se presentará ROJO si eleccion representa r o R, se presentará BLANCO si eleccion representa b o B, y AZUL si eleccion tiene el valor a o A. No se visualizará nada si eleccion tiene asignado algún otro carácter. Observe que cada grupo de instrucciones tiene dos etiquetas case para contemplar mayúsculas y minúsculas. Observe también que cada uno de los dos primeros grupos acaba con la instrucción break. La instrucción break hace que se transfiera el control fuera de la instrucción switch, evitando que se ejecute más de un grupo de instrucciones. Uno de los grupos de instrucciones se puede etiquetar como default. Este grupo se seleccionará si ninguna de las etiquetas case coincide con el valor de expresión. (Ésta es una forma conveniente de generar un mensaje de error en rutinas de corrección de errores.) El grupo default puede aparecer en cualquier lugar dentro de la instrucción switch (no necesita ser emplazado al final). Si ninguna de las etiquetas case coincide con el valor de expresión y no se encuentra el grupo default (como en el ejemplo anterior), la instrucción switch no hará nada. EJEMPLO 5.2 He aquí una variación de la instrucción switch presentada en el ejem- plo anterior. switch (eleccion = toupper(getchar())){ case ’R’: printf ("ROJO"); break; case ’B’: printf ("BLANCO"); break; case ’A’: printf ("AZUL"); break; default: printf ("ERROR"); } La instrucción switch contiene ahora un grupo default (que consta de una sola instrucción), el cual genera un mensaje de error si ninguna de las etiquetas case coincide con expresión. Cada uno de los tres primeros grupos de instrucciones tiene ahora una sola etiqueta case. En este ejemplo no se necesitan etiquetas case múltiples, ya que la función de bi- blioteca toupper hace que todos los caracteres que se reciban se conviertan a mayúsculas. Por tanto, eleccion siempre tendrá asignada una letra mayúscula. Pedro Ramírez <pedroramirez22@gmail.com> 2
  • 3. CENTRO TECNOLÓGICO DE AVANZADA AREA DE MECATRÓNICA Código: M06 MICROCONTROLADORES I Laboratorio: D-19 Duración: 2 Hs INSTRUCCIONES DE CONTROL 5.2.1. LA INSTRUCCIÓN break La instrucción break se utiliza para terminar la ejecución de una instrucción, como por ejemplo switch. La instrucción break se puede escribir sencillamente de la siguiente forma: break La instrucción break se ocupa de transferir el control fuera de la instrucción switch completa, a la primera instrucción que se.encuentre a continuación de ella. Practica 1. ¿Qué salida producirá el código siguiente, cuando se empotra en un programa completo y primera-opcion vale 1?¿Y si primera-opcion vale 2? int primera-opcion; switch(primera-opcion+1) { case 1: puts("Cordero asado"); break; case 2: puts("Chuleta lechal"); break; case 3: puts("Chuletón"); case 4: puts("Postre de Pastel"); break; default: puts("Buen apetito"); } 2. Escribir un programa que introduzca el número de un mes (1 a 12) y visualice el número de días de ese mes. 3. El domingo de Pascua es el primer domingo después de la primera luna llena pos- terior al equinoccio de primavera, y se determina mediante el siguiente cálculo sencillo: A = año mod 19 Pedro Ramírez <pedroramirez22@gmail.com> 3
  • 4. CENTRO TECNOLÓGICO DE AVANZADA AREA DE MECATRÓNICA Código: M06 MICROCONTROLADORES I Laboratorio: D-19 Duración: 2 Hs INSTRUCCIONES DE CONTROL B = año mod 4 C = año mod 7 D = (19 * A + 24) mod 30 E = (2 * B + 4 * C + 6 * D + 5 ) mod 7 N = (22 + D + E ) Donde N indica el número de día del mes de marzo (si N es igual o menor que 3) o abril (si es mayor que 31). Construir un programa que determine fechas de domingos de Pascua. 4. Escribir un programa que acepte fechas escritas de modo usual y las visualice como tres números. Por ejemplo, la entrada 15, Febrero 1989 producirá la salida 15 2 1989 5. Escribir un programa que acepte un número de tres dígitos escrito en palabra y a continuación los visualice como un valor de tipo entero. La entrada se termina con un punto. por ejemplo, la entrada doscientos veinticinco producirá la salida 225 6. Escribir un programa que calcule el número de días de un mes, dados los valores numéricos del mes y el año. 7. Escribir y ejecutar un programa que simule un calculador simple. Lee dos enteros y un carácter. Si el carácter es un +, se imprime la suma; si es un -, se imprime la diferencia; si es un *, se imprime el producto; si es un /, se imprime el cociente; y si es un % se imprime el resto. Nota: utilizar la sentencia switch. Ultima Actualización 7 de marzo de 2017 Pedro Ramírez <pedroramirez22@gmail.com> 4