jueves, 5 de julio de 2007

ALGORITMOS solucion de problemas

Tema: LECCIÓN 5, UTILIDAD DE LOS ALGORITMOS

Introducción: Los algoritmos los ejecutamos a lo largo de nuestras actividades diarias, como por ejemplo: levantarse para asistir a clase en el SENA, desayunar, ... etc. y tenemos en cuenta un conjunto de instrucciones mínimas y el orden en el cual debemos ejecutarlas.

Objetivos: 1. Utilizar las diferentes clases de algoritmos para la solución de problemas.

2. Reconocer fácilmente cada elemento escrito en un algoritmo.

Recursos Tablero Acrílico.

Didácticos Marcadores borrables.(clik al lado derecho pra mas informacion)

Material textual de apoyo.

Desarrollo:

Cuando se tiene un problema para el cual debemos especificar un algoritmo solución tendremos en cuenta varios puntos:

Si no se conoce un método para solucionar el problema, debemos hacer un análisis del mismo para llegar a una solución luego de evaluar alternativas, escogencias y excepciones.

Si se conoce un “buen” método de solución al problema, entonces se debe especificar el método de solución en un lenguaje que se pueda interpretar fácilmente.

Los problemas pueden agruparse en conjuntos de problemas que tienen algo en común. Puede existir un método que dé solución al conjunto.

Hay criterios para determinar qué tan “buena” es una solución, indiferente de ver si trabaja o no, o hasta qué punto es general la aplicabilidad del método. Estos criterios involucran cosas como eficiencia, elegancia, velocidad, etc.

Al definir con exactitud un método de solución para un problema, éste debe ser capaz de encontrar la solución, si existe y en caso contrario suspender toda acción.

El método de solución debe ser compatible con el dispositivo usado. En nuestro caso el microcomputador o PC. Es decir, la solución debe enunciarse en un lenguaje soportado por el dispositivo a usarse.

CARACTERÍSTICAS DE LOS ALGORITMOS


Entrada: todo algoritmo debe tener cero (0) o más elementos de entrada. Como valores, cantidades, condiciones, etc.

Proceso: cálculos necesarios para encontrar la solución del problema.

Salida: todo algoritmo produce uno o más elementos como resultado.

Finito: todo algoritmo tiene un número fijo de pasos.

Hay algoritmos para los cuales el número de pasos es fijo o tiene un máximo estipulado. (se necesita controlar el número de pasos - contador)

Hay algoritmos para los cuales el número máximo de pasos está relacionado con los datos y se puede calcular a priori o predecirlos.

Hay otros algoritmos que el número máximo de pasos está relacionado con los datos pero no podemos predecir el número de pasos.

Precisión: cada paso del algoritmo debe definirse con exactitud, sin ambigüedades.

Validez: el algoritmo debe ser exitoso y producir resultados esperados. Si el número de pasos está condicionado a un dato y este no se da, el proceso nunca terminaría y diremos por tanto que el algoritmo es no-válido.

Ejemplos De Algoritmos:

Cambiar una llanta: Juan recibe la siguiente información: “su automóvil tiene una llanta pinchada”.

Juan se dirige al parqueadero con el objeto de cambiar la llanta pinchada. Entonces,

debe revisar llantas (subproceso)

si están bien, devolverse

sino asegurar vehículo

colocar gato y aflojar pernos

reemplazar llanta

asegurar llanta

guardar herramienta

Directorio telefónico: supongamos que Juan encontró una llanta pinchada y no sabe repararla.

Busca un directorio telefónico para consultar el número telefónico de un amigo y pedirle instrucciones. Entonces,

busca primer apellido

busca primer nombre

busca segundo apellido

etc.

El agua y el vino: se tienen dos vasijas, una con agua y otra con vino; la primera es de vidrio y la segunda de madera. Se quiere que el agua quede en la vasija de madera y el vino en la de vidrio. Grafique la solución.


Las latas: suponga que dispone de una cantidad ilimitada de agua y tiene dos potes o latas, una con capacidad para contener 5l y la otra 4l. Cómo obtener 2l de agua en la de 5l si no tiene medidor exacto? De una solución.

Los platillos: se tiene una balanza de 2 brazos y 6 platillos metálicos p1, p2, p3,...p6. Todos los platillos excepto uno tienen el mismo peso y uno es más pesado que los demás. Encontrar el más pesado.

Evaluación: Resolver los ejercicios planteados en la forma que usted cree más conveniente, siempre y cuando siga los parámetros dados y se obtengan las respuestas esperadas. Estos ejercicios los pueden resolver en grupo, teniendo en cuenta el criterio personal y grupal.

Bibliografía: Guillermo Correa Uribe (1998), Desarrollo de Algoritmos Y Sus Aplicaciones en Basic, Pascal, Cobol y C, McGraw-Hill.


Francisco Javier Ceballos (1990), Curso de Programación con C, Macrobit.

Manuel Abellanas y Dolores Lodares (1990), Análisis de algoritmos y teoría de grafos, Ra-Ma

Guía de Aprendizaje

Duración: 2 horas

Modulo: Programación de Computadores.