ALGORITMOS

Los algoritmos, se consideran una forma de modelamiento con influencia matemática y sentido lógico para resolver problemas de una manera sistemática y coherente; de tal manera que el proceso, al recibir unos insumos o entradas, se obtenga un producto determinado, que cumpla con los requerimientos dados.

HISTORIA DE LOS ALGORITMOS

El algoritmo se fundamenta en los pilares de la matemática y la lógica y se deriva del proceso del cálculo en donde se requiere un insumo o entrada arbitraria, entendida como un conjunto de datos, los cuales sufren una transformación para obtener un resultado esperado. Por ejemplo, cuando una persona va a llevar a cabo un proceso de adición, requiere tener como mínimo dos insumos, que para este caso serán los sumandos y que deben ser números, sin importar de que tipo. De acuerdo con lo anterior, el producto o resultado esperado será un número con características similares, es decir del mismo tipo de los números operados. El proceso que se lleva a cabo será el de adicionar los valores o insumos, para obtener un resultado.

Como se puede observar, el cálculo y por ende las matemáticas, son el origen de los algoritmos y el primer nombre que recibió el vocablo algoritmo, hacía referencia al sistema posicional del cálculo y se debe su nombre al matemático árabe: Abu Ja’far Muhammad ibn Musa Al-Khwarizmi, quien nació en Bagdad en el año 780 y murió aproximadamente en el año 850 d.C. (NOWLAN, 2008). Al-Khwarizmi, escribió el libro sobre compendio sobre cálculo, completación y recolocación, el cual trata sobre resolución de ecuaciones cuadráticas y lineales y por ende se lo considera como uno de los padres del álgebra. (GARCIA Estevez)

Con el avance tecnológico y la influencia de las matemáticas en la resolución de problemas mediante un modelado matemático y que se lleva a un computador para obtener una solución a dichos problemas, se ha adoptado este término a los procesos de tipo secuencial, discreto y metódico para obtener una solución determinada.

Al hablar de algoritmos, es necesario definir algunos conceptos claves que lo componen, entre ellos:

Algoritmo: Es el método mediante el cual se transforma de una manera sistemática, finita, discreta y puntual unas materias primas, en resultados óptimos, en el caso de los sistemas computacionales, las materias primas se denominan datos y el resultado esperado se llama información. (DE LA FUENTE, 2005), afirma que los algoritmos, tienen unas características que los definen o que deben cumplir para considerarse como tal, ellas son.

Precisión: Es la propiedad mediante la cual, el algoritmo lleva un orden lógico para cada paso o instrucción que cumple y que debe entregar de la manera correcta y siguiendo el flujo determinado al siguiente paso, la información procesada. También, esta propiedad hace referencia a que se deben tener datos exactos a manera de insumos, por ejemplo, no es lo mismo definir en una receta una cuchara de sal, que 20 gr de sal, ya que en la primera opción la medida es bastante subjetiva, puesto que puede ser una cuchara pequeña, una cuchara a ras, una cuchara sopera, una cuchara hasta el tope, entre otras, mientras que al hablar de 20 gr, el valor es puntual, preciso o exacto y por lo tanto generará un producto esperado.

Definición: Un algoritmo, se considera definido, cuando al realizar el mismo procedimiento una determinada cantidad de veces, el resultado se mantiene invariable o produce el mismo resultado, es decir que si un algoritmo debe sumar dos números, independientemente de cuáles sean dichos números y de cuantas veces se ejecute el algoritmo, el resultado siempre será una suma, es decir el resultado esperado.

Finito: Esta propiedad, implica que el algoritmo debe tener un inicio y un fin. Además de lo anterior, se requiere que los datos procesados no sean redundantes ni generen ciclos interminables.

Datos: Es la mínima unidad de información que posee un sistema de cómputo y cuyos valores hacen parte de la entrada de datos para el proceso de un algoritmo.

Información: Es el resultado final de un proceso llevado a cabo para transformar unas entradas en salidas útiles al usuario.

Tanto los datos, como la información, se almacena en unos campos denominados variables, los cuales se explican con mayor detenimiento más adelante.

Proceso: Se considera un proceso a una serie de operaciones aritméticas, lógicas o sintácticas que se generan para transformar unos datos en un resultado esperado y que puede implicar una toma de decisiones o un control de flujo.

Instrucciones: Son las diferentes líneas, códigos o gráficos mediante los cuales se representan los datos, procesos o salidas en un algoritmo y que facilitan su comprensión para el programador.

Lenguaje de programación: Son software especializado para escribir programas o software específicos a través de una codificación determinada de un algoritmo, entre ellos se tiene: C++, Java, PHP, Visual.net, etc.

Contador: Es una variable que maneja datos de manera constante de tal manera que los valores que se almacenan, incrementan o decrementan de manera constante. Entre los ejemplos cotidianos acerca del uso del contador es el mecanismo de contar que tienen los buses al pasar por su registro, otro ejemplo es el saber cuántos billetes de una determinada denominación se tienen, o el saber qué cantidad de personas ingresan a un espectáculo. Los contadores se pueden utilizar en cualquier algoritmo o programa, pero son de gran utilidad en los ciclos. La sintaxis que puede manejar un contador es similar a la siguiente:

con = con +1;

En donde se puede apreciar que la variable con incrementa su valor de manera constante, es decir de uno en uno.

Acumulador: Es una variable que almacena datos, pero no necesariamente de manera constante, por ejemplo, para saber la cantidad de dinero que tiene una persona en su billetera, es necesario acumular los valores de cada uno de los billetes y así se obtendrá el valor total disponible. La sintaxis que puede manejar un acumulador es similar a la siguiente: acum = acum + x;

En donde se puede apreciar que la variable acum incrementa su valor de manera inconstante, es decir que dependen del valor que tome x cada vez que se realice una operación.

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s