Práctica 8 switch-case

Fecha de efectividad:
UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA
FACULTAD DE INGENIERÍA (UNIDAD MEXICALI)
DOCUMENTO DEL SISTEMA DE CALIDAD
Formato para Prácticas de Laboratorio
PROGRAMA
EDUCATIVO
PLAN DE
ESTUDIO
CLAVE DE
UNIDAD DE
APRENDIZAJE
NOMBRE DE LA UNIDAD DE APRENDIZAJE
TRONCO COMÚN
2009-2
11214
PROGRAMACIÓN
PRÁCTICA
No.
LABORATORIO
DE
CIENCIAS BÁSICAS (PROGRAMACIÓN)
DURACIÓN
(HORAS)
8
NOMBRE DE LA
PRÁCTICA
SWITCH CASE
2
1. INTRODUCCIÓN
La estructura de decisión múltiple switch-case, evalúa una expresión que podrá tomar n valores distintos
de tipo entero o caracter, 1, 2, 3, 4,…n y a, b, c, d…z. Según se elija uno de estos valores en la
condición, se realizará una de las n acciones, o lo es que igual, el flujo del programa seguirá un
determinado camino entre los n posibles.
2. OBJETIVO (COMPETENCIA)
Elaborar programas de selección múltiple, para la solución de problemas reales en el área de ingeniería.
Con disposición para trabajar en forma individual y responsabilidad en el uso del equipo cómputo del
laboratorio.
3. FUNDAMENTO
Con frecuencia, cuando se trabaja con estructuras de decisión, es necesario que existan más de dos
elecciones posibles para la resolución de un problema. Por ejemplo, cuando en función de los meses del
año se desea saber el signo zodiacal de una persona. En estos casos, es posible resolver ese tipo de
problemas con estructuras alternativas simples o dobles (if, if-else); sin embargo, si el número de
alternativas es grande puede plantear problemas de escritura del programa o de su legibilidad. Para
esos casos, en los que existen múltiples alternativas, se recomienda el uso de la estructura de decisión
switch-case.

