tutorial definición de algoritmo

30
Tutorial Introducción a los Conceptos de Algoritmos Elaborado por: Michele André Universidad Simón Bolívar Marzo 2013

Upload: michele-andre

Post on 25-Jun-2015

808 views

Category:

Technology


2 download

TRANSCRIPT

Page 1: Tutorial Definición de algoritmo

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

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

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

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

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

Page 6

Algoritmos

Conjunto de instrucciones para resolver un problema

Concepto de Algorítmico

Page 7: Tutorial Definición de algoritmo

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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