miércoles, 6 de diciembre de 2006

Diagramas de Flujo y metodos de ordenacion/busqueda

1.Introducción
2.Definición y explicación de importancia de los diagramas de flujo

3.Explicación de cada uno de los símbolos que se usan en la solución de problemas con diagramas de flujo
4.Problemas resueltos con diagrama de flujo
5.Definición y explicación, del método de ordenación por burbuja. Ventajas y desventajas
6.Definición y explicación de los métodos de búsqueda secuencial y binaria. Diferencias, ventajas y desventajas entre ambos
7.Conclusión

8.Recomendaciones


INTRODUCCIÓN:

Un diagrama de flujo es la representación grafica del flujo o secuencia de rutinas simples. Tiene la ventaja de indicar la secuencia del proceso en cuestión, las unidades involucradas y los responsables de su ejecución; en pocas palabras es la representación simbólica o pictórica de un procedimiento administrativo.
Son de gran importancia ya que ayudan a designar cualquier representación grafica de un procedimiento o parte de este; el diagrama de flujo como su nombre lo dice representa el flujo de información de un procedimiento.
Existen diversos métodos que se pueden llevar a cabo en procedimientos de los arreglos (vector), ya sean en forma de ordenación, como de búsqueda.
El método de ordenación es una de los procedimientos más comunes y útiles en el procesamiento de datos, es la clasificación u ordenación de los mismos. Se considera ordenar al proceso de reorganización un conjunto dado de objetos en una secuencia determinada.
El método de ordenación más conocido y popular entre estudiantes y aprendices de programación, es el método burbuja, por su facilidad de comprensión y programación.
El método de búsqueda es una operación que tiene por objeto la localización de un elemento dentro de la estructura de datos. Encontramos dos técnicas que utiliza este método de acceso, para encontrar elementos dentro de un array: Búsqueda secuencial y búsqueda binaria.
La búsqueda secuencial es la técnica más simple para buscar un elemento en un arreglo. Consiste en recorrer el arreglo elemento a elemento e ir comparando con el valor buscado (Clave). El resultado de la búsqueda es un solo valor, y será la posición del elemento buscado o cero.
La búsqueda binaria es el método más eficiente para encontrar elementos en un arreglo ordenado. El proceso comienza comparando el elemento central del arreglo con el valor buscado.

CONTENIDO:

1. Definición y explicación de los diagramas de flujo.
Son de gran importancia ya que ayudan a designar cualquier representación grafica de un procedimiento o parte de este; el diagrama de flujo como su nombre lo indica representa el flujo de información de un procedimiento.
En la actualidad los diagramas de flujo son considerados en la mayoría de las empresas o departamentos de sistemas como uno de los principales instrumentos en la realización de cualquier método o sistema.
Son importantes los diagramas de flujo en toda organización y departamento, ya que este permite la visualización de las actividades innecesarias y verifica si la distribución del trabajo esta equilibrada, es decir, bien distribuida en las personas, sin sobrecargo para algunas mientras otros trabajan con mucha holgura.
Los diagramas de flujo son importantes para el diseñador por que le ayudan en la definición, formulación, análisis y solución del problema. El diagrama de flujo ayuda al análisis a comprender el sistema de información de acuerdo con las operaciones de procedimientos incluidos, le ayudara analizar esas etapas, con el fin tanto de mejorarlas como de incrementar la existencia de sistemas de información para la administración.

2. Explicación de cada uno de los símbolos que se usan en la solución de problemas con diagramas de flujo.
Símbolos Nombre Explicación
Línea de flujo Muestra la dirección y
(Conexiones de sentido del flujo del pro-
Pasos o flechas). ceso, conectando los
Símbolos.
Terminador En su interior situamos
(Comienzo o materiales, información
final de o acciones para comen-
procesos) zar el proceso o para
mostrar el resultado en
el final del mismo.
Proceso Tarea o actividad lleva-
(actividad) da a cabo durante el
Proceso.
Puede tener muchas
entradas, pero solo una
salida.
Conector Nombramos un proceso
(Conexión con independiente que en
Otro procesos) algún momento apare-
ce relacionado con el
Proceso principal.

Datos. Situamos en su interior
Entrada/salida la información necesa-
(Información de ría para alimentar una
Apoyo) actividad (datos para
realizarla)

Decisión Indicamos puntos en
(Decisión/ que se toman deci-
Bifurcación) siones:
Si o no, abierto/ce-
rrado.

