*Fases en la resolucion de problemas:
+analisis.
+diseño.
+codificaciion.
+ejecucion, verificacion y depuracion.
+mantenimiento.
+documentacion.
*Analisis del problema:
Para analisar y comprender bien un problema es conveniente responder a las siguientes preguntas:
+ ¿Que entradas se requieren?
+ ¿Cual es la salida deseada?
+ ¿Que metodo reproduce la salida deseada?.
*Diseño del algoritmo.
En esrta etapa se determina como hace el programa la tarea solicitada. Los metodos mas eficintes para la solucion de un problema se basasn en la frace divide y venceras. Es decir, hay que dividir un problema en subproblemas para hacer la elavoracion del problema mas facil.
*Herramientas de la programacion:
+ Diagramas de flujo.
+ El pseudocodigo.
*Codificacion de un programa:
Es la escritura en unlenguaje de programacion de la representacion del algoritmo desarrollado en las etapas procedientes. Dado que el diseseño de un algoritmo es independiente del lenguaje de programacion utilizado para su implementacion, el codigo puede ser escrito por igual facilidad en un lenguaje o en otro.
*Compilacion y ejecucion de un programa:
+programa fuente: Debe ser traducido a lenguaje maquina.
+programa objeto: No es ejecutable todavia.
+montaje o enlace: Es la cargta del programa objeto con las bibliotecas del programa.
*Verificacion y depuracion de un programa:
+Verificacion: Es el proceso de ejecucion de un programa con la amplia variedad de entradas, llamadas datos de test o pruebas..!
+Depuracion: Es el proceso de encontrar los errores del programa y corregirlos.
* Documentaciòn y mantenimiento:
La documentacion debe ser destacada por su decisiva influencia del producto final. La documentacion de un programa puede ser interna o externa. La documentacion es vital para poder corregir posibles errores futuros.
*Programacion modular:
Esta programacion modular se basa es dividir un modulo en varios submodulos para poder hacer que cada uno se encargue de diferentes tareas pero que todos esten coordinados. Esta tecnica de programacion se basa en la frace ^
divide y venceras^.
*Programacion estructurada:
esto significa escribir un programa deacuerdo a las siguientes reglas:
+ el problema tiene un diseño modular.
+ los modulos son diseñados de modo descendente.
+ cada modulo se codifica utilizando las tres estructuras de control basicas: secuencia, seleccion y repeticion.
*Recursos abstractos:
La programacion estructurada se auxilia de los recursos abstractos en lugar de los recursos concretos de que dispone un determinado lenguaje de programacion.
*Diseño descendente..(topdown)
Es un proceso lineal, que pasa por todas las ejecuciones de inicio a fin.
*Estructuras de control:
Son metodos para especificar el orden en que las instrucciondes del algoritmo se ejecutan. A este orden se le llama flujo de control.
Las tres estructuras de control son:
+secuencia.
+seleccion.
+repeticion.
*Teorema de la programacion estructurada: estructuras basicas.
Bôhm y jacopin demostraron que un programa propio puede ser escrito utilizando solamente tres tipos de estructuras de control:
+secuenciales.
+selectivas.
+repetitivas.
*Concepto y caracteristicas de algoritmo: