Estructuras de Control

January 5, 2021 | Author: Anonymous | Category: N/A
Share Embed Donate


Short Description

Download Estructuras de Control...

Description

FACULTAD DE INGENIERÍA CIVIL, DE SISTEMAS Y DE ARQUITECTURA ESCUELA PROFESIONAL DE INGENIERÍA CIVIL ASIGNATURA: PROGRAMACION BASICA DOCENTE: ING. IRMA CAPUÑAY INTEGRANTES: CAPITAN VILLEGAS JUAN GALAN HEREDIA FABRIZIO PONCE DE LEON TORRES DAVID CHINCHAY JOAN PALACIOS ASENJO RICARDO RAUL VELASQUEZ SANCHEZ JHONATAN LEVI

CICLO: 2017 – I Lambayeque, Agosto del 2017

ESTRUCTURAS BASICAS DE CONTROL INTRODUCCION:  

Hasta ahora los algoritmos han consistidos en simples secuencias de instrucciones. Existen tareas más complejas que no pueden ser resueltas así como repetir una misma acción, realizar acciones diferentes en función del valor de una expresión, etc.).

Para resolver esto existen las estructuras de control.     

Controlan la ejecución de las instrucciones de un programa Mejora la productividad de los programadores Mejora la legibilidad del código resultante Tiene un único punto de entrada y un único punto de salida Se compone de sentencias o de otras estructuras de control

Existen tres tipos fundamentales de estructuras de control: Secuencial 

Es aquella en la que una acción (instrucción) sigue a otra en secuencia. Las tareas se suceden de tal modo que la salida de una es la entrada de la siguiente y así sucesivamente hasta el fin del proceso.

Condicional, Selectiva o Alternativa (simple, doble, múltiple) 

Controlan si una sentencia o bloque de sentencias se ejecutan, en función del cumplimiento o no de una condición o expresión lógica.

Repetitivas o Iterativas 

Se ocupan de repetir una serie de líneas de código tantas veces como el programador indique o bien hasta que se dé una cierta condición. A estas estructuras también se les llama bucles.

ESTRUCTURA SECUENCIAL Normalmente un programa, o una parte del mismo, consiste en una secuencia de instrucciones que se tienen que ejecutar una detrás de otra para realizar una operación. Esto se denomina una estructura secuencial y se compone de un grupo de acciones que se han de realizar todas y en el orden en que están escritas, sin posibilidad de omitir ninguna de ellas. La estructura secuencial es la más sencilla de todas, simplemente indica al procesador que debe ejecutar de forma consecutiva una lista de acciones, para construir una secuencia de acciones basta con escribir cada acción en una línea diferente. A continuación se muestra una composición secuencial de acciones en notación algorítmica y su equivalente FORTRAN.

leer a leer b c ←a + b escribir c

read *, a read *, b c= a + b print *,c

Existe una forma alternativa de expresar una estructura secuencial escribiendo varias acciones en la misma línea pero utilizando el punto y coma, ;, como separador. Sin embargo, esta última notación es desaconsejable puesto que puede llegar a hacer el código bastante difícil de leer.

leer a; c ←a + read *, c = a +

leer b b; escribir c a; read *, b b; print *, c

Por último, es necesario señalar un aspecto importante de la composición secuencial y es que no es conmutativa.

Ejemplos 1. Calcular la suma y el producto de dos números: El problema es muy simple, lo primero que se tiene que hacer es leer dos números A y B. Después, sumarlos, luego multiplicarlos y por último, mostrar los resultados en la pantalla de la computadora. Estas acciones se deben ejecutar en este orden y secuencialmente. Y el programa en pseudocódigo sería:

Código: INICIO ESCRIBIR ”A” LEER A ESCRIBIR”B” LEER B SUMA = A + B PRODUCTO = A * B Mostrar SUMA, PRODUCTO FIN Se ve que la estructura secuencial expresa perfectamente la solución al problema.

2. Escriba un algoritmo que permita conocer el área de un triángulo a partir de la base y la altura. Exprese el algoritmo usando Pseudocódigo

INICIO Base,Atura: ENTERO ESCRIBA ”Diga la Base” LEA Base ESCRIBA ”Diga la Altura” LEA Altura ESCRIBA ”Area del Triangulo = ” , (BASE*ALTURA)/2 FIN

ESTRUCTURA SELECTIVA O CONDICIONAL Las estructuras de control selectivas son aquellas que evalúan una expresión, usualmente una condición booleana, y a partir del resultado permiten tomar decisiones entre una, dos o más

opciones; a esto se le conoce como selección condicional. Existen tres tipos de estructuras selectivas: selección simple, selección doble y selección múltiple. Una condición booleana es una expresión que puede tener como resultado sólo el valor de verdadero o de falso. La condición puede utilizar datos de tipo entero, real o carácter y se forman generalmente utilizando los operadores relacionales, por ejemplo a > b, 5 == b

Estructura selectiva simple (i f) Es aquella que después de evaluar una condición determina su valor, que es verdadero o falso, y sólo si el resultado de la condición es verdadero se realizará la instrucción o instrucciones definidas para la condición, su sintaxis es la siguiente:

