UNIDAD III METODOLOGÍA DE SOLUCIÓN DE PROBLEMAS COMPUTABLES

登録は簡単!. 無料です
または 登録 あなたのEメールアドレスで登録
UNIDAD III METODOLOGÍA DE SOLUCIÓN DE PROBLEMAS COMPUTABLES により Mind Map: UNIDAD III METODOLOGÍA DE SOLUCIÓN DE PROBLEMAS COMPUTABLES

1. Planteamiento: acotamiento y alcances del problema computable

1.1. Algoritmos

1.1.1. Es un conjunto de pasos, procedimientos o acciones que nos permiten resolver un problema.

1.1.1.1. Un algoritmo debe ser Preciso e indicar el órden de realización de cada paso. – Un algoritmo debe ser Definido. – Un algoritmo debe ser Finito, es decir, si se sigue el algoritmo se debe terminar el algún momento.

1.2. Solución de problemas

1.2.1. Fases

1.2.1.1. •Diseño de programas - Análisis del problema -Diseño del algoritmo - Verificación manual • En la computadora -Codificación del algoritmo -Ejecución del programa -Verificación del programa -Mantenimiento -Análisis -Diseño - Codificación -Ejecución - Prueba -Mantenimiento.

2. Diseño de la solución del problema: algoritmos, diagramas de flujo y pseudocódigo con estructuras de control

2.1. Un algoritmo es un conjunto de instrucciones o reglas bien definidas, organizadas y finitas que nos permite realizar una determinada actividad siguiendo una serie de pasos sucesivos y no ambiguos.

2.1.1. Pseudocódigo: Es un pseudolenguaje intermedio entre el natural del programador y el lenguaje de programación seleccionado, considerándose por tanto un lenguaje de pseudoprogramación. No existe una sintaxis estándar para el pseudocódigo, utilizando una mezcla de lenguaje natural (utilizando como base la lengua nativa del programador) y una serie de símbolos

2.1.2. Diagramas de flujo: Son herramientas gráficas para la representación visual y gráfica de algoritmos, compuestos por una serie de símbolos icónicos unidos por flechas.

3. Codificación: traducción del lenguaje natural a un lenguaje de programación

3.1. el Lenguaje Natural(LN) es el medio que utilizamos de manera cotidiana para establecer nuestra comunicación con las demás personas. Este tipo de lenguaje es el que nos permite el designar las cosas actuales y razonar a cerca de ellas, fue desarrollado y organizado a partir de la experiencia humana y puede ser utilizado para analizar situaciones altamente complejas y razonar muy sutilmente. La riqueza de sus componentes semánticos da a los lenguajes naturales su gran poder expresivo y su valor como una herramienta para razonamiento sutil.

3.1.1. 1-Desarrollados por enriquecimiento progresivo antes de cualquier intento de formación de una teoría. 2-La importancia de su carácter expresivo debido grandemente a la riqueza del componente semántico(poli semántica). 3-Dificultad o imposibilidad de una formalización completa.

3.2. Un lenguaje de programación, es el conjunto de instrucciones a través del cual los humanos interactúan con las computadoras que permite comunicarnos con las computadoras a través de algoritmos e instrucciones escritas en una sintaxis que la computadora entiende e interpreta en lenguaje de máquina y para procesar de forma rápida y eficientemente grandes y complejas cantidades de información.

3.2.1. Sintaxis: el conjunto de símbolos y reglas para formar sentencias. Semántica: las reglas para transformar sentencias en instrucciones lógicas. Pragmática: utilizando las construcciones particulares del lenguaje.

4. 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.)

4.1. -Un algoritmo debe ser preciso e indicar el orden de realización de cada paso. -Un algoritmo debe estar definido. Si se sigue un algoritmo dos veces, se debe obtener el mismo resultado cada vez. -Un algoritmo debe ser finito. Si se sigue un algoritmo, se debe terminar en algún momento; o sea, debe tener un número finito de pasos.

4.1.1. 1.- inicio 2.- solicitar las cinco calificaciones del alumno 3.-sumar las cinco calificaciones del alumno 4.- El resultado del paso 3 dividirlo entre cinco 5.- si el resultado del paso 4 es mayor o igual a 7.0 entonces 5.1Visualizar Alumno aprobado si_no 5.2 Visualizar Alumno reprobado fin_si 6.- fin

4.1.1.1. 1.- Diagrama de flujo. 2.- Diagrama N-S (Nassi-Schneiderman). 3.- Lenguaje de especificación de algoritmos: pseudocódigo. 4.- Lenguaje español, inglés. 5.- Fórmulas.

5. Elección del paradigma y del lenguaje apropiado para codificar, incluyendo la comprensión de su sintaxis y aplicando su conocimiento del inglés

5.1. Lenguajes basados en el cálculo numérico Las primeras máquinas estaban proyectadas para resolver problemas numéricos y se pensaba en ellas como en calculadoras electrónicas, por lo que los cálculos numéricos fueron la forma dominante de aplicación para estas máquinas iniciales.

5.1.1. Claridad, sencillez y unidad Un lenguaje de programación proporciona a la vez un marco conceptual para pensar acerca de los algoritmos y un medio de expresar esos algoritmos. El lenguaje debe constituir una ayuda para el programador incluso antes de la etapa misma de codificación.

5.1.2. Entorno de programación La estructura técnica de un lenguaje de programación es sólo uno de los aspectos que afectan su utilidad. La presencia de un ambiente de programación adecuado puede facilitar el trabajo con un lenguaje técnicamente débil

