Introducción:
Hemos estudiado en los contenidos anteriores los elementos
fundamentales que nos permite avanzar en el mundo de la programación, con estos
contenidos en mente llegamos a los fundamentos de la promoción: las estructuras
de control fundamentales y extendidas de la promoción. Indistintamente del
lenguaje que se utilice las estructuras de control seguirán acompañándoles en
su formación académica y en su información como programador. Iniciamos
conociendo las características que debe cumplir un programa.
Las estructuras de
control principales permiten actividades básicas de programación, estas
estructuras son tradicionalmente conocidos como: secuencial, decisión,
repetitiva o hacer mientras. Para proporcionar otras estructuras
complementarias estudiamos las extendidas: Hacer Hasta Que, Hacer Desde Hasta
Incremento, Seleccionar caso. Por ultimo
abordamos la temática de las estructuras más adecuadas según el problema a
resolver y discriminar aquellas estructuras que no permiten llegar a la
solución optima del programa.
Demostrara capacidad para el trabajo en equipo;
tendrá una actitud proactiva y dinámica
al utilizar las estructuras lógicas de control y extendidas mostrando capacidad
de análisis para solucionar los problemas reales planteados de manera
innovadora, creativa y productiva.
Estructuras de control.
Son construcciones mediante las cuales se escribe la lógica
de los programas, son empleadas y definidas de manera ordenada y sistemáticas
para dirigir el flujo de acciones que el procesador efectuara sobre los datos
que se manejan en un programa.
Entre
las estructuradas de control se encuentran:
Ø
Estructura de secuenciación o
secuencial.
Ø
Estructuras de decisión o condicional.
Ø
Estructuras de hacer-mientras.
Estructura de secuenciación o secuencial.
Es
aquella en que una acción sigue a otra en secuencia lógica y ordenada
Ø
La acción 2 se ejecuta después de la acción 1 y
ninguna acción puede ejecutarse entre ellas. La acción 3 sigue a la acción 2.
Ø
Y Así sucesivamente.
ESTRUCTURA
DE SECUENCIACION O SECUENCIAL.
Es
aquella en que una acción sigue a otra en secuencia lógica y ordenada.
La
acción 2 se ejecute después de acción 1 y ninguna acción puede ejecutarse entre
ellas. Las acción 3 sigue a la acción 2
Y
así sucesivamente.
ESTRUCTURA CONDICIONAL O DE DECISIÓN
Esta estructura lógica, permite la toma de decisiones en un
programa, es decir, que las solución a estés tipo de problemas son una serie de
acciones en que la ejecución de algunas dependerá de que se cumplan una o barias
condiciones.
Cuando el programador desea especificar 2 o más caminos alternativos en un
programa se deben utilizar una estructura de decisión, que evalúa una condición
obteniendo una sola salida.
¿Qué
es una condición?
Es aquella que se establece por medio de una expresión lógica
que puede ser simple o compuesta. Por lo tanto solo puede tomar dos valores: falso o
verdadero.
Condiciones
simples
Una condición simple se identifica porque está constituida
únicamente por una condición A > B utilizando los operadores
relacionales.
Ejemplo:
A > B
B < C
D= A
R <> W
G <= T
F <=
H
Condiciones compuesta
Una condición compuesta,
se identifica porque para solucionarla se necesita establecer más de una
condición utilizando operadores lógicos relacionales, aritméticos y de
asociación.
Ejemplos:
·
(P <=
10) AND (P >=1)
·
[8=(2+6)-3ᶺP]
AND [4=(5*3)-14]
Una condición se representa gráficamente de la siguiente
manera:
Es la más importante desde el punto de vista de la
programación porque permite la ejecución de un conjunto de instrucciones
cuantas veces sea necesario.
También se le llama estructura repetitiva a aquellos
operadores en cuya solución es necesario utilizar un mismo conjunto de acciones
que puedan ejecutarse más de una vez. Para solucionar problemas repetitivos
recurriremos al uso de ciclos, que nos evitaran escribir muchas veces un
conjunto de acciones.
Elementos
que constituyen la estructura repetitiva
·
CICLO: Es la
ejecución de un mismo conjunto de acciones dos o más veces.
·
PROCESO: conjuntos
de acciones a los que se les asigna un nombre, es decir, la operación a
realizar.
·
ESTRUCTURA
CICLICA: conjuntos de acciones que permiten que el cuerpo del ciclo se
ejecute dos o más acciones
·
LA
ITERACIÓN: se define como cada una de las ejecuciones del cuerpo del
ciclo.
Clasificaciones de
los ciclos:
·
Ciclos con un número determinado de iteraciones.
·
Ciclos con un número indeterminado de iteraciones.
Ciclos
con un número determinado de iteraciones:
Son aquellos en que el número de iteración es determinable
antes de ejecutarse el ciclo, este número de iteración pueden obtenerse de la
definición del problema, o bien mediante una entrada de datos cuando el
problema indique que un conjunto de acciones se debe de ejecutar n ocurrencias.
Ciclos
con un número de indeterminado de iteraciones:
Son
aquellos en donde el número de iteraciones permanece indeterminado durante la
ejecución del ciclo y el proceso repetitivo termina hasta que el usuario lo
indique.
En
este tipo de ciclos el usuario decide dentro del ciclo cuando terminar con el
proceso repetitivo sin importar cuantas iteraciones se hayan efectuado a
diferencia de los ciclos anteriores, en donde el número de iteraciones está
determinado desde el principio. También se le llama BANDERA.
Antes
de iniciar la evaluación de la estructura hacer mientras es necesario
inicializar las variables a utilizar con el propósito que estas pueden ser
identificadas en el programa.
TERMINSO RELACIONADOS
CON ESTA ESTRUCTURA:
Contador: variable
que se utiliza para llevar la cuenta de las vueltas que ejecuta la estructura
del ciclo.
Acumulador: mantiene
los resultados parciales de las operaciones, guardando el valor que obtiene en
cada vuelta del ciclo en una variable.
CONCLUSIONES DE LA
APLICACIÓN DE LA ESTRUCTURAS HACER MIENTRAS.
No
es posible salir de la estructura hacer mientras por otra ruta que no sea la
que determina la evaluación de la condición.
Puede
darse el caso en que la condición llegue a ser falsa en este caso si no
pudiéremos salirnos de la estructura tendríamos que aplicar banderas para
salirse.
Es
necesario inicializar antes de entrar a la estructura, todas las variables que
intervienen en la condición con el fin que esta pueda ser evaluada por la
computadora.
ESTRUCTURAS
LÓGICAS EXTENDIDAS.
Con
el objeto de proporcionarles a los programadores otras que faciliten las
actividades de programar se agregaran las siguientes:
Hacer – desde – hasta- incremento
Hacer- hasta- que
Hacer caso- seleccionar caso
Estas
estructuras representan situaciones de control del flujo de ejecución de
cualquier programa, que no lo hacen las estructuras de control.
ESTRUCTURA
HACER-DESDE-HASTA-INCREMENTO
A
esta estructura se le considera una de las más útiles en la programación por
ello la proveen casi todos los lenguajes de programación.
ESTRUCTURA
HACER-HASTA-QUE
Esta
estructura repite la ejecución de un conjunto de instrucciones hasta que tome
el valor de cierto. La condición se ubica al final de ciclo; el conjunto de
acciones se repetirán hasta que cumpla la condición si no cumple sigue
interactuando.
ESTRUCTURA
HACER CASO O SELECCIONAR CASO.
Permite
asociar un conjunto de condiciones a un conjunto de acciones que se excluyen
mutuamente.
La
estructura se conoce como case y permite una deviación del flujo de control hacia
múltiples procesos en función del resultado de la evaluación de una expresión o
indicador. Es decir; que permite seleccionar las instrucciones que deben ser
ejecutadas dependiendo del valor de una expresión aritmética. Exp = opción.
Estructuras
de Datos.
Una
estructura de datos es una forma de organizar un conjunto de datos elementos
con el objetivo de facilitar su manipulación. Un dato elemental es la mínima
información que se tiene en un sistema. Una estructura de datos define la
organización e interrelación de estos y un conjunto de operaciones que se
pueden realizar sobre ellos. Las operaciones básicas son:
Ø Alta, adicionar un nuevo valor a
la estructura.
Ø Baja, borrar un valor de la
estructura.
Ø Búsqueda, encontrar un
determinado valor en la estructura para realizar una operación con este valor,
en forma secuencial o binario (siempre y cuando los datos estén ordenados).
Las
estructuras de datos más comunes son:
Ø Arreglos (Matrices)
Ø Colas
Ø Pilas
Ø Listas Enlazados
Hablaremos un poco sobre cada una de ellas a continuación.
Arreglos:
Un
arreglo es un conjunto finito ordenado de elementos homogéneos, la propiedad de
ordenación significa que es posible identificar el primer, segundo, tercero… y
el enésimo elemento del arreglo, un arreglo, un arreglo puede ser un conjunto
de elementos de tipo cadena en tanto que potro puede ser tipo entero.
Los
arreglos son una herramienta maravillosa, permite asociar un solo nombre de
variable a una colección completa de datos puede mover el arreglo completo en
menoría, copiarlo y además solo haciendo referencia a un solo nombre de
variable.
Arreglo Bidimensionales
Un
array bidimensional se puede considerar como un vector de vectores. Es decir un
conjunto de elementos todos del mismo tipo, en el orden de los componentes es
significativo y en el que se necesita especificar dos subíndices para poder
identificar cada elemento del arreglo: una forma importante de representar
datos en un array bidimensional puede verse de forma lógica como una tabla de
filas y columnas.
Arreglos Multidimensionales.
Existen
grupos de datos que se representan mejor en forma de tabla o matriz cada dos o
más subíndices a esos les llamamos arreglos multidimensionales se les llama así
porque a diferencia de un arreglo bidimensional estos constan de dos o más dimensiones.
Colas:
En
las colas el elemento que entro en primer lugar también es el primero en salir
por ello se conocen como listas FIFO (First in – First out).
Así
pues la diferencia con las pilas recibe en el modo de entrada y salida de
datos. En las colas las inserciones se realizan al final de la lista no al
principio por ello las colas se usan para almacenar datos que necesiten ser
procesados según el orden de llegada.
En
la información muchas aplicaciones para las colas (colas de aplicación) etc.
Por ejemplo un sistema de tiempo compartido suele tener un proceso central y
una serie de periféricos compartido: discos, impresoras, etc.
Los
recursos se comparten con diferentes usuarios y se utiliza una cola para
almacenar el programa por los diferentes usuarios que esperan su torno de
ejecución. El procesador atiende por riguroso orden de llamado de usuario.
Pilas:
Una
pila es un tipo de lista lineal en la que la inserción y borrada de nuevos
elementos solo se pueden realizar por un extremo que se denomina tope o cima.
La
pila es una estructura con numerosas analogías en la vida real, una pila de
platos, una pila de documentos, una pila de monedas. Dado que la operación de
insertar y eliminar se realizó por un solo extremo (superior) los elementos
solo pueden eliminarse en un orden inverso al que se inserta en la pila.
El
último elemento que se pone en la pila es el primero que se puede sacar; por
ello a esta lista se les conoce como LIFO (Last In – first Out).
Listas Enlazadas:
Se
pueden almacenar los elementos de una lista lineal en posiciones que no sean
continuas o adyacentes una lista enlazadas es un conjunto de elementos en la
que cada elemento contiene la posición o dirección del siguiente elemento en la
lista debe tener al menos dos campos. Un campo que tiene el valor del elemento
y un campo que contiene la dirección del siguiente elemento es decir su
posición enlace o encadenamiento a diferencia de las pilas las listas enlazadas
mantienen un orden dentro de ellas. Las listas requieren un campo que será la
clave por la que serán ordenadas.
CARACTERISTICAS
La
lista debe estar ordenada.
A
diferencia de las pilas y colas se pueden extraer e insertar elementos en
cualquier parte de la lista.