El alcance sintáctico predeterminado para una estructura de control es de una instrucción, como se aprecia en la primera forma; cuando se requiere que se ejecute más de una, las instrucciones deberán agruparse mediante llaves, tal como se puede ver en la segunda forma. EJEMPLO 1 Determinar si un alumno aprobó un curso a partir del promedio que obtuvo de sus tres calificaciones de los parciales que se hicieron durante el semestre.

Se puede observar que la condición se establece utilizando la variable prom que almacena el promedio del alumno, de tal modo que si el promedio calculado es mayor o igual que 60 la condición es verdadera y sólo entonces se realizará la instrucción asignada que es imprimir que el alumno aprobó; de lo contrario, el programa no realizará nada y simplemente terminará. EJEMPLO 2 Imprimir si un número es positivo, negativo o cero

En este ejemplo, el usuario introducirá un número y en la pantalla aparecerá si éste es positivo, negativo o cero. Una vez que el usuario ya introdujo el número, se almacena en la variable num y se evalúa la primera condición; si la variable num es igual que cero, entonces se imprimirá Es cero; después revisa la siguiente condición y si la variable num es mayor que cero, se imprimirá Es positivo y por último se evalúa la tercera condición y si la variable num es menor que cero se imprimirá Es negativo. Independientemente de la condición que se cumpla, el programa evaluará las tres condiciones, pero se imprimirá el texto sólo donde la condición sea verdadera.

Selectiva doble (i f - else) Es aquella que permite evaluar una condición booleana y elegir entre dos opciones. Si la condición es verdadera, ejecutará la instrucción que se encuentra a continuación del i f, pero si la condición es falsa se ejecutará la instrucción que se encuentra a continuación del else. Por lo tanto, se seleccionan las instrucciones que se encuentran a continuación del i f o las que están después de else, pero no ambas. La sintaxis es:

Recuerde que para cada estructura, si existe más de una instrucción, éstas se deberán agrupar con las U aves. En la forma (2) anterior se agrupan tanto para el L f como para el else. EJEMPLO 1 Determinar si un alumno aprobó o reprobó un curso a partir del promedio que obtuvo en sus tres calificaciones parciales durante el semestre y mostrar la calificación

En este ejemplo nuevamente se calcula el promedio del alumno, el resultado de la variable prom será el valor que se utilice en la condición. Si el contenido de la variable prom es mayor o igual que 60 (condición verdadera) se imprime Aprobo y su respectivo promedio, de lo contrario prom se encuentra entre O y 59 (condición falsa), por lo que se imprimirá Reprobo con su promedio respectivo. EJEMPLO 2 Convertir kilómetros a metros

En este ejemplo, el usuario debe elegir Ja opción que desea realizar oprimiendo el número 1 o 2; esto se almacena en la variable op. Posteriormente el programa realizará las instrucciones correspondientes evaluando una estructura de control selectiva doble. Si la variable op es igual que uno se realizarán las siguientes instrucciones: aparecerá en la pantalla Dame los kilometros a convertir y una vez que el usuario introduzca la cantidad aparecerá en la pantalla La conversion a metros es, pero si la condición no es verdadera, entonces aparecerá en la pantalla Dame los metros a convertir y enseguida La conversion a kilometros es y el programa concluirá. Nota: Cabe señalar que al elegir la opción 1, se realizará la conversión de kilómetros a metros, pero al elegir la opción 2 u oprimir cualquier tecla diferente a 1 se realizará la conversión ele metros a kilómetros.

Selectiva múltiple (switch - case) Es aquella estructura que permite elegir entre dos o más opciones, switch evalúa la expresión que se encuentra dentro de los paréntesis y el resultado se compara con valores alternativos. El switch en la expresión lleva implícito el operador igual ( == ), por lo que compara si la expresión es igual a alguna de las opciones. Por lo tanto no se puede comparar utilizando otro operador relacional. El tipo de dato de la expresión sólo puede ser entero o carácter; por lo tanto, las opciones deberán coincidir con el tipo de dato de la expresión. switch compara el valor de la expresión con cada una de las opciones en el orden en que se encuentran. Cada opción se representa con la palabra reservada case, por lo tanto habrá tantos case como opciones. Una vez que encuentra la igualdad de la expresión con una opción se realizarán las instrucciones que están a continuación del case hasta encontrar un break; si no encuentra ningún valor igual a la expresión, realizará la instrucción asignada al defaul t, si éste existe. Se deberá utilizar la palabra reservada break al término de cada case para interrumpir la estructura y no revisar las siguientes opciones. Como se mencionó anteriormente, el defaul t se ejecutará cuando la expresión no coincida con ninguna opción. Sin embargo, será decisión del programador Incluirla o no en su programa, ya que éste es opcional. La sintaxis es:

EJEMPLO 1 Indicar un día de la semana y que el programa escriba el número de día que le corresponde

El usuario elige en un menú un nombre de día de la semana; automáticamente, aparece en la pantalla el número de día de la semana que le corresponde. En este ejemplo, el tipo de dato de la expresión es carácter. A continuación se puede observar que la instrucción defaul t es opcional, y en este ejemplo no se utilizó.

