Departamento de Ciencia de la Computación 1 Algoritmos.

23
Departamento de Ciencia de la Computación 1 Algoritmos

Transcript of Departamento de Ciencia de la Computación 1 Algoritmos.

Page 1: Departamento de Ciencia de la Computación 1 Algoritmos.

Departamento de Ciencia de la Computación1

Algoritmos

Page 2: Departamento de Ciencia de la Computación 1 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.

Page 3: Departamento de Ciencia de la Computación 1 Algoritmos.

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.

Page 4: Departamento de Ciencia de la Computación 1 Algoritmos.

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

Page 5: Departamento de Ciencia de la Computación 1 Algoritmos.

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.

Page 6: Departamento de Ciencia de la Computación 1 Algoritmos.

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)

Page 7: Departamento de Ciencia de la Computación 1 Algoritmos.

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)

Page 8: Departamento de Ciencia de la Computación 1 Algoritmos.

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.

Page 9: Departamento de Ciencia de la Computación 1 Algoritmos.

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

Page 10: Departamento de Ciencia de la Computación 1 Algoritmos.

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

Page 11: Departamento de Ciencia de la Computación 1 Algoritmos.

Departamento de Ciencia de la Computación11

¿¿¿ Dudas, Preguntas, Cansancio ???

Page 12: Departamento de Ciencia de la Computación 1 Algoritmos.

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

Page 13: Departamento de Ciencia de la Computación 1 Algoritmos.

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

Page 14: Departamento de Ciencia de la Computación 1 Algoritmos.

Departamento de Ciencia de la Computación14

Page 15: Departamento de Ciencia de la Computación 1 Algoritmos.

Departamento de Ciencia de la Computación15

Ejemplo - Narrativa

Ver una pelVer una película en el cineícula en el cine

Page 16: Departamento de Ciencia de la Computación 1 Algoritmos.

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

Page 17: Departamento de Ciencia de la Computación 1 Algoritmos.

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.

Page 18: Departamento de Ciencia de la Computación 1 Algoritmos.

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

Page 19: Departamento de Ciencia de la Computación 1 Algoritmos.

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

Page 20: Departamento de Ciencia de la Computación 1 Algoritmos.

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

Page 21: Departamento de Ciencia de la Computación 1 Algoritmos.

Departamento de Ciencia de la Computación21

Page 22: Departamento de Ciencia de la Computación 1 Algoritmos.

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.

Page 23: Departamento de Ciencia de la Computación 1 Algoritmos.

Departamento de Ciencia de la Computación23

Continuación…

Ver Diagramas de Flujo - Completo v2.ppt (10-21)