Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
Se basa Programación Modular consiste logra Diseño descendente llamados divir un problema en problemas más pequeños sub problemas en lugar resolver muchas tareas pequeñas una sola tarea grande Tipos de parametros recibe Por valor pasados copias de los valores de los datos programa invocador recibe Por referencia cuando datos en sí la ejecución vuelve al modulo que la invocó los cambios a los datos permanecen Objetivo Dividir tienen Modularizar problemas tan simples que pudan ser resueltos fácilmente hasta obtener problemas complejos en varios sub problemas se dividen a su vez son se comunican Modulos resuelven partes de un programa necesitan otros tareas bien definidassub problemas con otros interfaz de comunicación concepto trata de resolver Programación Lógica Programación Lógica y Funcional Instituto Tecnológico Nacional de México Instituto Tecnológico de Acapulco Ingeniería en Sistemas Computacionales Equipo: Carlos Alberto Cantú Palacios 18320820 Salgado Gallardo Edgar 18320985 López Anselmo Mauricio Axel 18320904 Abarca López Alberto Josué 18320789 Silverio del Valle Gerardo 18320995 PARADIGMAS DE PROGRAMACIÓN para uso de la lógica para planteamiento de problemas control sobre las reglas de inferencia alcanzar la solución automatica saber se busca una afirmación "A" es o no una solución al problema implantando se busca metodos en máquinas resolución del problema sea automática mecanismos de inferencia automatica recursión como estructura de control básica visión lógica de la computación unificación de términos toma lógica proposicional frases declarativas simples o proposiciones como elemento básico es lógica de primer orden La unificación es un proceso que consiste en encontrar una asignación de variables que haga idénticas a las fórmulas que se desea unificar basado sistema deductivo lenguaje lógico matemático formal ventajas desventajas Descripiciones independientes de la implementación puede mejorarse la eficiencia modificando el coponente de control sin tener que modificar la lógica del algoritmo base de conocimiento fácilmente escalable relaciones multipropósito expresión simple y precisa de los problemas generación rápida de prototipos e ideas complejas sencillez en la implementación de estructuras complejas muy potente puede llegar a ser extremadamente ineficiente en situaciones especificas pocas y muy especifica áreas de aplicación muy pocas herramientas de depuración y en su mayoría poco efectivas en problemas reales es poco utlizado inferencia limitada por su bases de datos Prolog Mercury CLPCSP Lamdba Prolog LogtalkAlma-0 CLAC GödelCurry Ace SequenceL Estudia Dado un problema"S" Caracteristicas del paradigma Logicas Ventajas y Desventajas Lenguajes de programación que utllizan el paradigma Programación Funcional amplias opciones de transformación algebraica de programas amplias posibilidades de sintesis algebraica de programas sencillas opciones de análisis semántico desaparición de estados internos LISPHaskell MLOCaml F# Erlang ClojureScala mas importantes Ventajas Desventajas los datos no se pueden modificar no tiene un acceso eficiente a grandes cantidades de datos no se recomienda para trabajar con bases de datos no es adecuado para muchas recursiones de la misma pila puede dar lugar a errores graves no es apto para tareas generales los programas no tienen estados muy adecuados para la paralelización el código se puede testear fácilmentecódigo fácilmente verificable las funciones sin estado se pueden verificar fácil de combinar con la programación imperativa y orientada a objetos código más preciso y más corto sontraducen para todos los programas hacia lenguaje máquina esfinalidad combina dos o más funciones para funciones en secuencia obtener un resultado en concreto --> combinación de funciones >f(x) >g(x) >f(g(x)) procesoejecutarejemplo esexiste variable objetoespacio de memoria puede incluir alcance global o ámbitos de cierre Materia materia = new Materia(); Usuario usuario = new Usuario(); usuario.materia = materia; cualquieren un ambitocompartidoejemplo es aquelson parecidas después no puede ser modificado haber sido creado constantes composición de funcionesestado compartidomutabilidad basado Programación estructurada utilizar tiene funciones o subrutinas estructuras de control ejecuta secuencia ejecuta condicional ejecuta iteración una sentencia tras otra según conjunto de sentencias valor de una variable booleana mientras conjunto de sentencias una variable booleana sea verdadera establece cualquier función computable que combine puede ser implementada en un lenguaje de programación ventajas los programas son más fáciles de entender los programas pueden ser leídos de forma secuencial no hay necesidad de rastrear saltos de línea la estructura del código es clara se facilita mucho hacer depuración de código bajos costos de mantenimiento de código mayor rendimiento de los programadores basada amplia Programación procedimental llamada a procedimiento con procedimientos contiene un tipo de rutina o subrutina serie de pasos computacionales a realizar enfoque imperativo desglosar con la posibilidad en porciones manejables se denominan algoritmos pero dependiendo procedimientos lenguaje de programación procedimientossubprogramas rutinas o funciones se denominan hacer evitar propósito un código más claro repeticiones innecesarias de código relevancialenguajes deprogramación Ventajas y Deventajas Analizador o parsers elementos escenciales lenguaje de programación trabaja con conceptos
Compartir