2. ALGORITMO
Se denomina algoritmo a un grupo finito de operaciones
organizadas de manera lógica y ordenada que permite solucionar
un determinado problema. Se trata de una serie de instrucciones o
reglas establecidas que, por medio de una sucesión de pasos,
permiten
arribar
a
un
resultado
o
solución.
3. ALGORITMO
En la vida cotidiana se emplean algoritmos en multitud de
ocasiones para resolver diversos problemas. Algunos ejemplos
se encuentran en los instructivos (manuales de usuario), los
cuales muestran algoritmos para usar el aparato en cuestión o
inclusive en las instrucciones que recibe un trabajador por
parte de su patrón.
5. TIPOS DE ALGORITMOS
SEGÚN SU FUNCIÓN
• Algoritmo de ordenamiento: estos nos
permite ordenar, en este caso nos servirán
para ordenar vectores o matrices con valores
asignados aleatoriamente.
• Algoritmo de búsqueda: es aquel que esta
diseñado para localizar un elemento concreto
dentro de una estructura.
6. PARTES DE UN ALGORITMO
Todo algoritmo debe obedecer a la estructura básica de un
sistema, es decir: entrada, proceso y salida.
Donde:
ENTRADA
Corresponde al insumo, a los datos necesarios que requiere el
proceso para ofrecer los resultados esperados.
PROCESO
Pasos necesarios para obtener la solución del problema o la
situación planteada.
SALIDA
Resultados arrojados por el proceso como solución.
7. TECNICA DE DISEÑO DE
ALGORITMO
• Algoritmos voraces (greedy): seleccionan los elementos más
•
•
•
prometedores del conjunto de candidatos hasta encontrar una
solución. En la mayoría de los casos la solución no es óptima.
Algoritmos paralelos: permiten la división de un problema en
subproblemas de forma que se puedan ejecutar de forma
simultánea en varios procesadores.
Algoritmos probabilísticos: algunos de los pasos de este tipo
de algoritmos están en función de valores pseudoaleatorios.
Algoritmos determinísticos: el comportamiento del algoritmo
es lineal: cada paso del algoritmo tiene únicamente un paso
sucesor y otro antecesor.
8. TECNICA DE DISEÑO DE
ALGORITMO
• Algoritmos no determinísticos: el comportamiento del
•
algoritmo tiene forma de árbol y a cada paso del algoritmo
puede bifurcarse a cualquier número de pasos inmediatamente
posteriores, además todas las ramas se ejecutan
simultáneamente.
Divide y vencerás: dividen el problema en subconjuntos
disjuntos obteniendo una solución de cada uno de ellos para
después unirlas, logrando así la solución al problema
completo.
9. TECNICA DE DISEÑO DE
ALGORITMO
• Metaheurísticas: encuentran soluciones aproximadas (no
•
•
•
óptimas) a problemas basándose en un conocimiento anterior
(a veces llamado experiencia) de los mismos.
Programación dinámica: intenta resolver problemas
disminuyendo su coste computacional aumentando el coste
espacial.
Ramificación y acotación: se basa en la construcción de las
soluciones al problema mediante un árbol implícito que se
recorre de forma controlada encontrando las mejores
soluciones.
Vuelta atrás (backtracking): se construye el espacio de
soluciones del problema en un árbol que se examina
completamente, almacenando las soluciones menos costosas.
10. CARACTERISTICAS DE
LOS ALGORITMOS
Las principales características de los algoritmos son:
1. Carácter finito. "Un algoritmo siempre debe terminar
después de un número finito de pasos".
2. Precisión. "Cada paso de un algoritmo debe estar
precisamente definido; las operaciones a llevar a cabo deben
ser especificadas de manera rigurosa y no ambigua para
cada caso".
3. Entrada. "Un algoritmo tiene cero o más entradas:
cantidades que le son dadas antes de que el algoritmo
comience, o dinámicamente mientras el algoritmo corre.
Estas entradas son tomadas de conjuntos específicos de
11. CARACTERISTICAS DE
LOS ALGORITMOS
4. Salida. "Un algoritmo tiene una o más salidas: cantidades que
tienen una relación específica con las entradas".
5. Eficacia. "También se espera que un algoritmo sea eficaz, en el
sentido de que todas las operaciones a realizar en un algoritmo
deben ser suficientemente básicas.
12. IMPORTANCIA DE UN
ALGORITMO
La importancia de un algoritmo radica en mostrar la
manera de llevar a cabo procesos y resolver mecánicamente
problemas matemáticos o de otro tipo. Al igual que las
funciones matemáticas, los algoritmos reciben una entrada y la
transforman en una salida, comportándose como una caja
negra.
Sin embargo, no toda caja negra que convierta una
entrada en una salida se puede considerar un algoritmo: para
que un algoritmo pueda ser considerado como tal, debe ser una
secuencia ordenada, finita y definida (formalización de su
comportamiento) de instrucciones.
13. DIAGRAMA DE FLUJO
Los diagramas de flujo son descripciones gráficas de
algoritmos; usan símbolos conectados con flechas para indicar
la secuencia de instrucciones y están regidos por ISO.
Los diagramas de flujo son usados para representar
algoritmos pequeños, ya que abarcan mucho espacio y su
construcción es laboriosa. Por su facilidad de lectura son
usados como introducción a los algoritmos, descripción de un
lenguaje y descripción de procesos a personas ajenas a la
computación.
14. DIAGRAMA DE FLUJO
Diagrama de flujo que expresa un algoritmo para
calcular la raíz cuadrada de un número x.
15. CARACTERISTICAS DE UN
DIAGRAMA DE FLUJO
• Un diagrama de flujo siempre tiene un único punto de inicio y
•
•
•
•
•
•
•
un único punto de término.
Las siguientes son acciones previas a la realización del
diagrama de flujo:
Identificar las ideas principales a ser incluidas en el diagrama
de flujo.
Deben estar presentes el autor o responsable del proceso, los
autores o responsables del proceso anterior y posterior y de
otros procesos
interrelacionados, así como las terceras partes interesadas.
Definir qué se espera obtener del diagrama de flujo.
Identificar quién lo empleará y cómo.
Establecer el nivel de detalle requerido.
16. PARA ELABORAR UN DIAGRAMA
DE FLUJO SE SUGIEREN LAS
SIGUIENTES REGLAS
1. Se debe tener un principio y un fin.
2. Se debe tener ciclos finitos.
3. Las líneas de conexiones deben ser siempre rectas, no cruzarse
4.
5.
6.
7.
8.
9.
y no estar inclinadas.
Podemos recurrir a conectores numerados convenientemente.
Las líneas que enlaza los símbolos deben estar siempre
conectadas.
No se deben dibujar los símbolos en cualquier orden.
No se debe utilizar terminología especifica de un lenguaje de
programación.
Cada línea o flecha debe entrar en un bloque en un símbolo de
decisión terminar en un fin o unirse a otra flecha.
Se deben dibujar los símbolos de forma descendiente y de
izquierda a derecha.
17. PARA ELABORAR UN DIAGRAMA
DE FLUJO SE SUGIEREN LAS
SIGUIENTES REGLAS
18. SIMBOLOGÍA DE LOS
DIAGRAMAS DE FLUJO
Las diversas organizaciones usan distintos símbolos, pero
el comité sobre computadoras y procesadores de información
de la Asociación Norteamericana de Normas ha hecho un gran
esfuerzo para normalizar los símbolos de los diagramas de
flujo. Esa normalización permite comprender cualquier
diagrama de flujo que use los símbolos recomendados, cada
símbolo normal de diagrama de flujo tiene un significado
especial.
Expresa Inicio o Fin de un Programa.
Expresa operación algebraica o de Asignación.
19. SIMBOLOGÍA DE LOS
DIAGRAMAS DE FLUJO
Expresa condiciones y asociaciones
alternativas de una decisión lógica.
Expresa condición y acciones alternativas de una
decisión numérica.
Entrada / Salida: Representa cualquier tipo de
Fuente de entrada y salida
Entrada: Lectura de datos por tarjeta perforadas.
20. SIMBOLOGÍA DE LOS
DIAGRAMAS DE FLUJO
Conector dentro de página.
Representa resultado mediante un reporte impreso.
Conector fuera de página.
Expresa operación cíclica repetitiva.
21. SIMBOLOGÍA DE LOS
DIAGRAMAS DE FLUJO
Expresa proceso de llamada a una subalterna.
Representa datos grabados en una cinta magnética.
Almacenamiento en línea Disco Magnético
22. IMPORTANCIA DEL
DIAGRAMA DE FLUJO
Los diagramas de flujos son importantes porque nos
facilita la manera de representar visualmente el flujo de datos
por medio de un sistema de tratamiento de información.
En este relacionamos un análisis de los procesos o
procedimientos que requerimos para realizar un programa o un
objetivo.