Upload
michele-andre
View
809
Download
2
Embed Size (px)
Citation preview
Tutorial Introducción a los Conceptos de Algoritmos
Elaborado por: Michele AndréUniversidad Simón BolívarMarzo 2013
Page 2
Al finalizar este tutorial podrá:
Establecer la definición y características de un algoritmo para la solución de problemas usando el computador.
Describir los elementos que conforman un algoritmo.
Discutir una metodología para la solución de problemas usando el computador.
Objetivo del Tutorial
Page 3
1. Por la vía de los Caracas tomar la carretera de La Costa que está pavimentada en un 99%.
2. Pasar los pueblos de Osma, Oritapo y Todasana. 3. Antes de llegar al pueblo de Caruao cruzar a mano
derecha al ver un cartel que indica “La Troja.4. Recorrer alrededor de un kilómetro hasta llegar a
casa. 5. Desde Los Caracas es aproximadamente una hora.
Dirección de Luis
Concepto de Algorítmico
Ejemplo 1:
Page 4
1. El objetivo es rellenar una cuadrícula de 9×9 celdas dividida en bloques de 3×3 con las cifras del 1 al 9 partiendo de algunos números ya dispuestos en algunas de las celdas.
2. No se debe repetir ninguna cifra en una misma fila, columna o bloque.
3. Resumiendo, hay que rellenar la cuadrícula de modo que: cada fila, cada columna y cada bloque de 3x3 contenga los números del 1 al 9.
Jugar SUDOKU
Concepto de Algorítmico
Ejemplo 2:
Page 5
Estos ejemplos, al igual que las instrucciones para
usar el cajero automático
instalar un programa de computador
cambiar un neumático
son
Concepto de Algorítmico
Page 6
Algoritmos
Conjunto de instrucciones para resolver un problema
Concepto de Algorítmico
Page 7
Los algoritmos son importantes para las computadoras porque éstas son máquinas de propósito general para resolver problemas.
Para que la computadora sea útil se le debe dar las instrucciones y la técnica para resolver el problema.
Estas instrucciones comprenden los datos de entrada y el proceso o los pasos a seguir para obtener los datos de salida que corresponde a la solución del problema.
Concepto de Algoritmo - 1
Page 8
Algoritmos de Computadoras
Un algoritmo es una secuencia ordenada de operaciones que cuando se ejecutan producen un resultado en un tiempo finito
Definición de Algoritmo
Page 9
Algoritmos de Computadoras
Un algoritmo es una secuencia ordenada de operaciones que cuando se ejecutan producen un resultado en un tiempo finito
Definición de Algoritmo
Características que debe cumplir un algoritmo:
Debe ser ordenado. Debe tener operaciones que no son ambiguas. Detenerse en un tiempo finito. Producir un resultado.
Page 10
El algoritmo debe ser ordenado
Un algoritmo es una colección de operaciones o instrucciones, y debe saberse exactamente el orden en el cual deben ejecutarse.
Si el orden no está claro se puede ejecutar la instrucción incorrecta o no tener certeza sobre cuál es la próxima instrucción que debe ejecutarse.
Características de los Algoritmos
Page 11
El algoritmo debe ser ordenado
Un algoritmo es una colección de operaciones o instrucciones, y debe saberse exactamente el orden en el cual deben ejecutarse.
Si el orden no está claro se puede ejecutar la instrucción incorrecta o no tener certeza sobre cuál es la próxima instrucción que debe ejecutarse.
Características de los Algoritmos
Ejemplo:
Analice las siguientes instrucciones para lavar el cabello:
1. Mojar el cabello 2. Echar champú 3. Hacer espuma 4. Enjuagar 5. Repetir
Page 12
El algoritmo debe ser ordenado
Un algoritmo es una colección de operaciones o instrucciones, y debe saberse exactamente el orden en el cual deben ejecutarse.
Si el orden no está claro se puede ejecutar la instrucción incorrecta o no tener certeza sobre cuál es la próxima instrucción que debe ejecutarse.
Características de los Algoritmos
Ejemplo:
Analice las siguientes instrucciones para lavar el cabello:
1. Mojar el cabello 2. Echar champú 3. Hacer espuma 4. Enjuagar 5. Repetir
En el paso 5 no se establece claramente el orden de ejecución de la siguiente instrucción. La instrucción repetir no indica cual es la próxima instrucción o instrucciones a ejecutar, ni cuantas veces repetir.
Page 13
El algoritmo debe tener operaciones no ambiguas
Cada operación o instrucción debe ser lo suficientemente clara que no requiera ser simplificada.
Características de los Algoritmos - 1
Page 14
El algoritmo debe tener operaciones no ambiguas
Cada operación o instrucción debe ser lo suficientemente clara que no requiera ser simplificada.
Características de los Algoritmos - 1
Ejemplo:
Dada una lista de números, una persona puede ordenarlas de menor a mayor con una simple instrucción "Ordene los números de menor a mayor".
Un computador para esto requiere de más detalles, se le debe indicar, cómo encontrar el número más pequeño, como comparar los números entre sí, etc.
La instrucción "Ordene estos números" es ambigua para el computador porque no tiene las instrucciones para ordenar.
El computador sólo posee un conjunto de instrucciones conocidas como primitivas que son las que comprende y que puede ejecutar.
Page 15
Un algoritmo debe ser finito
Un algoritmo debe estar compuesto por un número finito de operaciones y debe completar su ejecución en un tiempo finito.
Características de los Algoritmos - 2
Page 16
Un algoritmo debe ser finito
Características de los Algoritmos - 2
Ejemplo: Suponga un algoritmo para imprimir todos los números enteros mayores que 1. Los pasos serían:
Escribir el número 2 Escribir el número 3 Escribir el número 4….. y así sucesivamente.
Analice el algoritmo
Page 17
Un algoritmo debe ser finito
Características de los Algoritmos - 2
Ejemplo: Suponga un algoritmo para imprimir todos los números enteros mayores que 1. Los pasos serían:
Escribir el número 2 Escribir el número 3 Escribir el número 4….. y así sucesivamente.
El algoritmo parece bastante claro, pero tiene dos problemas.
1. Tiene un número infinito de pasos porque existe un número infinito de números enteros mayores que uno (1).
2. Se va a ejecutar infinitamente tratando de llegar al número infinito.
Page 18
Un algoritmo debe ser finito
Características de los Algoritmos - 2
Ejemplo: Suponga un algoritmo para imprimir todos los números enteros mayores que 1. Los pasos serían:
Escribir el número 2 Escribir el número 3 Escribir el número 4….. y así sucesivamente.
Todo algoritmo debe tener alguna operación que le indica que debe detenerse.
En el ejemplo podría ser imprimir los primeros cien números.
Page 19
Un algoritmo produce un resultado:
El algoritmo produce como resultado:
La solución del problema.
o
Un mensaje que indique que no se puede obtener la solución.
Características de los Algorítmicos - 3
Page 20
Los elementos que conforman un algoritmo son:
Entrada: Datos iniciales que posee un algoritmo antes de ejecutarse. Puede tener cero o más datos de entrada.
Proceso: Acciones que lleva a cabo el algoritmo
Salida: El resultado que se obtiene de la ejecución del algoritmo. La solución del problema.
Elementos de un Algoritmo
Page 21
Los elementos que conforman un algoritmo son:
Entrada: Datos iniciales que posee un algoritmo antes de ejecutarse. Puede tener cero o más datos de entrada.
Proceso: Acciones que lleva a cabo el algoritmo
Salida: El resultado que se obtiene de la ejecución del algoritmo. La solución del problema.
Elementos de un Algoritmo
Datos de Entrada
Datos de Entrada
Datos de Salida
Datos de Salida
AlgoritmoAlgoritmo
Procesos/ Acciones
Procesos/ Acciones
Page 22
Los pasos para resolver un problema son:
Análisis del Problema
Análisis del Problema
Diseño del Algoritmo
Diseño del Algoritmo
Verificación delAlgoritmo
Verificación delAlgoritmo
Metodología para Construir un Algoritmo
Page 23
Los pasos para resolver un problema son:
Análisis del Problema
Análisis del Problema
Diseño del Algoritmo
Diseño del Algoritmo
Verificación delAlgoritmo
Verificación delAlgoritmo
Metodología para Construir un Algoritmo
1. Se determina la información que se debe producir como salida.
2. Se identifica la información necesaria para resolver el problema.
3. Se establecen los elementos que se tiene y los elementos que se deben solicitar para resolver el problema.
4. Se determina el camino a seguir para obtener la solución
5. Se Identifica el problema.
Page 24
Los pasos para resolver un problema son:
Análisis del Problema
Análisis del Problema
Diseño del Algoritmo
Diseño del Algoritmo
Verificación delAlgoritmo
Verificación delAlgoritmo
Metodología para Construir un Algoritmo
1. Se busca la manera más fácil para simplificar la propuesta.
2. Se identifican los procesos más importantes y se colocan en orden según su importancia y precedencia, esto sirve como un algoritmo inicial.
3. El algoritmo inicial se va refinando sucesivamente hasta obtener una solución más detallada y fácil de traducir a un lenguaje de programación.
Page 25
Los pasos para resolver un problema son:
Análisis del Problema
Análisis del Problema
Diseño del Algoritmo
Diseño del Algoritmo
Verificación delAlgoritmo
Verificación delAlgoritmo
Metodología para Construir un Algoritmo
1. Se verifica que el algoritmo cumple con los procesos diseñados y produce el resultado esperado.
2. Se realiza una prueba del algoritmo mediante su ejecución manual con datos significativos, y se comprueba si se obtienen los resultados esperados para la salida.
Page 26
Ejemplo:
Construir un algoritmo para determinar el mayor de tres números enteros distintos.
Ejemplo de Construcción de un Algoritmo
Fase de Análisis.
Se establecen:
Datos de Entrada: Num1, Num2, Num3
Salida: MÁXIMO representa el mayor entre los tres números
Proceso: Representa la operación o conjunto de operaciones cuyo objetivo es obtener la solución al problema.
La operación en este caso es:
Comparar los tres números entre ellos para determinar el mayor.
Page 27
Ejemplo de Construcción de un Algoritmo
Fase de Diseño.
Algoritmo para determinar el mayor de tres números enteros distintos
Algoritmo Primera Versión
1. Comparar el primero y el segundo número y deducir cuál es el mayor
2. Comparar el mayor anterior con el tercer número y deducir cuál es el mayor
3. Este será el resultado
Page 28
Ejemplo de Construcción de un Algoritmo
Fase de Diseño.
Algoritmo para determinar el mayor de tres números enteros distintos
Algoritmo Primera Versión
1. Comparar el primero y el segundo número y deducir cuál es el mayor
2. Comparar el mayor anterior con el tercer número y deducir cuál es el mayor
3. Este será el resultado
Los pasos anteriores se pueden descomponer en otros pasos más simples.
Es lo que se denomina refinamiento del algoritmo
Page 29
Ejemplo de Construcción de un Algoritmo
Fase de Diseño.
Algoritmo para determinar el mayor de tres números enteros distintos
Algoritmo Primera Versión
1. Comparar el primero y el segundo número y deducir cuál es el mayor
2. Comparar el mayor anterior con el tercer número y deducir cuál es el mayor
3. Este será el resultado
Algoritmo Versión Refinada.• Obtener el primer número (entrada), denominado NUM1• Obtener el segundo número (entrada), denominado NUM2• Comparar NUM1 con NUM2 y seleccionar el mayor. Llamar a este
número MAXIMO• Obtener el tercer número (entrada), denominado NUM3• Comparar MAXIMO con NUM3 y seleccionar el mayor. Denominar a este
número MAXIMO• Mostrar en la pantalla el valor MAXIMO
Page 30
Finalizado el tutorial usted debe ser capaz de:
Establecer la definición y características de un algoritmo para la solución de problemas usando el computador.
Describir los elementos que conforman un algoritmo.
Discutir una metodología para la solución de problemas usando el computador.
Fin del Tutorial