ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Algorimos


Enviado por   •  17 de Abril de 2013  •  1.713 Palabras (7 Páginas)  •  225 Visitas

Página 1 de 7

ALGORITMOS Y ESTRUCTURAS DE DATOS

Un algoritmo es la especificación de la secuencia ordenada de pasos a realizar para solucionar un problema en un tiempo finito.

Está vinculado a una maquina abstracta. Por lo tanto, los algoritmos son independientes de los lenguajes de programación y de las maquinas en las que se lo ejecutara.

Está constituido por un conjunto de acciones. Una acción es un hecho o acontecimiento que sucede en un periodo de tiempo finito, es llevado a cabo por un ejecutante y tiene un objetivo. La unión de varias acciones organizadas que se ejecutan en un tiempo finito se denomina proceso. Tanto los procesos como las acciones son componentes de los algoritmos.

TIPOS DE ALGORITMOS

CUALITATIVOS: Son aquellos en los que se describen los pasos utilizando palabras. Son todos aquellos pasos o instrucciones descritos por medio de palabras que sirven para llegar a la obtención de una respuesta o solución de un problema cualquier

CUANTITATIVOS: Son aquellos en los que se utilizan cálculos numéricos para definirlospasos del proceso.

Son aquellos pasos o instrucciones que involucran cálculos numéricos para llegar a un resultado satisfactorio.

TIPOS DE ALGORITMOS DE RAZONAMIENTO

ALGORITMOS ESTÁTICOS: son los que funcionan siempre igual, independientemente del tipo de problema tratado.

ALGORITMOS ADAPTATIVOS: algoritmos con cierta capacidad de aprendizaje.

ALGORITMOS PROBABILÍSTICOS: son algoritmos que no utilizan valores de verdad booleanos sino continuos. Existen varios tipos de algoritmos probabilísticos dependiendo de su funcionamiento, pudiéndose distinguir:

§ ALGORITMOS NUMÉRICOS: que proporcionan una solución aproximada del problema.

§ ALGORITMOS DE MONTECARLO: que pueden dar la respuesta correcta o respuesta erróneas (con probabilidad baja).

§ ALGORITMOS DE LAS VEGAS: que nunca dan una respuesta incorrecta: o bien dan la respuesta correcta o informan del fallo.

ALGORITMO COTIDIANO: es la serie de pasos que realizamos en nuestra vida diaria para realizar las diferentes tareas y actividades comunes, desde los pasos al levantarnos, así como ir de compras.

ALGORITMO VORAZ: un algoritmo voraz es aquel que, para resolver un determinado problema, sigue una meta heurística consistente en elegir la opción óptima en cada paso local con la esperanza de llegar a una solución general óptima.

ALGORITMO DETERMINISTA: es un algoritmo que, en términos informales, es completamente predictivo si se conocen sus entradas.

ALGORITMO HEURÍSTICO: es un algoritmo que abandona uno o ambos objetivos; por ejemplo, normalmente encuentran buenas soluciones, aunque no hay pruebas de que la solución no pueda ser arbitrariamente errónea en algunos casos; o se ejecuta razonablemente rápido, aunque no existe tampoco prueba de que siempre será así.

ALGORITMO DE ESCALADA: la idea básica consiste en comenzar con una mala solución a un determinado problema y, repetidamente, aplicar optimizaciones a la misma hasta que esta sea óptima o satisfaga algún otro requisito.

REPRESENTACION GRAFICA DE LOS ALGORITMOS

a) Descripción Narrada

b) Pseudocódigo

c) Diagramas de Flujo

d) Diagramas N- S (Nassi-Schneiderman o de Chapin)

1 Descripción Narrada

Este algoritmo es caracterizado porque sigue un proceso de ejecución común y lógico, describiendo textualmente paso a paso cada una de las actividades a realizar dentro de una actividad determinada.

Ejemplo 1 Algoritmo para asistir a clases:

1. Levantarse

2. Bañarse

3. Vestirse

4. Desayunar

5. Cepillarse los dientes

6. Salir de casa

7. Tomar el autobús

8. Llegar al ITCA

9. Buscar el aula

10. Ubicarse en un asiento

2. Descripción en Pseudocódigo

Pseudo = falso. El pseudo código no es realmente un código sino una imitación y una versión abreviada de instrucciones reales para las computadoras. Es una técnica para diseño de programas que permite definir las estructuras de datos, las operaciones que se aplicarán a los datos y la lógica que tendrá el programa de computadora para solucionar un determinado problema. Utiliza un pseudolenguaje muy parecido a nuestro idioma, pero que respeta las directrices y los elementos de los lenguajes de programación. Se concibió para superar las dos principales desventajas de los flujogramas: lento de crear y difícil de modificar sin un nuevo redibujo.

Ejemplo 1

Diseñar un algoritmo que lea cuatro variables y calcule e imprima su producto, suma y media aritmética.

Inicio

Leer (a, b, c, d)

Producto <-- (a * b * c * d)

Suma <-- (a + b + c + d)

Media <-- (a + b + c + d) / 4

Escribir (producto, suma, media)

Fin

3. Diagramas N-S

Son una herramienta que favorece la programación estructurada y reúne características gráficas propias de diagramas de flujo y lingüísticas propias de pseudocódigos. Constan de una serie de cajas contiguas que se leerán siempre de arriba-abajo y sus estructuras lógicas son las siguientes:

Estructura Secuencial

4. Diagramas de Flujo.

Son la representación

...

Descargar como (para miembros actualizados)  txt (8.9 Kb)  
Leer 6 páginas más »
Disponible sólo en Clubensayos.com