Este documento define un algoritmo y describe sus características principales. Un algoritmo es un conjunto de instrucciones definidas y no ambiguas para resolver un problema. Surgen del trabajo del matemático Al-Khwarizmi en el siglo IX. Los algoritmos deben ser precisos, definidos, finitos y legibles. Pueden representarse usando lenguaje natural, pseudocódigo o diagramas de flujo. Existen varios tipos de algoritmos como cualitativos, cuantitativos, de ordenamiento y búsqueda.
2. CONCEPTO DE ALGORITMO
En matemáticas, lógica, ciencias de la computación y
disciplinas relacionadas, un algoritmo es un conjunto de
instrucciones o reglas definidas y no-ambiguas,
ordenadas y finitas que permite, típicamente, solucionar
un problema, realizar un cómputo, procesar datos y llevar
a cabo otras tareas o actividades
El origen del término 'algoritmo' surgió a mediados
del siglo IX cuando el distinguido matemático y
astrónomo Mohammed Ibn Musa-al-Khwarizmi
desarrolló en su obra "Al-yebr-mugabata" fórmulas
para posibilitar que con un número limitado de
procesos fuese posible resolver ecuaciones de
primer y segundo grado.
3. CARACTERISTICAS
Las características fundamentales que debe cumplir todo algoritmo son:
Un algoritmo debe ser preciso: tiene que indicar el orden de realización de cada
paso.
Un algoritmo debe estar definido: Si se sigue un algoritmo dos veces, se debe
obtener el mismo resultado cada vez.
Un algoritmo debe ser finito: el algoritmo se debe terminar en algún momento; o
sea, debe tener un número finito de pasos.
Un algoritmo debe ser legible: El texto que lo describe debe ser claro, tal que
permita entenderlo y leerlo fácilmente.
Un algoritmo debe definir tres partes: Entrada, Proceso y Salida.
4. FORMAS DE REPRESENTAR UN ALGORITMO
Los algoritmos pueden ser expresados de muchas maneras, incluyendo al
lenguaje natural, pseudocódigo, diagramas de flujo y lenguajes de
programación entre otros. Las descripciones en lenguaje natural
tienden a ser ambiguas y extensas. El usar pseudocódigo y diagramas
de flujo evita muchas ambigüedades del lenguaje natural. Dichas
expresiones son formas más estructuradas para representar
algoritmos; no obstante, se mantienen independientes de un lenguaje
de programación específico.
Lenguaje natural
Pseudocódigo
Diagramas de Flujo
Diagramas estructurados
5. CLASIFICACION DE ALGORITMOS
–Algoritmos cualitativos: cuando se hace a través de
palabras, es decir, las instrucciones son verbales.
Sucede, por ejemplo, con recetas de cocina.
–Algoritmos cuantitativos: cuando se hace a través de
cálculos numéricos. Se puede hacer un algoritmo, por
ejemplo, para obtener la raíz cuadrada de un número.
–Algoritmos de ordenamiento: secuencian los elementos
que ingresan a partir de un cierto orden, en general,
según un orden numérico o léxico.
–Algoritmos de búsqueda: al contrario de realizar
operaciones o secuenciar elementos, se dedica a
encontrar dentro de una lista que ingresa, uno o varios
elementos en particular que cumplan con el conjunto de
condiciones dadas.
–Algoritmos de encaminamiento: deciden de qué modo
se deberá transmitir algo que llega, y cómo seguirá un
conjunto de pasos encadenados.