You are on page 1of 43

Tutorial

Introduccin a los Conceptos


de Algoritmos
Elaborado por: Michele Andr
Universidad Simn Bolvar
Marzo 2013
Page 2
Al finalizar este tutorial podr:
Establecer la definicin y caractersticas de un algoritmo
para la solucin de problemas usando el computador.
Describir los elementos que conforman un algoritmo.
Discutir una metodologa para la solucin de problemas
usando el computador.
Objetivo del Tutorial
Page 3
1. Por la va 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 kilmetro hasta llegar a
casa.
5. Desde Los Caracas es aproximadamente una hora.
Direccin de Luis
Concepto de Algortmico
Ejemplo 1:
Page 4
1. El objetivo es rellenar una cuadrcula de 99
celdas dividida en bloques de 33 con las cifras
del 1 al 9 partiendo de algunos nmeros 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 cuadrcula de
modo que: cada fila, cada columna y cada
bloque de 3x3 contenga los nmeros del 1 al 9.
Jugar SUDOKU
Concepto de Algortmico
Ejemplo 2:
Page 5
Estos ejemplos, al igual que las instrucciones para
usar el cajero automtico
instalar un programa de computador
cambiar un neumtico
son
Concepto de Algortmico
Page 6
Algoritmos

Conjunto de instrucciones para resolver un problema
Concepto de Algortmico
Page 7
Los algoritmos son importantes para las computadoras porque stas
son mquinas de propsito general para resolver problemas.
Para que la computadora sea til se le debe dar las instrucciones y la
tcnica 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 solucin 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
Definicin 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
Definicin de Algoritmo
Caractersticas 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 coleccin 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 instruccin incorrecta o no
tener certeza sobre cul es la prxima instruccin que debe ejecutarse.
Caractersticas de los Algoritmos
Page 11
El algoritmo debe ser ordenado
Un algoritmo es una coleccin 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 instruccin incorrecta o no
tener certeza sobre cul es la prxima instruccin que debe ejecutarse.
Caractersticas 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 coleccin 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 instruccin incorrecta o no
tener certeza sobre cul es la prxima instruccin que debe ejecutarse.
Caractersticas 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 ejecucin de la
siguiente instruccin. La instruccin repetir no indica cual es la prxima
instruccin o instrucciones a ejecutar, ni cuantas veces repetir.
Page 13
El algoritmo debe tener operaciones no ambiguas
Cada operacin o instruccin debe ser lo suficientemente clara
que no requiera ser simplificada.
Caractersticas de los Algoritmos - 1
Page 14
El algoritmo debe tener operaciones no ambiguas
Cada operacin o instruccin debe ser lo suficientemente clara
que no requiera ser simplificada.
Caractersticas de los Algoritmos - 1
Ejemplo:
Dada una lista de nmeros, una persona puede ordenarlas de menor a
mayor con una simple instruccin "Ordene los nmeros de menor a
mayor".
Un computador para esto requiere de ms detalles, se le debe indicar, cmo
encontrar el nmero ms pequeo, como comparar los nmeros entre s,
etc.
La instruccin "Ordene estos nmeros" es ambigua para el computador
porque no tiene las instrucciones para ordenar.
El computador slo 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 nmero finito de operaciones y
debe completar su ejecucin en un tiempo finito.
Caractersticas de los Algoritmos - 2
Page 16
Un algoritmo debe ser finito
Caractersticas de los Algoritmos - 2
Ejemplo:
Suponga un algoritmo para imprimir todos los nmeros enteros mayores que 1.
Los pasos seran:
Escribir el nmero 2
Escribir el nmero 3
Escribir el nmero 4
..
y as sucesivamente.
Analice el algoritmo
Page 17
Un algoritmo debe ser finito
Caractersticas de los Algoritmos - 2
Ejemplo:
Suponga un algoritmo para imprimir todos los nmeros enteros mayores que 1.
Los pasos seran:
Escribir el nmero 2
Escribir el nmero 3
Escribir el nmero 4
..
y as sucesivamente.
El algoritmo parece bastante claro, pero tiene dos problemas.
1. Tiene un nmero infinito de pasos porque existe un nmero infinito de
nmeros enteros mayores que uno (1).
2. Se va a ejecutar infinitamente tratando de llegar al nmero infinito.
Page 18
Un algoritmo debe ser finito
Caractersticas de los Algoritmos - 2
Ejemplo:
Suponga un algoritmo para imprimir todos los nmeros enteros mayores que 1.
Los pasos seran:
Escribir el nmero 2
Escribir el nmero 3
Escribir el nmero 4
..
y as sucesivamente.
Todo algoritmo debe tener alguna operacin que le indica que debe
detenerse.
En el ejemplo podra ser imprimir los primeros cien nmeros.
Page 19
Un algoritmo produce un resultado:
El algoritmo produce como resultado:
La solucin del problema.
o
Un mensaje que indique que no se puede obtener la solucin.
Caractersticas de los Algortmicos - 3
Page 20
Los elementos que conforman un algoritmo son:
Entrada: Datos iniciales que posee un algoritmo antes de ejecutarse.
Puede tener cero o ms datos de entrada.
Proceso: Acciones que lleva a cabo el algoritmo
Salida: El resultado que se obtiene de la ejecucin del algoritmo. La
solucin 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 ms datos de entrada.
Proceso: Acciones que lleva a cabo el algoritmo
Salida: El resultado que se obtiene de la ejecucin del algoritmo. La
solucin del problema.
Elementos de un Algoritmo

