You are on page 1of 4

QU ES UN ALGORITMO?

Definicin
Un algoritmo es una lista ordenada, organizada, bien definida y finita de
operaciones que se debe
seguir para hallar la solucin a un problema especfico.
Resumiendo, un algoritmo puede definirse como:
Una secuencia ordenada de pasos elementales, exenta de ambigedades
(bien definida), que lleva a la solucin de un problema dado en un tiempo
finito (cantidad finita de operaciones).
Existen dos tipos de algoritmos y son llamados as por su naturaleza:
Cualitativos: Son aquellos en los que se describen los pasos utilizando
palabras.
Cuantitativos: Son aquellos en los que se utilizan clculos numricos para
definir los pasos del
proceso.

Caractersticas de un algoritmo

Debe tener un punto particular de inicio y uno de finalizacin.


Debe estar bien definido, no debe permitir dobles interpretaciones,
ambigedades.
Sus pasos deben estar ordenados y llevar una secuencia que tienda al
punto final.
Debe ser finito en tamao y tiempo de ejecucin.
Debe ser general, es decir, soportar la mayora de las variantes que se
puedan presentar en la
definicin del problema.
En un algoritmo se deben de considerar tres partes:
- Entrada: Datos detectados como necesarios y pertinentes para resolver el problema.
- Proceso: Operaciones o clculos necesarios, aplicados a los datos de entradas,
para
encontrar la solucin del problema.
- Salida: Respuestas dadas por el algoritmo o Informacin final resultado de los
procesos
realizados.

Prueba de Escritorio, Traza o Depuracin


Esta prueba consiste en tomar datos especficos como entrada y seguir la secuencia
indicada en el algoritmo hasta obtener un resultado, el anlisis de estos resultados
indicar si el
algoritmo est correcto o si por el contrario hay necesidad de corregirlo o hacerle
ajustes.

LENGUAJES DE EXPRESIN DE PROBLEMAS y ALGORITMOS


Un lenguaje de expresin de un algortmico es un conjunto finito y preciso de
smbolos, instrucciones o
primitivas y reglas que las rigen, que se utilizan para especificar de manera explcita y
unvoca el
proceso que lleva a la solucin buscada.
Para ello el lenguaje debe:

Debe estar formado por un nmero de instrucciones finito.


Debe ser completo, es decir que todas las acciones de inters deben poder
expresarse con dicho
conjunto de instrucciones.
Instrucciones precisas (no ambiguo).
Instrucciones nicas.

Los algoritmos pueden ser representados o expresados de muchas maneras,


incluyendo al lenguaje
natural o descripcin verbal, pseudocdigo, diagramas de flujo entre otros.

Sintaxis y Semntica de un Lenguaje


Sintaxis: es la forma en que se debe escribir cada instruccin y las reglas generales
que se utilizan
para expresar el problema dentro de ese lenguaje.
Semntica: es el significado de cada instruccin y el de los smbolos que se utilizan
en el lenguaje.

Tipos de Lenguajes Algortmicos


El usar pseudocdigo y diagramas de flujo evita muchas ambigedades del lenguaje
natural y se
mantienen independientes de un lenguaje de programacin especfico.

GRFICOS: Diagrama de Flujo


Se trata de la representacin o descripcin grfica de la solucin algortmica de
un problema.
Para disearlos se utilizan determinados smbolos o figuras que representan una
accin dentro del
procedimiento. Utilizan unos smbolos normalizados que estn regidos por ISO.
Con los pasos del algoritmo escritos en el smbolo adecuado y unidos con flechas,
denominadas lneas
de flujo, indicando el orden en que los pasos deben ser ejecutados se llega a expresar
la solucin del
problema.
Los diagramas de flujo son usados para representar algoritmos pequeos por su
facilidad de lectura.

Los pasos a seguir para construir el diagrama de flujo son:


Identificar y listar las principales actividades en su orden cronolgico.
Definir qu se espera obtener del diagrama de flujo.
Identificar quin lo emplear y cmo.
Establecer el nivel de detalle requerido. Si el nivel de detalle definido incluye
actividades
menores, listarlas tambin.
Determinar los lmites del proceso a describir(comienzo y final del diagrama)
Asignar los correspondientes smbolos.

Asignar un ttulo al diagrama y verificar que est completo.


