Algoritmo

Na Galipedia, a Wikipedia en galego.
Este é un dos 1000 artigos que toda Wikipedia debería ter.

Un algoritmo é un conxunto ordenado e finito de operacións sinxelas que conducen á resolución dun problema, como por exemplo a formulación programática paso a paso para producir unha serie de resultados nun programa en informática. Máis especificamente, en matemáticas, constitúe o conxunto de procesos (e símbolos que os representan) para efectuar un cálculo. Os algoritmos poden poñer en funcionamento os programas de computadores.

A palabra algoritmo ten orixe no alcume Al-Khwarizmi, do matemático persa do século IX, Mohamed ben Musa, cuxas obras foron traducidas no occidente cristián no século XII, recibindo unha delas o nome "Algorithmi de numero indorum", sobre os algoritmos usando o sistema de numeración decimal (indiano). Outros autores, con todo, defenden a orixe da palabra en Al-goreten (raíz - concepto que se pode aplicar aos cálculos).

O concepto de algoritmo é frecuentemente ilustrado co exemplo dunha receita, aínda que moitos algoritmos sexan máis complexos. Eles poden repetir pasos (facer interaccións) ou necesitar de decisións (tales como comparacións ou lóxica) ata que a tarefa sexa completada. Un algoritmo correctamente executado non irá resolver un problema se o algoritmo estiver incorrecto ou non for apropiado ao problema.

Un algoritmo non representa, necesariamente, un programa de computador, e si os pasos necesarios para realizar unha tarefa. A súa implementación pode ser feita por un computador, por outro tipo de autómata ou mesmo por un ser humano.
Diferentes algoritmos poden realizar a mesma tarefa usando un conxunto diferenciado de instrucións en máis ou menos tempo, espazo ou esforzo do que outros. Por exemplo, un algoritmo para se vestir pode especificar que vostede vista primeiro as medias e os zapatos antes de vestir a calza en canto outro algoritmo especifica que vostede debe primeiro vestir a calza e despois as medias e os zapatos. Fica claro que o primeiro algoritmo é máis difícil de executar que o segundo.

Algoritmos e linguaxes de programación de computadores[editar | editar a fonte]

Xeralmente, os algoritmos descríbense informalmente nunha linguaxe próxima da lingua natural, máis facilmente comprendida por un ser humano do que por un computador. Un algoritmo pode, na maior parte dos casos, ser implementado en calquera linguaxe de programación.

Formalizando algoritmos[editar | editar a fonte]

Un programa de computador é esencialmente un algoritmo que di ao computador os pasos específicos e en que orde eles deben ser executados, como por exemplo, os pasos a seren tomados para calcular as notas que serán impresas nos boletíns dos alumnos dunha escola.
Para calquera proceso computacional, o algoritmo precisa estar rigorosamente definido, especificando a maneira que el se comportará en todas as circunstancias.
A correctitude do algoritmo pode ser probada matematicamente, ben como a cantidade asintótica de tempo e espazo (complexidade) necesarios para a súa execución. Estes aspectos dos algoritmos son albo da análise de algoritmos.

Implementación[editar | editar a fonte]

Hai hoxe unha grande variedade de linguaxes de programación, cada unha con características específicas que poden facilitar a implementación de determinados algoritmos ou atender a propósitos máis xerais.
Os algoritmos non se implementan só como programas para computadores, senón que tamén se poden implementar en circuítos eléctricos ou ata no noso cerebro cando executamos operacións aritméticas.
A análise de algoritmos é unha rama da ciencia da computación que estuda as técnicas de proxecto de algoritmos e os algoritmos de forma abstracta, sen estaren implementados nunha linguaxe de programación en particular ou implementadas dalgún outro modo. Un medio de exhibir un algoritmo é mostrar o seu pseudocódigo.

Algoritmo en Pseudocódigo[editar | editar a fonte]

Exemplo dun algoritmo que irá retornar a suma de dous valores (tamén coñecidos como parámetros ou argumentos) que son introducidos na chamada da función:

 función SomaDeDousValores (A numérico, B numérico)
 {
   declara SUMA numérico
   SUMA <-- A + B
   retorna SUMA
 }


Exemplo dun algoritmo (WinPseudo 1.4) que irá imprimir todos os números menores que <Limite>:

#-----------------------------------------
#  PseudoCodigo para imprimir todos os 
#  numeros menores que <Limite>              
#-----------------------------------------


INICIO Programa1 - Imprime Todos os Numeros menores que <J>

     VAR
        NUMERICO i
        NUMERICO Limite
     FIN-VAR

     LER (Limite)
     IMPRIMIR NL

     i = 0
     MENTRAS (i < Limite)
        IMPRIMIR ENTEIRO (i)
        IMPRIMIR ", "
        i = i + 1
     FIN-MENTRAS

FINAL

Véxase tamén[editar | editar a fonte]

Outros artigos[editar | editar a fonte]

Ligazóns externas[editar | editar a fonte]