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.
Sintaxis
Simple:
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).
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).
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).













Me gustó la información, está muy interesante
ResponderEliminar*Daimar Rodríguez 30662887*
Una muy buena informacion, con ejemplos muy detallados en los cuales se hace mas facil el entendimiento y el dominio del tema investigado.
ResponderEliminarJose Barrios
28.183.338
Excelente trabajo y buenos ejemplos. Diego Jiménez V-30.649.155
ResponderEliminarBuena información y fácil de entender esta muy lindo y todo está bien explicado.
ResponderEliminarJosé orta
31494704
Este comentario ha sido eliminado por el autor.
ResponderEliminarInformación muy interesante y ejemplos claros, felicidades.
ResponderEliminarMaría Carvajal 28.541.328
Muy bueno todo precisa la información me gustó mucho
ResponderEliminarJesús Bennin C.I: 28.183.559