jueves, 2 de abril de 2020

Estructuras de Control Secuencial y de Decisión



¿Qué es una estructura?
     La palabra estructura se refiere a la disposición y distribución de las partes de un todo, cuyo orden y relación entre sí permiten el funcionamiento de un determinado sistema.

Estructuras de control:
     En lenguajes de programación, las estructuras de control permiten modificar el flujo de ejecución de las instrucciones de un programa.
Con las estructuras de control se puede:
·           De acuerdo con una condición, ejecutar un grupo o otro de sentencias (If-Then-Else)
·             De acuerdo con el valor de una variable, ejecutar un grupo u otro de sentencias (Switch-Case)
·             Ejecutar un grupo de sentencias solo cuando se cumpla una condición (Do-While)
·             Ejecutar un grupo de sentencias hasta que se cumpla una condición (Do-Until)
·             Ejecutar un grupo de sentencias un número determinado de veces (For-Next)

     Todas las estructuras de control tienen un único punto de entrada. Las estructuras de control se pueden clasificar en: secuenciales, iterativas y de control avanzadas. Esta es una de las cosas que permiten que la programación se rija por los principios de la programación estructurada.
     Los lenguajes de programación modernos tienen estructuras de control similares. Básicamente lo que varía entre las estructuras de control de los diferentes lenguajes es su sintaxis; cada lenguaje tiene una sintaxis propia para expresar la estructura.
Otros lenguajes ofrecen estructuras diferentes, como por ejemplo los comandos guardados.

Estructura secuencial:

     La estructura 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.
     Una estructura de programa es secuencial si se ejecutan una tras otra a modo de secuencia, es decir que una instrucción no se ejecuta hasta que finaliza la anterior
Ejemplos:
     Los algoritmos que necesitan de estructuras secuenciales para su solución son los mas difíciles de comprender y mas sencillos de identificar los procesos que realizará el programa que nos llevarán a la solución del mismo.
En algunos algoritmos se omite la declaración de variables, en casos que el algoritmo no es complicado.
Ejercicio 1:
Hacer el rastreo manual para:
a = 2
a = a + 1
b = a * 2
b = b – 1
c = a + 2 * b
Presentar "c".
RASTREO: Para el rastreo hay que asignarle a cada línea un número, de la siguiente manera, de antemano ya nos habremos fijado que el valor de salida es el de la variable c, el problema sería saber el valor de esta variable c que se mostrará finalmente.
1) a = 2
2) a = a + 1
3) b = a * 2
4) b = b – 1
5) c = a + 2 * b
6) Presentar "c".

Línea 1: a=2
Línea 2: a=2+1=3
Línea 3: b=3*2=6
Línea 4: b=6–1=5
Línea 5: c=3+2*5=13
Línea 6: Se presenta 13
El valor de la variable "C" será 13.
Observe el siguiente problema de tipo cotidiano y sus respectivos algoritmos representados en Pseudocódigo y en diagramas de flujos:
Tengo un teléfono y necesito llamar a alguien pero no sé cómo hacerlo.




Estructura de  control de decisiónes:
     La estructura  de decisión utiliza la instrucción "IF/THEN/ELSE". La estructura le indica a la computadora que si (IF) una condición es cierta, entonces (THEN) ejecute un grupo de instrucciones, si no (ELSE) ejecute otro grupo de instrucciones. La parte de ELSE es opcional, pues no siempre hay instrucciones que ejecutar si la condición es falsa. Cuando no hay instrucciones que ejecutar si la condición es cierta, se debe usar la oración CONTINUE. El algoritmo para la estructura de decisión es:
Las instrucciones de la parte T (True – Cierto) se procesan cuando el resultado de la condición es cierto, las instrucciones de la parte F (False – Falso) se procesan cuando el resultado de la condición es falso. La condición puede ser una de las siguientes cuatros:
    Expresión lógica – expresión que usa los operadores lógicos (AND, OR, NOT)
    Expresión que usa los operadores relacionales (>, <, >=, <=, =, <>)
    Variable de tipo de datos lógico (TRUE – FALSE)
    Una combinación de operadores lógicos, relacionales y matemáticos