Switch case
switch evalúa una expresión, la cual es llamada selector, y según sea su valor, se ejecuta un
determinado case con un conjunto de acciones. También, se puede encontrar acompañado de la
Formuló
Revisó
Autorizó
M.C. Araceli Celina Justo López
M.C. Gloria Etelbina Chávez
Valenzuela
M.C. Araceli Celina Justo López
Nombre y Firma del Responsable de
Programa Educativo
Dr. Daniel Hernández Balbuena
Nombre y Firma del Maestro
Nombre y Firma del Director /
Representante de la Dirección
Código: GC-N4-017 Revisión: 4
Página 1 de 8
Fecha de efectividad: ______________________
UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA
FACULTAD DE INGENIERÍA (UNIDAD MEXICALI)
DOCUMENTO DEL SISTEMA DE CALIDAD
Formatos para prácticas de laboratorio
instrucción break y la instrucción default. break es utilizado para indicar dónde termina el conjunto de
acciones de un determinado case. La instrucción default es utilizada cuando la expresión que se evalúa
no se encuentra considerada en ninguno de los case del switch, por lo que el programa ejecutará las
acciones que se indiquen dentro de la instrucción default. el formato básico para el uso de switch case
es el siguiente:
//Cuando la expresión es de tipo entero
//Cuando la expresión es de tipo carácter
switch(expresión)
{
case 1:
sentencia1;
sentencia2;
sentencia3;
sentencian;
break;
switch(expresión)
{
case 'a':
sentencia1;
sentencia2;
sentencia3;
sentencian;
break;
case 2:
case 'b':
sentencia1;
sentencia2;
sentencia3;
sentencian;
sentencia1;
sentencia2;
sentencia3;
sentencian;
break;
break;
case n:
case 'z':
sentencia1;
sentencia2;
sentencia3;
sentencian;
sentencia1;
sentencia2;
sentencia3;
sentencian;
break;
break;
default:
default:
printf("No existe el valor indicado");
}
printf("No existe el valor indicado");
}
El diagrama de flujo para la instrucción switch-case se presenta a continuación:
Código: GC-N4-017 Revisión: 4
Página 2 de 8
Fecha de efectividad: ______________________
UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA
FACULTAD DE INGENIERÍA (UNIDAD MEXICALI)
DOCUMENTO DEL SISTEMA DE CALIDAD
Formatos para prácticas de laboratorio
Ejemplos del uso de switch-case
#include <stdio.h>
void main(){
int selector, num1, num2, operacion;
printf("Ingrese el primer número");
scanf("%d", &num1);
printf("Ingrese el segundo número");
scanf("%d", &num2);
printf("Operación a realizar");
printf("\n1… Sumar");
printf("\n2…Multiplicar");
printf("\n3…Restar");
scanf("%d", &selector);
//Selector tipo entero
switch(selector){
case 1:
operacion=num1+num2;
break;
case 2:
operacion=num1*num2;
break;
case 3:
operacion=num1-num2;
break;
default: printf("No existe la opción seleccionada");
}//fin del switch
Código: GC-N4-017 Revisión: 4
Página 3 de 8
Fecha de efectividad: ______________________
UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA
FACULTAD DE INGENIERÍA (UNIDAD MEXICALI)
DOCUMENTO DEL SISTEMA DE CALIDAD
Formatos para prácticas de laboratorio
printf("El resultado es %d", operacion);
}
#include <stdio.h>
void main(){
int num1, num2, operacion;
char selector;
printf("Ingrese el primer número");
scanf("%d", &num1);
printf("Ingrese el segundo número");
scanf("%d", &num2);
printf("Operación a realizar");
printf("\n+… Sumar");
printf("\nX…Multiplicar");
printf("\n-…Restar");
scanf("%c", &selector);
//Selector tipo caracter
switch(selector){
case '+':
operacion=num1+num2;
break;
case 'x':
operacion=num1*num2;
break;
case '-':
operacion=num1-num2;
break;
default: printf("No existe la opción seleccionada");
}//fin del switch
printf("El resultado es %d", operacion);
}
•
Switch anidado
Este se presenta cuando dentro de una sentencia switch existe otra sentencia switch. De acuerdo al
ANSI C, el número de anidaciones que permite un switch es de 15.
Sintaxis del switch anidado
switch (selector){
Código: GC-N4-017 Revisión: 4
Página 4 de 8
Fecha de efectividad: ______________________
UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA
FACULTAD DE INGENIERÍA (UNIDAD MEXICALI)
DOCUMENTO DEL SISTEMA DE CALIDAD
Formatos para prácticas de laboratorio
case 1:
switch(selector2){
case 1:
acciones;
break;
case 2:
acciones;
break;
case n:
acciones;
break;
}
break;
case n: acciones;
default: acción;
}
4. PROCEDIMIENTO (DESCRIPCIÓN)
A) EQUIPO NECESARIO
1. Computadora con Visual Studio instalado
2. Unidad de almacenamiento
MATERIAL DE APOYO
Práctica 8
B) DESARROLLO DE LA PRÁCTICA
Las prácticas están clasificadas por días de la semana. El alumno, realizará los ejercicios que le
corresponden de acuerdo al día de laboratorio o a criterio del maestro.
Martes y Miércoles
1. Realizar un programa que permita contestar las siguientes adivinanzas
a. Si lo ves, es invierno; si lo guardas, pereces; cada día lo tomas mas de mil veces.
Posibles respuestas: El silencio, el aliento, el frío
b. Te dice lo que está bien, te dice lo que está mal y no es ninguna persona, ¿de quién se
puede tratar?
Posibles respuestas: La imaginación, , la verdad, la conciencia
c. Es, cuando no es, y no es, cuando es. ¿Qué es?
Posibles respuestas: La verdad, la mentira, la realidad.
d. Es un momento muy importante; cuentas tu edad desde ese instante.
Código: GC-N4-017 Revisión: 4
Página 5 de 8
Fecha de efectividad: ______________________
UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA
FACULTAD DE INGENIERÍA (UNIDAD MEXICALI)
DOCUMENTO DEL SISTEMA DE CALIDAD
Formatos para prácticas de laboratorio
Posibles respuestas: El nacimiento, tu cumpleaños, tus primeros pasos.
e. ¿Sabes qué cosa será, que cuando hablas lo rompes y cuando callas está?
Posibles respuestas: El ruido, la lluvia, el silencio.
Mostrar al usuario las adivinanzas y pedirle que indique una opción de respuesta, indicar si es correcta o
no. Si contesta correctamente 4 o 5 adivinanzas, indicar que gano el juego, en caso contrario indicarle que
debe seguir intentando.
Utilizar switch case para cada adivinanza.
2. La empresa "VIAJES INTERNACIONALES", ofrece los siguientes paquetes vacacionales a
sus clientes:
a. Paquete básico, incluye avión y hotel, costo por persona, 8500 pesos por 5 días, por día
extra se cobran 500 pesos.
b. Paquete Intermedio, incluye avión, hotel y comidas. Costo por persona10700 pesos, por día
extra se cobran 800 pesos
c. Paquete avanzado, incluye avión, hotel, comidas y recorridos guiados a las zonas turísticas,
13600 pesos, por día extra se cobra 1200 pesos.
Todos los paquetes incluyen viaje redondo y no se manejan paquetes de viaje para menos de 5 días.
Realizar un programa donde el usuario indique el plan vacacional que desea adquirir, se le pregunte el
presupuesto con el que cuenta para viajar, los días que disfrutará del viaje y el número de personas que lo
acompañan.
El programa deberá mostrar en pantalla el costo de viaje así como un mensaje indicando si con el
presupuesto del cliente es suficiente para viajar o en su defecto cuanto le hace falta para cubrir el viaje.
Utilizar switch case para el menú de paquetes. Utilizar if y funciones donde considere necesario.
Utilizar if y funciones donde considere necesario.
Código: GC-N4-017 Revisión: 4
Página 6 de 8
Fecha de efectividad: ______________________
UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA
FACULTAD DE INGENIERÍA (UNIDAD MEXICALI)
DOCUMENTO DEL SISTEMA DE CALIDAD
Formatos para prácticas de laboratorio
Jueves y Viernes
1. Un agente de tránsito requiere un sistema para controlar las multas que otorga a los
conductores. El puede generar los siguientes tipos de multas:
a. No usar cinturón de seguridad y/ utilizar aparatos de telecomunicación. Multa: 5 salarios
mínimos $350.5
b. Obstruir
la
circulación
en
la
vía
pública
Multa: 10 días de salario mínimo $701
c. Estacionarse en lugares prohibidos. Multa: 15 días de salario mínimo y remisión del auto al
depósito $1051.00
d. Dar
vuelta
en
U
en
lugares
donde
no
está
permitido
Multa: 20 días de salario mínimo $1402
Realizar un sistema que permita generar la orden de la multa de tránsito, indicando el nombre del
conductor, las matrícula del vehículo, el año y marca del vehículo así como la Multa a cubrir.
2. El centro bancario "SANTACRUZ" ofrece las siguientes formas para adquirir un crédito:
a. CREDITO CORTO. Cuando el crédito se debe cubrir en 12 meses o menos, con un tasa de
interés del 5% mensual
b. CREDITO LARGO. Cuando el crédito se debe cubrir en 24 meses o más de 12 meses con
una tasa de interés del 4% mensual
"SANTACRUZ" no ofrece créditos mayores a 24 meses a menos que el cliente compruebe un salario
mensual neto de 20,000 pesos y en esos casos la tasa de interés es del 3%.
Realizar un programa que permita solicitar al cliente el tipo de crédito. También solicitar el monto del
crédito, el sueldo neto mensual y el número de mensualidades en que cubrirá su crédito.
El programa deberá mostrar en pantalla los siguientes datos:







