Estructuras de Decisión Múltiple

Documentos relacionados
Capítulo 12 INSTRUCCIONES DE CONTROL ALTERNATIVAS. Presentación resumen del libro: "EMPEZAR DE CERO A PROGRAMAR EN lenguaje C"

Estructuras de Decisión Simples y Dobles

Estructuras de Repetición: Repita Mientras.

Conocer los tipos de esquemas condicionales. Entender su funcionamiento y sus diferencias. 1. Introducción. 3. Esquemas condicionales en C

Dobles: Es el caso de la instrucción if-else (punto 1.2).

Estructura Selectiva Múltiple

TEMA 4. ESTRUCTURAS DE CONTROL

Estructuras de Decisión Simples y Dobles. Programación digital I Escuela de Sistemas Facultad de Ingeniería Gilberto Diaz

Estructuras de Repetición (Hacer-Mientras)

Universidad Autónoma del Estado de México Facultad de Medicina

Estructuras de Repetición (Repita para)

Ejercicios aplicando estructuras de asignación.

Operadores aritméticos

Tipos de Arreglos. Notación Algoritmica de los Arreglos multidimensionales tipo_dato nombre[dim 1. , dim 2. ,..., dim n

Estructuras de selección

Programación Estructurada

GUÍA DE LABORATORIO #3 ESTRUCTURAS ALGORÍTMICAS CONDICIONALES SIMPLES, DOBLES Y MÚLTIPLES

Lección 3 Sentencias de control

1. Escriba el siguiente código, compílelo y ejecútelo. Obtiene el resultado esperado? Modifíquelo para que se comporte como debe:

ESTRUCTURAS CONDICIONALES SIMPLES: ESTRUCTURAS CONDICIONALES DOBLES: ESTRUCTURAS CONDICIONALES ANIDADAS:

CALENDARIO AÑO 2016 PICO Y PLACA AUTOMOVILES SERVICIO ESPECIAL PICO Y PLACA TAXIS

CALENDARIO AÑO 2016 PICO Y PLACA AUTOMOVILES SERVICIO ESPECIAL PICO Y PLACA TAXIS

Fundamentos de Programación. Flujo de Control I: Estructuras selectivas

Algoritmo, Estructuras y Programación I Ing. Marglorie Colina

GUIÓN DE PRÁCTICAS 3: ESTRUCTURAS CONDICIONALES

fundamentos de programación (unidad 4) programación estructurada en Java

Programación Orientada Objetos. Estructuras de control if, If else, switch

Estructuras de Control JAVA

Capítulo 3. Sentencias condicionales

Tema 3. Estructuras de Datos

Expresiones Aritméticas

ESTRUCTURAS DE CONTROL

Codificación en C. Como pasar de Pseudocódigo a C (con pequeños trucos de C++)

Programcaión Básica. Secuencias de Control y Repetición. Arturo Vega González.

[ GUÍA DIDÁCTICA: DESARROLLO DE ALGORITMOS PSEINT] 11 de julio de 2013

Tema 06: Estructuras y sentencias de control en C

Estructuras de Control

BREAK: FORZAR SALIDA BUCLES FOR, WHILE, DO EN C. LOOP. STATEMENT NOT WITHIN LOOP OR SWITCH (CU00545F)

UNIVERSIDAD LUTERANA SALVADOREÑA. Docente: ANA LISSETTE GIRÓN

Boletín de ejercicios de la asignatura de INFORMÁTICA para la realización de las prácticas de laboratorio. Ejercicios de Estructuras de Control

FACULTAD DE INGENIERÍA

Fundamentos de programación

1 Énfasis en sistemas. Módulo FUNDAMENTOS DE PROGRAMACION ESTRUCTURAS CONDICIONALES COMPUESTAS ( If anidados)

WHILE Y DO WHILE BREAK EN LENGUAJE C. BUCLES MIENTRAS. FORZAR SALIDA O TERMINACIÓN. EJEMPLO (CU00534F)

CAPÍTULO 8 CONTROL DE FLUJO (Estructuras selectivas)

Formatos para prácticas de laboratorio

Programación Estructurada

Paso de Parámetros a una Función

Introducción a la Programación

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta

Lenguaje de programación C. Introducción

Programación en Lenguaje C

PROBLEMAS DEL TEMA 5: Control de Flujo del Programa

Capítulo 13 INSTRUCCIONES DE CONTROL REPETITIVAS. Presentación resumen del libro: "EMPEZAR DE CERO A PROGRAMAR EN lenguaje C"

Problema No.7. Elaborar un programa en C++ que lea una temperatura en grados Fahrenheit y muestre su equivalente en grados Celsius, Kelvin y Rankine.

Informática I. While & do While

Introducción al Lenguaje de Programación C

Hoja de problemas Estructuras de Control

UNIDAD ACADÉMICA PROFESIONAL TIANGUISTENCO

Unidad 3. Estructuras de control en diagrama de Flujo y pseudocódigo Tema Iteración o Repetitivas (mientras)

Estructuras de control

TEMA 2. EL LENGUAJE C. ELEMENTOS BÁSICOS

Programación Estructurada

INSTITUTO POLITECNICO NACIONAL CENTRO DE ESTUDIOS CIENTIFICOS Y TECNOLOGICOS " GONZALO VAZQUEZ VELA "

ALGORÍTMICA. Dpto. Ingeniería de Sistemas y Automática Facultad de Ciencias Universidad de Valladolid.

Unidad 3. Estructuras de control en diagrama de Flujo y pseudocódigo Tema Iteración o Repetitivas (repite - mientras) Juan Pablo Cobá Juárez Pegueros

Control de Flujo. Estructuras de Control! Experiencia Educativa de Algorítmica CONTROL DE FLUJO

EXAMEN DEPARTAMENTAL DE PROGRAMACIÓN MUESTRA FIN TECATE UABC

MANUAL BÁSICO DE PSEUDOCÓDIGO A LENGUAJE C.

Informática y Programación Escuela de Ingenierías Industriales y Civiles Curso 2010/2011

INTRODUCCIÓN A LA PROGRAMACIÓN

TEMA 5. CONTROL DE FLUJO DEL PROGRAMA. Sentencia Instrucción Expresión Operadores + Operandos Sintaxis: Sentencia ;

TEMA 3. Sentencias de control.

4.- Leer tres números y escribirlos en orden decreciente

Programación: Estructuras de Control

Instrucción de selección múltiple switch.

LENGUAJE DE PROGRAMACION UNO.

Unidad 1. Análisis de algoritmos.

SESIÓN DE EJERCICIOS E1

Algoritmos y Estructura de datos:

Tema 5 Sentencias de control de flujo. Fundamentos de Informática

Estatutos de Control C# Estatutos de Decisión (Selección)

5. Sentencias selectivas o condicionales

Sentencias DO-WHILE EN C++

Uso Pseudocódigo Diagrama de flujo Codificación

Examen de Fundamentos de la Programación (Modelo 1)

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta

Control de Flujo. Estructuras de Control! Experiencia Educativa de Algorítmica CONTROL DE FLUJO

Programación de los problemas de Física en.

Descripción de un Programa

Realizar el ejercicio anterior utilizando Punteros

GUIA DE EJERCICIOS Nº 02 Estructuras Selectivas

Transcripción:

Estructuras de Decisión Múltiple Prof. Andrés Arcia Departamento de Computación Escuela de Ingeniería de Sistemas Facultad de Ingeniería Universidad de Los Andes Programación Digital I 1

Estructura de Decisión Múltiple Pseudocódigo en Español Si (condición 1 ) entonces S 11 S 1n Si no Si (condición 2 ) entonces S 21 S 2m Si no Si (condición k ) Sino S k1 S p1 Fin_si S kj S pr Código en C if (condición 1 ) {S 11 S 1n } else if (condición 2 ) {S 21 S 2m } else if ((condición k ) {S k1 S kj } else {S p1 S pr } Programación Digital I 2

Ejemplo if (fecha == 1492) printf( Descubrimiento de America ; else if (fecha == 1811) printf( Declaracion de Independencia ; else if (fecha == 1998) printf( Gano Chavez ); else if (fecha == 2001) printf( Atentado USA ); else if (fecha == 1969) printf( Llegada del hombre a la luna ); else printf( Error: Fecha invalida ); Programación Digital I 3

Ejemplo con Indentación if (fecha == 1492) printf( Descubrimiento de America ); else if (fecha == 1811) printf( Declaracion de Independencia ); else if (fecha == 1998) printf( Gano Chavez ); else if (fecha == 2001) printf( Atentado USA ); else if (fecha == 1969) printf( Llegada del hombre a la luna ); else printf( Error: Fecha invalida ); Programación Digital I 4

Estructura de Decisión Múltiple Se usa cuando se tiene una serie de estructuras Si (if), unas interiores a otras (anidadas). Esta estructura se interpreta de la siguiente manera: Evalúa la condición 1. Si condición 1 es cierta entonces ejecuta el conjunto de sentencias definidas por S 1i, i = 1.. n. Si condición 1 es falsa entonces evalúa condición 2. Si condición 2 es cierta entonces ejecuta el conjunto de sentencias definidas por S 2i, i = 1.. m. Programación Digital I 5

Estructura de Decisión Múltiple Si condición k-1 es falsa entonces evalúa condición k. Si condición k es cierta entonces ejecuta el conjunto de sentencias definidas por S ki, i = 1.. j. Si condición k es falsa entonces ejecuta el conjunto de sentencias definidas por S pi, i = 1.. r. Programación Digital I 6

Ejemplo Sea 0 < x < 1. Se tiene que: 0 < x < 0.25 se incrementa contador1 en 1 0.25 < x < 0.5 se incrementa contador2 en 1 0.5 < x < 0.75 se incrementa contador3 en 1 0.75 < x < 1 se incrementa contador4 en 1 if ((x>=0.0) && (x<=1.0)) { if (x<=0.25) contador1++; else if (x<=0.5) contador2++; else if (x<=0.75) contador3++; else contador4++; else printf( Error. ); } Programación Digital I 7

Ejemplo Diseñar un algoritmo que lea tres números A, B y C y escribirlos ordenados de mayor a menor. Suponer que los tres números son diferentes. Análisis E-P-S Entradas: A, B, C Z Proceso: Determinar cual es el número mayor, el del medio y el menor. Salidas: A-B-C ó A-C- B ó B-A-C ó B-C-A ó C-A-B ó C-B-A Programación Digital I 8

Estructura de Decisión Múltiple: Ejemplo 0. Inicio 1. Escribir ( Introduzca los tres numeros ) 2. Leer (A, B, C) 3. Si (A > B) entonces Si (B > C) entonces Escribir (A, B, C) sino Si (C > A) entonces Escribir (C, A, B) sino Escribir (A, C, B) fin_si sino Si (A > C) entonces // (3) Escribir (B, A, C) sino Si (C > B) entonces Escribir (C, B, A) sino Escribir (B, C, A) fin_si 4. Fin TAREA: Codifiquelo. Programación Digital I 9

Estructura de Decisión Múltiple Diagrama de flujo condición 1 2 3 n acciones 1 acciones 2 acciones 3 accionen Programación Digital I 10

Estructura de Decisión Múltiple Pseudocódigo en Español En caso de <expresión> hacer <lista1>: Sentencias <lista2>: Sentencias <listan>: Sentencias fin_caso Código en C switch (expresión) { case <valor1>: sentencias; case <valor2>: sentencias; default: //opcional <sentencias> } Programación Digital I 11

Estructura de Decisión Múltiple Evalúa una expresión que podrá tomar 1 de n valores distintos. De acuerdo al valor resultante de esta evaluación, se ejecutarán las sentencias asociadas a dicho valor de manera secuencial. Programación Digital I 12

Estructura de Decisión Múltiple Sentencia break: La sentencia break se utiliza en la sentencia switch y en las estructuras de repetición. Esta sentencia le dice a la computadora que ejecute la sentencia que está inmediatamente a continuación del fin del switch o del fin de una estructura de repetición. Programación Digital I 13

Estructura de Decisión Múltiple Pseudocódigo en Español En caso de (opción) hacer 1: Escribir ( Seleccion = opción 1 ) 2: Escribir ( Seleccion = opción 2 ) 3: Escribir ( Seleccion = opción 3 ) sino Escribir ( Opcion incorrecta ) fin_caso Código en C switch (opcion) { case 1: printf( Seleccion=opción 1\n ); case 2: printf( Seleccion=opción 2\n ); case 3: printf( Seleccion=opción 3\n ); default: printf( Opción incorrecta ); } Programación Digital I 14

Estructura de Decisión Múltiple: Ejemplo 1 En caso de (fecha) hacer 1492: Escribir ( Colon emprende un viaje sin sentido \ logico\ ) 1531: Escribir ( Nace El Maestro de todos los tiempos: Leonardo Da Vinci ) fin_caso 1969: Escribir ( Llegada del hombre a la luna ) Escribir ( Una fecha muy importante ) Programación Digital I 15

Estructura de Decisión Múltiple: Ejemplo 1 Código en C switch (fecha) { case 1492: printf( Colon emprende un viaje sin sentido \ logico\ ); case 1531: printf( Nace El Maestro de todos los tiempos: Leonardo Da Vinci ); case 1969: printf( Llegada del hombre a la luna ); } printf( Una fecha muy importante ); Programación Digital I 16

Estructura de Decisión Múltiple: Ejemplo 2 switch (nota) { case A : case a : printf( Excelente ); case B : case b : printf( Bueno ); case C : case c : printf( Regular ); default: printf( Nota incorrecta ); } Programación Digital I 17

Estructura de Decisión Múltiple: Ejemplo 3 Diseñar un programa que escriba los nombres de los días de la semana de acuerdo al valor de la variable DIA. 0. Inicio 1. Escribir ( Introduzca un numero entre 1 y 7) 2. Leer (DIA) 3. Caso_de (DIA) hacer 1: Escribir ( Lunes ) 2: Escribir ( Martes ) 3: Escribir ( Miercoles ) 4: Escribir ( Jueves ) 5: Escribir ( Viernes ) 6: Escribir ( Sabado ) 7: Escribir ( Domingo ) sino Escribir ( Numero incorrecto ) fin_caso 4. Fin Programación Digital I 18

Estructura de Decisión Múltiple: Ejemplo 3 #include <stdio.h> void main() { short DIA; printf( Introduzca un numero entre 1 y 7 ); scanf( %i,dia); switch (DIA) { case 1:printf( Lunes ); case 2:printf( Martes ); case 3:printf( Miercoles ); } case 4: printf( Jueves ) case 5: printf( Viernes ); case 6: printf( Sabado ); case 7: printf( Domingo ); default: printf( Numero incorrecto ); } Programación Digital I 19

Estructura de Decisión Múltiple: Ejemplo 4 Diseñar un programa en el que a partir de una fecha dada con el formato dd, mm, aaaa, se obtenga la fecha del día siguiente. Análisis E-P-S Entradas: día (dd_v Z + ), mes (mm_v Z + ) y año (aaaa_v Z + ) correspondiente a la fecha dada. Proceso: Incrementar día nuevo en uno (dd_n = dd_v + 1) Si día viejo es el último del mes y es el último mes Poner mes nuevo en 1 y día nuevo en 1 e incrementar el año nuevo Si día viejo es el último del mes entonces Poner día nuevo en 1 e incrementar mes nuevo Salidas: día (dd_n Z + ), mes (mm_n Z + ) y año (aaaa_n Z + ) correspondiente a la fecha del día siguiente. Programación Digital I 20

Estructura de Decisión Múltiple: Ejemplo 4 Algoritmo 0. Inicio 1. Escribir ( Introduzca la fecha de la forma dd mm aaaa ) 2. Leer (dd_v, mm_v, aaaa_v) 2.1. dd_n = dd_v + 1 2.2. mm_n = mm_v 2.3. aaaa_n = aaaa_v 3. Si dd_v > 28 entonces En caso de (mm_v) hacer 4, 6, 9, 11: Si dd_v = 30 entonces // El mes tiene 30 días dd_n = 1 mm_n = mm_v + 1 aaaa_n = aaaa_v fin_si Programación Digital I 21

Estructura de Decisión Múltiple: Ejemplo 4 2: Si ((aaaa_v mod 4 = 0) y (aaaa_v mod 100!= 0) o (aaaa_v mod 400 = 0)) entonces //El mes es febrero Si (dd_v = 29)) entonces // y bisiesto dd_n = 1 mm_n = 3 fin_si sino // El mes es febrero Si (dd_v = 28) entonces // y no bisiesto dd_n = 1 mm_n = 3 fin_si Programación Digital I 22

Estructura de Decisión Múltiple: Ejemplo 4 12: Si dd_v = 31 entonces // El mes es diciembre dd_n = 1 mm_n = 1 aaaa_n = aaaa_v + 1 fin_si 1, 3, 5, 7, 8, 10: Si dd_v = 31 entonces // El mes tiene 31 días dd_n = 1 mm_n = mm_v + 1 fin_si fin_caso fin_si Programación Digital I 23

Estructura de Decisión Múltiple: Ejemplo 4 4. Escribir ( Fecha actual, dd_v, mm_v, aaaa_v) 5. Escribir ( Fecha del día proximo, dd_n, mm_n, aaaa_n) 6. Fin TAREA: Codificarlo. Programación Digital I 24

Ejercicios Dada una fecha con el formato dd, mm, aaaa, escriba un programa para validar si el día es válido con respecto al mes. Escriba una sentencia decisión múltiple que a partir de una nota expresada en forma numérica imprima su correspondiente literal, según la siguiente correspondencia:0 a 4 SUSPENSO,5 y 6 APROBADO,7 y 8 NOTABLE, 9 y 10 SOBRESALIENTE. Para cualquier otro valor de la nota numérica se imprimirá el mensaje VALOR INCORRECTO. Escriba un programa tal que, dado el valor de un día de la semana entre 1 y 7, escriba si es un día es laboral o es fin de semana. Programación Digital I 25

Ejercicios En una fábrica se desea hacer el cálculo de un bono especial para los trabajadores, basándose en el número de horas extras trabajadas, y el número de horas que el obrero se ha ausentado de su trabajo. Para cada trabajador se lee el número de horas trabajadas y el número de horas ausentes. La fábrica ha decidido que se use la siguiente fórmula para determinar el monto del bono: Tasa de Cálculo = Horas extras - (5/6) * Horas Ausentes Después de hallar la tasa de cálculo, se sigue la tabla siguiente: Programación Digital I 26

Ejercicios Tasa de Cálculo Bono > 40 horas 50.000 Bs. > 30 pero < 40 40.000 Bs. > 20 pero < 30 30.000 Bs. > 10 pero < 20 20.000 Bs. < 10 10.000 Bs. Escriba un programa que calcule el monto del bono que el empleado va a recibir. Programación Digital I 27

Ejercicios Escriba un programa que lea dos fechas dadas por un día, mes y año e indique cuál de ellas es anterior en el tiempo a la otra. Escriba un programa que lea dos fechas de un mismo año dadas por un día y un mes y calcule el número de días transcurridos entre ambas. Tenga en cuenta que el año puede ser bisiesto. Programación Digital I 28