¿Qué es un algoritmo informático?

Qué es un algoritmo informático

La palabra algoritmo proviene del sobrenombre de un matemático árabe del siglo IX, Al-Khwarizmi, que fue reconocido por enunciar paso a paso las reglas para las operaciones matemáticas básicas con decimales (suma, resta, multiplicación y división).

Vemos definición de algoritmo como un grupo de órdenes consecutivas que presentan una solución a un problema o a una tarea. Algunos ejemplos de algoritmos los podemos encontrar en las matemáticas (como el algoritmo para resolver una multiplicación) y en los manuales de usuario de un aparato electrodoméstico (como una lavadora o una impresora).

Sin embargo, hoy en día se relaciona la palabra algoritmo con el mundo de la informática, más concretamente con el de la programación, son conocidos como algoritmos informáticos.

Un programa informático no es otra cosa que una serie compleja de algoritmos escritos en un lenguaje de programación que pueden ser ejecutados en un ordenador. Por lo tanto, el conocimiento de algoritmos en programación es esencial, por lo que es muy útil realizar un Curso de introducción a la programación que incluya formación en algoritmos. Esta formación incluye conocimientos de pseudocódigo, que es en definitiva un lenguaje escrito para representar los algoritmos en forma de diagramas de flujo antes de pasarlos a un lenguaje de programación en concreto, el cual representa de manera simbólica los distintos pasos del algoritmo.

¿Qué es un algoritmo en informática?

Un algoritmo informático es una secuencia de instrucciones finitas que llevan a cabo una serie de procesos para dar respuesta a determinados problemas. Es decir, un algoritmo informático es capaz de resolver un problema determinado a través de unas instrucciones y reglas concisas, mostrando finalmente el resultado obtenido.

Los algoritmos son muy importantes en el mundo de la informática ya que permiten al programador resolver el problema antes de escribirlo en un lenguaje de programación que entienda la máquina, computador u ordenador. Antes de escribir el código de un programa hay que resolver con un algoritmo el problema que se nos está planteando.

Imagen creativa de código de programación

¿Cómo se hace o crea un algoritmo?

Todo algoritmo consta de tres partes.

Entrada: en la entrada o input del algoritmo será dónde se introduzcan todos aquellos datos que el algoritmo necesite para operar, funcionar o trabajar.

Procesamiento: con lo recibido en la entrada o input, el algoritmo realizará una serie de cálculos lógicos para resolver el problema.

Salida: los resultados obtenidos del proceso se mostrarán en la salida o output del algoritmo.

Para hacer un algoritmo hay que conocer y  tener en cuenta sus propiedades intrínsecas, es decir, cómo son: secuenciales, se procesan uno a uno, es decir, se procesa uno después de otro; precisos, esto quiere decir que deben ser objetivos a la hora de resolver el problema; ordenados, deben ser leídos y ejecutados de forma precisa; finitos, deben tener un número determinado de pasos; concretos, deben mostrar un resultado al problema resuelto; y definidos, ante los mismos inputs siempre deben obtenerse los mismos outputs.

En resumen, 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.

Tipos de algoritmo

De acuerdo con algunos de sus atributos los algoritmos pueden clasificarse de distintas formas:

Según su sistema de signos tenemos los algoritmos cualitativos (paso a paso) o cuantitativos (utilizan cálculos numéricos).

A los algoritmos que requieran el uso de un ordenador para su resolución se le conocen como algoritmos computacionales (siendo los no computacionales aquellos algoritmos que no requieran del uso de un ordenador).

Los algoritmos condicionales llegados a un punto del mismo, presentan varias acciones para ejecutarse y resolver el problema. Estas acciones no se presentan al azar sino que hay una condición previa según la cual se ejecutará una u otra acción.

Se conocen como algoritmos secuenciales aquellos con estructura secuencial, es decir, la salida de una secuencia es la entrada de la siguiente. (Laide linea de comandos es muy útil para este tipo de procesos)

Ejemplos de algoritmos

Un ejemplo de algoritmo cualitativo sería por ejemplo una receta de cocina, en la cual se van enumerando los pasos a realizar, uno a uno y de forma ordenada. Por otro lado, un ejemplo de algoritmo cuantitativo sería el cálculo que se necesita para determinar el área de un rectángulo, son aquellos que conllevan el uso de cálculos matemáticos para la obtención del resultado.

Para un algoritmo condicional podríamos ver un problema donde dados los catetos de un triángulo rectángulo, calcular su hipotenusa.

Analisis del problema

  1. Tenemos que leer la longitud de los dos catetos y calcular la hipotenusa.
  2. (Teorema de Pitágoras)
  3. Variables de entrada: cateto1(real), cateto2(real)
  4. Variables de salida: hipotenusa(real)

Diseño del algoritmo

  1. Leer la longitud de los catetos
  2. Calcular hipotenusa (En un triángulo rectángulo el cuadrado de la hipotenusa es igual a la suma de los cuadrados de los catetos). Por lo tanto la hipotenusa es igual a la raí­z cuadrada de la suma de los cuadrados de los catetos.
  3. Mostrar la hipotenusa
Proceso CalcularHipotenusa
	Definir cateto1,cateto2,hipotenusa Como Real;
	Escribir "Introduce el cateto 1:";
	Leer cateto1;
	Escribir "Introduce la cateto 2:";
	Leer cateto2;
	hipotenusa <- raiz(cateto1 ^ 2 + cateto2 ^ 2);
	Escribir "La hipotenusa es ",hipotenusa;
FinProceso

Un ejemplo actual de un algoritmo informático que se suele utilizar a diario, es el algoritmo de búsqueda de Google. Cuando entramos al buscador de Google y realizamos una búsqueda, lo que activamos es un algoritmo, que ejecuta Google y que nos devuelve una serie de resultados de búsqueda. En el caso de posicionamiento web o SEO, este algoritmo o algoritmos que utiliza Google, son fuentes de controversia, porque se desconoce su funcionamiento exacto y son muchos los que diariamente tratan de descifrarlo.

Aprende más en profundidad sobre cómo analizar problemas de desarrollo, diseño de algoritmos y diagramas de bloques con este curso de introducción a la programación.

Deja un comentario