3. Problemas
resueltos con diagramas de
flujo.
Algoritmo:
- Elabore un algoritmo
que sume dos números :
Elaborar un algoritmo que sume dos
números- Definición del problema:
Entrada: A, B
Proceso: A+B
Salida: Resultados de suma
Validación: No aplica
- Análisis del problema:
- 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:
Inicio
Algoritmo:
- Escribir un algoritmo que calcule el área
de un triángulo.
Escribir un algoritmo que calcule el área de
triángulo- Definición del problema:
Entrada: base*altura
Proceso: base*altura/2
Salida: área
Validaciones: No aplica
- Análisis del problema:
- 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:
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.
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:
- Es un método sumamente simple que resulta
útil cuando se tiene un conjunto de datos
pequeños (Hasta aproximadamente 500
elementos) - Es fácil adaptar la búsqueda
secuencial para que utilice una lista enlazada ordenada, lo
que hace la búsqueda más eficaz. - Si los datos buscados no están en orden es
el único método que puede emplearse para hacer
dichas búsquedas.
Desventaja:
- Este método tiende hacer muy
lento. - 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:
- La lista debe estar ordenada, en un orden
especifico de acuerdo al valor de la clave. - 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:
- Se divide el elemento en dos partes.
- Se determina la parte que debe contener la clave
buscada. - 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.
Conclusión:
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.
Su utilización en estos ámbitos es tan
importante, debido a que permiten la visualización de las
actividades innecesarios y verifica si la distribución del trabajo
está equilibrada, o sea, bien distribuida en las personas,
sin sobrecargo para algunas mientras que otros trabajan con mucha
holgura.
En cuanto a la técnica de ordenación por
el método de burbuja, queda claro que la técnica
mejor usada para dicho método, consiste en hacer varias
pasadas a través del array. En cada pasada, se comparan
parejas sucesivas de elementos. Si una pareja está en
orden creciente (o los valores son idénticos), se dejan
los valores como están. Si una pareja está en orden
decreciente, sus valores se intercambian en el array.
Para el método de búsqueda Binaria, lo
prerrequisitos principales para dicha búsqueda
son:
- La lista debe estar ordenada en un orden
específico de acuerdo al valor de la clave (elemento a
buscar). - Debe conocerse el número de
elementos.
La búsqueda secuencial también la
podemos conocer o encontrar con el termino de "Búsqueda
Lineal".
Este método de búsqueda es muy lento,
pero si los datos no están en el orden es el
único método que puede emplearse para hacer las
búsquedas.
Es fácil adaptar la búsqueda secuencial
para que utilice una lista enlazada ordenada, lo que hace la
búsqueda más eficaz. Es fácil mantener el
orden insertando cada registro en el lugar donde termina una
búsqueda sin éxito
y cada búsqueda termina cuando se encuentra un registro
con una clave no menor que la clave de
búsqueda.
Recomendaciones:
- Los diagramas de flujo le ayudan en la
definición, formulación, análisis, y solución del
problema. - El diagrama de
flujo le ayudara con el análisis a comprender el
sistema de información de acuerdo con las operaciones de
procedimientos,
ayudara a analizar esas etapas con el fin tanto de mejorarlas,
como de incrementar la existencia de sistemas de
información para la
administración. - En el método de ordenación por burbuja,
si al terminar el bucle principal en el momento que se
detecte que en una pasada por todo lo largo de la tabla no ha
habido ningún cambio esto le indicara que la tabla
está completamente ordenada.- Se divide el elemento en 2 partes.
- Se determina la parte que debe contener la clave
buscada. - Se repite el proceso en esa parte.
- En el método de búsqueda binaria, si el
conjunto de elementos es grande, se recomienda utilizar el
siguiente algoritmo de tipo divide y vencerás, para
reducir su tiempo de búsqueda: - Para que el método de búsqueda
secuencial resulte sumamente útil se recomienda hacer lo
siguiente:
- Almacenar todo los elementos en un arreglo o
lista. - Insertar cada elemento al final del arreglo o
lita - Recorrer o iterar sobre el arreglo o lista hasta
conseguir el elemento requerido.
Bibliografía:
INFORMÁTICA.
Wilson T. Price
Merritt Collage
Oakland, California
Nueva Editorial:
Interamericana S.A. de C.V.
México, D.F. 1985
Tercera edición
METODOLOGÍA DE LA PROGRAMACIÓN
Luís Joyanes Aguilar
Libros McGRAW-HILL de México.
S.A. de C.V.
Autor:
Aro Sandra
Aro Ricardo
Herrera Catherine
Venezuela – Ciudad Guayana,
2007-01-20
Página anterior | Volver al principio del trabajo | Página siguiente |