Programacin estructurada y Mtodos Numricos Estructura de seleccin
Programacin estructurada y Mtodos Numricos
Estructura de seleccin Msc. Felipe Andrs Obando Vega Ingeniero de Control Universidad de Antioquia Facultad de Ingeniera Departamento de Ingeniera Mecnica Programacin estructurada y Mtodos Numricos Estructura de seleccin 1 Estructura de seleccin 2 Estructura SI-ENTONCES 3 Estructura SI-ENTONCES/SINO 4 Anidamiento de estructuras de seleccin 5 Ejercicios propuestos Programacin estructurada y Mtodos Numricos Estructura de seleccin Estructura de seleccin Estructura de seleccin Programacin estructurada y Mtodos Numricos Estructura de seleccin Estructura de seleccin Estructura de seleccin Tambin denominada estructura de decisin. Se emplea cuando en el desarrollo de la solucin de un problema se debe tomar una decisin que determina cual es el camino a seguir con base a una condicin. Posee una entrada y dos salidas: Si o Verdadero Se seguir esta salida cuando la condicin se cumple. No o Falso Se seguir esta salida cuando la condicin no se cumple. Las estructuras de decisin se dividen en dos estructuras principales lla- madas: Estructura de seleccin simple SI-ENTONCES Estructura de seleccin compuesta SI-ENTONCES/SINO Programacin estructurada y Mtodos Numricos Estructura de seleccin Estructura SI-ENTONCES Estructura SI-ENTONCES (Estructura de seleccin simple) Psudocdigo estructura de seleccin sim- ple Entradas: Denicin variables de entrada Variables: Denicin de variables auxiliares Salidas: Denicin de variables de salida Inicio . . . . . . Si Condicin Entonces Instruccin 1 Instruccin 2
Instruccin n Fin si . . . . . . Fin Programacin estructurada y Mtodos Numricos Estructura de seleccin Estructura SI-ENTONCES Ejemplo Se pide leer una nota e imprimir un mensaje de aprobado si la nota es mayor que 3. Algoritmo nota Entradas: Nota: Sirve para leer el valor de la nota de un estudiante Inicio Lea Nota Si Nota>3 Entonces Imprima Aprobado Fin si Fin Nota Pantalla Observacin 3.5 Aprobado Cuando la condicin se cumple imprime el mensaje Aprobado 2.6 Cuando la condicin no se cumple va a buscar el n de la estruc- tura y luego del algoritmo Programacin estructurada y Mtodos Numricos Estructura de seleccin Estructura SI-ENTONCES/SINO Estructura SI-ENTONCES/SINO (Estructura de seleccin compuesta) Psudocdigo estructura de seleccin compuesta Entradas: Denicin variables de entrada Variables: Denicin de variables auxiliares Salidas: Denicin de variables de salida Inicio
Si Condicin Entonces Instruccin A Instruccin B
Sino Instruccin D Instruccin E
Fin si
Fin Programacin estructurada y Mtodos Numricos Estructura de seleccin Estructura SI-ENTONCES/SINO Ejemplo Despues de leer 3 notas y calcular el promedio, determinar o imprimir si un alumno aprueba o reprueba una materia; sabiendo que aprobar si el promedio es mayor o igual que 3, si no reprobar. Algoritmo promedio notas Entradas: Nota1, Nota2, Nota3: Sirve para leer cada una de las notas de la materia Variables: Prom: Sirve para calcular y guardar el promedio de las notas Inicio Lea Nota1, Nota2, Nota3 Prom=(Nota1+Nota2+Nota3)/3 Si Prom>=3 Entonces Imprima Aprob la materia Sino Imprima Reprob la materia Fin si Fin Programacin estructurada y Mtodos Numricos Estructura de seleccin Estructura SI-ENTONCES/SINO Prueba de escritorio Nota1 Nota1 Nota1 Prom Pantalla 3.1 4.5 2.7 3.43 Aprob la materia 2.7 3.2 2.3 2.73 Reprob la materia Programacin estructurada y Mtodos Numricos Estructura de seleccin Anidamiento de estructuras de seleccin Anidamiento de estructuras de se- leccin Programacin estructurada y Mtodos Numricos Estructura de seleccin Anidamiento de estructuras de seleccin Anidamiento de estructuras de seleccin El anidamiento de estructuras se presenta cuando una estructura de de- cisin contiene una o varias estructuras de decisin adicionales. Programacin estructurada y Mtodos Numricos Estructura de seleccin Anidamiento de estructuras de seleccin Ejemplo En un almacen se llevan a cabo descuentos de acuerdo con el color de una balota (bolita) que saque el cliente antes de pagar la cuenta total o compras, as: Si la balota es blanca, no habr descuento. Si la balota es verde, el descuento ser del 10 %. Si la balota es roja, el descuento ser del 15 %. Programacin estructurada y Mtodos Numricos Estructura de seleccin Anidamiento de estructuras de seleccin Algoritmo clculo de descuento Entradas: CTotal: Sirve para leer el costo total de la compra Color: Sirve para leer el color de la balota y determinar el porcentaje de descuento Variables: Desc: Se utiliza para valcular el descuento que se le tiene que hacer al cliente Error: Determina si el color ingresado es vlido Salidas: Pago: Se utiliza para calcular lo que efectivamente tiene que pagar el cliente Inicio LeaCTotal, Color Error=0 Si Color=Blanco Entonces Desc=0 Sino Si Color=Verde Entonces Desc=CTotal*0.1 Sino Si Color=Rojo Entonces Desc=CTotal*0.15 Sino Error=1 Fin si Fin si Fin si Si Error=0 Entonces Pago=CTotal-Desc ImprimaEl pago total es: ,Pago Sino Imprima El color ingresado es invlido Fin si Fin Programacin estructurada y Mtodos Numricos Estructura de seleccin Anidamiento de estructuras de seleccin Prueba de escritorio CTotal Color Desc Pago Pantalla 380000 Verde 38000 342000 El pago total es: 342000 50 0000 Blanco 0 50000 El pago total es: 50000 123000 Rojo 18450 104550 El pago total es: 104550 Programacin estructurada y Mtodos Numricos Estructura de seleccin Ejercicios propuestos Ejercicios propuestos 1 Dado el sueldo, el cdigo y el nombre de un trabajador, si el sueldo es inferior a $260000 aumentar en un 15 % e imprimir el nuevo sueldo del trabajador con sus respectivos datos. 2 Un paciente que est en convalecencia y que pesa 60kg solo tiene permitido dormir o estar sendo en reposo. Se sabe, por estudios, que una persona estando dormida consume aproximadamente 2.08 caloras por minuto y sentado en reposo 1.66 caloras por minuto. l desea saber cuntas caloras consume su cuerpo durante todo el da sabiendo que permanece N horas en reposo y el resto del tiempo en durmiendo, pero a veces invierte el horario. 3 Leer 3 nmeros enteros diferentes y determinar cul de ellos es el mayor. 4 Encontrar las raices de una funcin cuadrtica y determinar si las raices son reales iguales, reales diferentes o complejas conjugadas. Programacin estructurada y Mtodos Numricos Estructura de seleccin Ejercicios propuestos Ejercicios propuestos 5 Imprimir el nuevo sueldo del trabajador y su identicacin sabiendo que ste se rige por los siguientes criterios: 1 Sueldo<286000 tendr un incremento del 10 %. 2 Sueldo=286000 y <=870000 tendr un incremento del 8 %. 3 Sueldo>870000 tendr un aumento del 6 %. 6 Determinar el sueldo que recibir un trabajador incluyendo las horas extras teniendo en cuenta los siguiente: Cuando las horas de trabajo excedan de 40 se consideran horas extras y estas se pagarn al doble de la hora normal, siempre que las horas extras no excedan de 8. Si las horas extras exceden de 8 se pagan las primeras 8 al doble de lo que se paga por hora normal y el resto al trple. Programacin estructurada y Mtodos Numricos Estructura de seleccin Ejercicios propuestos Ejercicios propuestos 5 Elabore un algoritmo que lea un nmero entre 1 y 999 y arroje como resultado la inversin de los dgitos de este nmero. Por ejemplo, si el nmero ingresado es 753, la salida debe ser 357 1 6 Elabore un algoritmo que lea un nmero entre 30000 y 32767 y almacene en la variable c el dgito que se encuentre en el centro del nmero.Por ejemplo, si el nmero es 31426, c debe contener el dgito 4. 7 Elaborar un algoritmo que lea 3 nmeros y los muestre de forma ordenada de mayor a menor. 8 Elaborar un algoritmo que imprima los divisores de un nmero ingresado el cual debe ser mayor a 2 y menor a 51. 9 Elaborar un algoritmo que lea dos nmeros enteros y determine y escriba si uno es multiplo del otro. 1 Para su codicacin consultar el comando num2str o el comando mod