Estructuras de control selectivas

35
UNIVERSIDAD AUTÓNOMA DEL ESTADO DE MÉXICO FACULTAD DE INGENIERÍA Coordinación de Ciencias Básicas Unidad de Aprendizaje: Programación Básica Créditos: 8

Transcript of Estructuras de control selectivas

Page 1: Estructuras de control selectivas

UNIVERSIDAD AUTÓNOMA DEL ESTADO DE MÉXICO

FACULTAD DE INGENIERÍACoordinación de Ciencias Básicas

Unidad de Aprendizaje: Programación Básica

Créditos: 8

Page 2: Estructuras de control selectivas

“ESTRUCTURAS DE CONTROL”

POR

LETICIA PALMA ROSALES

MARÍA DE LOS ANGELES CONTRERAS FLORES

Page 3: Estructuras de control selectivas

Guía Explicativa• El presente material tiene como propósito ser una

herramienta de apoyo para los estudiantes principiantes en elárea de la programación de computadoras. Los temas queaquí se tratan, son los referentes a las estructuras de controlsecuenciales y selectivas o decisivas: selectiva simple,selectiva doble, selectiva múltiple y en cascada.

• En este contexto se presenta una explicación delfuncionamiento de cada estructura, como trabaja y algunosejercicios propuestos que le permitan practicar y reforzar losconocimientos adquiridos.

Page 4: Estructuras de control selectivas

CONTENIDO1. Introducción

2. Definición de Estructuras de Control

3. Clasificación de las Estructuras de Control

4. Empleo de las Estructuras de Control

5. Estructura Secuencial

6. Estructuras de Control Selectivas

7. Ejercicios

Page 5: Estructuras de control selectivas

Objetivo• El presente trabajo tiene como objetivo apoyar a los

estudiantes del área de programación básica en laidentificación y utilización de técnicas para la formulación dealgoritmos (pseudocódigos y diagramas de flujo) empleandolas estructuras de control secuencial y selectivas.

Page 6: Estructuras de control selectivas

IntroducciónLa programación estructurada nació como solución alos problemas que se presentaban en la programaciónno estructurada, la cual fue empleada durante muchotiempo antes de la invención de ésta técnica.

Un programa no estructurado es un programaprocedimental donde las instrucciones se ejecutan enel mismo orden en que han sido escritas. Sin embargo,este tipo de programación hace uso de la instruccióngoto. Una instrucción goto permite pasar el control acualquier otra parte del programa.

Page 7: Estructuras de control selectivas

IntroducciónCuando se ejecuta una instrucción goto la secuencia deejecución del programa continúa a partir de la instrucciónindicada por goto.

De esta forma, para comprender como funciona un programa esnecesario simular su ejecución. Razón por la cual, en la mayoríade los casos es muy difícil comprender la lógica de un programade este tipo.

Page 8: Estructuras de control selectivas

IntroducciónEn los lenguajes de programación, lasestructuras de control permiten modificarel flujo de ejecución de las instrucciones deun programa. Todas las estructuras decontrol tienen un único punto de entrada yun único punto de salida.

Page 9: Estructuras de control selectivas

Estructuras de ControlDefinición: “Las estructuras de control controlan elcomportamiento de un método o de un programa. Lasestructuras de Control permiten combinar instrucciones osentencias individuales en una simple unidad lógica con unpunto de entrada y un punto de salida”[2]

Page 10: Estructuras de control selectivas

Clasificación de las Estructuras de

ControlLas estructuras de control se clasifican en tres:

1. Secuenciales2. Decisivas o Selectivas3. Repetitivas o Iterativas

Esta es una de las razones que permite que laprogramación se rija por los principios de laprogramación estructurada.

Page 11: Estructuras de control selectivas

Empleo de las Estructuras de ControlAlgunas funciones de las estructuras de control sonlas siguientes:

1. De acuerdo a una condición, ejecutar un grupo uotro de sentencias (If-then-else y Switch-Case)

2. Ejecutar un grupo de sentencias mientras unacondición sea verdaderas (Do-While)

3. Ejecutar un grupo de sentencias hasta que lacondición evaluada sea falsa (Do-Until)

4. Ejecutar un grupo de sentencias un númerodeterminado de veces (For), etc.

