lunes, 15 de junio de 2015

UNIDAD #3: Estructuras Lógicas Fundamentales y Extendidas.



Tema 3.1: Estructuras de Control.

INTRODUCCIÓN:
Hemos estudiado en los contenidos anteriores los elementos fundamentales que nos permitirán avanzar en el mundo de la programación, con estos contenidos en mente llegamos a los fundamentos de la programación: Las estructuras de control fundamentales y extendidas de la programación. Indistintamente del lenguaje que se utilice las estructuras de control seguirán acompañándoles en su estructuras de control es vital en su formación como programador. Iniciamos conociendo las características que debe cumplir  un programa. Las estructuras de control principales permiten desarrollar actividades básicas de programación, estas estructuras son tradicionalmente conocidas como: Secuencial, Decisión, Repetitiva o Hacer Mientras. Para proporcionar otras estructuras complementarias estudiamos las extendidas: Hacer Hasta Que, Hacer Desde Hasta Incremento, Seleccionador Caso. Por ultimo abordamos la temática de las Estructuras de datos.

CARACTERÍSTICAS DE UN PROGRAMA.

Un programa se define como propio si se cumple con las siguientes características:
Posee un solo punto de entrada y otro de salida para el control del programa.
Existen caminos desde la entra hasta la salida que se pueden seguir y que pasan por todas partes del programa.

Todas las instrucciones son ejecutables y no existen lazos o bucles infinitos.
Por lo tanto un programa se puede escribir aplicando las estructuras fundamentales de programación son:
Estructuras de Control,Estructuras Extendidas,Estructura de Datos.

ESTRUCTURA DE CONTROL
Son construcciones mediante las cuales se escribe la lógica de los programas, son empleadas y definidas de manera ordenada y sistemática para dirigir el flujo de acciones que el procesador efectuara sobre los datos que se manejan en un programa.
Entre las Estructuras de Control se encuentran:

Estructuras de Secuenciación o Secuencial,Estructuras de Decisión o Condicional,
Estructuras de Hacer-Mientras.

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 DECISION

Esta estructura lógica, permite la toma de decisiones en un programa, es decir, que las soluciones a este tipo de problemas son una serie de acciones en las que la ejecución de algunas dependerá de que se cumplan una o varias condiciones.
Cuando el programador desea especificar 2 o más caminos alternativos en un programa se deben utilizar una estructura de decisión, que evalué una condición conteniendo una sola salida.

¿Qué es 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.
Ejemplos:
 A>B               D=A                     G>=T
 B<C               R< >W                 F<=H

CONDICIONES COMPUESTAS
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]

ESTRUCTURA HACER MIENTRAS
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 aquellas operaciones en cuya solución es necesario utilizar un mismo conjunto de acciones que pueden 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 de dos o más veces.

Proceso: conjunto de acciones a lo que se les asigna un nombre, es decir, la operación a realizar.

Cuerpo de Ciclo: se considera una parte importante del ciclo en donde se ejecutara un proceso de dos o más veces.
Estructura Cíclica: conjunto de acciones que permiten que el cuerpo del ciclo se ejecute dos o más veces.

La Iteración: se define como cada una de las ejecuciones del cuerpo de ciclo.

LA ESTRUCTURA HACER MIENTRAS FUNCIONA DE LA SIGUIENTE MANERA:
Evalúa la condición.
Si la condición es cierta entonces se ejecutara las instrucciones mientras y se vuelve a ejecutar al paso 1; sino se ejecutan las instrucciones siguientes en el flujo normal del algoritmo.

CLASIFICACION DE LOS CICLOS:
Ciclos con un número determinado de iteracciones.
Ciclos con un número indeterminado de iteracciones.

CICLOS CON UN NUMERO DETERMINADO DE ITERACCIONES
Son aquellos en que el número de iteraciones es determinable antes de ejecutarse el ciclo, este número de iteraciones 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 na 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.

 Tema 3.2 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.

Tema 3.3 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 o 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 arreglo 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.

No hay comentarios:

Publicar un comentario