El algoritmo

  • Published on
    04-Aug-2015

  • View
    64

  • Download
    0

Embed Size (px)

Transcript

1. EL ALGORITMO1.- Es una secuencia de pasos o procesos lgicamente relacionados entre s a fin de obtener la solucin a un problema planteado.2- Conjunto FINITO de pasos o instrucciones, seguidas en un orden lgico, los cuales nos llevan a la solucin de unproblema especfico. 2. CLASES DE ALGORITMO 4.- Una serie de instrucciones colocadas en cierta secuencia,necesarias para la descripcin de las operaciones que llevan a lasolucin de un problema. 5.- Es un procedimiento completo para resolver un problemaespecfico en un nmero FINITO de pasos. 6.- Es un mtodo para resolver un problema mediante una serie dedatos precisos, definidos y finitos. 3. PASOS PARA REALIZAR EL ALGORISMO 1.- Anlisis del problema. 2.- Identificar las entradas, procesos y salidas del problema, declaracinde variables. 3.- Diseo del Algoritmo: Describe la secuencia ordenada de los pasos,sin ambigedad, es decir, siendo preciso y veraz en la bsqueda de lasolucin al problema. 4.- Codificacin del Algoritmo: Es la expresin en un lenguaje deprogramacin de los pasos definidos en el algoritmo. 5.- Ejecucin y validacin del programa por el computador. 4. CARASCTERISTICAS DEL ALGORITMO Las caractersticas fundamentales que debe cumplir todo algoritmo son: 1.- Un algoritmo debe ser preciso e indicar el orden de realizacin de cada paso. 2.- Un algoritmo debe estar bien definido, es decir, si se sigue la ejecucin dosveces del mismo se debe obtener la misma secuencia lgica. El algoritmo debedefinirse de forma precisa para cada paso, es decir, hay que evitar todaambigedad al definir cada paso. Puesto que el lenguaje humano es impreciso, losalgoritmos se expresan mediante un lenguaje formal, ya sea matemtico o deprogramacin para un computador. 3.- Un algoritmo debe ser FINITO, Si se sigue un algoritmo se debe terminar enalgn momento; o sea, debe tener un numero finito de pasos. 4.- Entrada: El algoritmo tendr cero o ms entradas, es decir, cantidades dadasantes de empezar el algoritmo. Estas cantidades pertenecen adems a conjuntosespecificados de objetos. Por ejemplo, pueden ser cadenas de caracteres, enteros,naturales, fraccionarios, etc. Se trata siempre de cantidades representativas delmundo real expresadas de tal forma que sean aptas para su interpretacin por elcomputador. 5.- Salida: El algoritmo tiene una o ms salidas, en relacin con las entradas . 5. Estos a su vez, se clasifican en: Finito: El nmero de pasos a realizar son conocidos as como la factibilidad de solucinal problema planteado, o sea, que va a ver una respuesta al proceso. Ejemplo: Medir distancia AB Es factible que algn da pueda saber la distancia entre la Sede antigua del IUTEPAL (Av.Constitucin) y la Sede Nueva del IUTEPAL (Urb. Caa de Azcar). Infinito Se desconoce el nmero de pasos a realizar, as como la imposibilidad de encontrar lasolucin al problema planteado. Cuando realmente es imposible lograr la solucin, por ms vueltas que le demos alproblema. Ejmplo: 20 ; +" ; -2 3 -" 6. LOS EJEMPLOS DE ALGORITMOPodemos idear un algoritmo para un determinado proceso, as como tambin hacerlo en diferentes formas .Por ejemplo: Cmo podramos encontrar el promedio de un conjunto de nmeros?.Una posible solucin sera:1.- Sumar los nmeros dados.2.- Contar dichos nmeros.3.- Dividir el resultado obtenido en el punto 1 entre el resultado obtenido en el punto 2 .Otra clase de ejemplo de Algoritmos, sera el de una llamada telefnica, o el proceso para efectuar un viaje en el Metro de Caracas, o la obtencin de la licencia para conducir o el cambio de un caucho que est bajo de aire, etc; en fin, hay muchas formas de aplicar los algoritmos en cuestiones cotidianas descomponiendo la accin en pasos lgicos, como es el caso de una llamada desde una cabina de un telfono pblico :1.- Inicio2.- Descolgar el telfono3.- Esperar la seal digital.4.- Preguntamos si est daado. Si lo est: Vamos al paso 5.Si no lo est: Vamos al paso 8.5.- Vociferar una palabra de mal gusto y fruncir el ceo. 7. OTROS EJEMPLOS DE ALGORITMO 6.- Colgar. 7.- Fin. 8- Digitar los nmeros. 9.- Verificamos si suena ocupado. Si suena ocupado: Vamos al paso 11. Si no lo est: Vamos al paso 13. 10.-Insistir digitando los nmeros. 11.- Ir al paso 8 12.- Verificamos si contestan. Si contestan: Vamos al paso 14 Si no contestan: Vamos al paso 21. 13. Preguntamos si se encuentra la persona. Si se encuentra: Vamos al paso 14. Si no se encuentra: Vamos al paso 17. 14.- Hablar lo deseado 8. ALGUNOS EJEMPLOS PARA CAMBIAR EL AIRE 1.- Levantar el carro con el gato hidralico. 2.- Quitar los tornillos del rin. 3.- Quitar el caucho daado. 4.- Poner el caucho de repuesto. 5.- Apretar los tornillos. 6.- Bajar el carro con el gato. A los anteriores pasos, podramos agregar muchos ms detalles comopor ejemplo, abrir la maleta, aflojar tornillos antes de levantar el carro,etc. Presentamos a continuacin, dos versiones mas amplias delalgoritmo anterior: 9. VERSIN N#1 1.- Sacar el caucho de repuesto y herramientas de la maletera. 2.- Verificamos si est daado el caucho de repuesto. Si lo est vamos al punto 3. Si no lo est vamos al punto 4. 3.- Vociferamos ruidosamente algo. Nos vamos caminando a buscar ayuda telefoneamos alguien para queayude. Vamos al punto 14. 4.- Verificamos si el caucho bajo de aire es el caucho delantero. Si lo es : 4.1.- Quitamos la tapa del centro de la rueda delantera. 4.2.- Aflojamos los tornillos. 10. ALGORITMO MASCULINO 11. VERSION N#2 1.- Observamos si el caucho de repuesto est vaco. Si lo est vamos al punto 2. Si no lo est vamos al punto 3. 2.- Llamamos a un taller. Vamos al punto 12. 3.- Levantamos el carro con el gato hidrulico. 4.- Quitamos un tornillo. 5.- Observamos si hemos quitado todos los tornillos. Silo hemos quitado vamos al punto 6. Si no lo hemos quitado vamos al punto 4. 6.- Quitamos el caucho daado. 7.- Ponemos el caucho de repuesto. 8.- Apretamos un tornillo. 12. DESCRIPCIN DEL ALGORITMO Cuando una secuencia de actividades que definen un problema es muy simple en su naturaleza, es decirque slo implique seguir una serie de pasos, uno despus de otro, y que no tenga decisiones lgicas nialternativas a tomar, es muy fcil describirlo en palabras. Pero si esta secuencia de actividades se hacems compleja ser no slo difcil describirlo en palabras sino tambin retener todas las alternativas . Para ilustrar lo anterior, analicemos la secuencia de eventos que tienen lugar todas las maanas para unestudiante de Universidad que tiene clase los lunes y los mircoles a las 08:00 am y los martes y juevesa las 09:00 am. Una vez que el estudiante se despierta mira el reloj y si no son an las 06:30 am, contina durmiendo.Los lunes y los mircoles, procura levantarse entre las 06:30 am y las 07:30 am. Si llegara a despertarsedespus de la hora como frecuentemente ocurre, pensar nuevamente en la falta que le hace el relojdespertador, pero toma la decisin de no ir a clases en esa maana, sin embargo, despus de estadecisin, se baa, se desayuna y se dedica a estudiar. Si se despierta entre las 06:30 am y las 07:30 am, los lunes o los mircoles se baa, se desayuna y sededica a leer el peridico hasta que sean ms de las 07:30 am, luego toma el bus y llega a la Universidad.Entra a clase solamente si han transcurrido menos de 15 minutos desde su comienzo, de otra manera, noentra a clase y se dedica a leer las carteleras y a esperar la prxima clase . Los martes y los jueves, procura levantarse entre las 07:30 am y las 08:30 am; si se despierta despus delas 08:30 am realizar las mismas actividades que tendran lugar si se levantara los lunes o los mircolesdespus de las 07:30 am. De otra forma se baa, se desayuna y lee el peridico hasta que sean ms delas 08:30 am, luego realiza las mismas actividades que tienen lugar los lunes o lo mircoles cuando salede su casa. Los dems das de la semana, procura dormir hasta las 08:30 am, despus de esta hora se baa, sedesayuna y se dedica a estudiar. 13. ALGORITMO ESPECIAL 14. CLASIFICACION DEL ALGORITMO 15. GENERALIDADES El programador de computadoras es ante que nada una persona que resuelve problemas, por lo quepara llegar a ser un programador eficaz se necesita aprender a resolver problemas de un modoriguroso y sistemtico. A la metodologa necesaria para resolver problemas mediante programas sedenomina Metodologa de la Programacin. El eje central de esta metodologa es el concepto, yatratado, de algoritmo. Un algoritmo es un mtodo para resolver un problema. Aunque la popularizacin del trmino hallegado con el advenimiento de la era informtica, algoritmo proviene de Mohammed al -Khowarizmi,matemtico persa que vivi durante el siglo IX y alcanzo gran reputacin por el enunciado de lasreglas para sumar, restar, multiplicar y dividir nmeros decimales; la traduccin al latn del apellidode la palabra algorismus derivo posteriormente en algoritmo. Euclides, el gran matemtico griego(del siglo IV antes de Cristo) que invento un mtodo para encontrar el mximo comn divisor de dosnmeros, se considera con Al-Khowarizmi el otro gran padre de la algoritmia (ciencia que trata delos algoritmos). El profesor Niklaus Wirth, inventor de Pascal, Modula-2 y Oberon, titulo uno de sus mas famososlibros, Algoritmos + Estructuras de Datos = Programas, significndonos que solo se puede llegar arealizar un buen programa con el diseo de un algoritmo y una correcta estructura de datos. Estaecuacin ser de una de las hiptesis fundamentales consideradas en esta obra. La resolucin de un problema exige el diseo de un algoritmo que resuelva el problema propuesto.