Upload
marigelcontreras
View
518
Download
5
Embed Size (px)
Citation preview
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
“ESTRUCTURAS DE CONTROL”
POR
LETICIA PALMA ROSALES
MARÍA DE LOS ANGELES CONTRERAS FLORES
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.
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
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.
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.
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.
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.
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]
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.
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.
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.
Estructura SecuencialUna sentencia compuesta es un conjunto de sentenciasencerradas entre llaves ({ }) empleadas para indicar unflujo secuencial.{
sentencia1;sentencia2;sentencia3;
:sentencian;
}
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.
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
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;
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.
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
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.
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.
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:
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
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.
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.
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.
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
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.
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.
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.
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
}
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.
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.
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
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.
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