5.2. Lenguajes para negocios El procesamiento de datos de negocios era uno de los primeros dominios de aplicación por desarrollar después de los cálculos numéricos.

5.3. Lenguajes para inteligencia artificial fue proyectado como un lenguaje funcional para procesamiento de listas. El dominio ordinario de problemas para LISP comprendía la búsqueda. .

6. Desarrollo de actitudes requeridas para la programación: concentración, paciencia, tolerancia a la frustración, creatividad, perseverancia, disciplina, etc.

6.1. Aprende a comunicarte:Si trabajas para una compañía, serás parte de un equipo de desarrollo y esperarán que te comuniques y trabajes bien con otras personas.

6.2. Mejora tus habilidades de resolución de problemas :Muchos desarrolladores afirman que entender un lenguaje de programación es solo una pequeña parte de programar. Saber resolver problemas es otra habilidad importante que muchas veces hace falta en los principiantes.

6.3. Empieza a aprender control de versiones de inmediato: La única manera en la que serás experto de esos sistemas es la práctica.

6.4. Desarrolla destreza para el aprendizaje: La tecnología siempre está evolucionando, y con ella, debería evolucionar la base de conocimientos de un desarrollador.

7. Análisis: definición de datos e identificación de los elementos y recursos que se requieren para la solución del problema.

7.1. Esta fase requiere una clara definición del problema, donde se contemple lo que debe hacer el programa y el resultado o solución deseada. Dado que se busca una solución por computadora, se precisan especificaciones detalladas de entrada y salida.

8. Paradigmas y lenguajes de programación: estructurados, orientados a objetos, etc.

8.1. Diagramas de flujo: Son herramientas gráficas para la representación visual y gráfica de algoritmos, compuestos por una serie de símbolos icónicos unidos por flechas.

8.1.1. 2 gropos

8.1.2. los lenguajes de maquina: código máquina, se trata del lenguaje que pueden ejecutar los ordenadores y otros sistemas de computación. Tiene una importancia fundamental, dado que reúne las instrucciones que recibe una máquina a la hora de llevar los procesos para los que haya sido programada

8.1.2.1. Paradigmas en leguajes de programación: Existen diversos lenguajes y paradigmas de programación que se han diseñado para facilitar la tarea de la programación en diferentes ámbitos.

8.1.2.2. Los métodos estructurados clásicos se basan en modelar el sistema mediante los objetos que forman parte de el y las relaciones estáticas o dinámicas .

8.1.2.3. Los lenguajes orientados a objetos , las meta clases, son aquellas clases cuyas instancias son clases por oposición a una clase abstracta .

8.1.3. Los lenguajes simbólicos: lenguaje de programación de las instituciones de diferentes programas que se codifican utilizando los caracteres de las lenguas naturales .

9. Prospectiva: límites, alcances y riesgos de la programación

9.1. La Programación en pareja es una de las prácticas más debatidas de Extreme Programming. Históricamente, la programación solía ser una actividad solitaria que requería de una alta concentración e incluso aislamiento total.

9.1.1. Alta tasa de defectos: Los programadores solitarios enfrentan estos errores con ayuda de una planificación cuidadosa, revisiones de código y varias herramientas de análisis de código.

9.1.2. Las distracciones que nos fuerzan a salir de la Zona: La pareja en general apaga el centro de atención individual a su entorno.

9.1.3. Poca concentración y disciplina: Los programadores son personas bastante disciplinadas, pero a veces hay demasiados videos divertidos en YouTube, o algún artículo muy interesante publicado en algún sitio popular.

9.1.4. Pocos incentivos para seguir prácticas comunes Cuando se aproxima la fecha de entrega, es fácil olvidarse de la calidad de las pruebas unitarias, de realizar análisis de la arquitectura, de verificar que los nombres de las variables sigan los estándares de la organización, etc.

9.1.5. Aprendizaje lento: El aprendizaje en solitario puede llevar meses, y las personas más tímidas pueden terminar sin conocer el uso de una herramienta en particular.

10. Pruebas de escritorio para validar los algoritmos y/o diagramas de flujo

10.1. Los diagramas se deben realizar de arriba hacia abajo y de izquierda a derecha. El algoritmo debe arrancar con el símbolo de inicio y terminar con símbolo de fin. La dirección de flujo se debe representar por medio de flechas. Todas las líneas de flujo deben llegar a un símbolo o a otra línea.

10.1.1. ¿Cómo validar un diagrama de flujo? En la pestaña proceso , en el grupo validación de diagrama , haga clic en la flecha junto a comprobar diagrama, a continuación, elija reglas para comprobar. Se muestran los conjuntos de reglas para el diagrama. Los conjuntos de reglas activas tienen una marca de verificación a su lado.

11. Programación y comprobación de la solución del problema computable

11.1. Paso 1: Una persona u organización, denominada el cliente, tiene un problema y necesita la construcción de un programa para resolverlo. Para esto contacta una empresa de desarrollo de software que pone a su disposición un programador.

11.2. Paso 2: El programador sigue un conjunto de etapas, denominadas el proceso, para entender el problema del cliente y construir de manera organizada una solución de buena calidad, de la cual formará parte un programa.

11.3. Paso 3: El programador instala el programa que resuelve el problema en un computador y deja que el usuario lo utilice para resolver el problema.