Está en la página 1de 4

ALGORITMOS

El algoritmo es una serie ordenada de procesos o pasos que deben llevarse a cabo para alcanzar
la solución a un problema específico. Los algoritmos pueden ser de distintos tipos, los de la vida
diaria como seguir las instrucciones para lavarse los dientes, poner en funcionamiento un equipo
electrónico y los algoritmos utilizados para resolver o llevar a cabo procesos más complicados
como el funcionamiento de un programa de computación.

En este sentido, el algoritmo es el elemento fundamental de cualquier programa de


computación, y no está relacionado con el lenguaje de programación utilizado para desarrollarlo,
sino en los pasos que deben realizarse para alcanzar el objetivo, es decir el conjunto de
instrucciones y pasos desarrollados para llevar a cabo la tarea encomendada al software.

Es fundamental, que primero el desarrollador de software debe de escribir el algoritmo y


luego plasmarlo en el lenguaje de programación que más se adecue a sus propias necesidades
y a los requerimientos de los clientes. Con el ello, el ingeniero en informática se asegura tener
una base sólida desde la cual comenzar a crear una metodología con escenarios bien definidos
y finitos, es decir que deben finalizar en algún momento de su recorrido.

Características de los algoritmos computacionales


Originariamente, la idea de llevar este concepto del ámbito de las matemáticas al campo de
la incipiente informática fue propuesto por el matemático inglés Alan Turing, quien sentó las
bases para definir los elementos básicos de un algoritmo aplicado a las ciencias de la
computación, los cuales debían ser los siguientes:

a) Una secuencia de pasos limitada, que deben estar definidas claramente. Asimismo estos
pasos deben ser independientes el uno del otro.
b) Un agente, que puede ser en algunos casos un operador humano y en otros casos parte
del propio programa es el actor que tiene como tarea aplicar cada una de las etapas del
proceso en un punto específico del recorrido.
c) Este agente debe tener la capacidad de interpretar las instrucciones,
operacionales y simultáneamente tener la posibilidad de almacenar la información
suministrada por el propio programa.
d) El resultado obtenido cuando se realizan las determinadas operaciones del
programa siempre ha de comportarse igual, en cada paso de la operatoria, teniendo en
cuenta por supuesto la configuración de los datos iniciales de entrada.
e) La operación siempre debe finalizar con un resultado conciso.

En este punto cabe destacar que existen casos en los cuales el procedimiento requiere que
se ofrezca un resultado concreto, y otros casos en los cuales no es necesario. Es por ello
que los algoritmos repetitivos o irregulares que no culminan son tan habituales en la
programación de aplicaciones para computadoras.

El ejemplo de esto son los SO como Windows, Linux, MacOS, entre otros; los cuales deben
seguir en ejecución para permitir que las demás aplicaciones y procesos de la computadora
puedan seguir cumpliendo con su función o tarea.

Pasos para crear un algoritmo


Los pasos para definir y concretar nuestro algoritmo son los siguientes:
a) Análisis previo del problema o necesidad. Lo primero que tenemos que hacer, antes de
comenzar con el desarrollo de cualquier algoritmo es llevar a cabo un análisis
pormenorizado de la situación o problema.
b) Definir los requerimientos. Es fundamental la identificación de los requerimientos y definir
exactamente el problema que tenemos que solucionar y desglosarlo, incluyendo todas
las derivaciones que puedan surgir.
c) La identificación de los módulos. Identificar claramente los módulos es importante como
la identificación de los requerimientos. Al identificar correctamente los módulos nos va
1
servir para simplificar considerablemente la puesta en marcha de los pasos del
algoritmo correcto para el problema.
d) La creación del algoritmo. En esta fase debemos asegurarnos que el algoritmo cumpla
con todos los requerimientos adecuados para llevar a cabo la función encomendada. En
el caso de un algoritmo computacional, además deberá cumplir con ciertas características
para poder luego implementarse en cualquier lenguaje de programación.
e) La implementación del algoritmo. En el caos de los algoritmos computacionales, la
implementación de los mismos se debe llevar a cabo traduciendo el mismo a un lenguaje
de programación con el propósito de que cualquier computadora pueda interpretar sus
instrucciones y enviar a su hardware la información necesaria para poder completar los
pasos correspondientes y de esta manera obtener el resultado esperado.
f) Creación de las herramientas para llevar a cabo el algoritmo. Al cumplir correctamente
con todos los pasos anteriores, se podría utilizar las herramientas necesarias para poder
ejecutar el algoritmo desarrollado. En un algoritmo computacional, podemos desarrollar
a través de cualquier lenguaje de programación una aplicación.

Los algoritmos pueden aplicarse en cualquier campo, no sólo en cálculos que se aplican en
determinados campos científicos, ya que en nuestra vida diaria podemos encontrar decenas de
ejemplos de algoritmos, los cuales la mayoría de las veces pasan desapercibidos para todos
nosotros.

Todo algoritmo consta de tres partes.


1) Entrada: en la entrada o input del algoritmo será donde se introduzcan todos aquellos
datos que el algoritmo necesite para operar.
2) Procesamiento: con lo recibido en la entrada o input, el algoritmo realizará una serie de
cálculos lógicos para resolver el problema.
3) Salida: los resultados obtenidos en el procesamiento se mostrarán en la salida u output
del algoritmo.