Datos de
Entrada


Datos de
Salida


Algoritmo


Procesos/
Acciones

Page 22
Los pasos para resolver un problema son:
Anlisis del
Problema
Diseo del
Algoritmo
Verificacin del
Algoritmo
Metodologa para Construir un Algoritmo
Page 23
Los pasos para resolver un problema son:
Anlisis del
Problema
Diseo del
Algoritmo
Verificacin del
Algoritmo
Metodologa para Construir un Algoritmo
1. Se determina la informacin que se
debe producir como salida.
2. Se identifica la informacin
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 solucin
5. Se Identifica el problema.
Page 24
Los pasos para resolver un problema son:
Anlisis del
Problema
Diseo del
Algoritmo
Verificacin del
Algoritmo
Metodologa para Construir un Algoritmo
1. Se busca la manera ms fcil
para simplificar la propuesta.
2. Se identifican los procesos
ms importantes y se colocan
en orden segn su importancia
y precedencia, esto sirve como
un algoritmo inicial.
3. El algoritmo inicial se va
refinando sucesivamente hasta
obtener una solucin ms
detallada y fcil de traducir a
un lenguaje de programacin.
Page 25
Los pasos para resolver un problema son:
Anlisis del
Problema
Diseo del
Algoritmo
Verificacin del
Algoritmo
Metodologa para Construir un Algoritmo
1. Se verifica que el algoritmo
cumple con los procesos
diseados y produce el
resultado esperado.
2. Se realiza una prueba del
algoritmo mediante su ejecucin
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 nmeros enteros distintos
.
Ejemplo de Construccin de un Algoritmo
Fase de Anlisis.
Se establecen:
Datos de Entrada: Num1, Num2, Num3

Salida: MXIMO representa el mayor entre los tres nmeros
Proceso: Representa la operacin o conjunto de operaciones cuyo objetivo
es obtener la solucin al problema.
La operacin en este caso es:
Comparar los tres nmeros entre ellos para determinar el mayor.

Page 27
Ejemplo de Construccin de un Algoritmo
Fase de Diseo.
Algoritmo para determinar el mayor de tres nmeros enteros distintos
Algoritmo Primera Versin
1. Comparar el primero y el segundo nmero y deducir cul es el mayor
2. Comparar el mayor anterior con el tercer nmero y deducir cul es el mayor
3. Este ser el resultado
Page 28
Ejemplo de Construccin de un Algoritmo
Fase de Diseo.
Algoritmo para determinar el mayor de tres nmeros enteros distintos
Algoritmo Primera Versin
1. Comparar el primero y el segundo nmero y deducir cul es el mayor
2. Comparar el mayor anterior con el tercer nmero y deducir cul es el mayor
3. Este ser el resultado
Los pasos anteriores se pueden descomponer en otros pasos ms simples.
Es lo que se denomina refinamiento del algoritmo
Page 29
Ejemplo de Construccin de un Algoritmo
Fase de Diseo.
Algoritmo para determinar el mayor de tres nmeros enteros distintos
Algoritmo Primera Versin
1. Comparar el primero y el segundo nmero y deducir cul es el mayor
2. Comparar el mayor anterior con el tercer nmero y deducir cul es el mayor
3. Este ser el resultado
Algoritmo Versin Refinada.
Obtener el primer nmero (entrada), denominado NUM1
Obtener el segundo nmero (entrada), denominado NUM2
Comparar NUM1 con NUM2 y seleccionar el mayor. Llamar a este nmero
MAXIMO
Obtener el tercer nmero (entrada), denominado NUM3
Comparar MAXIMO con NUM3 y seleccionar el mayor. Denominar a este
nmero MAXIMO
Mostrar en la pantalla el valor MAXIMO

Page 30
Usted debe ser capaz de:
Establecer la definicin y caractersticas de un algoritmo
para la solucin de problemas usando el computador.
Describir los elementos que conforman un algoritmo.
Discutir una metodologa para la solucin de problemas
usando el computador.
En Resumen: con respecto a Algoritmos
Page 31
Enfoques Top Down
y
Bottom Up
Page 32
Page 33
Page 34
Page 35
Page 36
Page 37
Page 38
Page 39
Page 40
Page 41
Page 42
Page 43

You might also like