Download - Tutorial Definición de algoritmo
![Page 1: Tutorial Definición de algoritmo](https://reader036.vdocuments.net/reader036/viewer/2022062419/558bc7e2d8b42a1d2c8b45f6/html5/thumbnails/1.jpg)
Tutorial Introducción a los Conceptos de Algoritmos
Elaborado por: Michele AndréUniversidad Simón BolívarMarzo 2013
![Page 2: Tutorial Definición de algoritmo](https://reader036.vdocuments.net/reader036/viewer/2022062419/558bc7e2d8b42a1d2c8b45f6/html5/thumbnails/2.jpg)
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: Tutorial Definición de algoritmo](https://reader036.vdocuments.net/reader036/viewer/2022062419/558bc7e2d8b42a1d2c8b45f6/html5/thumbnails/3.jpg)
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: Tutorial Definición de algoritmo](https://reader036.vdocuments.net/reader036/viewer/2022062419/558bc7e2d8b42a1d2c8b45f6/html5/thumbnails/4.jpg)
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: Tutorial Definición de algoritmo](https://reader036.vdocuments.net/reader036/viewer/2022062419/558bc7e2d8b42a1d2c8b45f6/html5/thumbnails/5.jpg)
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: Tutorial Definición de algoritmo](https://reader036.vdocuments.net/reader036/viewer/2022062419/558bc7e2d8b42a1d2c8b45f6/html5/thumbnails/6.jpg)
Page 6
Algoritmos
Conjunto de instrucciones para resolver un problema
Concepto de Algorítmico
![Page 7: Tutorial Definición de algoritmo](https://reader036.vdocuments.net/reader036/viewer/2022062419/558bc7e2d8b42a1d2c8b45f6/html5/thumbnails/7.jpg)
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: Tutorial Definición de algoritmo](https://reader036.vdocuments.net/reader036/viewer/2022062419/558bc7e2d8b42a1d2c8b45f6/html5/thumbnails/8.jpg)
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: Tutorial Definición de algoritmo](https://reader036.vdocuments.net/reader036/viewer/2022062419/558bc7e2d8b42a1d2c8b45f6/html5/thumbnails/9.jpg)
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: Tutorial Definición de algoritmo](https://reader036.vdocuments.net/reader036/viewer/2022062419/558bc7e2d8b42a1d2c8b45f6/html5/thumbnails/10.jpg)
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: Tutorial Definición de algoritmo](https://reader036.vdocuments.net/reader036/viewer/2022062419/558bc7e2d8b42a1d2c8b45f6/html5/thumbnails/11.jpg)
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: Tutorial Definición de algoritmo](https://reader036.vdocuments.net/reader036/viewer/2022062419/558bc7e2d8b42a1d2c8b45f6/html5/thumbnails/12.jpg)
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: Tutorial Definición de algoritmo](https://reader036.vdocuments.net/reader036/viewer/2022062419/558bc7e2d8b42a1d2c8b45f6/html5/thumbnails/13.jpg)
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: Tutorial Definición de algoritmo](https://reader036.vdocuments.net/reader036/viewer/2022062419/558bc7e2d8b42a1d2c8b45f6/html5/thumbnails/14.jpg)
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: Tutorial Definición de algoritmo](https://reader036.vdocuments.net/reader036/viewer/2022062419/558bc7e2d8b42a1d2c8b45f6/html5/thumbnails/15.jpg)
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: Tutorial Definición de algoritmo](https://reader036.vdocuments.net/reader036/viewer/2022062419/558bc7e2d8b42a1d2c8b45f6/html5/thumbnails/16.jpg)
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: Tutorial Definición de algoritmo](https://reader036.vdocuments.net/reader036/viewer/2022062419/558bc7e2d8b42a1d2c8b45f6/html5/thumbnails/17.jpg)
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: Tutorial Definición de algoritmo](https://reader036.vdocuments.net/reader036/viewer/2022062419/558bc7e2d8b42a1d2c8b45f6/html5/thumbnails/18.jpg)
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: Tutorial Definición de algoritmo](https://reader036.vdocuments.net/reader036/viewer/2022062419/558bc7e2d8b42a1d2c8b45f6/html5/thumbnails/19.jpg)
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: Tutorial Definición de algoritmo](https://reader036.vdocuments.net/reader036/viewer/2022062419/558bc7e2d8b42a1d2c8b45f6/html5/thumbnails/20.jpg)
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: Tutorial Definición de algoritmo](https://reader036.vdocuments.net/reader036/viewer/2022062419/558bc7e2d8b42a1d2c8b45f6/html5/thumbnails/21.jpg)
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: Tutorial Definición de algoritmo](https://reader036.vdocuments.net/reader036/viewer/2022062419/558bc7e2d8b42a1d2c8b45f6/html5/thumbnails/22.jpg)
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: Tutorial Definición de algoritmo](https://reader036.vdocuments.net/reader036/viewer/2022062419/558bc7e2d8b42a1d2c8b45f6/html5/thumbnails/23.jpg)
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: Tutorial Definición de algoritmo](https://reader036.vdocuments.net/reader036/viewer/2022062419/558bc7e2d8b42a1d2c8b45f6/html5/thumbnails/24.jpg)
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: Tutorial Definición de algoritmo](https://reader036.vdocuments.net/reader036/viewer/2022062419/558bc7e2d8b42a1d2c8b45f6/html5/thumbnails/25.jpg)
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: Tutorial Definición de algoritmo](https://reader036.vdocuments.net/reader036/viewer/2022062419/558bc7e2d8b42a1d2c8b45f6/html5/thumbnails/26.jpg)
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: Tutorial Definición de algoritmo](https://reader036.vdocuments.net/reader036/viewer/2022062419/558bc7e2d8b42a1d2c8b45f6/html5/thumbnails/27.jpg)
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: Tutorial Definición de algoritmo](https://reader036.vdocuments.net/reader036/viewer/2022062419/558bc7e2d8b42a1d2c8b45f6/html5/thumbnails/28.jpg)
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: Tutorial Definición de algoritmo](https://reader036.vdocuments.net/reader036/viewer/2022062419/558bc7e2d8b42a1d2c8b45f6/html5/thumbnails/29.jpg)
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: Tutorial Definición de algoritmo](https://reader036.vdocuments.net/reader036/viewer/2022062419/558bc7e2d8b42a1d2c8b45f6/html5/thumbnails/30.jpg)
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