12
“Año de la Diversificación Productiva y del Fortalecimiento de la Educación” UNIVERSIDAD NACIONAL AUTÓNOMA DE CHOTA ESCUELA PROFESIONAL DE INGENIERÍA CIVIL INFORME ESTRUCTURAS DE CONTROL SELECTIVA Alumnos: Segura Ramos Jhon Alex Irigoin Oblitas rosbert Docente: Lic. Zulema Rosa Fernández Tapia Chota –Perú 2015

Estructura de Control Selectiva o Alternativa

Embed Size (px)

DESCRIPTION

DEFINICIONES Y CONCEPTOS DE LAS SENTENCIAS IF, IF-ELSE, SWITCH

Citation preview

Ao de la Diversificacin Productiva y del Fortalecimiento de la Educacin

UNIVERSIDAD NACIONAL AUTNOMA DE CHOTA

ESCUELA PROFESIONAL DE INGENIERA CIVIL

INFORME

ESTRUCTURAS DE CONTROL SELECTIVA

Alumnos:

Segura Ramos Jhon Alex

Irigoin Oblitas rosbert

Docente:

Lic. Zulema Rosa Fernndez Tapia

Chota Per

2015

ESTRUCTURA DE CONTROL SELECTIVA O ALTERNATIVA

Es una estructura con una sola entrada y una sola salida en la cual se realiza una accin (una o varias instrucciones) de entre varias, segn una condicin; o se realiza una accin segn el cumplimiento o no de una determinada condicin. La condicin puede ser simple o compuesta.

Los programas, para un mejor funcionamiento y para poder realizar un nmero mayor de tareas, deben permitir emplear acciones alternativas a fin de poder elegir una de ellas cuando la situacin lo requiera. Por lo tanto, la ejecucin de una lnea o grupos de lneas del programa depende de si cumplen o no una condicin.

1. TOMA DE DECISIONES

La instruccin si (if) nos permite tomar decisiones, podemos hacer una pregunta y la contestacin slo puede ser verdadera o falsa, es decir, s o no.

Ejemplo:

Si llueve, llevar el paraguas.

2. LA EXPRESIN CONDICIONAL

La condicin es una expresin booleana. Si el resultado de la expresin:

Es cero, se considera una condicin falsa.

No es cero, se considera una condicin cierta.

Ejemplo:

x = 9; if (x) //La condicin es verdadera.

if (5>7) //La condicin es falsa, comparamos dos valores.

Existen tres tipos de estructuras de control selectivas; stas se basan en una condicin o en una opcin:

a) Simple if. b) Doble if-else. c) Mltiple switch-break.

3. BLOQUE DE SENTENCIAS O INSTRUCCIN COMPUESTA

Se denomina bloque de sentencias a un conjunto de instrucciones delimitadas, por ejemplo en lenguaje C, C++, Java se utilizan llaves que abren y cierran { }.

En lenguajes como Pascal, Modula, Delphi, Ada, se utiliza Begin y End.

Estas instrucciones se toman como una sola sentencia en las estructuras de control.

Ejemplo:

Pseudocdigo

Lenguaje C++

4. Estructura de control selectiva simple si (if)

Estructura de control que dirige a la computadora para ejecutar una o ms instrucciones solamente si la condicin es verdadera. Si la condicin es falsa no realiza ninguna accin.

El trmino condicin lo utilizaremos a lo largo de este libro para referirnos a una o ms condiciones.

Existen dos formas de representarlo, dependiendo del nmero de instrucciones que se desean realizar si la condicin se cumple:

1. Si se requiere ejecutar una sola instruccin, cuando se cumpla la condicin se representa de la siguiente forma:

Diagrama de flujo

Pseudocdigo

Lenguaje C++

Si la condicin se cumple se realiza la instruccin 1.

Una posibilidad en el cdigo sera: if (i)

printf(%d, i/2)

2. Si se requiere ejecutar un bloque de instrucciones, cuando se cumpla la condicin se representa de la siguiente forma:

Diagrama de flujo

Pseudocdigo