Mensualidad sin interés.
Monto del interés mensual.
Mensualidad con interés.
Total de intereses a pagar.
Total a pagar por el crédito ya con intereses.
Si el cliente no califica para el crédito indicarlo.
Sí el cliente elige un crédito que no corresponde al número de meses en que desea pagar la
mensualidad indicar un mensaje de error.
Utilizar switch case para el menú de créditos.
Código: GC-N4-017 Revisión: 4
Página 7 de 8
Fecha de efectividad: ______________________
UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA
FACULTAD DE INGENIERÍA (UNIDAD MEXICALI)
DOCUMENTO DEL SISTEMA DE CALIDAD
Formatos para prácticas de laboratorio
C) CÁLCULOS (SI APLICA) Y REPORTE
El alumno deberá depurar sus programas para eliminar los errores de compilación y ejecutar los
programas con diversos valores, de tal forma que valide los resultados esperados.
4. RESULTADOS Y CONCLUSIONES
El maestro revisará los programas proporcionando diferentes valores para determinar si el programa se
ejecuta correctamente.
5. ANEXOS
Ninguno.
6. REFERENCIAS
1. Luis Joyanes Aguilar
"Fundamentos de programación: Algoritmos, estructuras de datos y objetos"
McGraw-Hill, 4ta edición 2008.
1. Luis Joyanes Aguilar, Ignacio Zahonero
Programación en C: metodología, algoritmos y estructura de datos.
McGraw-Hill Interamericana de España. 2006.
Código: GC-N4-017 Revisión: 4
Página 8 de 8