# data[].attributes.body
Liana Valentina Angel Castro
Oscar Santiago Barbosa Salinas

# data[].attributes.headline
Fases para la resolución de un problema 

# data[].attributes.subject
Fases para la resolución de un problema 

# data[].attributes.body
1. Análisis previo al problema: se debe definir y tener claro lo que el programa tiene que hacer junto con las tareas que debe realizar para llevar a cabo la solución, qué datos necesito para realizar la tareas, que formato deben tener los datos de entrada, de donde provienen los datos de entrada, como se obtienen esos datos

2. diseño del algoritmo: después de haber definido todas la entradas y salidas que va tener el programa, también las tareas a realizar, es hora de diseñar el algoritmo y que irá de acuerdo a todas las especificaciones anteriores y posteriormente será implementado en un lenguaje de programación para ser ejecutado por la computadora.

3. configuración del entorno del desarrollo y codificación: Esta etapa consiste en transcribir o adaptar el algoritmo a un lenguaje de programación, se tendrá que adaptar todos los pasos diseñados en el algoritmo con sentencias y sintaxis propias del lenguaje.

Verificar errores, organizar el código y comentarlo, son buenas prácticas que hacen programas más legibles y facilitan la depuración.

4. complicación y pruebas: La fase de compilación permitirá detectar errores en tiempo de compilación, ejecución y lógicos.

5. documentación y mantenimiento:
a veces es un poco tedioso esta fase pero también es muy importante ya que muchas veces suceden modificaciones con el pasar del tiempo y estas se hace en algunos casos por otros programadores diferentes a los que lo crearon

# data[].attributes.headline
Tipos de representaciones de un algoritmo 

# data[].attributes.subject
Tipos de representaciones de un algoritmo 

# data[].attributes.body
Las principales maneras de representación de un algoritmo son a través de código fuente haciendo uso de un lenguaje de programación, a través de pseudocódigo, a través de un diagrama de flujo o a través de un sistema formal.

Código fuente

Un código fuente se define como una serie de instrucciones secuenciales, escritas en un lenguaje de programación determinado que, a través de un compilador o intérprete, éste puede ser ejecutado en una máquina.

Pseudocódigo

El pseudocódigo de un programa informático representa la descripción del algoritmo en un lenguaje de alto nivel, sin que éste sea capaz de ser procesado por una máquina. Se considera uno de los pasos previos a la escritura del código fuente.

Diagrama de flujo

Un diagrama de flujo representa de manera gráfica un algoritmo, teniendo en cuenta todos los posibles resultados y condiciones dentro de dicho gráfico. De manera general, se utiliza el lenguaje

Sistema formal

Un sistema formal es una manera de representar un problema haciendo uso de un sistema abstracto, a través de reglas de inferencia, axiomas, y un lenguaje formal, y que tiene por objetivo demostrar teoremas.

# data[].attributes.body
Precisos. Objetivos, sin ambigüedad.

Ordenados. Presentan una secuencia clara y precisa para poder llegar a la solución.

Finitos. Contienen un número determinado de pasos.

Concretos. Ofrecen una solución determinada para la situación o problema planteados.

Definidos. El mismo algoritmo debe dar el mismo resultado al recibir la misma entrada.

# data[].attributes.body
Un algoritmo informático es un conjunto de instrucciones definidas, ordenadas y acotadas para resolver un problema, realizar un cálculo o desarrollar una tarea. Es decir, un algoritmo es un procedimiento paso a paso para conseguir un fin. A partir de un estado e información iniciales, se siguen una serie de pasos ordenados para llegar a la solución de una situación.