Programación estructurada Esta metodología de programación : Permite utilizar sentencias de bifurcación condicional estandarizadas. Facilita leer la codificación del programa de inicio a fin en forma continua. No se acepta el uso de saltos incondicionales en el programa. Permite dividir el programa en subprogramas (módulos).
John Von Newman --> describir el concepto de "programa almacenado". ENTRADA PROCESAMIENTO SALIDA MEMORIA La memoria se ve como un conjunto de celdas, las cuales almacenan números. Estos números pueden representar dos cosas: 1. los datos, sobre los que va a trabajar el programa; o bien, 2. el programa en sí. El objetivo es transformar datos en información.
La solución de cualquier problema puede darse en varias formas o niveles de abstracción. Niklaus Wirth expone que: Nuestra herramienta mental más importante para competir con la complejidad es la abstracción. Por tanto, un problema complejo no deberá considerarse inmediatamente en términos de instrucciones de un lenguaje, sino de elementos naturales del problema mismo, abstraídos de alguna manera.
Características deseables de un programa Integridad Claridad Sencillez Eficiencia Modularidad Generalidad
Características deseables Integridad. Se refiere a la corrección de los cálculos. 1+1=1 correcto 1+1=2 incorrecto
Características deseables Claridad. Se refiere a la facilidad de lectura del programa en conjunto, con particular énfasis, en la lógica subyacente. Esta claridad permite que otro programador o él que escribe el programa sigan la lógica del programa sin mucho esfuerzo.
Características deseables Sencillez. Al hacer un programa, es favorable tomar en cuenta que en ocasiones se puede llegar a sacrificar cierta cantidad de eficiencia computacional para no complicar la estructura del programa. En ocasiones es mas sencillo hacer un programa pequeño sin módulos en lugar de hacer uno con módulos.
Características deseables Eficiencia. Relacionada con la velocidad de ejecución y la buena utilización de la memoria. Dos programas pueden hacer lo mismo, pero uno puede ser mas eficaz que el otro. Uno con poco código, y mejor manejo de memoria, y otro con mucho código pero con una sobrecarga en el uso de la memoria.
Características deseables Modularidad. Los programas se pueden dividir un pequeñas subtareas. El diseño modular de los programas aumenta la corrección y claridad de éstos y facilita los posibles cambios futuros del programa. programa modulo modulo modulo
Características deseables Generalidad. El objetivo es que un programa pueda ser usado para operar una mayor cantidad de veces, con datos diferentes, para que pueda servir a más de un usuario. Leer ciertos datos en lugar de establecerlos como valores fijos. num1 + num2 = resultado
Las fases de un programa comprenden: Diseño: se dan las especificaciones en lenguaje natural y se crea un primer modelo matemático apropiado. La solución en esta etapa es un algoritmo expresado de manera muy informal. Implementación: El programador convierte el algoritmo en código, siguiendo alguna de las 3 metodologías o estilos de programación existentes: descendente, ascendente y ad hoc. Pruebas: Estudio de casos con datos de prueba, para detectar problemas en la ejecución del programa. Es un material que se estructura en base a un conjunto de datos que serán probados en el programa para detectar posibles errores. Esto no quiere decir que el diseño no tenga errores.
Los pasos generales para realizar un programa son: 1. Análisis y propuesta de solución al problema: aquí se identifica el tipo de problema y el área a la que pertenece. Se piensa también en posibles soluciones, con sus tiempos establecidos. 2. Identificación de variables constantes y actores involucrados en el problema: son las tres cosas que nos pueden cambiar al problema o alterar su curso. 3. Planificación del programa: se elige el lenguaje de programación a trabajar dependiendo de la solución y se crea el plan de trabajo el cual contiene la búsqueda bibliografía del problema y el cronograma de cada una de las etapas de los que consta la solución al problema.
pasos generales para realizar un programa 4. Algoritmo: desarrollo de la secuencia lógica de pasos para la solución del problema 5. Diagramas de Flujo: seguir los pasos del algoritmo verificando que el problema se resuelva correctamente. 6. Desarrollo de las especificaciones: cuando se elige el lenguaje de programación, existen variables, constantes y actores que hay que declarar antes de comenzar el programa, o si se va a utilizar ecuaciones matemáticas o funciones, las cuales requieren de cierta manera de escribirse dentro del programa. Estas especificaciones involucran algunas características del problema y ciertas características del lenguaje seleccionado.
pasos generales para realizar un programa 7. Codificación y Depuración (se requiere conocer la sintaxis del lenguaje): conversión del algoritmo en un programa, escribiéndolo en un lenguaje de programación lo más eficientemente posible. 8. Ejecución y verificación de errores: introducir el programa en la memoria, ejecutarlo y probar sus resultados, corrigiendo los errores hasta su punto final de tal forma que se obtenga la solución a su problema. 9. Prueba Final: Se tiene la plena seguridad de que el problema quedo resuelto ya que se agotaron todas las pruebas posibles de que el programa no falle al introducir ciertos valores o rangos de valores. 10. Documentación: mantenimiento y creación de los documentos descriptivos como el manual del programador y manual del usuario.