Lenguaje C++

Nota: Si existe ms de una instruccin para realizar, es necesario utilizar inicio y fin para agrupar las instrucciones, es su alcance sintctico, si no se usa el inicio y fin slo se ejecuta la primera instruccin, mientras que las siguientes instrucciones se realizarn siempre. En la tabla 3.2 vemos unos ejemplos de las distintas formas que puede adoptar la expresin dentro de un if.

Formas de utilizar la instruccin if

Ejemplos

Observaciones

5. Estructura de control selectiva doble si/si-no (if/else)

Estructura de control que dirige a la computadora para ejecutar una accin si la condicin es verdadera, y otra accin en caso de que sea falsa. Cabe mencionar que las instrucciones debern ser diferentes en cada caso, ya que si fueran iguales no se requerira una estructura selectiva, con la estructura secuencial se resolvera el problema.

Existen dos formas de representarlo, dependiendo del nmero de instrucciones que se desean realizar si la condicin se cumple o no:

Diagrama de flujo

Pseudocdigo

Lenguaje C++

Si la condicin se cumple se realiza la instruccin 1, pero si la condicin no se cumple se realiza la instruccin 2.

Diagrama de flujo

Pseudocdigo

Lenguaje C++

Si la condicin se cumple se realizan las instrucciones 1 y 2, pero si no se cumple se realizarn las instrucciones 3 y 4.

6. Anidamiento o escalonamiento si-si no-si (if-else-if)

El concepto de anidamiento es muy utilizado en la programacin y consiste en insertar (anidar) una estructura dentro de otra.

La expresin si anidados se refiere a que podemos utilizar una sentencia si (if) dentro de otra sentencia si (if). Esto se emplea cuando se tienen que cumplir varias condiciones para poder ejecutar una accin.

Uno de los aspectos ms confusos de las sentencias si (if) en el lenguaje de programacin es el si (if) anidado. Un si (if) anidado es una sentencia si (if) que es el objeto de otro si (if) o si no (else). La razn por la que los si (if) anidados son tan problemticos es que resulta confuso saber qu else se asocia con qu si (if).

Sintaxis:

Pseudocdigo

Lenguaje C++

La computadora evala la expresin condicional de arriba abajo. Tan pronto como la computadora encuentra una condicin verdadera, ejecuta la instruccin(es) y salta el resto de la escalera. Si no es verdad ninguna condicin, la computadora ejecutar el else final. ste acta frecuentemente como condicin por defecto; es decir si fallan todas las pruebas anteriores, la computadora realiza la ltima instruccin(es) else. Si no hay else final y son falsas las condiciones, no se hace nada.

7. Estructura de control selectiva mltiple segun_sea (switch)

Esta estructura selecciona entre varias posibilidades, dependiendo del valor de la expresin. Cuando en la estructura si (if) todas las condiciones utilizan la igualdad de una variable determinada con constantes predefinidas, se puede utilizar la instruccin segun_sea (switch), en dicha instruccin existen ms de dos opciones.

La estructura segun_sea (switch) evala una expresin que puede tomar n valores distintos; segn con cul de estos valores coincida, se ejecutarn ciertas acciones, es decir, el programa o algoritmo seguir un determinado camino entre los n posibles. Dicha expresin slo acepta valores enteros o caracteres para entrar a la opcin y el operador de relacin es el igual.

Diagrama de flujo

Pseudocdigo

Lenguaje C++

Se compara la expresin (puede ser una sola variable) con cada una de las opciones const y en el momento de encontrar una constante idntica se ejecutan la(s) instruccin(es) correspondiente(s) a ese caso. Al terminar de realizar las instrucciones del caso, se debe usar la palabra reservada salir (break) para que vaya al final de la estructura.

Si ninguno de los casos cumple con la expresin, se puede definir un caso por omisin, que tambin puede tener instrucciones; la computadora ejecutar la sentencia caso contrario (default). El default es opcional, si no est presente no se hace nada.

Hay tres puntos que debemos considerar en la sentencia segun_sea (switch):

