3. ALGORITMO
Un Algoritmo, se puede definir como una secuencia
de instrucciones que representan un modelo de
solución para determinado tipo de problemas. O
bien como un conjunto de instrucciones que
realizadas en orden conducen a obtener la solución
de un problema. Por lo tanto podemos decir que es
un conjunto ordenado y finito de pasos que nos
permite solucionar un problema
Los algoritmos son independientes de los lenguajes
de programación. En cada problema el algoritmo
puede escribirse y luego ejecutarse en un lenguaje
de diferente programación. El algoritmo es la
infraestructura de cualquier solución, escrita luego
en cualquier lenguaje de programación.
CARACTERÍSTICAS DE UN ALGORITMO:
Todo algoritmo debe tener las siguientes características:
1. Debe ser Preciso, porque cada uno de sus pasos debe indicar de manera precisa e inequívoca que se debe
hacer.
2. Debe ser Finito, porque un algoritmo debe tener un número limitado de pasos.
3. Debe ser Definido, porque debe producir los mismos resultados para las mismas condiciones de entrada.
4. Puede tener cero o más elementos de entrada.
5. Debe producir un resultado. Los datos de salida serán los resultados de efectuar las instrucciones
ALFREDO MARTINEZ HERNANDEZ
Página 3
4. PARTES DE UN ALGORITMO:
Todo Algoritmo debe tener las siguientes partes:
· Entrada de
datos,
son
· Proceso,
es
la
los
datos
secuencia
necesarios que el
de
pasos
algoritmo
para
necesita para ser
ejecutado.
ejecutar
algoritmo.
el
· Salida de resultados, son los datos obtenidos después de la ejecución del algoritmo.
VENTAJAS Y DESVENTAJAS
No necesitan conocimientos específicos sobre el problema que intentan resolver.
Operan de forma simultánea con varias soluciones, en vez de trabajar de forma secuencial como las
técnicas tradicionales.
Cuando se usan para problemas de optimización maximizar una función objetivo- resultan menos
afectados por los máximos locales (falsas soluciones) que las técnicas tradicionales.
Resulta sumamente fácil ejecutarlos en las modernas arquitecturas masivamente paralelas.
Usan operadores probabilísticos, en vez de los típicos operadores determinanticos de las otras técnicas.
Pueden tardar mucho en converger, o no converger en absoluto, dependiendo en cierta medida de los
parámetros que se utilicen tamaño de la población, número de generaciones, etc.
Pueden converger prematuramente debido a una serie de problemas de diversa índole.
ALFREDO MARTINEZ HERNANDEZ
Página 4
5. PSEUDOCODIGO
Un pseudocódigo (falso lenguaje), es una serie de
normas léxicas y gramaticales parecidas a la
mayoría de los lenguajes de programación, pero sin
llegar a la rigidez de sintaxis de estos ni a la fluidez
del lenguaje coloquial. Esto permite codificar un
programa con mayor agilidad que en cualquier
lenguaje de programación, con la misma validez
semántica. El principal objetivo del pseudocódigo
es el de representar la solución a un algoritmo de la
forma más detallada posible, y a su vez lo más
parecida posible al lenguaje que posteriormente se
utilizara para la codificación del mismo.
LAS PRINCIPALES CARACTERÍSTICAS DE ESTE LENGUAJE SON:
Se puede ejecutar en un ordenador
Es una forma de representación sencilla de utilizar y de manipular.
Facilita el paso del programa al lenguaje de programación.
Es independiente del lenguaje de programación que se vaya a utilizar.
Es un método que facilita la programación y solución al algoritmo del programa.
Todo documento en pseudocódigo debe permitir la
descripción de:
Instrucciones primitivas
Instrucciones de proceso
Instrucciones de control
Instrucciones compuestas
Instrucciones de descripción
ALFREDO MARTINEZ HERNANDEZ
Página 5
6. Estructura a seguir en su realización:
Variables:
Cabecera:
Cuerpo:
Programa:
Inicio
Modulo:
Instrucciones
Tipos de datos:
Fin
Constantes:
Para comentar en pseudocódigo se le antepone al comentario dos asteriscos (**)
VENTAJAS AL UTILIZAR PSEUDOCODIGO
Permite representar de forma fácil operaciones repetitivas complejas. Es más sencilla la tarea de pasar de
pseudocódigo a un lenguaje de programación formal. Si se siguen las reglas de identificación se puede observar
claramente los niveles en la estructura del programa.
ALFREDO MARTINEZ HERNANDEZ
Página 6
7. DIAGRAMA DE FLUJO
Describen que operaciones y en que secuencias para solucionar un problema dado.
Es una forma esquemática de representar ideas y conceptos en relación. Se usa para especificar algoritmos de
manera grafica y utiliza símbolos.
Un diagrama de flujo es una representación pictórica de un algoritmo o de una parte del mismo, ayudan en la
comprensión de la operación de las estructuras de control (Si, Mientras).Útil para determinar cómo funciona
realmente el proceso para producir un resultado. El resultado puede ser un producto, un servicio, información o
una combinación de las tres. Al examinar como los diferentes pasos en un proceso se relacionan entre sí, se
puede descubrir con frecuencia las fuentes de problemas potenciales. Los diagramas de flujo se pueden aplicar a
cualquier aspecto del proceso desde el flujo de materiales hasta los pasos para hacer la venta u ofrecer un
producto. Los diagramas de flujos detallados describen la mayoría de los pasos en un proceso. Con frecuencia
este nivel de detalle no es necesario, pero cuando se necesita, el equipo completo normalmente desarrollará una
versión de arriba hacia abajo; luego los grupos de trabajo más pequeños pueden agregar niveles de detalle según
sea necesario durante el proyecto.
Describen que operaciones y en que secuencias para solucionar un problema dado.
Es una forma esquemática de representar ideas y conceptos en relación. Se usa para especificar algoritmos de
manera grafica y utiliza símbolos.
Usos del diagrama de flujo:
Facilita la comunicación; ya que desempeñan un orden y un papel vital en la programación de un problema y
facilita la comprensión de problemas complicados y sobre todo largos.
Favorece la comprensión del proceso atreves de un diagrama.
Facilita la comprensión de problemas complicados.
Permite identificar los problemas y las oportunidades.
Este método es fácil de comprender, programar y es el más extendido.
ALFREDO MARTINEZ HERNANDEZ
Página 7
9. DIFERENCIAS ENTRE ALGORITMOS, PSEUDOCODIGO Y DIAGRAMA DE
FLUJO
Lo que yo entendí fue que el algoritmo es un conjunto de reglas que llevan una secuencia para resolver un
problema específico. Lo utilizamos para llegar a un resultado del problema pero para eso necesitamos seguir las
reglas.
Mientras que el pseudocódigo sirve para escribir programas de la computadora y es muy sencillo de utilizar.
Y que los diagramas de flujos son descripciones graficas de los algoritmos, se utilizan los diagramas de flujo
cuando un algoritmo es demasiado largo y laborioso.
En pocas palabras se puede decir que el diagrama de flujo es lo que se ve y los algoritmos son las que lo hacen
funcionar.
El pseudocódigo como su nombre lo dice es un “código en falso” es un lenguaje de programación como los
anteriores pero mucho más fácil.
ALFREDO MARTINEZ HERNANDEZ
Página 9