ALGORITMOS 1ALGORITMOS - UASF. TORRE DE HANOI . html . html 2ALGORITMOS.

37
ALGORITMOS 1 ALGORITMOS - UASF

Transcript of ALGORITMOS 1ALGORITMOS - UASF. TORRE DE HANOI . html . html 2ALGORITMOS.

Page 1: ALGORITMOS 1ALGORITMOS - UASF. TORRE DE HANOI . html . html 2ALGORITMOS.

ALGORITMOS

1ALGORITMOS - UASF

Page 2: ALGORITMOS 1ALGORITMOS - UASF. TORRE DE HANOI . html . html 2ALGORITMOS.

TORRE DE HANOI

• http://www.amolasmates.es/juegos/juegos3.html

2ALGORITMOS - UASF

Gran Templo de Benares 64 discos de oroPasar uno por unoConsiderando el porte

brahmanes se convertirán en polvo, y con un trueno el mundo se desvanecerá

Page 3: ALGORITMOS 1ALGORITMOS - UASF. TORRE DE HANOI . html . html 2ALGORITMOS.

CUBO DE RUBIK

http://www.rubikaz.com/resolucion.php

http://www.rubikaz.com/index.php

3ALGORITMOS - UASF

Page 4: ALGORITMOS 1ALGORITMOS - UASF. TORRE DE HANOI . html . html 2ALGORITMOS.

Cambiar la llanta pinchada usando una gata

ALGORITMOS - UASF 4

Page 5: ALGORITMOS 1ALGORITMOS - UASF. TORRE DE HANOI . html . html 2ALGORITMOS.

DEFINICION: ALGORITMO

En otras palabras, un algoritmo es un método para la solución de problemas.

ALGORITMOS - UASF 5

conjunto finito de

instrucciones

que especifican una secuencia de operaciones

a realizar en orden para resolver un

problema específico.

Page 6: ALGORITMOS 1ALGORITMOS - UASF. TORRE DE HANOI . html . html 2ALGORITMOS.

PROPIEDADES DE UN ALGORITMO

SecuencialidadAusencia de AmbigüedadesGeneralidadLimitaciones

Page 7: ALGORITMOS 1ALGORITMOS - UASF. TORRE DE HANOI . html . html 2ALGORITMOS.

SECUENCIALIDAD• Un algoritmo debe tener una

instrucción inicial única y un sucesor único en cada secuencia.

• Las entradas son las partidas de datos presentadas al algoritmo.

• Las salidas son partidas de datos procesados que son el resultado de la ejecución un programa basado en el algoritmo.

un conjunto de elementos encadenado

Page 8: ALGORITMOS 1ALGORITMOS - UASF. TORRE DE HANOI . html . html 2ALGORITMOS.

AUSENCIA DE AMBIGÜEDAD• En algoritmo debe ser defino,

claro, preciso y no ambiguo. La representación de cada paso de un algoritmo debe dar lugar a una sola interpretación posible.

• Esta condición significa que cada vez que se presente para su ejecución un algoritmo con los mismos datos de entrada, se obtendrán los mismos resultados.

Page 9: ALGORITMOS 1ALGORITMOS - UASF. TORRE DE HANOI . html . html 2ALGORITMOS.

GENERALIDAD• Un algoritmo se puede

realizar para varios problemas que se relacionan entre sí.

• Un algoritmo se aplica a un problema o clase de problemas específicos; el rango de las entradas o dominios se tiene que definir previamente, ya que está determinado el alcance o la generalidad del algoritmo.

Page 10: ALGORITMOS 1ALGORITMOS - UASF. TORRE DE HANOI . html . html 2ALGORITMOS.

LIMITACIÓN• Un algoritmo es finito en

tamaño y tiempo.• La ejecución de un

algoritmo programado debe finalizar después de que se haya llevado a cabo una cantidad finita de operaciones.

Page 11: ALGORITMOS 1ALGORITMOS - UASF. TORRE DE HANOI . html . html 2ALGORITMOS.

Ejercicio: El ejemplo de cambiar una bombilla (foco) fundida ordena

o Ubicar una escalera debajo de la bombilla fundidao Subir por la escalerao Enroscar la bombilla nueva en el plafón hasta

apretarlao Girar la bombilla fundida hacia la izquierda hasta

soltarlao Bajar de la escalerao Fino Tomar una bombilla nueva

11ALGORITMOS - UASF

Page 12: ALGORITMOS 1ALGORITMOS - UASF. TORRE DE HANOI . html . html 2ALGORITMOS.

Ejercicio

• Por ejemplo, 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.

12ALGORITMOS - UASF

Page 13: ALGORITMOS 1ALGORITMOS - UASF. TORRE DE HANOI . html . html 2ALGORITMOS.

