Documente Academic
Documente Profesional
Documente Cultură
DEFINICION:
Es un 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.
2
PROPIEDADES DE UN
ALGORITMO
Secuencialidad
Ausencia de Ambigüedades
Generalidad
Limitaciones
3
SECUENCIALIDAD
Se debe especificar sin lugar a dudas la
secuencia a utilizar.
Un algoritmo debe tener una instrucción
inicial única y un sucesor único en cada
secuencia.
Las instrucciones son llevadas a cabo de
arriba hacia abajo a menos que las
mismas especifiquen lo contrario.
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. 4
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 u algoritmo con los
mismos datos de entrada, se obtendrán los
mismos resultados.
Las instrucciones de un algoritmo debe ordenar
a la computadora que solo lleve a cabo tareas que
sea capaz de hacer. Una computadora no puede
efectuar una instrucción si tiene información
insuficiente o si el comando no está definido. 5
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.
6
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.
7
DOMINIO DE UN ALGORITMO
La clase o el conjunto de datos y
condiciones para las cuales un algoritmo
trabaja concretamente se llama dominio.
Cuando se trata de resolver cualquier
problema es necesario definir el dominio
del algoritmo y después verificar que
trabaja para todos los casos que se
encuentran dentro del dominio.
Es necesario incluir en el dominio todas
las situaciones similares, pero los casos
remotos o poco probables se permiten 8
omitir.
ERRORES EN LA CONTRUCCIÓN DEL
DOMINIO.
Errores del dominio:
se presentan cuando se no han
especificado todas las situaciones que se pueden
presentar en la práctica o se han descuidado la
apreciación de su importancia.
A medida que se presenta el problema, se tiene que
clasificar y hay tres opciones:
1. Ignorarlo porque es improbable y quizás nunca
ocurra.
2. Restringir el dominio del algoritmo para
excluirlo.
3. Corregir el algoritmo. 9
ERRORES DE LÓGICA:
11
SURGE LA PREGUNTA:
¿ Cómo se pueden resolver los problemas para los
que no hay un método establecido o para los
cuales conocemos un algoritmo?.
12
DISEÑO DE UN ALGORITMO
P1 P2 P3
14
RESOLUCIÓN DE CADA
SUBPROBLEMA
Siun sub-problema
es grande, por P1
descomposición y
continuando hasta
que resulten de la
descomposición sub -
problemas fácilmente
resolubles.
P1.1 P1.2 P1.3
15
COMPOSICIÓN DE LAS SOLUCIONES DE
LOS SUB- PROBLEMAS PARA LOGRAR LA
SOLUCIÓN FINAL
El diseño del algoritmo que resuelve un
problema, realizado con esta técnica recibe el
nombre de DISEÑO DESCENDENTE y resulta
en algoritmo muy legibles, claros, fáciles de
entender, seguir y corregir.
El diseño de un algoritmo no se hace de una sola
vez, sino que se va resolviendo en una secuencia
de pasos ( llamados PASOS DE
REFINAMIENTO).
En cada paso el problema es refinado agregando
detalles significativos, por lo que el método se
conoce como:
MÉTODO DE LOS REFINAMIENTOS
SUCESIVOS.
16
UN INGENIERO ES CONVOCADO PARA
CONSTRUIR UN EDIFICIO
CONSTRUCCIÓN
DEL
EDIFICIO
17
UN SUB- PROBLEMA
CONFECCIÓN
DE LOS
PLANOS
18
OTRO SUB- PROBLEMA
CONTRATACIÓN
DEL
PERSONAL
ANÁLISIS
PEDIDO DE REDACCIÓN
DE LOS ENTREVISTAS
CURRICULUM DE LOS
CURRÍCULUM PERSONALES
VITAE CONTRATOS
VITAE
19
OTRO SUB- PROBLEMA
COMPRA
DE
MATERIALES
22
PROGRAMACIÓN ESTRUCTURADA
23
Básicamente, estas subdivisiones deseadas
(llamadas módulos) deben satisfacer los
siguientes requisitos:
1. Los módulos deben estas jerarquizados.
2. Deben ser pequeños y sencillos.
3. Se deberán utilizar tantos módulos de menor
jerarquía como sea necesario para cumplir con
la restricción de ser pequeños y sencillos.
4. Se deberán usar las estructuras de control y
datos adecuadas para cumplir con el requisito
de pequeños y sencillos.
5. Los módulos deben ser legibles para cualquier
persona aunque tenga solamente
conocimientos elementales de progrmación.
24
DIAGRAMA DE FLUJO