Estructura Selectiva Múltiple

Documentos relacionados
Codificación de Estructuras Repetitivas

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

TEMA 4. ESTRUCTURAS DE CONTROL

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

FUNCIONES. Identificador valido. Tipo-Funcion Identificador_de_la_funcion (Tipo par1,tipo par2 )

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

Lección 3 Sentencias de control

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

TEMA 4: Programación estructurada

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

Operadores aritméticos

ESTRUCTURAS DE CONTROL

Tema: Estructuras de Selección en C#.

Estructuras de selección

Uso Pseudocódigo Diagrama de flujo Codificación

5. ESTRUCTURAS DE REPETICIÓN

RECORDAR TIPOS DE DATOS

Fundamentos de programación

Lenguaje de Programación: C++ Estructuras de control:switch

GUIÓN DE PRÁCTICAS 3: ESTRUCTURAS CONDICIONALES

Programación Estructurada

CAPÍTULO 8 CONTROL DE FLUJO (Estructuras selectivas)

Capítulo 3. Sentencias condicionales

Palabras reservadas de C++ y C. Una palabra reservada no puede declararse como un identificador, esto haría un conflicto entre conectores y funciones.

Funciones. Parámetros por valor

SENTENCIAS DE CONTROL (SENTENCIA switch)

Resolución de problemas mediante algoritmos

TEMA 3. Sentencias de control.

Estructura de Selección y Repetición en C#

Introducción al lenguaje C

Descripción de un Programa

Cuales son los tipos de instrucciones que se utilizan en la programación?

Programación: Estructuras de Control

5. Sentencias selectivas o condicionales

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

FACULTAD DE INGENIERIA

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

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

ESTRUCTURAS DE CONTROL

Estructuras de Repetición (Hacer-Mientras)

Guía práctica de estudio 08: Estructuras de selección

DEFINICIÓN FORMAL DE UN AFP

Estructuras de Decisión Múltiple

Guía práctica de estudio 05: Pseudocódigo

Lenguaje de programación C. Introducción

Programación. Test Autoevaluación Tema 4

/**********************Prototipos de ciones************************/ TOKEN scanner(); int columna(int c);

Unidad Didáctica 3. Tipos genéricos. Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos

UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLÓGICOS COORDINACION DE COMPUTACION

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta

Estructuras de Decisión Simples y Dobles

Taller de Sistemas Operativos Introducción

UNIDAD ACADÉMICA PROFESIONAL TIANGUISTENCO

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

ESTRUCTURAS. Struct Identificador_ tipo_estructura { Tipo miembro_1; /*Declaración de los miembros*/

Introducción a la programación

Instrucciones de control

Tipos de datos y Operadores Básicos

Estructura de datos y Programación

INSTITUTO NACIONAL SUPERIOR DEL PROFESORADO TÉCNICO - TÉCNICO SUPERIOR EN INFORMÁTICA APLICADA - PROGRAMACIÓN I

Programación I Funciones

Actividad Algoritmos, Estructura y Programación I. FOR, DO-WHILE

TEMA 4: Estructuras de Control

Estructuras de control selectivas

Objetivos de la práctica: - Trabajar las estructuras de control repetitivas en la realización de programas.

Estructuras de Datos Declaraciones Tipos de Datos

Lenguaje C. República Bolivariana de Venezuela Fundación Misión Sucre Aldea Fray Pedro de Agreda Introducción a la Programación III

Escribir programas a partir de un diagrama de flujo

Universidad Nacional del Santa FACULTAD DE INGENIERIA E.A.P de Ingeniería de Sistemas e Informática NETBEANS 7.0

ESTRUCTURAS DE CONTROL EN PHP

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

Estructura repetitiva do while

Departamento de Informática Universidad Técnica Federico Santa María. Tema 1: Algoritmos

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

Introducción a Sistemas Operativos: Ficheros

UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA FACULTAD DE CIENCIAS PRACTICA DE PROCESOS HERRAMIENTAS

Introducción a la programación: Algoritmos

LENGUAJE DE PSEUDOCÓDIGO

Estructuras en LabVIEW.

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

Lógica de programación

Conceptos Programa Programa objeto Pseudocódigo Algoritmos y Diagramas de flujo 1) Finitud 2) Definición 3) Entrada

Programación de Computadores 4 Iteraciones y Decisiones. Prof. Javier Cañas. Universidad Técnica Federico Santa María Departamento de Informática

Lenguaje C, segundo bloque: Sentencias de control

Examen Final de Teoría. Grupo de teoría:

Relación de prácticas de la asignatura METODOLOGÍA DE LA PROGRAMACIÓN Segundo Cuatrimestre Curso º Grado en Informática