Documento Se utiliza para hacer
referencia a la gene-
O consulta de un do-
cumento especifico
en un punto del pro-
ceso.

3. Problemas resueltos con diagramas de flujo.


Algoritmo:
1) Elabore un algoritmo que sume dos números :

a) Definición del problema:
Elaborar un algoritmo que sume dos números

b) Análisis del problema:
Entrada: A, B
Proceso: A+B
Salida: Resultados de suma
Validación: No aplica

c) Diseño del algoritmo:
Paso1- Inicio _ algoritmo _suma
Paso2-Declarar variables A y B de tipo numérico
Paso3-Escribir (“Ingrese el valor de A y B respectivamente “)
Paso4-Leer (A, B)
Paso5-(“El resultado es:”, A+B)
Paso6-Fin_algoritmo_suma.

Diagrama de flujo:

InicioInicio
Inicio


Entrada A,B



Suma: A+B

El resultado es: A+B



Fin



Algoritmo:
2) Escribir un algoritmo que calcule el área de un triángulo.

a) Definición del problema:
Escribir un algoritmo que calcule el área de triángulo

b) Análisis del problema:
Entrada: base*altura
Proceso: base*altura/2
Salida: área
Validaciones: No aplica

c) Diseño del algoritmo:
Paso1-Inicio_algoritmo_área _triángulo
Paso2-Declarar base, altura y área de tipo real
Paso3-Escribir (“Ingrese el valor de base y altura respectivamente”)
Paso4-Leer (base, altura)
Paso5-a=base*altura/2
Paso6-Escribir (“El resultado es: “, área)
Paso7-Fin_algoritmo_área_triángulo.

Diagrama de flujo:

Inicio


Base*altura




a=base*altura/2


El resultado es: área




Fin



4. Definición y explicación del método de ordenación por burbuja. Ventajas y desventajas.
El ordenamiento es uno de los procesos más comunes y útiles en el procesamiento de datos, es la clasificación u ordenación de los mismos. La colocación en orden de una lista de valores se le llama ordenación. Por ejemplo, se podría disponer de una lista de valores numéricos en orden ascendente o descendente, o bien una lista de nombres en orden alfabético.
El método de ordenación por burbuja es el mas conocido y popular entre estudiantes y aprendices de programación.
Este método se basa en la ordenación por cambios de elementos, ya que se van comparando de dos en dos los elementos de la tabla (vector). Si nosotros deseamos ordenar dicha tabla de menor a mayor (ascendente) al realizar la comparación entre dos elementos se produce el intercambio en el momento en que el primer elemento es mayor que el segundo. De esta forma los elementos más grandes pasan a estar en el último lugar de la tabla. El elemento sube por la tabla al igual que una burbuja en un recipiente, de ahí proviene su nombre.
La técnica consiste en hacer varias pasadas a través de la tabla, en cada pasada se comparan parejas sucesivas de elementos. Si una pareja esta en orden creciente (o los valores son idénticos), se dejan los valores como están. Si una pareja esta en orden decreciente, sus valores se intercambian en la tabla.
Supongamos que tenemos una tabla de un total de 50 elementos y que desde un principio esta ordenada, pero eso nosotros no lo sabemos, por lo que sometemos la tabla a una ordenación. Como te puedes imaginar el programa esta empleando un tiempo que nos puede ser útil, para realizar cualquier otro calculo dentro de la aplicación. Piensa que con una tabla de 50 elementos el programa pasara por el bucle principal 49 veces. Podemos ver que es un método un poco rudimentario y un poco largo según el caso.
Este método dentro de lo sencillo, es que nos permite una mejora. Esta mejora consiste en terminar el bucle principal en el momento en el que detectemos que en una pasada, por todo lo largo de la tabla no ha habido ningún cambio, esto quiere decir que la tabla esta completamente ordenada.
Ventaja:
Este método es fácil de comprender, programar y es el más extendido.

Desventaja:
Su desventaja principal, es uno de los menos eficientes y por ello, normalmente, se aprende su técnica pero no se utiliza.

5. Definición y explicación de los métodos de búsqueda secuencial y binaria. Diferencias, ventajas y desventajas entre ambos.
La búsqueda es una operación que tiene por objeto la localización de un elemento dentro de la estructura de datos. A menudo un programador estará trabajando con grandes cantidades de datos almacenados en arreglos y pudiera resultar necesario determinar si un arreglo contiene un valor que coincide con algún valor clave o buscado.
Siendo el array de una dimensión o lista una estructura de acceso directo y a su vez de acceso secuencial, encontramos dos técnicas que utilizan estos dos métodos de acceso, para encontrar elementos dentro de un array: Búsqueda secuencial y búsqueda binaria.

