Download Algoritmos - biblioteca-uvg-2011

Document related concepts

Ciencias de la computación wikipedia , lookup

Algoritmo wikipedia , lookup

Algoritmo de Dinic wikipedia , lookup

Ciencia computacional teórica wikipedia , lookup

Algoritmo del vecino más próximo wikipedia , lookup

Transcript
Algoritmos
1
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.
2
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.
3
Departamento de Ciencia de la Computación
Algoritmos - Concepto
Método para resolver un problema mediante
una serie de pasos precisos, definidos y
finitos.
4

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



Debe tener un fin o terminación
Debe dar alguna indicación de haber
logrado el objetivo o no.

5
Siempre se sabe que acción tomar
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)
6
Departamento de Ciencia de la Computación
Algoritmos - Métodos
Los métodos usuales
algoritmos son:
para

Narrativa (Lenguaje español)

Diagramas: De Flujo, UML, etc.
representar
• Ver Diagramas de Flujo - Completo v2.ppt (1-9)

7
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.
8
Departamento de Ciencia de la Computación
Diagrama de flujo
Problema:
Sumar 3 números enteros.

Inicio
Num1
Num2
Res  Num1 + Num2
Solución algorítmica:
Num3
Res  Res + Num3
Res
Fin
9
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
10
Departamento de Ciencia de la Computación

11
¿¿¿ Dudas, Preguntas, Cansancio ???
Departamento de Ciencia de la Computación
Narrativa - Preparar una taza de Té













12
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
13
Departamento de Ciencia de la Computación
14
Departamento de Ciencia de la Computación
Ejemplo - Narrativa
Ver una película en el cine
15
Departamento de Ciencia de la Computación
1a. Versión

Solución algorítmica:
1.
2.
3.
4.
16
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

17
Ej: Ir al paso X.
Departamento de Ciencia de la Computación
2a. Versión (1/2)
1.
Ver la cartelera de cines
1.
Si no proyectan la película entonces
1. Ir al paso 6
2.
2.
Sino Ir al cine
Comprar una entrada
1.
Si hay cola entonces
1. Formarse en la cola
2. 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
18
Departamento de Ciencia de la Computación
2a. Versión (2/2)
3.
Pasar a la sala
1.
2.
3.
Localizar la(s) butaca(s)
Apagar el celular
Mientras proyectan la película
1. Ver la película
4.
4.
5.
6.
19
Fin Mientras
Abandonar el Cine
Volver a casa
Fin
Departamento de Ciencia de la Computación
3a. Versión Paso1
1.
Ver cartelera de cines
1.
2.
Tomar el periódico
Mientras no lleguemos a la página de carteleras
1.
3.
2.
2.
4.
5.
6.
20
Fin Mientras
Elegir una película
1.
3.
Pasar la hoja
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
21
Departamento de Ciencia de la Computación
Ejercicios

22
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ón
Continuación…
Ver Diagramas de Flujo - Completo
v2.ppt (10-21)
23
Departamento de Ciencia de la Computación