1. 3.6 Prospectiva: límites, alcances y riesgos de la programación
1.1. El alcance de una asociación es la región de un programa en la cual dicha asociación está activa y visible. Simplifica la adaptación de rutinas en algunos casos: en lugar de pasar argumentos, las rutinas pueden usar variables que sean controladas por alcance dinámico.
1.2. Existen dos tipos de limites que se deben tomar en cuenta al momento de realizar soluciones a los problemas:
1.2.1. Limitante de tiempo: La limitante de tiempo de ejecución se refiere al tiempo en que tu programa tarda en ejecutarse. Este tiempo incluye el tiempo que el programa tarda en leer los datos de entrada, procesar todos los datos e imprimir los datos de salida.
1.2.2. Limitante de memoria: El límite de memoria se refiere a la cantidad y el tamaño de las variables que ocupe tu programa, mas sin en cambio, esto pocas veces se toma en cuenta dado a la gran capacidad de memoria que tienen las computadoras hoy en día.
1.3. Riesgos
1.3.1. Riesgos de integridad. Entre los riesgos que se ve expuesta una organización, están los que amenazan la integridad los riesgos asociados con la autorización
1.3.2. Los riesgos de relación se refieren al uso oportuno de la información creada por una aplicación. Estos riesgos se relacionan directamente a la información de toma de decisiones (Información y datos correctos de una persona/proceso/sistema correcto en el tiempo preciso permiten tomar decisiones correctas).
1.3.3. Estos riesgos se enfocan al inapropiado acceso a sistemas, datos e información. Estos riesgos abarcan: Los riesgos de segregación inapropiada de trabajo, los riesgos asociados con la integridad de la información de sistemas de bases de datos y los riesgos asociados a la confidencialidad de la información.
1.3.4. Estos riesgos se refieren a que en las organizaciones no existe una estructura información tecnológica efectiva (hardware, software, redes, personas y procesos) para soportar adecuadamente las necesidades futuras y presentes de los negocios con un costo eficiente.
2. 3.7 Elaboración de algoritmos y/o diagramas de flujo para la solución de los problemas planteados (fórmulas matemáticas, figuras geométricas, juegos, etc.)
2.1. https://youtu.be/SZTXmCbfjP0
2.2. Un algoritmo es una serie de instrucciones secuenciales, es decir, que van uno después del otro, que permiten ejecutar acciones o programas. Sin ellos nadie sabría qué hacer, y son los que garantizan que el edificio sea como se lo imaginó el arquitecto y funcione, de tal forma que no encuentres el baño adentro del elevador.
3. 3.8 Pruebas de escritorio para validar los algoritmos y/o diagramas de flujo
3.1. Las pruebas de escritorio son simulaciones del comportamiento de un algoritmo que permiten determinar la validez del mismo. Consisten en generar una tabla con tantas columnas como variables tenga el algoritmo y seguir las instrucciones poniendo los valores correspondientes
3.2. Pruebas de escritorio ejemplo - Google Search
4. 3.9 Elección del paradigma y del lenguaje apropiado para codificar, incluyendo la comprensión de su sintaxis y aplicando su conocimiento del inglés
4.1. Programación imperativa
4.1.1. Los primeros lenguajes de programación y, por extensión, también los primeros programas informáticos, se basaban completamente en este enfoque, que prevé una secuencia regularizada de órdenes o instrucciones determinadas. Este paradigma de programación es la base,
4.1.2. La programación estructurada, la procedimental y la modular son tres enfoques adicionales subordinados al paradigma de programación imperativa para escribir y estructurar código software.
4.2. Programación declarativa
4.2.1. El principio fundamental de la programación declarativa radica en la descripción del resultado final que se busca. Por lo tanto, en primera línea se encuentra el “qué” del resultado y no el “cómo” de los pasos que llevan a la solución
4.2.2. sto provoca que el código de la programación declarativa sea más difícil de comprender debido al alto grado de abstracción, aunque resulta muy corto y preciso.
5. 3.10 Programación y comprobación de la solución del problema computable
5.1. Metodología para la solución de problemas por medio de computadoras.
5.1.1. https://andresmtzg.wordpress.com/2012/09/27/metodologia-para-la-solucion-de-problemas-por-medio-de-computadoras/
6. 3.11 Desarrollo de actitudes requeridas para la programación: concentración, paciencia, tolerancia a la frustración, creatividad, perseverancia, disciplina, etc
6.1. Concentración
6.1.1. La concentración de carácter mental, por otra parte, es el proceso de la mente que consiste en centrar voluntariamente la atención sobre un objetivo. A través de la concentración, la persona deja momentáneamente de lado todo aquello que puede interferir en su capacidad de atención.
6.2. Paciencia
6.2.1. Es la capacidad que posee un sujeto para tolerar, atravesar o soportar una determinada situación sin experimentar nerviosismo ni perder la calma.
6.3. Tolerancia
6.3.1. Se refiere al nivel de admisión o aprobación frente a aquello que es contrario a nuestra moral. Se trata, en otras palabras, de la actitud que adoptamos cuando nos encontramos con algo que resulta distinto a nuestros valores.
6.4. Creatividad
6.4.1. Es la facultad que alguien tiene para crear y a la capacidad creativa de un individuo. Consiste en encontrar procedimientos o elementos para desarrollar labores de manera distinta a la tradicional, con la intención de satisfacer un determinado propósito. La creatividad permite cumplir deseos personales o grupales de forma más veloz, sencilla, eficiente o económica.
6.5. Perseverancia
6.5.1. Es mantenerse constante en un proyecto ya comenzado, una actitud o una opinión, aún cuando las circunstancias sean adversas o los objetivos no puedan ser cumplidos.
6.6. Disciplina
6.6.1. La disciplina es el método, la guía o el saber de una persona, sobre todo en lo referente a cuestiones morales.
7. 3.1 Planteamiento: acotamiento y alcances del problema computable
7.1. Se le llama problema computable a aquella abstracción de la realidad que tiene representación algorítmica.
7.2. Los algoritmos permiten encontrar la solución a problemas computables.
7.2.1. https://youtu.be/U3CGMyjzlvM
8. 3.2 Análisis: definición de datos e identificación de los elementos y recursos que se requieren para la solución del problema
8.1. http://biblioteca.utec.edu.sv/siab/virtual/elibros_internet/55764.pdf
9. 3.3 Diseño de la solución del problema: algoritmos, diagramas de flujo y pseudocódigo con estructuras de control
9.1. 1.4 Algoritmos y Diagramas de Flujo
9.2. Algoritmo:
9.2.1. Es un conjunto de pasos secuenciales y ordenados que permiten lograr un objetivo
9.3. Diagrama de Flujo:
9.3.1. Son la representación gráfica de la secuencia de actividades de un proceso en los algoritmos. Consiste en símbolos para representar los pasos de un algoritmo. Cada símbolo tiene un significado que representa una acción a ser seguida, correspondiente a un paso del algoritmo.