Búsqueda secuencial:
La búsqueda secuencial, también se le conoce como búsqueda lineal.
Supongamos una colección de registros organizados como una lista lineal. El algoritmo básico de búsqueda secuencial consiste en empezar al inicio de la lista e ir a través de cada registro hasta encontrar la clave indicada (k) o hasta el final de la lista.

Iniciar con el 1er registro de la lista

¿Lista vacía?
SI

No esta el registro en la lista. Fin.
¿Fin de lista?
Clave (k)=
Clave [i]
Se encontró Fin.
Avanzar al sig. registro
NO

Este método consiste en recorrer el arreglo o vector elemento a elemento e ir comparando con el valor buscado (clave). Se empieza con la primera casilla del vector y se observa una casilla tras otra hasta que se encuentre el elemento buscado o se han visto todas las casillas. El resultado de la búsqueda es un solo valor, y será la posición del elemento buscado o cero. Dado que el vector o arreglo no esta en ningún orden en particular, existe la misma probabilidad de que el valor se encuentra ya se en el primer elemento, como en el ultimo. Por lo tanto, en promedio, el programa tendrá que comparar el valor buscado con la mitad de los elementos del vector.
El método de búsqueda lineal funciona bien con arreglos pequeños o para arreglos no ordenados.

Ventaja:

v Es un método sumamente simple que resulta útil cuando se tiene un conjunto de datos pequeños (Hasta aproximadamente 500 elementos)
v Es fácil adaptar la búsqueda secuencial para que utilice una lista enlazada ordenada, lo que hace la búsqueda más eficaz.
v Si los datos buscados no están en orden es el único método que puede emplearse para hacer dichas búsquedas.

Desventaja:
v Este método tiende hacer muy lento.
v Si los valores de la clave no son únicos, para encontrar todos los elementos con una clave particular, se requiere buscar en todo el arreglo, lo que hace el proceso muy largo.

Búsqueda Binaria:
La búsqueda binaria es el método, donde si el arreglo o vector esta bien ordenado, se reduce sucesivamente la operación eliminando repetidas veces la mitad de la lista restante.
El proceso comienza comparando el elemento central del arreglo con el elemento buscado. Si ambos coinciden finaliza la búsqueda. Si no ocurre así, el elemento buscado será mayor o menor en sentido estricto que el elemento central del arreglo. Si el elemento buscado es mayor se procede a hacer búsqueda binaria en el subarray superior, si el elemento buscado es menor que el contenido de la casilla central, se debe cambiar el segmento a considerar al segmento que está a la izquierda de tal sitio central.
Este método se puede aplicar tanto a datos en listas lineales como en árboles binarios de búsqueda. Los pre – requisitos para la búsqueda binaria son:
v La lista debe estar ordenada, en un orden especifico de acuerdo al valor de la clave.
v Debe conocerse el número de elementos.
Si el conjunto de elementos es grande, el tiempo de búsqueda se puede reducir utilizando el siguiente algoritmo de tipo divide y vencerás:
1. Se divide el elemento en dos partes.
2. Se determina la parte que debe contener la clave buscada.
3. Se repite el proceso en esa parte.

Una forma razonable de dividir el conjunto de elementos es mantener los elementos ordenados y después utilizar los índices del arreglo ordenado para determinar la parte del arreglo sobre la que se va a trabajar.

Ventajas:
Se puede aplicar tanto a datos en listas lineales como en árboles binarios de búsqueda.
Es el método más eficiente para encontrar elementos en un arreglo ordenado.

Desventajas:
Este método funciona solamente con arreglos ordenados, por lo cual si nos encontramos con arreglos que no están en orden, este método, no nos ayudaría en nada.

Diferencias entre ambos métodos:
En el caso del método de búsqueda binaria, los arreglos deben estar únicamente ordenados, como se planteo anteriormente, por su parte el método de búsqueda secuencial o lineal, puede emplearse tanto en arreglos pequeños, como en aquellos que no están ordenados.
En segundo orden, podemos ver que el método de búsqueda binaria, es el método más eficiente para encontrar elementos en un arreglo ordenado, lo contrario sucede con el método de búsqueda secuencial ya que este es muy lento, pero si los datos no están en orden es el único método que puede emplearse para hacer las búsquedas.


No hay comentarios: