Fundamentos programacion.
German BenmelejPráctica o problema31 de Marzo de 2016
2.979 Palabras (12 Páginas)349 Visitas
Universidad Autónoma de Entre Ríos
Facultad de Ciencia y Tecnología
Sede: Oro Verde
[pic 2]
[pic 3]
FUNDAMENTOS DE PROGRAMACIÓN
RESUMEN DE CONTENIDOS N°7
Estructuras de Control: Secuencia y Selección
RESUMEN DE CONTENIDOS N° 7
Estructuras de Control: Secuencia y Selección
Introducción
Hasta aquí, se han desarrollado programas empleando tres acciones primitivas fundamentales: asignación, lectura y escritura. Las mismas han permitido resolver problemas sencillos, con la característica además, de que las acciones que lo formaban se ejecutaban secuencialmente, en el orden en que aparecían, es decir: una a continuación de otra.
Pero en el diseño de algoritmos, para la resolución de problemas más complejos, es necesario contar con herramientas que nos permitan modificar el orden lineal de ejecución de las acciones, donde el ejecutante pueda tomar decisiones y determinar qué acción realizar en el momento de ejecución del algoritmo.
Para ello, la diagramación estructurada nos brinda recursos propios. En rigor, esta metodología establece que todo algoritmo –por más complejo que sea – puede elaborarse mediante el uso de sólo tres estructuras lógicas de control:
- Secuencia
- Selección
- Iteración
Estas estructuras presentan la característica de tener un único punto de entrada y un único punto de salida. Un programa definido en base a estas estructuras, es más fácil de entender, y permite, por lo tanto, detectar los errores de lógica más rápidamente.
A continuación, se explicará cada una de las estructuras de control citadas, en algorítmica básica, y luego su equivalente en C++.
ESTRUCTURAS LÓGICAS DE CONTROL
SECUENCIA
Es un conjunto de acciones que se ejecutan en el mismo orden en que aparecen en el algoritmo, una a continuación de la otra.
La representación gráfica en un diagrama de flujo es:
[pic 4]
Los bloques A, B, C representan una acción elemental o un módulo; cada uno de ellos, con un único punto de entrada y un único punto de salida.
En pseudocódigo o lenguaje de programación, la secuencia se especifica indicando las acciones en el orden en que deben ser ejecutadas, separadas entre sí por el signo de puntuación ";", (escritas en el mismo renglón o en diferente):[pic 5]
SELECCIÓN
La necesidad de contar con una estructura de selección que nos permita tomar decisiones en un algoritmo, se planteó en los primeros problemas, en los algoritmos no computacionales, donde se usaban condiciones que permitían al ejecutante decidir qué grupo de acciones ejecutar y cuáles no.
Ejemplo:
SI se tiene soda
ENTONCES agregar en la taza media cucharadita de soda
SINO agregar en la taza media cucharadita de agua fría
FINSI
Las estructuras de selección otorgan al ejecutante, la posibilidad de alterar el flujo lineal de control de las acciones de un algoritmo. Permiten tomar decisiones y elegir un camino a seguir en base a ciertos valores específicos del algoritmo, ya sean datos que se ingresan o resultados de cálculos que se realizan.
Observamos 2 tipos de estructuras de selección:
- condicional o de decisión
- selección múltiple
- Estructura condicional o de decisión
Esta estructura permite elegir el camino a seguir según el valor de verdad de una condición.
La estructura condicional permite al ejecutante o procesador, elegir las acciones a seguir entre dos alternativas específicas, de acuerdo al valor de una condición en el momento de ejecución del algoritmo o programa.
La representación de esta estructura en un diagrama es:
[pic 6]
[pic 7]
La presencia de esta estructura en un programa, le indica al procesador que debe:
1) Evaluar la condición planteada
a) si la condición toma un valor Verdadero (True), ejecutar el bloque A; y finaliza la estructura condicional indicada con el punto.
b) si la condición toma un valor Falso (False), ejecutar el bloque B; y finaliza la estructura condicional indicada con el punto.
2) En ambos casos, luego continúa la ejecución del algoritmo con la acción posterior al punto.
La sintaxis en pseudocódigo sería:
[pic 8]
donde las palabras claves SI y FINSI indican, respectivamente, el comienzo y fin de la estructura de selección.
De acuerdo al valor de la condición, el procesador ejecuta A (alternativa verdadera) o B (alternativa falsa) y luego continúa con la acción que sigue al FINSI.
A esta estructura se la considera como una unidad, con un único punto de entrada y un único punto de salida. Su punto de entrada es la evaluación de la condición y su punto de salida, luego de haberse ejecutado el camino correspondiente, es la acción que sigue al punto (en el diagrama) o al FINSI (en pseudocódigo).
En C++, esta estructura es If-else: Se evalúa la expresión lógica planteada a continuación del if y si es distinta de cero (verdadero) se realizan las acciones indicadas a continuación; si la expresión lógica es cero (falso), se realizan las acciones a continuación del else.
Sintaxis | Ejemplo |
if (expresión lógica) acción1; acción 2; | int c=0; if ( c==200 ) c = c/2; else c = 2*c; |
Ejemplo Práctico 1:
Una compañía de turismo ha definido una política de promoción de sus empresas para lo cual ha fijado descuentos para sus clientes en función de los viajes anteriores realizados.
El valor del descuento es del 20% para aquellos clientes que, considerando los viajes realizados en el último año y el que desean realizar, han recorrido más de 3000 Kms. y del 5% para aquellos que no han alcanzado dicha cifra.
Se desea realizar un algoritmo que calcule el importe a pagar por un cliente, si se ingresa su nombre y apellido, el total de kilómetros recorridos hasta el momento, y los datos del viaje a contratar: precio, destino, kilómetros a recorrer. Informar los datos ingresados, el monto del descuento y el monto a pagar por el cliente.
[pic 9]
Seguimiento:
Datos: ‘Juan Pérez’, 3100, 350, ‘Misiones’, 800
NYA | KMREC | PRECIO | KMS | DESTINO | TOTAL | DESC | IMP | |
‘Juan Pérez’ | 3100 | 1000 | 800 | ‘Misiones’ | 3900 | 200 | 800 |
Salida por pantalla | |
Cliente: Juan Pérez Acumulados: 3100 Datos del Viaje: $1000 800 Kms. Misiones Descuento: $200 Importe: $800 |
...