Page 12: Estructuras de control selectivas

Estructura SecuencialLa estructura secuencial es una estructura básica, y se presentacuando una instrucción del programa sigue a otra, es decir, elflujo fluye de sentencia a sentencia.

Page 13: Estructuras de control selectivas

Estructura SecuencialUna sentencia compuesta es un conjunto de sentenciasencerradas entre llaves ({ }) empleadas para indicar unflujo secuencial.{

sentencia1;sentencia2;sentencia3;

:sentencian;

}

Page 14: Estructuras de control selectivas

Ejercicio1. Elabore un diagrama de flujo que reciba como datos de

entrada la longitud y el peso de un objeto expresados en piesy libras, y que de cómo resultado, los datos del mismo objetopero expresados en metros y kilos, respectivamente.

Page 15: Estructuras de control selectivas

Diagrama de Flujo

Inicio

pies

libra

mt pies * 0.0929

kg libra * 0.45359

mt, kg

Fin

Figura 1. Diagrama de Flujo para realizar Conversiones de pies a metros y de libras a kilos

Page 16: Estructuras de control selectivas

Estructura Selectiva Simple

La estructura de control de selección principal es la sentencia si(if). El formato de esta estructura tiene la siguiente sintaxis:

if (condición)

acción;

Page 17: Estructuras de control selectivas

Estructura Selectiva Simple

La sentencia if funciona de la siguiente forma: cuando seencuentra la sentencia if dentro de un método, se evalúa lacondición escrita entre paréntesis. Si dicha condición esverdadera, se ejecuta la acción, en caso contrario, no se realizanada. En ambos casos, la ejecución del programa continúa con lasiguiente sentencia.

Page 18: Estructuras de control selectivas

Estructura Selectiva Simple

V

F

Condición

Acciones

Figura 2. Diagrama de Flujo de la Estructura

Selectiva Simple

Pseudocódigo

Si (condición){

sentencia_1;sentencia_2;

…sentencia_n;

}Fin_si

Page 19: Estructuras de control selectivas

Ejercicios

Ejemplo 1: Elabore un diagrama de flujo, un pseudocódigo y elcorrespondiente código fuente en C, de un programa quemuestre si un número es par.

Ejemplo 2: Elabore un diagrama de flujo, un pseudocódigo y elcorrespondiente código fuente en C, de un programa quemuestre si una persona es mayor de edad.

Page 20: Estructuras de control selectivas

Estructura selectiva doble

(si-otro caso)

La estructura selectiva doble tiene como propósitohacer que el diagrama se bifurque por dos ramasdiferentes en el punto de la toma de decisión. Si lacondición evaluada da como resultado verdadero,entonces se toma un camino específico (el de laizquierda), realizando una acción o accionesdeterminadas. Por otro lado, si el resultado es falso,entonces se continúa por otro camino (el de laderecha), ejecutando otra u otras acciones.

Page 21: Estructuras de control selectivas

Estructura selectiva doble

(si-otro caso)

Para cualquiera de los dos casos, una vez que se han terminadode ejecutar las acciones correspondientes, se sigue con lasecuencia normal del diagrama de flujo.

La representación gráfica de ésta estructura, se presenta acontinuación:

Page 22: Estructuras de control selectivas

Estructura selectiva doble

(si-otro caso)

Pseudocódigo

Si (condición)Bloque A;

Otro_casoBloque B;

Fin_siFigura 2. Diagrama de Flujo y Pseudocódigo de la

Estructura Selectiva Doble

V FCondición

Bloque A Bloque B

Page 23: Estructuras de control selectivas

Ejercicios

Ejemplo 3: Elabore un diagrama de flujo, un pseudocódigo y elcorrespondiente código fuente en C, de un programa quemuestre si un número es par o impar.

Ejemplo 4: Elabore un diagrama de flujo, un pseudocódigo y elcorrespondiente código fuente en C, de un programa quemuestre si una persona es mayor de edad o si aún es menor deedad.

Page 24: Estructuras de control selectivas

Estructura Selectiva Múltiple

(Switch)

Esta estructura se utiliza para seleccionar una de entre múltiples alternativas, pues permite que el diagrama se bifurque por varias ramas en el punto de la toma de decisión.