Un algoritmo debe ser suficiente para resolver el problema y ante varios algoritmos que resuelvan
el mismo problema, siempre será preferible el que tenga un camino más corto.

Elementos para construir un algoritmo


Dado que un algoritmo es un conjunto de instrucciones elaboradas con la finalidad de resolver
un problema, los elementos que se utilizan en la construcción de algoritmos son los siguientes:
a) Comandos
b) Datos
c) Variables y contantes
d) Operadores

Los datos se almacenan en variables o constantes las cuales son involucradas en expresiones.
Las sentencias o comandos, por su parte, son las acciones que pueden ser ejecutadas, en
general realizan cálculos mediante operadores, entradas/salidas y control de flujo del algoritmo.

Representación de un algoritmo
Una vez que se ha elegido la mejor alternativa para solucionar el problema, se realiza el diseño
del algoritmo representarlo siguiendo alguno de estos métodos:

a) Lenguaje natural (español, inglés, etc)


b) Diagramas de flujo
c) Pseudocódigo

a) Lenguaje Natural. En algunas ciencias, especialmente en lógica y ciencias de la


computación, hay diferentes enfoques para el lenguaje. Así distinguen entre lenguajes
naturales y formales.

2
Lenguaje Natural. Son aquellas lenguas que han sido generadas espontáneamente en un
grupo de hablantes con propósito de comunicarse, a diferencia de otras lenguas, como
puedan ser una lengua construida, los lenguajes de programación o los lenguajes formales
usados en el estudio de la lógica formal, especialmente la lógica matemática. En informática
y lógica, el lenguaje natural es utilizado por expertos en la simulación de situaciones
específicas.

El objetivo Lenguaje Natural es crear sistemas informáticos capaces de producir por sí mismos
textos, de tal forma que al ser leídos por un ser humano tengan sentido. Para ello, los sistemas
necesitan trabajar de forma multidisciplinar, incorporando conocimientos procedentes de
diversas áreas como son la lingüística, la ingeniería, la informática o la psicología.

El Procesamiento del Lenguaje Natural es el campo de conocimiento de la Inteligencia


Artificial que se ocupa de la investigar la manera de comunicar las máquinas con las personas
mediante el uso de lenguas naturales, como el español, el inglés, el chino, el ruso, entre otros.

Lenguaje Formal. El lenguaje formal es aquel que el hombre ha desarrollado para expresar las
situaciones que se dan en específico en cada área del conocimiento científico. Las palabras y
oraciones de un lenguaje formal son perfectamente definidas (una palabra mantiene el mismo
significado prescindiendo de su contexto o uso).

Tanto el lenguaje natural como el formal en sus inicios se basan en los mismos algoritmos. Al
igual que en el lenguaje formal y natural, la unidad básica del habla es un símbolo, es decir, una
letra. Del conjunto de caracteres se formaron palabras y frases.

b) Diagramas de Flujo
Un diagrama de flujo es una forma esquemática de representar ideas y conceptos en relación. A
menudo, se utiliza para especificar algoritmos de manera gráfica. A continuación se muestran
una serie de símbolos útiles para llevar a cabo este tipo de representaciones.

Fuente: Paco González Caballero

Existen diferentes software libres y comerciales para crear diagramas de flujo, por ejemplo:
Lucidchart, microsoft visio, creately, pencil, pidoco, google docs, engtre otros.

c) Pseudocódigo
El Pseudocódigo es sin duda de las representaciones más utilizadas. Es una forma de expresar
el algoritmo utilizando el lenguaje natural, comprensible para cualquier persona, pero añadiendo
ciertas instrucciones típicas de los lenguajes de programación.

El pseudocódigo es una forma de escribir los pasos que va a realizar un programa de la forma
más cercana al lenguaje de programación que vamos a utilizar posteriormente. Es como un falso
lenguaje, pero en nuestro idioma, en el lenguaje humano y en español.

Existe una gran variedad de software, para la elaboración de pseudocódigo, unos son
comerciales y otros de uso libre. Como el PSeInt, entre otros.

3
PSeInt permite escribir en pseudocódigo, genera el diagrama de flujo. Además, permite ir
ejecutando el código paso a paso y una ejecución explicada paso a paso. Está disponible para
Windows, Linux y Mac y es software libre.

No existe una sintaxis estándar para el pseudocódigo. Sin embargo, en el pseudocódigo se


reflejan las instrucciones propias de los lenguajes de programación, como las
instrucciones condicionales:

SI condición ENTONCES
instrucciones/pasos a realizar si se cumple la condición
SI NO
instrucciones/pasos a realizar si NO se cumple la condición
FIN SI

Y las instrucciones repetitivas:


REPETIR n veces
instrucciones/pasos a realizar
FIN REPETIR

REPETIR HASTA condición de salida


instrucciones/pasos a realizar hasta que se cumpla la condición de salida del bucle
FIN REPETIR

El pseudocódigo, está considerado como una descripción de un algoritmo que resulta


independiente de otros lenguajes de programación.

Ejemplos orientados a crear algoritmos matemáticos:

Ningún ordenador podría interpretar estas instrucciones. Para crear un programa a partir del
algoritmo, una vez refinado el pseudocódigo, es necesario utilizar software para la conversión
del pseudocódigo en un lenguaje de programación: C, C++, Java, entre otros.

También podría gustarte