Para su elaboracin se siguen ciertas reglas:
Se debe de indicar claramente dnde inicia y dnde termina el diagrama.
Se escribe de arriba hacia abajo y de izquierda a derecha.
Debe haber al menos una entrada de datos.
Debe quedar claro el proceso de los datos.
Debe haber al menos una salida de datos.
En cada paso se expresa una accin concreta.
Todo camino de ejecucin debe permitir llegar desde el inicio hasta el final.
Siempre se usan flechas verticales u horizontales, jams curvas o diagonales.
Debe evitarse cruce de flujos.
En cada paso se expresa una accin concreta.
No se debe usar lenguaje de programacin dentro de los smbolos.
Ventajas de usar diagramas de flujo:
El cerebro humano reconoce fcilmente los dibujos. Un buen diagrama de flujo
reemplaza
varias pginas de texto.
Rpida comprensin de las relaciones
Anlisis efectivo de las diferentes secciones del programa
Pueden usarse como modelos de trabajo en el diseo de nuevos programas o
sistemas
Comunicacin con el usuario
Documentacin adecuada de los programas
Codificacin eficaz de los programas
Depuracin y pruebas ordenadas de programas
Desventajas de los diagramas de flujo:
Los diagramas complejos y detallados suelen ser laboriosos en su planteamiento y
diseo.
Las acciones a seguir tras la salida de un smbolo de decisin, pueden ser difciles
de seguir si
existen diferentes caminos.
No existen normas fijas para la elaboracin de los diagramas de flujo que permitan
incluir todos
los detalles que el usuario desee introducir.

3.2. NO GRFICOS: Descripcin Verbal o en Lenguaje Natural


Este lenguaje de expresin de un algoritmo tiene la caracterstica de seguir un proceso
de ejecucin
lgico y un lenguaje comn, describiendo textualmente paso a paso cada una de las
actividades a
realizar dentro de una actividad determinada. Las descripciones en lenguaje natural
tienden a ser
ambiguas y extensas.

3.3. NO GRFICOS: Pseudocdigo


Es la descripcin de un algoritmo que asemeja a un lenguaje de programacin pero
con algunas
convenciones del lenguaje natural (de ah que tenga el prefijo pseudo=falso). La idea
de este lenguaje es
poder escribir un algoritmo, disear la lgica y despus poder reescribirlo en cualquier
lenguaje de
programacin.

Se concibi para superar las dos principales desventajas de los DFD: lento de crear y
difcil de modificar
sin un nuevo redibujo, adems tiene la ventaja de necesitar poco espacio para
representar instrucciones
complejas. El pseudocdigo no est regido por ningn estndar.
Tambin es una tcnica para diseo de programas que permite definir las estructuras
de datos, las
operaciones que se aplicarn a los datos y la lgica que tendr el programa de
computadora para
solucionar un determinado problema. Respeta las directrices y los elementos de los
lenguajes de
programacin.
Ventajas del uso de Pseudocdigo:
Ocupan mucho menos espacio en el desarrollo del problema.
Permite representar de forma fcil operaciones repetitivas complejas.
Es ms sencilla la tarea de pasar de pseudocdigo a un lenguaje de programacin
formal.
Si se siguen las reglas de indentacin se puede observar claramente los niveles en
la
estructura del programa.
Mejora la claridad de la solucin de un problema.
Desventajas del uso de Pseudocdigo:
No rige ningn estndar, lo que puede provocar ambigedad en su interpretacin.
Si no se indenta correctamente no se entiende su estructura.

3.4. Diferencia entre algoritmos, diagrama de flujo y pseudocdigo


En general, decimos que la solucin a cualquier problema de cmputo, involucra la
confeccin de un
algoritmo que requiere la ejecucin una serie de acciones, finitas, en un orden
especfico y sin
ambigedad. En otras palabras, un algoritmo es un procedimiento para resolver un
problema en
trminos de las acciones a ejecutarse, y el orden en el cual estas acciones deben
ejecutarse.
Una forma de desarrollar o representar los algoritmos en un lenguaje medio
informal y medio
codificado es el pseudocdigo, que obedece a un lenguaje de diseo estipulado
para su uso.
El diagrama de flujo es la representacin o descripcin grfica de la solucin
algortmica de un
problema. En su diseo se usan determinados smbolos o figuras estandarizadas
que representan una
accin dentro del DFD.

You might also like