PRÁCTICA INSTRUCCIONES DE SELECCIÓN. Objetivos

Elementos de un programa en C

Informática I. While & do While

Fundamentos de Programación 2017-I

Tema: Estructuras de Repetición en C# [While y Dowhile].

Guía práctica de estudio 05: Diagramas de flujo

Mientras (expresión lógica) Instrucciones a repetir mientras la expresión lógica es verdadera Fin Mientras

Guía práctica de estudio 06: Estructuras de repetición

Transcripción:

Estructura Selectiva Múltiple La estructura que se va a describir a continuación desarrolla una función similar a la de la selectiva doble con múltiples ramificaciones, aunque como se puede ver presenta también importantes diferencias. La forma general de la estructura selectiva Múltiple o codificada en C switch tiene el siguiente en diagrama de flujo: Diagrama de Flujo de la estructura selectiva múltiple Según o switch Única Entrada Variable Clave Constante n cte. 1 cte. 2 cte. 3. cte. n otro Acción i; Acción j; Acción g; Acción h; Acción e; Acción f; Acción c; Acción d; Acción a; Acción b; Única Salida 1

Explicación: Se evalúa la variable clave y si coincide con el valor constante cte1, se ejecuta acción a seguida de acción b y salta al final de la estructura. Si no, se evalúa la variable clave y si coincide con el valor constante cte2, se ejecuta acción c seguida de acción d y salta al final de la estructura. Si no, se evalúa la variable clave y si coincide con el valor constante cte3, se ejecuta acción e seguida de acción f y salta al final de la estructura. Si no, se evalúa la variable clave y si coincide con el valor constante cten, se ejecuta acción g seguida de acción h y salta al final de la estructura. Si no, finalmente se evalúa la variable clave y si no coincidió con el valor constante cte1,ni con cte2, cte3, cten,se ejecuta acción i seguida de acción j y finaliza. Como se ve en el pseudocódigo al terminar el bloque de sentencias en cada caso encontramos la palabra salto, el efecto de la misma, es dar por terminada la ejecución de la estructura Según. Pseudocódigo Según (variable clave) {caso cte1: Acción i; /* estas acciones se ejecutan cuando Acción j; variable clave == cte1 da verdadero*/ caso cte2: Acción e; /* estas acciones se ejecutan cuando Acción f; variable clave== cte2 da verdadero */ caso cten: Acción c; /* estas acciones se ejecutan cuando Acción d; variable clave == cten da verdadero*/ otro: Acción a; /* estos finalmente si variable clave!= cte1&& Acción b; variable clave!= cte2&& variable clave!= cten da verdadero*/ Codificación en C switch (expresion) { case expresion_cte_1: sentencia_1; case expresion_cte_2: sentencia_2;... case expresion_cte_n: sentencia_n; [default: sentencia;] 2

Explicación: Se evalúa expresión y se considera el resultado de dicha evaluación. Si dicho resultado coincide con el valor constante expresion_cte_1, se ejecuta sentencia_1 seguida de sentencia_2, sentencia_3,..., sentencia. Si el resultado coincide con el valor constante expresion_cte_2, se ejecuta sentencia_2 seguida de sentencia_3,..., sentencia. En general, se ejecutan todas aquellas sentencias que están a continuación de la expresion_cte cuyo valor coincide con el resultado calculado al principio. Si ninguna expresion_cte coincide se ejecuta la sentencia que está a continuación de default. Si se desea ejecutar únicamente una sentencia_i (y no todo un conjunto de ellas), basta poner una sentencia break a continuación. El efecto de la sentencia break es dar por terminada la ejecución de la sentencia switch. Existe también la posibilidad de ejecutar la misma sentencia_i para varios valores del resultado de expresion, poniendo varios case expresion_cte seguidos. El siguiente ejemplo ilustra las posibilidades citadas: Ejemplo switch (expresion) { case expresion_cte_1: sentencia_1; case expresion_cte_2: case expresion_cte_3: sentencia_2; default: sentencia_3; 3

Diseñar un programa en diagrama de flujo y pseudocódigo que determine la cantidad de artículos que pertenece a cada uno de los siguientes rubros en un mini mercado. Y cuantos de estos productos no pertenecen a ningún rubro antes mencionado. La cantidad de artículos a ingresar en este caso es de 100 artículos. Código / Rubro 10 Panadería; 20 almacén; 30 frescos; 40 bazar. Entrada. Proceso. Salida. 100 cod. / R Leer una selección. Cantidad panadería. Cantidad almacén. Cantidad frescos. Cantidad bazar. Cantidad otros. Inicio Este programa muestra la cantidad de articulos por rubros hasta llegar a mil. ; CP=0, CA=0, CR=0, CB=0, C OTRO=0; I=1, I<=1000, I++ ; Ingrese código del articulo, I; 3 cod; 2 1 4

3 1 2 cod 10 20 30 40 otro CP + +; CA + +; CF + +; CB + +; C OTRO + +; Hay, CP, Artículos de panadería ; Hay, CA, Artículos de almacén ; Hay, CF, Artículos de frescos ; Hay, CB, Artículos de bazar ; Hay, C OTRO, Artículos que no corresponden a los mencionados ; Inicio 5

Pseudocódigo. Inicio Fin {Imp Este programa muestra la cantidad de articulos por rubros hasta llegar a mil. ; Para (I=1, I<=1000, I++ ;) {Imp Ingrese código del articulo, I; Leer cod; Según (cod); { caso 10: CP + +; caso 20: CA + +; caso 30: CF + +; caso 40: CB + +; caso OTRO: C OTRO + +; Imp Hay, CP, Artículos de panadería ; Imp Hay, CA, Artículos de almacén ; Imp Hay, CF, Artículos de frescos ; Imp Hay, CB, Artículos de bazar ; Imp Hay, C OTRO, Artículos que no corresponden a los mencionados ; Código #include <stdio.h> #define tam 5 int main(int argc, char **argv){ int i=0,cod=0,cp=0,ca=0,cf=0,cb=0,c_otro=0; printf("este programa muestra la cantidad de artículos por rubro hasta llegar a %d\n\n",tam); for(i=1;i<=tam;i++){ printf("descripción\tcódigo\n"); printf("panadería\t10\n"); printf("almacen\t20\n"); printf("frescos\t30\n"); printf("bazar\t40\n\n"); printf("ingrese el código del artículo %d: ",i); scanf("%d", &cod); switch(cod){ case 10: CP ++; case 20: CA++; case 30: CF++; case 40: CB++; 6

default: C_OTRO++; printf("hay %d artículos de panadería\n",cp); printf("hay %d artículos de almacén\n",ca); printf("hay %d artículos de frescos\n",cf); printf("hay %d artículos de bazar\n",cb); printf("hay %d artículos que no corresponden a los mencionados\n\n",c_otro); return 0; Terminal Este programa muestra la cantidad de artículos por rubro hasta llegar a 5 Ingrese el código del artículo 1: 10 Hay 0 artículos de almacén Hay 0 artículos de frescos Hay 0 artículos que no corresponden a los mencionados Ingrese el código del artículo 2: 20 Hay 1 artículos de almacén Hay 0 artículos de frescos Hay 0 artículos que no corresponden a los mencionados Ingrese el código del artículo 3: 30 7

Hay 1 artículos de almacén Hay 1 artículos de frescos Hay 0 artículos que no corresponden a los mencionados Ingrese el código del artículo 4: 60 Hay 1 artículos de almacén Hay 1 artículos de frescos Hay 1 artículos que no corresponden a los mencionados Ingrese el código del artículo 5: 70 Hay 1 artículos de almacén Hay 1 artículos de frescos Hay 2 artículos que no corresponden a los mencionados ------------------ (program exited with code: 0) Press return to continue 8

Trabajo Practico numero 6 Actividad 1: Codificar en C todos los diagramas de flujo realizados en clase práctica y teórica que usen estructura selectiva múltiple. Actividad 2: Correr todos los ejemplos realizados en clase teórica y práctica con estructura selectiva múltiple en el Laboratorio de informática modificar las salidas e implementar mejoras si es posible. Actividad 3: Diseñar un programa en diagrama de flujo y codifíquelo en C, que determine lo siguiente: En una localidad se quiere saber cuántos alumnos están cursando cada uno de los seis años del secundario, para ello se cuenta con la siguiente información: un listado donde figura curso, sección, colegio y cantidad de alumnos. El fin del proceso será detectado, cuando curso sea igual a cero. Actividad 4: Diseñar un programa en diagrama de flujo y codifíquelo en C, que simule un calculador de bolsillo. Que pueda sumar restar multiplicar y dividir dos números ingresados por teclado y que muestre un menú con estas opciones mas la opción salir del programa Actividad 5: Ídem al anterior pero el programa deberá seleccionar la operación según el operador ingresado (+,*,/,-) Actividad 6: Modificar el ejemplo del mini mercado para que se termine el proceso cuando el operador decida.además los gerentes de almacén y bazar desean armar islas de liquidación de mercadería todo por cinco pesos en almacén y todo por diez pesos en bazar y para ello quieren saber cuantos artículos cuestan ese valor mas menos un diez por ciento y un listado de los mismos.para ello cuentan con un listado de las con todos los artículos del súper con su código,código de rubro,importe, descripción,cantidad en stock y cantidad en góndola. 9