Tipos de Programación
Tipos de Programación
Tipos de Programación
RUIZ”
INSTITUTO POLITECNICO NACIONAL
5IM10
La Programación es el proceso al que se recurre para crear algún tipo de aplicación o software, para
materializar un concepto o proyecto que requiere de la utilización de un lenguaje informático para
poder llevarse a cabo.
Programación estructurada
Programación modular
Programación orientada a objetos (POO)
Programación orientada a eventos
Programación funcional
Programación lógica
Programación declarativa
Programación imperativa
PROGRAMACIÓN ESTRUCTURADA
¿Qué es?
La programación estructurada es una teoría orientada a mejorar la claridad, calidad y tiempo de
desarrollo utilizando únicamente subrutinas o funciones.
¿En qué año surgió?
Diseñada por Böhm y Jacopini, el teorema surge en el año 1966
Uso más frecuente
Realizar programas fáciles de escribir, depurar y modificar. Los programas conseguidos son claros,
ordenados, comprensibles, sin saltos.
Software
Algunos ejemplos de lenguajes estructurados son Pascal, C, y Fortran
Requerimientos
El software mas popular, Dev-C++, sus requerimientos son minimo 32 MB de RAM, procesador
compatible Intel a 400. Por otra parte, Free Pascal requiere un sistema operativo Windows y 100 MB
de espacio de disco minimo. Ambos programas pueden ser adquiridos gratis.
Ventajas
Son programas que satisfacen las necesidades de los clientes.
Aunque inicialmente se lleva más tiempo generar el código, resulta a menudo en un código que
se ejecuta sin errores cuando se ejecuta por primera vez.
Es similar al vocabulario de palabras y símbolos en inglés.
Resulta fácil manejar cambios en el programa ante nuevas especificaciones en el futuro.
Son más fáciles de mantener.
Es fácil de usar y de entender. Eventualmente se requiere menos tiempo para escribir el
código. Es más fácil de aprender.
El programa escrito en un lenguaje de alto nivel se puede traducir a muchos lenguajes de
máquina. Por tanto, se puede ejecutar en cualquier computadora para la que exista un
traductor o compilador adecuado.
Están orientados principalmente a los problemas en lugar de a la máquina.
Es independiente de la computadora en la que se utiliza. Es decir, los programas desarrollados
en lenguajes de alto nivel se pueden ejecutar en cualquier computadora.
Desventajas
El traductor o compilador tiene que traducir el lenguaje de alto nivel al lenguaje de máquina.
Por tanto, se tiene que pagar un precio en el uso de tiempo de la computadora.
Todo el programa se concentra en un único bloque (si se hace demasiado grande es difícil
manejarlo).
Ejemplos.
- Secuencia - Repetición - Selección
PROGRAMACION MODULAR
¿Qué es?
El método más conocidos para resolver un problema es dividirlo en problemas más pequeños,
llamados sub-problemas. Esta técnica se usa mucho en programación ya que programar no es más
que resolver problemas, y se le suele llamar diseño descendente, metodología del divide y vencerás o
programación top-down.
¿En qué año surgió?
Es una evolución de la programación estructurada para solucionar problemas de programación más
grandes.
Uso más frecuente
Su práctica se puede aplicar en cualquier lenguaje de programación, especialmente los de naturaleza
procedimental, que tienen un programa compilado por separado.
Software
Java
Requerimientos
Sistema Windows compatible, RAM 128MB, espacio libre: 126 MB, procesador mínimo: Pentium 2 a
266 MHz
Ventajas
Programación independiente del proyecto
Desarrollo eficiente de programas
Uso múltiple de los módulos
Facilidad de depuración
Desventajas
Estructura excesivamente orientada a objetos
Módulos demasiado pequeños
Descomponer sin razón
Ejemplos
PROGRAMACIÓN FUNCIONAL
¿Qué es?
La programación funcional se centra en las funciones. En un programa funcional, todos los elementos
pueden entenderse como funciones y el código puede ejecutarse mediante llamadas de función
secuenciales. Por el contrario, no se asignan valores de forma independiente. Una función se imagina
mejor como una variante especial de un subprograma.
¿En qué año surgió?
Tiene sus raíces en el cálculo lambda, un sistema formal desarrollado en los años 1930.
Uso más frecuente
Una subcategoría de la estrategia declarativa es la llamada programación funcional, que se utiliza en
particular en el desarrollo de los siguientes programas o códigos: Aplicaciones técnicas y
matemáticas. Inteligencia Artificial (IA) Compiladores y analizadores.
Software
Eclipse PDT
Requerimientos
Windows 32 bit, Java 5 o posterior, Appserv 2.5.6,
Ventajas
Los programas no tienen estados
Muy adecuados para la paralelización
El código se puede testar fácilmente
Código fácilmente verificable
Fácil de combinar con la programación imperativa y orientada a objetos
Código más preciso y más corto
Desventajas
Los datos no se pueden modificar
No se permite el acceso eficiente a grandes cantidades de datos
No se recomienda para conexiones a bases de datos y servidores
No es adecuado para muchas recursiones de la misma pila
La programación recurrente puede dar lugar a errores graves
No apto para todas las tareas
Ejemplos
PROGRAMACIÓN LÓGICA
¿Qué es?
La programación lógica estudia el uso de la lógica para el planteamiento de problemas y el control
sobre las reglas de inferencia para alcanzar la solución automática. Se puede ver como una
deducción controlada. Lógica (programador): hechos y reglas para representar conocimiento.
¿En qué año surgió?
Uso más frecuente
La programación lógica encuentra su hábitat natural en aplicaciones de inteligencias artificiales o
relacionadas: Sistemas expertos, demostración automática, reconocimiento y procesamiento de
lenguaje natural, simulación.
Software
PyCharm
Requerimientos
4 GB RAM mínimo, 1.5 GB espacio de disco duro, 1024x768 de resolución minima, Microsoft
Windows 10, 8, 7.
Ventajas
Puede mejorarse la eficiencia modificando el componente de control sin tener que modificar la
lógica del algoritmo
Relaciones multipropósito
Simplicidad
Generación rápida de prototipos e ideas complejas
Potencia
Desventajas
Pocas áreas de aplicación
No existen herramientas de depuración efectivas
En problemas reales, es poco utilizable
Si el programa no contiene suficiente información para contestar una consulta responde false.
Ejemplos
PROGRAMACIÓN DECLARATIVA
¿Qué es?
No hay consenso sobre la definición de este paradigma, pero todas las explicaciones coinciden en
algo: lo que destaca de los lenguajes de programación declarativa es que siempre se describe el
resultado final deseado, en lugar de mostrar todos los pasos de trabajo. Para alcanzar el objetivo, en
la programación declarativa se determina automáticamente la vía de solución.
¿En qué año surgió?
Uso más frecuente
Describir el problema que se quiere solucionar; se programa diciendo lo que se quiere resolver a nivel
de usuario, pero no las instrucciones necesarias para solucionarlo.
Software
C#
Requerimientos
Sistema operativo Windows 7S SPI, procesador de 1,8 GHz, memoria 2GB de RAM, espacio de disco
disponible de 1 a 40GB, tarjeta de video 1280 x 768
Ventajas
Código más corto y eficiente
Realizable con métodos no conocidos en el momento de la programación.
Optimización sencilla, ya que la ejecución se gestiona mediante un algoritmo.
Es posible el mantenimiento independiente del desarrollo de la aplicación.
Desventajas
En parte, difícil de comprender para personas ajenas.
Basado en una forma de pensar no habitual en las personas (estado de solución).
Las características de casos de aplicación individuales se pueden considerar en la
programación, pero únicamente de forma compleja.
Ejemplos
PROGRAMACIÓN IMPERATIVA
¿Qué es?
La programación imperativa (del latín imperare = ordenar) es el paradigma de programación más
antiguo. De acuerdo con este paradigma, un programa consiste en una secuencia claramente definida
de instrucciones para un ordenador.
¿En qué año surgió?
Fue en el año 1954 por el matemático John Von Neumann
Uso más frecuente
Pueden usarse para crear programas que controlen el comportamiento físico y lógico de una máquina,
para expresar algoritmos con precisión, o como modo de comunicación. Está formado por un conjunto
de símbolos y reglas sintácticas y semánticas que definen su estructura y el significado de sus
elementos y expresiones.
Software
Turbo Pascal
Requerimientos
PC tipo XT con 256 Kb de RAM y floppy de 1,2 Mb 5 ¼.
Ventajas
Fácilmente legible.
Fácil de aprender en lo relativo a comportamientos.
Un modelo fácilmente comprensible para los principiantes (vía de solución).
Se pueden tener en cuenta características de casos especiales de la aplicación.
Desventajas
El código se convierte rápidamente en demasiado amplio y difícil de abarcar.
Mayor riesgo durante la edición.
El mantenimiento bloquea el desarrollo de la aplicación, ya que la programación funciona
estrechamente con el sistema.
La optimización y la ampliación son más difíciles.
Ejemplos