TÉCNICAS DE utilidad 

Técnicas de desarrollo de algoritmos

Definición del problema


En este paso se determinan la información inicial para la elaboración del programa. Es donde se determina qué es lo que debe resolverse con el computador, el cual requiere una definición clara y precisa. Es importante que se conozca lo que se desea que realice la computadora; mientras esto no se conozca del todo no tiene mucho caso continuar con la siguiente etapa.

Análisis del problema

Una vez que se ha comprendido lo que se desea de la computadora, es necesario definir:
  1. Los datos de entrada.
  2. Cuál es la información que desea producir (salida).
  3. Los datos y formulas que se necesitan para procesar los datos.
Una recomendación muy práctica es el de colocarse en el lugar de la computadora y analizar qué es lo que se necesita que se ordene y en qué secuencia para producir los resultados esperados.

Diseño del algoritmo

  1. Las características de un buen algoritmo son:
  2. Debe tener un punto particular de inicio.
  3. Debe ser definido, no debe permitir dobles interpretaciones.
  4. Debe ser general, es decir, soportar la mayoría de las variantes que se puedan presentar en la definición del problema.
  5.  Debe ser finito en tamaño y tiempo de ejecución.

Codificación


La codificación es la operación de escribir la solución del problema (de acuerdo a la lógica del diagrama de flujo o pseudocódigo), en una serie de instrucciones detalladas, en un código reconocible por la computadora, la serie de instrucciones detalladas se le conoce como código fuente, el cual se escribe en un lenguaje de programación o lenguaje de alto nivel.
Prueba y depuracion
Se denomina prueba de escritorio a la comprobación que se hace de un algoritmo para saber si está bien hecho. Esta prueba consiste en tomar datos específicos como entrada y seguir la secuencia indicada en el algoritmo hasta obtener un resultado, el análisis de estos resultados indicará si el algoritmo está correcto o si por el contrario hay necesidad de corregirlo o hacerle ajustes.

Diseño decente

Es una técnica natural de desarrollo de algoritmos. Consiste en comenzar trabajando a nivel abstracto, para ir dividiendo el problema en sus partes naturales. De esta forma el problema a resolver se descompone en otros más simples, hasta llegar a problemas suficientemente pequeños como para ser resueltos directamente. Usando este método, se van generando soluciones del problema a distintos niveles de detalle. En cada nivel la solución podrá ser comprobada y depurada, antes de pasar a resolver los módulos que la forman a un nivel más bajo. El algoritmo resuelto de esta forma, se puede representar por un árbol en que cada nodo es un módulo (un problema o acción hipotética). El nodo raíz es el problema de partida. El algoritmo será correcto si la solución dada a cada nivel es correcta. El programa podría construirse de abajo a arriba creando primero procedimientos que resuelvan los módulos de detalle, que una vez comprobados serán usados por otros procedimientos más generales. Otra ventaja del diseño descendente es su adaptación a la programación estructurada. Un programa estructurado puede representarse en forma de árbol

Refinación progresiva de solución

Seudocódigo y diagrama de flujo
Un diagrama de flujo es la representación grafica de un algoritmo. También se puede decir que es la representación detallada en forma grafica de cómo deben realizarse los pasos en la computadora para producir resultados. Esta representación grafica se da cuando varios símbolos (que indican diferentes procesos en la computadora), se relaciona entre si mediante líneas que indican.

Seudocódigo

Mezcla de lenguaje de programación y español (o ingles o cualquier otros idioma) que se emplea, dentro de la programación estructurada, para realizar el diseño de un programa.
En esencial, el seudocódigo se puede definir como un lenguaje de especificación de algoritmos. Es la presentación narrativa de los pasos que debe seguir un algoritmo para dar solución a un problema determinado.

 

Prueba de escritorio


La prueba de escritorio es una herramienta útil para entender que hace un determinado algoritmo, o para verificar que un algoritmo cumple con la especificación sin necesidad de ejecutarlo.
Básicamente, una prueba de escritorio es una ejecución ‘a mano’ del algoritmo, por lo tanto se debe llevar registro de los valores que va tomando cada una de las variables involucradas en el mismo.

 

Contacto

Red de Educación Computacional a Distancia México 5518898349 recd_compani@hotmail.com