un algoritmo consta de tres partes

ALGORITMOS - UASF 13

El módulo 1.- representa la operación o acción que permite el ingreso de los datos del programa

El módulo 2.- representa la operación o conjunto de operaciones secuenciales, cuyo objetivo es obtener la solución al problema.

El módulo 3.- representa una operación o conjunto de operaciones que permiten comunicar al exterior el o los resultados alcanzados.

Page 14: ALGORITMOS 1ALGORITMOS - UASF. TORRE DE HANOI . html . html 2ALGORITMOS.

IWI-131 - Tema 1 Algoritmos

Construcción de un algoritmo

1. Definir el problema a resolver2. Identificar las entradas del algoritmo3. Identificar la salida del algoritmo4. Definir los pasos a seguir para convertir las

entradas en la salida5. Seguir los pasos y comprobar que el algoritmo sea

correcto analizando la salida.6. Revisar los pasos y hacer las correcciones.7. Resolver el problema.

Page 15: ALGORITMOS 1ALGORITMOS - UASF. TORRE DE HANOI . html . html 2ALGORITMOS.

IWI-131 - Tema 1 Algoritmos

Construcción de un algoritmo

• Ejemplo:– Objetivo: Calcular el precio de una manzana – Entradas

• Precio (en pesos) del kilo de manzanas [K]• Peso (en gramos) promedio de una manzana[P]

– Salida• Precio (en pesos) de una manzana [M]

Page 16: ALGORITMOS 1ALGORITMOS - UASF. TORRE DE HANOI . html . html 2ALGORITMOS.

IWI-131 - Tema 1 Algoritmos

Construcción de un algoritmo

InicioIngresar valor de K y P

Calcular G = K/100

Calcular M = G x P

Devolver el valor de M

Fin.

Page 17: ALGORITMOS 1ALGORITMOS - UASF. TORRE DE HANOI . html . html 2ALGORITMOS.

IWI-131 - Tema 1 Algoritmos

Utilización de variables

• Durante la ejecución del algoritmo, es importante recordar los resultados parciales de cada paso.

• Estos resultados se etiquetan con un nombre.• Al invocar con posterioridad ese nombre,

recuperamos el resultados parcial.

Page 18: ALGORITMOS 1ALGORITMOS - UASF. TORRE DE HANOI . html . html 2ALGORITMOS.

IWI-131 - Tema 1 Algoritmos

Utilización de variables

G=K/1000

Esta variable se denomina G y se utiliza para recordar el valor de un gramo de manzana.

K es un dato de entrada, y tambiénSe considera una variable

Page 19: ALGORITMOS 1ALGORITMOS - UASF. TORRE DE HANOI . html . html 2ALGORITMOS.

IWI-131 - Tema 1 Algoritmos

Utilización de variables

• La principal característica de una variable es que su valor puede cambiar en el tiempo.

• Usualmente se compara con una caja donde se puede almacenar una sola “cosa”.

• Por lo general, las variables se definen con un tipo de dato.

• El tipo de dato restringe que tipo de “cosas” se pueden guardar en las “cajas”.

Page 20: ALGORITMOS 1ALGORITMOS - UASF. TORRE DE HANOI . html . html 2ALGORITMOS.

IWI-131 - Tema 1 Algoritmos

Utilización de constantes

• Además de las variables, un algoritmo requiere de constantes.

• A diferencia de las variables, su valor no puede cambiar en el tiempo.

• Las constantes también pueden recibir nombres para mayor claridad.– Ej.: PI = 3.1415

Page 21: ALGORITMOS 1ALGORITMOS - UASF. TORRE DE HANOI . html . html 2ALGORITMOS.

IWI-131 - Tema 1 Algoritmos

Utilización de constantes

G=K/1000

La constante “1000” sirva para transformar el valor Por kilo a un valor por gramo

Page 22: ALGORITMOS 1ALGORITMOS - UASF. TORRE DE HANOI . html . html 2ALGORITMOS.

IWI-131 - Tema 1 Algoritmos

Aplicación de operadores

• Para obtener resultados, generalmente es necesario “transformar” las entradas en la salida.

• Para esto se aplican operadores de distinta índole– Aritméticos ( + , - , * , / )– Lógicos (igual que, mayor que, menor que, y, o, no)– Etc.

• Los operadores requieren de operandos y entregan un resultado.

• Por lo general, los operadores son unarios o binarios.

Page 23: ALGORITMOS 1ALGORITMOS - UASF. TORRE DE HANOI . html . html 2ALGORITMOS.

IWI-131 - Tema 1 Algoritmos

Aplicación de operadores

M=G * P

operandos

operador

Page 24: ALGORITMOS 1ALGORITMOS - UASF. TORRE DE HANOI . html . html 2ALGORITMOS.