La elección del camino que se ha de seguir, depende de valorque toma una variable conocida como selector o expresión decontrol.

Page 25: Estructuras de control selectivas

Estructura Selectiva Múltiple

(Switch)

El valor de la expresión o selector solamente puede ser de tipoentero, booleano o caracter, nunca de tipo real ni cadena decaracteres.

A continuación se presenta el diagrama de flujo y elpseudocódigo que ilustra esta estructura selectiva.

Page 26: Estructuras de control selectivas

Estructura Selectiva Múltiple

(Switch)

Selector

Etiqueta 1

Bloque A Bloque NBloque B

Bloque N+1

Etiqueta 2 Etiqueta n

Figura 3. Diagrama de Flujo de la Estructura Selectiva Múltiple

Page 27: Estructuras de control selectivas

Estructura Selectiva Múltiple

(Switch)Esta estructura de control trabaja de la siguientemanera:

1º. Evalúa la expresión de control o selector

2º. Compara el valor dado con cada una de lasetiquetas del caso

3º. Cuando el valor del selector es igual al de unaetiqueta del caso, entonces comienza la ejecucióndel bloque hasta que encuentra la sentencia deTerminar.

Page 28: Estructuras de control selectivas

Estructura Selectiva Múltiple

(Switch)Se debe considerar que cada etiqueta es un valor único,constante y que además tiene un valor diferente de los otros.

Es importante destacar también que el tipo de datos de lasetiquetas debe ser el mismo que la expresión selector.

Page 29: Estructuras de control selectivas

Estructura Selectiva Múltiple

(Switch)Si el valor del selector no llegara a listarse en algunaetiqueta caso, entonces no se podrá ejecutar ningunade las opciones, a menos que se haya especificado unaacción por defecto (omisión = default).

La etiqueta default es opcional, pero se recomienda suuso, a menos que este completamente seguro de quetodos los valores del selector han sido incluidos en lasetiquetas caso.

Page 30: Estructuras de control selectivas

Estructura Selectiva Múltiple

(Switch)

PseudocódigoSwitch (selector){

caso etiqueta 1: Bloque A;Terminar;

caso etiqueta 2: Bloque B;Terminar;

…caso etiqueta n: Bloque N;

Terminar;omisión: Bloque N+1; //opcional

}

Page 31: Estructuras de control selectivas

Estructura Selectiva Múltiple

(Switch)Ejemplo 5: Elabore un diagrama de flujo, unpseudocódigo y el correspondiente código fuente en C,de un programa que muestre el número de días quetiene un mes según el año.

Ejemplo 6: Elabore un diagrama de flujo, un pseudocódigo y elcorrespondiente código fuente en C, de un programa quemuestre los nombres de los meses, de tal forma que al ingresaruna fecha en forma numérica, se impriman los nombres de losmeses.

Page 32: Estructuras de control selectivas

Estructura Selectiva en Cascada

Cuando se realiza el desarrollo para solucionar problemas, escomún que , luego de tomar una decisión y señalar el camino aseguir, nuevamente es necesario tomar otra decisión. Esteproceso puede repetirse numerosas veces. Una forma desolucionar esto, es aplicar una estructura selectiva en cascada.La cual se analiza a continuación.

Page 33: Estructuras de control selectivas

Estructura Selectiva en Cascada

Bloque A

Bloque D

Bloque C

Bloque N

V FCondición 1

Condición 3Condición 2

Bloque B Condición 4

V V

V

V

Mensaje

Page 34: Estructuras de control selectivas

Ejercicios

Ejemplo 7: Elabore un diagrama de flujo, un pseudocódigo y elcorrespondiente código fuente en C, de un programa quemuestre cuál es el mayor de tres números.

Ejemplo 8: Elabore un diagrama de flujo, un pseudocódigo y elcorrespondiente código fuente en C, de un programa quemuestre si un año dado es bisiesto o no.

Page 35: Estructuras de control selectivas

Bibliografía1. Cairó Osvaldo, (2006) “Fundamentos de Programación, Piensa

en C), Prentice-Hall, México.

2. Joyanes Aguilar Luis et al, (2002), “Programación en Java 2,Algoritmos, Estructuras de Datos y Programación Orientada aObjetos”, McGraw-Hill, España