viernes, 2 de septiembre de 2011

Fases de Resolucion de Problemas Algoritmos

Para empezar a programar primero tenemos que analizar y luego pensar una solucion al problema que se nos presenta , pues hoy veremos un poco de lo que tenemos que hacer cuando se desarrolle un sistema.

En el proceso de resolucion de un problema con una computadora se tienen que seguir ciertos pasos para la escritura y su ejecucion, aunque hay muchas formas de solucionar los problemas se pueden considerar una serie de pasos logicos que generalmente seguimos en algunos casos.
  • Analisis del problema
  • diseño del algoritmo
  • codificacion
  • compilacion y ejecucion
  • verificacion
  • depuracion
  • mantenimiento
  • documentacion
Antes de entrar de lleno en esos conceptos ya sabemos que un algoritmos es una serie de pasos logicos para llegar algun fin

Caracteristicas de un algoritmo
  • preciso (orden)
  • definido (logica)
  • finito (tiene fin)
Analisis del problema :


Esta fase requiere una clara definicion donde se contemple exactamente lo que debe hacer el programa y resultado o solucion deseada.

Para poder definir bien un problema es buenos hacer las siguientes preguntas:
  • Que entradas se requieren
  • Cual es la salida deseada
  • Cuales son las operaciones a realizar
Ejemplo:


Diseño del algoritmo :


En el analisis determinamos que hace el programa en el diseño determinamos como lo hara el programa.Aca se usa la tecnica de divive y venceras en algunos libros la mencionan en si es separar el programa por modulos para dividir carga pero que es un modulo a esto nos referimos con un subprograma .

El diseño del algoritmo es independiente del lenguaje de programacion a usar.

Herramientas de programacion:
Las dos herramientas mas utilizadas para diseñar son el diagrama de flujo o flujograma y pseudocodigos.

Diagrama de flujo :
Es la representacion grafica de un algoritmo.

Aca tenemos todos los elementos con los que construimos nuestros diagrama de flujo.


Pseudocodigo:
Aca escribimos palabras similares al ingles pero en español que facilitan la estritura y lectura de un programa en si es un lenguaje de especificaciones de algoritmos.

Codificacion :

Aca hacemos el programa ya en un lenguaje de programacion.Aca nos vamos cuenta si esta bien analizado o bien diseñado en esta parte es muy buena practica la documentacion interna del codigo.

Compilacion y ejecucion de un programa.
Aca compilamos en programa escrito y lo ejecutamos para ver si el resultado es el deseado y planteado en las anteriores etapas.

Verificacion y depuracion de un programa
Aca como bien lo dice verificamos que todo este en orden pero como somos humanos siempre saldran errores pero los errores se clasifican en:
  • Errores de compilacion : se producen por el uso incorrecto de las sintaxis del lenguaje de programacion
  • Errores de ejecucion : se producen por instrucciones que la computadora puede comprender pero no ejecutar como por ejemplo division por cero .
  • Errores logicos : son los mas dificiles de detectar ya que su fallo esta en el mal analisis y diseño del algoritmo aca no da ningun problema sino que los resultados obtenidos no son los deseados.
Documentacion y mantenimiento :


Esta es la parte que casi nadie le gusta pero es fundamental a la hora de corregir y darle mantenimiento al sistema. Aca se realizan los respectivos manuales del sistema.

programacion modular:
Es uno de los metodos de diseño mas potentes para mejorar la productividad de un programa.aca el programa se divide en modulos(partes independientes) cada modulo ejecuta una unica tarea y se programan independiente.

Dado que los modulos son independientes, diferentes programadores pueden trabajar simultaneamente en diferentes partes del mismo programa esto reducira tiempo y a la hora un error se podra depurar el modulo y no todo el sistema en si.

Bien algunos se preguntaran si esto se usa todavia y si se usa pero para aprender lo basico ahora hay diferentes etapas del software desde la vista orientada a objetos como el UML o otras tecnicas que se veran , mas adelante haremos ejercicios para aprender analizar y hacer un algoritmos y algunos tips mas.

comenten no sean bayuncos...

9 comentarios:

  1. Muy buena información... Yo apenas estoy tocando el tema de los Algoritmos y siento que has sido muy claro en tu explicación.

    ResponderEliminar
  2. Gracias por tú aporte, fácil he entendible, me aclaro ciertas dudas...

    ResponderEliminar
  3. haganlo en mapa conceptual :(

    ResponderEliminar
  4. gracias por la informacion, me ayudo en la tarea

    ResponderEliminar
  5. grasias por la informacion,, fue muy interesante

    ResponderEliminar