240 likes | 545 Views
Algoritmos. Algoritmos - Significado (1/2). Deriva de la traducción al latín del apellido del matemático y astrónomo árabe, Mohamed al-Khowarizmi, en la palabra “algorismus”, posteriormente ALGORITMO.
E N D
Algoritmos Departamento de Ciencia de la Computación
Algoritmos - Significado (1/2) Deriva de la traducción al latín del apellido del matemático y astrónomo árabe, Mohamed al-Khowarizmi, en la palabra “algorismus”, posteriormente ALGORITMO. El interés de él era resolver ciertos problemas de aritmética y desarrolló un número de métodos para hacerlo. Departamento de Ciencia de la Computación
Algoritmos - Significado (2/2) Estos métodos eran presentados como listas de instrucciones específicas (muy parecidas a una receta) y su nombre se ha asociado a tales métodos. A al-Khowarizmi se le considera el padre de la algoritmia (ciencia que trata de los algoritmos), conjuntamente con Euclides. Departamento de Ciencia de la Computación
Algoritmos - Concepto Método para resolver un problema mediante una serie de pasos precisos, definidos y finitos. • Preciso: Indica el orden de cada paso. • Definido: Si se sigue el algoritmo varias veces debe producir el mismo resultado. • Finito: Tiene fin. Número definido de pasos Departamento de Ciencia de la Computación
Algoritmos - Propiedades • Debe tener un inicio • Pasos individuales • No debe ser ambiguo • Siempre se sabe que acción tomar • Debe tener un fin o terminación • Debe dar alguna indicación de haber logrado el objetivo o no. • En general, no requiere que de una respuesta correcta. Departamento de Ciencia de la Computación
Ejemplos: • Agregue un poco de sal (ambiguo) • Agregue 5 gramos de sal (definido) • Si el número es grande, réstele 5 (ambiguo) • Si el número es mayor a 200, réstele 5 (definido) • Avance unos metros, cruce y avance otro poco (ambiguo) • Avance 250 metros, cruce a la derecha y avance 50 metros (definido) Departamento de Ciencia de la Computación
Algoritmos - Métodos Los métodos usuales para representar algoritmos son: • Narrativa (Lenguaje español) • Diagramas: De Flujo, UML, etc. • Ver Diagramas de Flujo - Completo v2.ppt (1-9) • Lenguaje de especificación de algoritmos (pseudocódigo) Departamento de Ciencia de la Computación
Narrativa Problema: Sumar 3 números enteros. • Solución algorítmica: Tomo el primer número, tomo el segundo y lo sumo con el primero. Tomo el tercer número y lo agrego a lo que llevaba. Enseño el resultado de la suma. Departamento de Ciencia de la Computación
Inicio Num1 Num2 Res Num1 + Num2 Num3 Res Res + Num3 Res Fin Diagrama de flujo Problema: Sumar 3 números enteros. • Solución algorítmica: Departamento de Ciencia de la Computación
Pseudocódigo Problema: Sumar 3 números enteros. • Solución algorítmica: Inicio Leer Num1 Leer Num2 Res Num1 + Num2 Leer Num3 Res Res + Num3 Escribir Res Fin Departamento de Ciencia de la Computación
¿¿¿ Dudas, Preguntas, Cansancio ??? Departamento de Ciencia de la Computación
Narrativa - Preparar una taza de Té • Tomar la tetera • Llenarla de agua • Encender el fuego (estufa) • Colocar la tetera en el fuego (estufa) • Esperar mientras no haya hervido el agua • Tomar una taza de té • Tomar una bolsa de té • Colocar la bolsa de té en la taza • Apagar el fuego (estufa) • Llenar la taza con agua de la tetera • Mientras no esté listo el té • Esperar • Fin Mientras • Si me gusta el azúcar entonces agregar 2 cucharaditas Departamento de Ciencia de la Computación
Narrativa • Problema: Ordenar los pasos para pescar: • ___ El pez se traga el anzuelo. • ___ Enrollar el sedal. • ___ Tirar el sedal al agua. • ___ Llevar el pescado a casa. • ___ Quitar el Anzuelo de la boca del pescado. • ___ Poner carnada al anzuelo. • ___ Sacar el pescado del agua. EDUCACIÓN BÁSICA. ALGORITMOS Y PROGRAMACIÓN. Fundación Gabriel Piedrahita Uribe. http://www.eduteka.org http://www.eduteka.org/AlgoritmosProgramacion.php Departamento de Ciencia de la Computación
Ejemplo - Narrativa Ver una película en el cine Departamento de Ciencia de la Computación
1a. Versión • Solución algorítmica: • Ir al cine • Comprar una entrada • Ver la película • Regresar a casa Departamento de Ciencia de la Computación
Observaciones • Pasos con condiciones • Ej: Si me gusta la película entonces voy a verla • Pasos que se repiten • Ej: Mientras haya personas en la cola • Esperar • Avanzar en la cola Fin Mientras • Avanzar pasos • Ej: Ir al paso X. Departamento de Ciencia de la Computación
2a. Versión (1/2) • Ver la cartelera de cines • Si no proyectan la película entonces • Ir al paso 6 • Sino Ir al cine • Comprar una entrada • Si hay cola entonces • Formarse en la cola • Mientras haya más personas adelante • Avanzar en la cola • Fin Mientras • Al llegar a la taquilla: • Si hay entradas entonces comprarla(s) • Sino @#!!!&* … Ir al paso 4 Departamento de Ciencia de la Computación
2a. Versión (2/2) • Pasar a la sala • Localizar la(s) butaca(s) • Apagar el celular • Mientras proyectan la película • Ver la película • Fin Mientras • Abandonar el Cine • Volver a casa • Fin Departamento de Ciencia de la Computación
3a. Versión Paso1 • Ver cartelera de cines • Tomar el periódico • Mientras no lleguemos a la página de carteleras • Pasar la hoja • Fin Mientras • Elegir una película • Si encuentro una película buena entonces elegirla • Sino desistir de la idea. Ir al paso 6. • Leer dirección de la sala y hora de proyección. • Elegir un medio de transporte. • Salir 1 hora antes de la hora de proyección en el medio de transporte elegido. • Fin Departamento de Ciencia de la Computación
Ejercicios • Desarrolle los algoritmos narrativos que resuelvan los siguientes problemas: • Cambiar una bombilla quemada del techo. • Cambiar una llanta pinchada. Departamento de Ciencia de la Computación
Continuación… Ver Diagramas de Flujo - Completo v2.ppt (10-21) Departamento de Ciencia de la Computación