Algunos ejemplos de expresiones condicionales son:
    A < B (A y B son del mismo tipo de datos – numérico, carácter, string)
    X + 5 >= Z (X y Z son datos numéricos)
    E < 5 or F > 10  (E y F son datos numéricos)
    DATAOK  (DATAOK es un dato lógico)
     Los operadores lógicos se usan para unir dos o más condiciones. Por ejemplo, considere que una tienda requiera que para aceptar un cheque el cliente debe tener licencia de conducir Y (AND) el cheque debe ser menor de $50. Las dos condiciones están unidas por el operador AND.
     El diagrama de flujos que ilustra una condición utiliza el símbolo de diamante. El resultado de la condición puede ser True o False, dependiendo de los datos. Del diamante salen solo dos líneas de flujo, una para la parte cierta y otra para la parte falsa. Las líneas pueden salir de cualquiera de los tres puntos inferiores del diamante. Se debe ser consistente en usar los puntos mostrados en la figura a continuación.


     El proceso fluye de los bloques de Cierto y de Falso; éstos deben conectarse al resto del proceso en el módulo. No deben existir bloques sin conectar.
     Una decisión simple contiene una sola condición y una acción o grupo de acciones si el resultado es Cierto y otra acción o grupo de acciones si el resultado es Falso.  Por ejemplo, asuma que está calculando el pago por un salario por hora, y el pago extra (sobre 40 horas) al tiempo y medio del salario por hora. La decisión para calcular el pago sería: IF horas mayor que 40, THEN el pago extra es calculado, o ELSE el pago es calculado de la forma usual. Las decisiones en donde se tienen múltiples condiciones son más complicadas que aquellas con una sola decisión. Estas decisiones complejas requieren que se utilice operadores lógicos para conectar las condiciones. De todas formas, el resultado será Cierto o Falso.
                  



Sintaxis de las estructuras de control:
Sentencia if: Permite controlar que sentencias de una política se ejecutan mediante la evaluación del valor de una expresión para comprobar si es verdadera.
Sentencia if- else: Estructura ejecutable en respuesta a la idea "si esto no se cumple haz otro".

Sintaxis Simple:

Sintaxis Compuesta:



Sentencia IF-THEN-ELSE: Permite ejecutar o no una determinada tarea o línea de código.

 Switch, alternativa a la instrucción if: Ofrece la posibilidad de elegir entre más de dos opciones.
Su sintaxis es la siguiente:


Sentencia Select-Case: Es una instrucción que sirve para realizar diferentes cosas dependiendo del valor que tiene una variable. Es un tipo de bifurcación muy potente que nos permite abrir la línea del programa en muchos caminos. Es parecido a un if, pero mas potente.


Sentencia While: Se utiliza para repetir un bloque de sentencias mientras se cumpla una determinada condición.



Aplicabilidad de las estructuras de control secuencial:
     Las estructuras de control se aplican en situaciones donde debemos poner en marcha un proceso que siempre seguirá un mismo curso, sin depender de variables ni opciones múltiples, (por ejemplo, es un sitio que no requiera credenciales de crédito, comprobación de edad o género para ingresar).



Aplicabilidad de las estructuras de control de decisión:
     Las estructuras de control de decisión pueden tomar muchísimos caminos y por lo tanto, sus usos son infinitos, ya que con solo existir ramifican una operación en múltiples más, y que son quizá una de las bases de la programación moderna, puesto que podemos encontrarla desde las tareas más mundanas (como preguntar por el género para asignar automáticamente en una base de datos) hasta los sistemas más complejos (programas codificados solo para abrir bajo condiciones sumamente específicas).

7 comentarios:

  1. Me gustó la información, está muy interesante
    *Daimar Rodríguez 30662887*

    ResponderEliminar
  2. Una muy buena informacion, con ejemplos muy detallados en los cuales se hace mas facil el entendimiento y el dominio del tema investigado.
    Jose Barrios
    28.183.338

    ResponderEliminar
  3. Excelente trabajo y buenos ejemplos. Diego Jiménez V-30.649.155

    ResponderEliminar
  4. Buena información y fácil de entender esta muy lindo y todo está bien explicado.
    José orta
    31494704

    ResponderEliminar
  5. Este comentario ha sido eliminado por el autor.

    ResponderEliminar
  6. Información muy interesante y ejemplos claros, felicidades.
    María Carvajal 28.541.328

    ResponderEliminar
  7. Muy bueno todo precisa la información me gustó mucho
    Jesús Bennin C.I: 28.183.559

    ResponderEliminar

Tribología

El estudio de los fundamentos tribológicos como la fricción, el desgaste y la lubricación es clave para desarrollar soluciones innovadoras q...