1. Se diferencia del si (if) en que el primero slo puede comprobar por igualdad, mientras que la expresin condicionada del si (if) puede ser de cualquier tipo.

2. No puede tener dos constantes en los casos con idnticos valores en el mismo segun_sea (switch).

3. La sentencia segun_sea (switch) es ms eficiente que el si anidado si-si no-si (if-else-if).

Notas:

Si cada caso tiene varias instrucciones no es necesario agruparlas con llaves, ya que el salir (break) termina el caso.

Se utilizar segun_sea (switch) para manejar un men. Un men nos muestra en pantalla todas las opciones que podemos realizar con nuestro algoritmo o programa.

8. Estructura de control selectiva segun_sea (switch) anidada

Se puede tener un segun_sea (switch) que es parte de una secuencia de instrucciones de otro segun_sea (switch). Incluso si las constantes del caso (case) interior contienen valores comunes, no se tendrn conflictos.

Se pueden anidar sentencias segun_sea (switch) con el fin de implementar rutinas donde las opciones tienen subdivisiones como en el caso de los submens.

9. Introduccin a la estructura de control repetitiva o de iteracin condicional

Las computadoras estn diseadas primordialmente para aquellas aplicaciones en las cuales una operacin o conjunto de ellas deben repetirse ms de una vez.

La repeticin de una accin (una o varias instrucciones) se lleva a cabo mientras se cumpla cierta condicin; para que la accin termine, la accin misma debe modificar la(s) variable(s) de control que interviene(n) en la condicin. Dicha condicin puede estar predefinida como en el ciclo desde (for); o no predeterminada, como en los bucles mientras (while) y hacer-mientras (do_while).

Bucles, ciclo o iteracin. Es un segmento de un algoritmo o programa, cuya(s) instruccin(es) se repite(n) un nmero conocido o indefinido de veces mientras se cumpla una determinada condicin. En cada vuelta del ciclo comprueba si la condicin es verdadera, rompindose el ciclo cuando es falsa. La condicin en algn momento tiene que ser falsa ya que en caso contrario el bucle se har infinito.

9.1. Contadores y acumuladores

Estas dos palabras se usan mucho en programacin para referirse a variables que van incrementando o decrementando su valor a lo largo de la ejecucin del algoritmo o programa. Normalmente sern de tipo numrico, Ej.:

Pseudocdigo

Lenguaje C++

Caractersticas de la variable contador o acumulador:

1. Se debe inicializar antes de entrar al ciclo.

2. Dentro del ciclo debe aparecer a ambos lados de la asignacin.

Debemos inicializarlas de forma correcta, para:

Sumar o restar en cero antes de entrar al ciclo; recordar que el cero es el elemento neutro de la suma y resta.

Multiplicar 1, porque si valen cero todo lo que multipliquemos por ella seguir valiendo cero; recordar que el 1 es el elemento neutro de la multiplicacin.

9.2. Contador

Un contador es una forma de controlar a un bucle. Es una variable cuyo valor se incrementa o decrementa en una cantidad constante cada vez que se produce un determinado suceso o accin en cada repeticin; dicha variable controla o determina la cantidad de veces que se repite un proceso o dato. Sintaxis:

Pseudocdigo

Lenguaje C++

Si en vez de incremento es decremento se coloca un menos en lugar del ms.

Se debe realizar una operacin de inicializacin y posteriormente las sucesivas de incremento o decremento del mismo. La inicializacin consiste en asignarle al contador un valor de inicio. Se situar antes y fuera del bucle.

Pseudocdigo

Lenguaje C++

9.3. Acumulador o totalizador

Un acumulador realiza la misma funcin que un contador con la diferencia de que el incremento o decremento es variable en lugar de constante. Es una variable que acumula sobre s misma un conjunto de valores, para de esta manera tener la acumulacin de todos ellos en una sola variable. Es una variable que almacena cantidades resultantes de operaciones sucesivas. Sintaxis:

Pseudocdigo

Lenguaje C++

Pseudocdigo

Lenguaje C++