EJEMPLO 2 Realizar la operación que se elige del menú visualizado

Este programa produce una calculadora básica y despliega cuatro opciones; la opción elegida por el usuario se almacena en la variable op, y será la expresión que el switch emplee para comparar con cada una de las opciones siguientes; cuando op encuentre una igualdad en alguna opción, se realizarán las instrucciones que se encuentran en el case. Por ejemplo, si el usuario elige la opción 3, en la variable op se almacenará el 3 y empezará a compararse con cada uno de los case. Cuando se evalúe la opción 3, el usuario habrá elegido multiplicar y mostrará Teclea el primer, después Teclea el segundo y para finalizar aparecerá La multiplicacion es:

ESTRUCTURA ITERATIVA: Pasamos ahora a un nuevo conjunto de instrucciones de mucha utilidad. En realidad, casi todos los lenguajes cuentan con instrucciones parecidas o que funcionan de un modo muy similar a las que vamos a ver aquí. Las estructuras iterativas de control de flujo se ocupan de repetir una serie de líneas de código tantas veces como el programador indique o bien hasta que se dé una cierta condición. A estas estructuras también se les llama bucles.

 BUCLES FOR: Los bucles for van asignando valores a una variable desde un valor inicial hasta un valor final, y cuando la variable contiene un valor que está fuera del intervalo el bucle termina. Ejemplo: for ($cantidad = 1; $cantidad Multiplicación y división > Suma y resta Las raíces serán consideradas como exponenciación. Los operadores con igual prioridad se ejecutan de izquierda a derecha en caso de aparecer encadenados. Los paréntesis dan prioridad a las operaciones que encierran. Es recomendable usar paréntesis aún no siendo necesarios si con ello se logra mejorar de forma notable en claridad para interpretación de lo escrito.

OPERADORES LÓGICOS O DE COMPARACIÓN EN PROGRAMACIÓN. Otro tipo de operadores fundamentales en programación son los operadores lógicos o de comparación. Se usan para comparar dos variables o expresiones y obtener un valor verdadero o falso. Como operadores de comparación disponemos de:

Nótese que las expresiones matemáticas de mayor o igual que ( ≥ ) y menor o igual que ( ≤ ) se escriben utilizando los símbolos de mayor o menor seguidos de un igual ( > = , < = ). La evaluación de una comparación da lugar a un resultado de verdadero o falso. Por último, disponemos de operadores de negación (no se cumple que), conjugación (y) y disyunción (ó). En inglés not, and y or .

Supongamos distintas expresiones de comparación entre dos variables A y B con valores A=2 y B=7.

CONTADORES Y ACUMULADORES CONTADORES: La construcción de un contador es una de las técnicas más comunes en la realización de diagramas de flujo. Es una variable en la memoria que se incrementará en una unidad cada vez que se ejecute el proceso. El contador se utiliza para llevar la cuenta de determinadas acciones que se pueden solicitar durante la resolución de un problema. En las instrucciones de preparación se realiza la inicialización del contador o contadores. La inicialización consiste en poner el valor inicial de la variable que representa al contador. Generalmente se inicializa con el valor 0. ACUMULADORES Un acumulador es una variable en la memoria cuya misión es almacenar cantidades variables. Se utiliza para efectuar sumas sucesivas. La principal diferencia con el contador es que el incremento o decremento de cada suma es variable en lugar de constante como en el caso del contador.

Ejemplos: 1. Sumar los primeros N números naturales. 2. Sumar N valores capturados. 3. Al cerrar un expendio de naranjas, 15 clientes que aún no han pagado recibirán 15% de descuento si compran más de 10 Kgs. Determinar cuánto pagará cada cliente y cuánto percibirá la tienda por esas compras. 4. En un centro de verificación de automóviles se desea saber el promedio de puntos contaminantes de los primeros 25 automóviles que lleguen. 5. Una pareja desea invertir su dinero en un banco, el cual otorga el 2% de interés. ¿Cuál será la cantidad de dinero que esta persona tendrá al cabo de un año si la ganancia de cada mes es reinvertida? 6. En un supermercado un cajero captura los precios de los artículos que los clientes compran e indica a cada uno el monto de lo que debe pagar. Al final del día le informa a su supervisor cuánto fue el total cobrado. 7. Cinco miembros de un club contra la obesidad desean saber cuánto han bajado o subido de peso desde la última vez que se reunieron. Para esto es necesario que cada uno se pese en 10 básculas distintas y después obtener el promedio de su peso. Si existe diferencia positiva entre el peso promedio y el peso de la última reunión significa que subieron. Si la diferencia es negativa, significa que bajaron. Se requiere que el programa informe a cada persona si SUBIO o BAJO y qué cantidad de Kilos. 8. Un censador recopila ciertos datos aplicando encuestas para el último Censo Nacional de Población y Vivienda. Desea obtener de todas las personas que alcance encuestar en un día, qué porcentaje tiene estudios de primaria, secundaria, carrera técnica, profesional y posgrado.

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF