# data[].attributes.body
es un conjunto reescrito de instrucciones o reglas bien definidas, ordenadas y finitas que permite realizar una actividad mediante pasos sucesivos que no generen dudas a quien lo ejecute.

# data[].attributes.attachment_link.readable_text
Te explicamos qué es un algoritmo, para qué sirve y cuáles son sus características principales. Además, pasos para formularlo.

¿Qué es un algoritmo?

Se llama algoritmo a un conjunto ordenado y estructurado de instrucciones, pasos lógicos o reglas predefinidas, finitas y jerarquizadas, cuyos pasos sucesivos permiten llevar a cabo una tarea o resolver un problema, efectuando la toma de decisiones pertinente sin dudas ni ambigüedades.

Los algoritmos son esquemas de pensamiento muy utilizados en la vida cotidiana. Algunos ejemplos son los manuales de usuario paso por paso o las guías operativas del software utilizadas en la programación y la computación como guías.

Sin embargo, no existe consenso respecto a una definición formal de lo que es. Esto no ha impedido su uso en las matemáticas desde tiempos inmemoriales hasta hoy.

Características de un algoritmo

Las instrucciones y los pasos contenidos en un algoritmo deben ser precisos, es decir, no deben dejar margen para ningún tipo de ambigüedad.

Esto se debe a que sus instrucciones deben poder seguirse y comprenderse a cabalidad, o de lo contrario el diagrama de flujo en el que se inscribe no arrojará el resultado correcto.

Todo algoritmo debe estar perfectamente definido, es decir, se lo debe seguir cuantas veces sea necesario obteniendo cada vez siempre el mismo resultado.

De lo contrario, el algoritmo no será fiable y no servirá como guía en la toma de decisiones.

Los algoritmos deben ser finitos: deben terminar en algún momento o arrojar un resultado al final de sus pasos.

Si el algoritmo se prolonga indefinidamente, regresando a algún punto inicial sin poderse resolver jamás, estaremos en presencia de una paradoja o un " loop " de repeticiones.

La legibilidad de los algoritmos es clave, pues si su contenido es incomprensible no podrán seguirse las instrucciones adecuadas. Esto implica una redacción directa, clara y concisa del texto contenido en cada uno.

Todo algoritmo presenta tres partes distintas: entrada, proceso y salida.

Entrada. La instrucción inicial que da pie al algoritmo y que motiva su lectura. Puede llamarse también inicio, cabecera o punto de partida.

Proceso. Se trata de la elaboración puntual ofrecida por el algoritmo, el cuerpo de sus claves para formular una instrucción. También puede llamarse declaraciones.

Salida. Por último, están las instrucciones puntuales dictaminadas por el algoritmo, es decir, sus resoluciones o comandos. También puede llamarse cuerpo, pie o fin.

Existen diversas clasificaciones de los algoritmos, en base a distintas características. Algunos pueden ser:

Según su sistema de signos. Conforme a la manera en que describen los pasos a seguir, podemos hablar de:

Algoritmos cualitativos. Emplean texto y caracteres verbales para impartir sus instrucciones. Por ejemplo, una receta de cocina.

Algoritmos cuantitativos. Emplean cálculos numéricos y operaciones algebraicas. Por ejemplo, una multiplicación.

Según sus funciones. De acuerdo a las funciones del algoritmo, podemos hablar de:

Algoritmos de ordenamiento. Establecen una secuencia de algún tipo para el ingreso de algún tipo de datos.

Algoritmos de búsqueda. Como su nombre lo indica, permite recuperar de una lista específica una serie de elementos determinados.

Algoritmos de encaminamiento. Determinan qué proceso seguirá una instrucción o cómo deberá transmitirse un conjunto de datos. Pueden ser adaptativos (se adaptan al problema) o estáticos (siempre operan igual).

Según su estrategia. Conforme al método empleado para arrojar sus resultados, podemos estar en presencia de:

Algoritmos probabilísticos. Ofrecen un margen de probabilidad como resultado, de modo que no hay total certeza de su precisión.

Algoritmos heurísticos. Se emplean cuando los métodos tradicionales fallan en arrojar una solución ya que abandonan algún objetivo para alcanzar un resultado posible.

Algoritmos cotidianos. Aquellos usados en la toma cotidiana de decisiones y que pertenecen al ámbito de los más sencillos.

Algoritmos de escalada. Modifican el proceso a medida que la solución es insatisfactoria (no cumple con la entrada y salida) hasta aproximarse a lo buscado.

Algoritmos deterministas. Operan de manera lineal, de modo que sus resultados pueden ser predichos y pueden aplicarse a procesos controlados.

El trabajo con algoritmos presenta las siguientes virtudes y flaquezas:

Ventajas. Permiten el ordenamiento secuencial de los procesos y disminuyen, por lo tanto, el rango posible de errores, ayudando a resolver más rápido y más fácil los problemas planteados. Además, son precisos y permiten ceñirse a una guía específica.

