ALGORITMOS ALGORITMOS - UASF
TORRE DE HANOI http://www.amolasmates.es/juegos/juegos3.html Gran Templo de Benares 64 discos de oro Pasar uno por uno Considerando el porte brahmanes se convertirán en polvo, y con un trueno el mundo se desvanecerá http://www.amolasmates.es/juegos/juegos3.html ALGORITMOS - UASF
CUBO DE RUBIK http://www.rubikaz.com/index.php http://www.rubikaz.com/resolucion.php ALGORITMOS - UASF
Cambiar la llanta pinchada usando una gata ALGORITMOS - UASF
DEFINICION: ALGORITMO conjunto finito de instrucciones que especifican una secuencia de operaciones a realizar en orden para resolver un problema específico. En otras palabras, un algoritmo es un método para la solución de problemas. ALGORITMOS - UASF
PROPIEDADES DE UN ALGORITMO Secuencialidad Ausencia de Ambigüedades Generalidad Limitaciones
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 Ubicar una escalera debajo de la bombilla fundida Subir por la escalera Enroscar la bombilla nueva en el plafón hasta apretarla Girar la bombilla fundida hacia la izquierda hasta soltarla Bajar de la escalera Fin Tomar una bombilla nueva ACTIVIDAD Discutir en parejas el ejemplo de la bombilla y proponer algunas mejoras. Luego, un voluntario pasa al tablero y escribe un Algoritmo con participación de toda la clase. ALGORITMOS - 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. ALGORITMOS - UASF
un algoritmo consta de tres partes 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. ALGORITMOS - UASF
Construcción de un algoritmo Definir el problema a resolver Identificar las entradas del algoritmo Identificar la salida del algoritmo Definir los pasos a seguir para convertir las entradas en la salida Seguir los pasos y comprobar que el algoritmo sea correcto analizando la salida. Revisar los pasos y hacer las correcciones. 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 Inicio Ingresar 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 K es un dato de entrada, y también Se considera una variable G=K/1000 Esta variable se denomina G y se utiliza para recordar el valor de un gramo de manzana. 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 operandos M=G * P operador IWI-131 - Tema 1 Algoritmos
Asignación de valores Operador de asignación M=G * P El resultado de GxP se asigna a la variable M IWI-131 - Tema 1 Algoritmos
TIPOS DE ALGORITMOS CUALITATIVO Son aquellos en los que se describen los pasos utilizando palabras. CUANTITATIVO Son aquellos en los que se utilizan cálculos numéricos para definir los pasos del proceso. Técnica de Vuelta Atrás o repeticion Se 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. ALGORITMOS - UASF
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). ALGORITMOS - 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
ALGORITMOS - UASF
Pseudocódigo Un 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. ALGORITMOS - UASF
ALGORITMOS - UASF
Dada las horas trabajadas de una persona y el valor por hora Dada las horas trabajadas de una persona y el valor por hora. Calcular su salario e imprimirlo. ALGORITMOS - 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. ALGORITMOS - UASF
SIMBOLOGÍA DE LOS DIAGRAMAS DE FLUJO ALGORITMOS - UASF
Tipos de condiciones ALGORITMOS - UASF
Ejemplos ALGORITMOS - UASF
ALGORITMOS - UASF
ALGORITMOS - UASF