Post on 23-Jan-2016
ALGORITMOS
1ALGORITMOS - UASF
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á
CUBO DE RUBIK
http://www.rubikaz.com/resolucion.php
http://www.rubikaz.com/index.php
3ALGORITMOS - UASF
Cambiar la llanta pinchada usando una gata
ALGORITMOS - UASF 4
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.
PROPIEDADES DE UN ALGORITMO
SecuencialidadAusencia de AmbigüedadesGeneralidadLimitaciones
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
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.
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.
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.
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
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
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.
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.
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]
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.
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.
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
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”.
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
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
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.
IWI-131 - Tema 1 Algoritmos
Aplicación de operadores
M=G * P
operandos
operador
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
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.
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
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
ALGORITMOS - UASF 28
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
ALGORITMOS - UASF 30
Dada las horas trabajadas de una persona y el valor por hora. Calcular su salario e imprimirlo.
31ALGORITMOS - UASF
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
SIMBOLOGÍA DE LOS DIAGRAMAS DE FLUJO
ALGORITMOS - UASF 33
ALGORITMOS - UASF 34
Tipos de condiciones
Ejemplos
35ALGORITMOS - UASF
ALGORITMOS - UASF 36
37ALGORITMOS - UASF