Desventajas. Suelen requerir de conocimiento previo y sobre todo técnico, ya que a menudo los algoritmos se expresan (excepto los más cotidianos y sencillos) en un lenguaje adaptado al caso en cuestión. Por otro lado, la confianza ciega en un método lógico para resolver los problemas puede obviar soluciones creativas más innovadoras pero impredecibles.

Para plantear un algoritmo adecuado es preciso seguir estos tres pasos:

Enunciar el problema. Esto es clave, ya que la manera en que planteemos el problema será el enfoque específico que nos servirá para alcanzar una solución. Se debe recopilar datos, abordar el problema desde una perspectiva amplia y a la vez puntual.

Analizar la solución general. Se debe cotejar los datos previos con las posibles soluciones y explorar las áreas de trabajo, fórmulas y otras herramientas posibles. Luego, aproximarse a diversas tentativas de solución.

Elaborar el algoritmo. Una vez elegido el camino a seguir, se debe elegir el tipo de algoritmo adecuado y plantearlo, para luego ponerlo a prueba y determinar si es exactamente la solución deseada.

Los algoritmos suelen representarse mediante lenguaje natural (verbal), códigos de todo tipo, diagramas de flujo, lenguajes de programación o simplemente operaciones matemáticas. Suele aplicarse también un diagrama visual.

Dos ejemplos de algoritmo pueden ser:

Matemático. Para determinar el promedio de cuatro calificaciones escolares: 10, 9, 8, 7.

Inicio

Sumatoria de las notas 10 + 9 + 8 + 7 = 34

División entre el número de notas 34 / 4 = 8.5

Resultado 8.5

Fin

Verbal. Para hacer un batido de melón.

Inicio

Pelar el melón y picarlo en cubos.

Insertar los cubos en una licuadora.

Enchufar la licuadora si no está enchufada

Encender la licuadora y licuar durante 2 minutos

Apagar la licuadora y desenchufarla

Colar el jugo y servirlo en una jarra

Fin

# data[].attributes.attachment_link.description
Te explicamos qué es un algoritmo, para qué sirve y cuáles son sus características principales. Además, pasos para formularlo. Se llama algoritmo a un conjunto ordenado y estructurado de instrucciones, pasos lógicos o reglas predefinidas, finitas y jerarquizadas, cuyos pasos sucesivos permiten llevar a cabo una tarea o resolver un problema, efectuando la toma de decisiones pertinente sin dudas ni ambigüedades.

# data[].attributes.body
sus instrucciones deben poder seguirse y comprenderse a cabalidad.
*cabalidad* En una forma exhaustiva o completa.

# data[].attributes.body
se debe seguir cuantas veces sea necesario obteniendo cada vez siempre el mismo resultado.

# data[].attributes.attachment_link.title
Formas de representar un algoritmo - Algorítmica y Programación

# data[].attributes.attachment_link.description
Es una descripción de alto nivel de un algoritmo que emplea una mezcla de lenguaje natural con algunas convenciones sintácticas propias de lenguajes de programación, como asignaciones, ciclos y condicionales, aunque no está regido por ningún estándar.

# data[].attributes.body
seguir un proceso de ejecución común y lógico, describiendo textualmente paso a paso cada una de las actividades a realizar para resolver un problema determinado.
EJ.

Realizar un algoritmo que indique los pasos para hacer un huevo frito.

1. INICIO

2. Poner aceite en la sartén

3. Colocar la sartén al fuego

4. Romper el huevo haciendo caer el contenido en la sartén.

5. Tirar las cáscaras a la basura

6. Poner sal en la yema

7. Si el huevo está sólido, ir a l paso 8, sino esperar

8. Servir el huevo en el plato

9. Limpiar la sartén

10. FIN

# data[].attributes.body
mezcla de lenguaje natural con algunas convenciones sintácticas propias de lenguajes de programación, como asignaciones, ciclos y condicionales, aunque no está regido por ningún estándar.
EJ.

1. ALGORITMO Mostrar;

2. VAR

3.     ENTERO entrada;

4. INICIO

5.     ESCRIBIR("Dame un número");

6.     LEER( entrada );

7.     ESCRIBIR( entrada );

8. FIN

# data[].attributes.body
deben terminar en algún momento o arrojar un resultado al final de sus pasos.

# data[].attributes.body
debe tener una redacción directa, clara y concisa del texto contenido en cada uno.

# data[].attributes.headline
Reglas para la Construcción de un Algoritmo.                Para la realización de un algoritmo es necesario realizar una secuencia de pasos para llegar a cumplir con la resolución de un problema dado

# data[].attributes.subject
Reglas para la Construcción de un Algoritmo.                Para la realización de un algoritmo es necesario realizar una secuencia de pasos para llegar a cumplir con la resolución de un problema dado

# data[].attributes.body
1. Análisis previo del Problema

2. Definición de Requerimientos

3. Identificación de los Módulos

4. Realización de los Algoritmos

5. Implementar Algoritmos

# data[].attributes.attachment_link.title
Guía 2 Lección 2: Construcción de algoritmos

# data[].attributes.body
símbolos conectados con flechas para indicar la secuencia de instrucciones y están regidos por ISO.