departamento de ciencia de la computación 1 algoritmos
TRANSCRIPT
Departamento de Ciencia de la Computación1
Algoritmos
Departamento de Ciencia de la Computación2
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ón3
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ón4
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ón5
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ón6
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ón7
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ón8
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ón9
Diagrama de flujo
Problema:
Sumar 3 números enteros.
Solución algorítmica:
Inicio
Num1Num2
Res Num1 + Num2
Num3
Res Res + Num3
Res
Fin
Departamento de Ciencia de la Computación10
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 ResFin
Departamento de Ciencia de la Computación11
¿¿¿ Dudas, Preguntas, Cansancio ???
Departamento de Ciencia de la Computación12
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ón13
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.orghttp://www.eduteka.org/AlgoritmosProgramacion.php
Departamento de Ciencia de la Computación14
Departamento de Ciencia de la Computación15
Ejemplo - Narrativa
Ver una pelVer una película en el cineícula en el cine
Departamento de Ciencia de la Computación16
1a. Versión
Solución algorítmica:1. Ir al cine
2. Comprar una entrada
3. Ver la película
4. Regresar a casa
Departamento de Ciencia de la Computación17
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 colaFin Mientras
Avanzar pasos Ej: Ir al paso X.
Departamento de Ciencia de la Computación18
2a. Versión (1/2)
1. Ver la cartelera de cines1. Si no proyectan la película entonces
1. Ir al paso 6
2. Sino Ir al cine
2. Comprar una entrada1. Si hay cola entonces
1. Formarse en la cola2. Mientras haya más personas adelante
1. Avanzar en la cola
3. Fin Mientras
2. Al llegar a la taquilla:1. Si hay entradas entonces comprarla(s)2. Sino @#!!!&* … Ir al paso 4
Departamento de Ciencia de la Computación19
2a. Versión (2/2)
3. Pasar a la sala1. Localizar la(s) butaca(s)
2. Apagar el celular
3. Mientras proyectan la película1. Ver la película
4. Fin Mientras
4. Abandonar el Cine
5. Volver a casa
6. Fin
Departamento de Ciencia de la Computación20
3a. Versión Paso1
1. Ver cartelera de cines1. Tomar el periódico2. Mientras no lleguemos a la página de carteleras
1. Pasar la hoja
3. Fin Mientras2. Elegir una película
1. Si encuentro una película buena entonces elegirla2. Sino desistir de la idea. Ir al paso 6.
3. Leer dirección de la sala y hora de proyección.4. Elegir un medio de transporte.5. Salir 1 hora antes de la hora de proyección en el medio
de transporte elegido.6. Fin
Departamento de Ciencia de la Computación21
Departamento de Ciencia de la Computación22
Ejercicios
Desarrolle los algoritmos narrativos que resuelvan los siguientes problemas:
1. Cambiar una bombilla quemada del techo.
2. Cambiar una llanta pinchada.
Departamento de Ciencia de la Computación23
Continuación…
Ver Diagramas de Flujo - Completo v2.ppt (10-21)