IWI-131 - Tema 1 Algoritmos

Asignación de valores

M=G * P

Operador de asignación

El resultado de GxP se asigna a la variable M

Page 25: ALGORITMOS 1ALGORITMOS - UASF. TORRE DE HANOI . html . html 2ALGORITMOS.

TIPOS DE ALGORITMOS

CUALITATIVOSon aquellos en los que se

describen los pasos utilizandopalabras.

CUANTITATIVO Son aquellos en los que seutilizan cálculos numéricos

para definir los pasos del proceso.

25ALGORITMOS - UASF

Técnica de Vuelta Atrás o repeticionSe contempla como un método de prueba o búsqueda, que gradualmente construye, de forma sistemática, tareas básicas y las inspecciona para determinar si conducen a la solución del problema.Si una tarea no conduce a la solución, prueba con otra tarea básica hasta que se encuentre una solución o se hayan agotado todas las posibilidades.

Page 26: ALGORITMOS 1ALGORITMOS - UASF. TORRE DE HANOI . html . html 2ALGORITMOS.

MEDIOS DE EXPRESIÓN DE UN ALGORITMO Lenguaje natural

El término lenguaje natural se refiere al estudio de las propiedades computacionales y de otro tipo implicadas en la comprensión, producción y uso de las lenguas naturales.Los algoritmos de este tipo son similares a las recetas de cocina (para preparar comidas, bebidas, etc) o a los manuales de instrucción para manejo de una maquina (ejm. un corta pasto) o un equipo (ejm. una lavadora o el microondas).

26ALGORITMOS - UASF

Page 27: ALGORITMOS 1ALGORITMOS - UASF. TORRE DE HANOI . html . html 2ALGORITMOS.

Ejemplos

Seguimos una secuencia de pasos( algoritmo) para ir a la oficina

Seguimos una secuencia de pasos(algoritmo) para ir a clases en la universidad.

Seguimos una secuencia de pasos para cambiar la llanta pinchada de un auto.

ALGORITMOS - UASF 27

Page 28: ALGORITMOS 1ALGORITMOS - UASF. TORRE DE HANOI . html . html 2ALGORITMOS.

ALGORITMOS - UASF 28

Page 29: ALGORITMOS 1ALGORITMOS - UASF. TORRE DE HANOI . html . html 2ALGORITMOS.

PseudocódigoUn pseudocódigo (falso lenguaje), es una serie de normas léxicas y gramaticales parecidas a la mayoría de los lenguajes de programación, pero sin llegar a la rigidez de sintaxis de estos ni a la fluidez del lenguaje coloquial. Pseudocódigo es la descripción de un algoritmo que asemeja a un lenguaje de programación pero con algunas convenciones del lenguaje natural.

29ALGORITMOS - UASF

Page 30: ALGORITMOS 1ALGORITMOS - UASF. TORRE DE HANOI . html . html 2ALGORITMOS.

ALGORITMOS - UASF 30

Page 31: ALGORITMOS 1ALGORITMOS - UASF. TORRE DE HANOI . html . html 2ALGORITMOS.

Dada las horas trabajadas de una persona y el valor por hora. Calcular su salario e imprimirlo.                                                                                                                                       

31ALGORITMOS - UASF

Page 32: ALGORITMOS 1ALGORITMOS - UASF. TORRE DE HANOI . html . html 2ALGORITMOS.

Diagrama de flujo• Son representaciones gráficas de secuencias de

pasos a realizar. Cada operacion se representa mediante un símbolo normalizado el Instituto Norteamericano de Normalizacion (ANSI - American National Standars Institute). Las líneas de flujo indican el orden de ejecución.

• Consiste en una serie de símbolos que denotan acciones, decisiones o procedimientos que se unen mediante flechas y conectores.

32ALGORITMOS - UASF

Page 33: ALGORITMOS 1ALGORITMOS - UASF. TORRE DE HANOI . html . html 2ALGORITMOS.

SIMBOLOGÍA DE LOS DIAGRAMAS DE FLUJO

ALGORITMOS - UASF 33

Page 34: ALGORITMOS 1ALGORITMOS - UASF. TORRE DE HANOI . html . html 2ALGORITMOS.

ALGORITMOS - UASF 34

Tipos de condiciones

Page 35: ALGORITMOS 1ALGORITMOS - UASF. TORRE DE HANOI . html . html 2ALGORITMOS.

Ejemplos

35ALGORITMOS - UASF

Page 36: ALGORITMOS 1ALGORITMOS - UASF. TORRE DE HANOI . html . html 2ALGORITMOS.

ALGORITMOS - UASF 36

Page 37: ALGORITMOS 1ALGORITMOS - UASF. TORRE DE HANOI . html . html 2ALGORITMOS.

37ALGORITMOS - UASF