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 PLAN DE ESTUDIO CLAVE ASIGNATURA NOMBRE DE LA ASIGNATURA 2009-2 11290 Introducción a la Programación CARRERA LSC PRÁCTICA No. LABORATORIO DE Licenciados en Sistemas Computacionales DURACIÓN (HORA) 6 NOMBRE DE LA PRÁCTICA Decisiones Anidadas 2 1. INTRODUCCIÓN La utilización de decisiones sencillas son muy útiles, sin embargo en ocasiones es necesario utilizar decisiones anidadas ya que podemos encontrarnos con situaciones problemáticas donde las acciones a ejecutar dependen de una o varias condiciones lo cual nos permitirá llegar a la solución de una manera optima. 2. OBJETIVO (COMPETENCIA) El alumno elaborará programas de cómputo utilizando decisiones anidadas para solucionar problemas con una actitud analítica y creativa, resolviéndolos de manera previa por medio de diagramas de flujo. 3. FUNDAMENTO Es común que en los programas, las acciones que se toman dependen de que una o varias condiciones se cumplan, inclusive una condición puede a su vez contener otras condiciones, cuando esto sucede estamos frente a un problema de decisiones anidadas. En C se puede manejar la estructura if, if-else para la toma de decisiones. Formuló IC. Julia Corrales Espinoza LSC. Natalia Rodríguez Castellón Maestro Revisó Aprobó MC. Mónica Cristina Lam Mora Coordinador de Programa Educativo Autorizó M.C. Miguel Ángel Martínez Romero Gestión de Calidad Director de la Facultad Código GC-N4-017 Revisión 1 Página 1 de 5 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 Esta estructura puede anidar una similar o diferente, es decir una estructura if puede anidar a otra estructura if construyendo de este modo estructuras de decisiones anidadas. Un if anidado es una estructura if que es objeto de otra estructura if. Cuando tenemos if anidados, resulta problemático identificar a que if corresponde cada else. Las siguientes reglas solucionan el problema: • Un else está enlazado con el if más cercano que no tenga ya una sentencia else asociada. • Cuando se usan llaves se elude la asociación normal, y el else que esta después de un bloque encerrado entre llaves { } estará asociado con el if colocado antes de la llave que indica el inicio del bloque. Ejemplo 1: if (a==0) if (b!=3) sentencia1... else sentencia2... Ejemplo 2: if(a==0) { if(b!=3) sentencia1 } else sentencia2 En el ejemplo 1 el else está asociado con la condición if(b!=3), en el ejemplo 2 esta asociado con la condición if(a==0). La escalera if-else-if Una construcción común en programación es la escalera if-else-if que se ve de la siguiente manera: if (condición) sentencia; else Código GC-N4-017 Revisión 1 Página 2 de 5 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 if (condición) sentencia; else if (condición) sentencia; else if (condición) sentencia; else sentencia; La computadora evalúa las expresiones condicionales iniciando con la primera, y continuando con la siguiente en forma descendente hasta encontrar una condición verdadera, en cuyo caso la computadora ejecuta la sentencia asociada a esta condición y salta el resto de la escalera, si ninguna condición es verdadera se ejecutará la sentencia asociada con el else final. Si todas las condiciones son falsas y no hay else final, entonces no se ejecuta ninguna sentencia. Ejemplo: Un restaurante ofrece el siguiente menú, con los siguientes costos por platillo: 1.- Carne en su Jugo 89.60 2.- Hígado encebollado 60.25 Adicionalmente el cliente puede elegir uno de los siguientes postres, por los cuales se agregará al costo del platillo las cantidades que se indican: 1) Flan 5.00 2) Gelatina 3.50 3) No desea postre (el cliente pagará 10.00 pesos menos por su platillo). El programa deberá pedir la información referente al platillo y al postre, a través de un menú y al final mostrará un mensaje con el monto que el cliente deberá pagar. El siguiente programa soluciona el problema anterior con estructuras if anidadas. #include <stdio.h> void main() { int platillo,postre; float costo=0.0; printf("\n\nQue platillo desea el cliente\n"); printf(" 1)Carne en su Jugo ó 2)Hígado encebollado\n"); printf("Proporcione la Opción (1 ó 2): [ ]\b\b"); scanf("%d",&platillo); Código GC-N4-017 Revisión 1 Página 3 de 5 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 if(platillo==1) { printf("\nSeleccione postre\n"); printf("1-Flan, 2-Gelatina 3-No desea postre)\n"); printf("Proporcione la Opción (1,2 ó 3): [ ]\b\b"); scanf("%d",&postre); if (postre==1) costo=89.60+5.00; else if (postre==2) costo=89.60+3.50; else if (postre==3) costo=89.60-10.00; else printf("\nExiste un error en la selección del postre\n"); } else if(platillo==2) { printf("\nSeleccione postre\n"); printf("Proporcione la Opción (1,2 ó 3): [ ]\b\b"); scanf("%d",&postre); if (postre==1) costo=60.25+5.00; else if (postre==2) costo=60.25+3.50; else if (postre==3) costo=60.25-10.00; else printf("\nExiste un error en la selección del postre\n"); } else printf("Error en la selecció del platillo\n"); printf("\nEl total a pagar es %8.2f \n",costo); } 4. PROCEDIMIENTO (DESCRIPCIÓN) Código GC-N4-017 Revisión 1 Página 4 de 5 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 A) EQUIPO NECESARIO MATERIAL DE APOYO Computadoras con Visio instalado Práctica Impresa y Linux B) DESARROLLO DE LA PRÁCTICA Resolver el ejercicio que le indique su maestro, realizar el diagrama de flujo y programa : a) Solicitar el número de día y el numero de mes, desplegar a que estación del año corresponde tal fecha. b) La empresa “X”, s.a. de c.v. esta solicitando empleados , en un departamento solicitan personal de sexo femenino y de una edad no mayor a los 50 años pero no menor de 18, y en otro departamento se solicitan varones que cumplan con los siguientes requisitos mayor de 18 y menor de 60, pero también deben de contar con su cartilla militar. En ambos casos si se cumplen las condiciones serán aceptados en caso contrario serán rechazados. Nota : Los ejercicios serán realizados sin utilizar operadores lógicos. C) CÁLCULOS Y REPORTE El maestro revisará los programas haciendo pruebas 1 o más veces. 5. RESULTADOS Y CONCLUSIONES El alumno será capaz de elaborar programas aplicando decisiones anidadas para resolver problemas que lo requieran. 6. ANEXOS 7. REFERENCIAS Código GC-N4-017 Revisión 1 Página 5 de 5