Inicio
Revista - Noticias
Ingeniería y Tecnología
¿Qué es la programación estructurada?
¿Qué es la programación estructurada?
INGENIERÍA Y TECNOLOGÍA|21/06/2022
La programación estructurada es una teoría orientada a mejorar la claridad,
calidad y tiempo de desarrollo utilizando únicamente subrutinas o funciones.
Basada en el teorema del programa estructurado propuesto por Böhm y
Jacopini, ha permitido desarrollar software de fácil comprensión.
¿Repetimos? ¡No te asustes! Vamos a contarte de forma sencilla y rápida
todo lo que debes saber sobre la programación estructurada.
La palabra programación, a veces, asusta. Y si le pones estructurada justo después, más. Pero, en realidad,
programación estructurada
no es para tanto. Vamos a verlo. La es una corriente que nació con la vocación de
facilitar la vida de los programadores, sobre todo cuando estos debían abordar fases de mejora posteriores a la creación del
programa, y de ordenar la forma en la que se creaba cualquier tipo de programa. ¿Cualquiera, cualquiera? ¡Sí!
Böhm y
Para comprenderlo mejor, vamos a hacer un pequeño viaje en el tiempo. Nos vamos al año 1966, cuando
Jacopini proponen el teorema del programa estructurado, con el que demuestran que cualquier programa
puede ser escrito utilizando solo tres instrucciones de control. Imagínate, ¡esto fue toda una revolución! Implicaba la construcción de
programas más sencillos y más rápidos, en los que disminuía la complejidad de las pruebas y el testing para ponerlos en
funcionamiento.
Edsger Dijkstra publicó un célebre artículo que impactó en la
Avanzamos dos años más en el tiempo. En 1968,
computación moderna: Go To Statement Considered Harmful. ¿Por qué es tan importante? Pues
porque este científico holandés promovió activamente el uso de lenguajes de programación estructurada, fomentando la verificación
formal de programas y la eliminación de la sentencia Goto. De hecho, Dijkstra participó en el comité que diseñó Algol 60, el
primer lenguaje de programación estructurado.
uno de los paradigmas
La programación estructurada se convierte así, junto con la programación orientada a objetos, en
de programación más populares que ejecuta los lenguajes más potentes que seguro conoces, incluidos, entre
otros, Java, C, Python y C++.
Características y ventajas
Elteorema del programa estructurado es la base teórica sobre la que se construyó esta nueva forma de
simplemente con la
programar, ya que nos da la característica fundamental de la programación estructurada. Postula que,
combinación de tres estructuras básicas, es suficiente para expresar cualquier función
computable. Parece sencillo, ¿verdad? En realidad, lo es y, precisamente por eso, se abre inmediatamente el debate entre
los programadores que querían continuar con el sistema anterior y los que abrazaban estas nuevas estructuras de control con los
ojos cerrados. ¿Quién crees que ganó?
Vale, nadie fue declarado vencedor inmediatamente, pero sí que es cierto que ‘los Digital Workers de los años 70’ empezaban a ver
poco a poco las grandes ventajas que ofrecía la programación estructurada sobre el código espagueti (los programas
de computación antiguos que tenían una estructura de control de flujo compleja e incomprensible). Y, ¿qué ventajas eran esas?
Los programas desarrollados con la programación estructurada son más sencillos de
entender, ya que tienen una estructura secuencial y desaparece la necesidad de rastrear los complejos saltos de
líneas (propios de la sentencia Goto) dentro de los bloques de código para intentar comprender la lógica interna.
los programas resultantes tendrán una
Como consecuencia inmediata de lo anterior, otra ventaja es que
estructura clara, gracias a que las sentencias están ligadas y relacionadas entre sí.
La fase de prueba y depuración de los programas se optimiza, ya que es mucho más sencillo hacer
el seguimiento de los fallos y errores y, por tanto, detectarlos y corregirlos.
El coste del mantenimiento de los programas que usan la programación estructurada es
más reducido. ¿Por qué? Pues porque modificar o extender los programas es más fácil al estar formados por una
estructura secuencial.
Al ser más sencillos los programas, son más rápidos de crear y los programadores aumentan su rendimiento.
Las 3 estructuras básicas
Ya nos ha quedado claro que la programación estructurada es una forma de programar más sencilla que se basa únicamente en la
combinación de tres órdenes. Pero, ¿cuáles son esos tipos de estructuras de control que son capaces de expresarlo todo?
1. Secuencia. La estructura secuencial es la que se da de forma natural en el lenguaje, porque las sentencias se
ejecutan en el orden en el que aparecen en el programa, es decir, una detrás de la otra.
2. Selección o condicional. La estructura condicional se basa en que una sentencia se ejecuta según el valor que
se le atribuye a una variable booleana. ¡Un pequeño inciso! Una variable booleana es aquella que tiene dos valores
posibles. Por tanto, esta estructura se puede ejecutar de dos formas distintas, dependiendo del valor que tenga su
variable.
Como apunte para los verdaderos amantes de la programación: para las estructuras condicionales o de selección, Python
dispone de la sentencia
if, que puede combinarse con elif y/o else.
3. Iteración (ciclo o bucle). La estructura de repetición ejecuta una o un conjunto de sentencias siempre que una
variable booleana sea verdadera. Para los bucles o iteraciones, los lenguajes de programación usan las
estructuras while y for.
Y solamente con estas tres estructuras de control, ¡se pueden escribir todos los programas y aplicaciones posibles! ¡Todos! Si estás
pensando que los lenguajes de programación tienen más estructuras, sí, es cierto, pero cualquiera de ellas
puede ser construida gracias a estas tres básicas que hemos citado. ¿Comprendes ahora todo el revuelo que se formó con el
teorema de la programación estructurada?
Conocida también como diseño descendente, consiste en establecer una serie de niveles de mayor a menor complejidad (arriba-
abajo) que den solución al algoritmo.
Se efectúa una relación entre las etapas de la estructuración, de forma que una etapa jerárquica y su inmediato inferior se
relacionen mediante entradas y salidas de datos.
Se integra de una serie de descomposiciones sucesivas del problema inicial, que recibe el refinamiento progresivo del repertorio de
instrucciones que van a formar parte del programa. Esta técnica tiene los siguientes objetivos:
Interacción entre los procesos, la estructura de memoria y los archivos.
Un ejemplo de un diseño descendente está representado en este sistema de nómina. Como se puede observar, en este caso, el
diseño descendente es jerárquico; el módulo 0 de nómina contendrá el menú principal que integrará al sistema, controlando desde
éste los submenús del siguiente nivel. Pulsa en las flechas para avanzar y retroceder por la información.
La estructura secuencial es aquella en la que una acción (instrucción)
sigue a otra en secuencia. Las tareas se suceden de tal modo que la
salida de una es la entrada de la siguiente y así sucesivamente hasta el
fin del proceso.
Quizás cuando hablamos de estructura podamos imaginarnos algo un poco
más complejo que simplemente una sentencia detrás de otra, para realizarse
en la secuencia. Por supuesto hay otras estructuras más complejas como los
condicionales o las repeticiones, pero tenemos que empezar por lo más simple.
De hecho, enseguida que lleguemos a condicionales y bucles verás que ellos
están compuestos por una estrucura de control que nos permite definir la
lógica y una o más sentencias en estructura secuencial para definir los bloques
a ejecutar condicional o repetidamente.
En Pseudocódigo, una Estructura Secuencial se representa de la
siguiente forma:
Observa ahora el siguiente problema de tipo cotidiano y sus respectivos
algoritmos representados en Pseudocódigo y en diagramas de flujos:
- Tengo un teléfono y necesito llamar a alguien pero no sé como hacerlo.
El anterior ejemplo es un sencillo algoritmo de un problema cotidiano
dado como muestra de una estructura secuencial.
Menú
¿Qué es la estructura selectiva en
programación?
Autor: KeepCoding Team | Última modificación: 9 de mayo de
2023 | Tiempo de Lectura: 2 minutos
Temas en este post: conceptos desarrollo de apps móviles
Algunos de nuestros reconocimientos:
Home » Blog » ¿Qué es la estructura selectiva en programación?
¿Ya sabes qué es la estructura selectiva en programación? Si formas
parte del mundillo tecnológico, es probable que ya conozcas o hayas
trabajado con diferentes tipos de estructuras para programar, como es el
caso de la estructura selectiva. Esta se encarga de la gestión de flujo en
búsqueda del desarrollo de la lógica de programación.
🔴 ¿Quieres entrar de lleno al Desarrollo Mobile? 🔴
Descubre el Desarrollo de Apps Móviles Full Stack Bootcamp de
KeepCoding. La formación más completa del mercado y con empleabilidad
garantizada
👉 Prueba gratis el Bootcamp en Desarrollo de Apps Móviles por una semana
Ahora, si te interesa profundizar al respecto de la estructura
selectiva, quédate en este artículo para descubrir las características de
la estructura selectiva y los tipos que existen.
En este post encontrarás: ocultar
1 ¿Qué es la estructura selectiva en programación?
2 Tipos de estructuras selectivas
3 ¿Cuál es el siguiente paso?
¿Qué es la estructura selectiva en programación?
Las estructuras condicionales o, como se conocen mayormente en
programación, las estructuras selectivas, se definen como una estructura
que permite controlar de cierto modo el flujo de una acción o de
acciones del programa, ayudando a que el desarrollo de la lógica de
programación sea de manera optima.
Esto quiere decir, en otras palabras, que una estructura selectiva es la
encargada de dirigir la ejecución de un programa que tiene como objetivo
los grupos de sentencias del resultado de la condición.
Todas estas acciones permiten confirmar la validez del flujo del programa
en relación a una expresión lógica escogiendo entre dos o más acciones.
De esta manera, evalúan las condiciones e inmediatamente ejecutan
una sentencia. Sin embargo, se debe tener cuidado al realizarlo, pues no
es posible hacerlo todas al mismo tiempo, sino una a la vez.
Tipos de estructuras selectivas
La representación de cada una de las partes de esta estructura se hace con
palabras en seudocódigo, como lo son por ejemplo if, else, then o,
traducidas al español si, entonces, si… no. Estas estructuras selectivas al
ser una gran variedad de casos pueden clasificarse bajo 3 grupos, siendo
estos:
Simples: se definen como aquellas compuestas bajo una
sola selección y condición. El ejemplo más claro de
estructura selectiva simple en programacion es
falso/verdadero, en donde si el resultado es falso no hará
nada, sin embargo, ejecutará la acción o acciones que se
requieran en caso tal sea verdadero.
Dobles: al igual que las simples, están condicionadas
únicamente por una condición, pero usando el mismo
ejemplo de falso y verdadero. En caso de falso, ejecutará las
acciones necesarias, y en caso de que sea verdadero, también
las va a ejecutar.
Múltiples: estas se dan cuando tenemos la unión de varias
estructuras selectivas simples, con la diferencia de que su
código es mucho más pequeño que las simples.
Aprender Informática
o
o
Trucos y Consejos
Apps y Programas
o
Qué es programación modular?
Si estás comenzando a estudiar programación y te encuentras en la situación de
no entender algunos conceptos, te podemos dar una mano. Muchas veces, cosas
que suenan complicadas son en verdad muy fáciles de entender.
Uno de los ejemplos más claros es el llamado paradigma de la programación
modular. No te preocupes más, te vamos a ayudar con eso.
Qué vas a encontrar aquí: Qué es programación modular? Qué es el
módulo? Historia de la programación modular. Características, tipos,
ventajas, desventajas y usos de la programación modular. Lenguajes de
programación.
Índice de Contenidos
1. Qué es programación modular?
1. Qué es el módulo?
2. Historia de la programación modular
3. Características de la programación modular
4. Tipos de programación modular
5. Ventajas de la programación modular
1. Desventajas de la programación modular
2. Porque es importante la programación modular?
6. Usos de la programación modular
7. Lenguajes de programación para la programación modular
Qué es programación modular?
Antes de comenzar, aquí encontrarás un super post sobre el que es
programar y mucho más!
Como vimos, básicamente la programación modular consiste en dividir un
programa en distintos subprogramas independientes. De esta forma el
software principal se vuelve más fácil de manejar.
Aprender Informática
Trucos y Consejos
o
Apps y Programas
Qué es programación modular?
Si estás comenzando a estudiar programación y te encuentras en la situación de
no entender algunos conceptos, te podemos dar una mano. Muchas veces, cosas
que suenan complicadas son en verdad muy fáciles de entender.
Uno de los ejemplos más claros es el llamado paradigma de la programación
modular. No te preocupes más, te vamos a ayudar con eso.
Qué vas a encontrar aquí: Qué es programación modular? Qué es el
módulo? Historia de la programación modular. Características, tipos,
ventajas, desventajas y usos de la programación modular. Lenguajes de
programación.
Índice de Contenidos
1. Qué es programación modular?
1. Qué es el módulo?
2. Historia de la programación modular
3. Características de la programación modular
4. Tipos de programación modular
5. Ventajas de la programación modular
1. Desventajas de la programación modular
2. Porque es importante la programación modular?
6. Usos de la programación modular
7. Lenguajes de programación para la programación modular
Qué es programación modular?
Antes de comenzar, aquí encontrarás un super post sobre el que es
programar y mucho más!
Como vimos, básicamente la programación modular consiste en dividir un
programa en distintos subprogramas independientes. De esta forma el
software principal se vuelve más fácil de manejar.
Pero además, los subprogramas resultantes del programa principal pueden
también ser divididos en subprogramas más pequeños aún.
Lo que se busca con ello básicamente es poder lograr obtener subprogramas lo
más simple posibles. De esta manera los problemas pueden ser resueltos de
forma fácil por un lenguaje de programación.
Esto es gracias a que la programación modular permite en principio dividir la
complejidad de un problema, y además se puede reutilizar el código de un
programa en cualquier momento.
Para ello se utiliza la técnica denominada Top-Down o análisis descendente.
La técnica Top-Down hace posible diseñar una solución a un problema a
través de la segmentación, y su nombre refiere a que este procedimiento se
realiza de arriba hacia abajo.
En informática, la programación modular utiliza el proceso de
segmentación, con lo cual se diseñan pequeños bloques de códigos
independientes para subprogramas, que serán parte luego del software mayor.
Ten en cuenta que en la mayoría de los casos esta técnica Top-Down se utiliza
en conjunto con pseudocódigo, para de esta manera poder generar una
herramienta de diseño de algoritmos adecuada.
En el proceso de segmentación entran en juego los módulos, los cuales además se
integran entre sí de manera jerárquica para conformar el programa que se está
desarrollando.
Qué es el módulo?
Como ya te podrás imaginar, cada uno de los módulos son parte integrante de
un conjunto superior, es decir de un programa mayor.
Es decir que cada módulo de un programa es básicamente cada una de las
partes de ese programa, y que fueron creados como subprogramas con tareas
para específicas y definidas
Aprender Informática
Trucos y Consejos
o
o
Apps y Programas
Qué es programación modular?
Si estás comenzando a estudiar programación y te encuentras en la situación de
no entender algunos conceptos, te podemos dar una mano. Muchas veces, cosas
que suenan complicadas son en verdad muy fáciles de entender.
Uno de los ejemplos más claros es el llamado paradigma de la programación
modular. No te preocupes más, te vamos a ayudar con eso.
Qué vas a encontrar aquí: Qué es programación modular? Qué es el
módulo? Historia de la programación modular. Características, tipos,
ventajas, desventajas y usos de la programación modular. Lenguajes de
programación.
Índice de Contenidos
1. Qué es programación modular?
1. Qué es el módulo?
2. Historia de la programación modular
3. Características de la programación modular
4. Tipos de programación modular
5. Ventajas de la programación modular
1. Desventajas de la programación modular
2. Porque es importante la programación modular?
6. Usos de la programación modular
7. Lenguajes de programación para la programación modular
Qué es programación modular?
Antes de comenzar, aquí encontrarás un super post sobre el que es
programar y mucho más!
Como vimos, básicamente la programación modular consiste en dividir un
programa en distintos subprogramas independientes. De esta forma el
software principal se vuelve más fácil de manejar.
Pero además, los subprogramas resultantes del programa principal pueden
también ser divididos en subprogramas más pequeños aún.
Lo que se busca con ello básicamente es poder lograr obtener subprogramas lo
más simple posibles. De esta manera los problemas pueden ser resueltos de
forma fácil por un lenguaje de programación.
Esto es gracias a que la programación modular permite en principio dividir la
complejidad de un problema, y además se puede reutilizar el código de un
programa en cualquier momento.
Para ello se utiliza la técnica denominada Top-Down o análisis descendente.
La técnica Top-Down hace posible diseñar una solución a un problema a
través de la segmentación, y su nombre refiere a que este procedimiento se
realiza de arriba hacia abajo.
En informática, la programación modular utiliza el proceso de
segmentación, con lo cual se diseñan pequeños bloques de códigos
independientes para subprogramas, que serán parte luego del software mayor.
Ten en cuenta que en la mayoría de los casos esta técnica Top-Down se utiliza
en conjunto con pseudocódigo, para de esta manera poder generar una
herramienta de diseño de algoritmos adecuada.
En el proceso de segmentación entran en juego los módulos, los cuales además se
integran entre sí de manera jerárquica para conformar el programa que se está
desarrollando.
Qué es el módulo?
Como ya te podrás imaginar, cada uno de los módulos son parte integrante de
un conjunto superior, es decir de un programa mayor.
Es decir que cada módulo de un programa es básicamente cada una de las
partes de ese programa, y que fueron creados como subprogramas con tareas
para específicas y definidas.
Entonces podemos decir que cada módulo es un segmento, una rutina, una
subrutina, un subalgoritmo o un procedimiento que permite ejecutar una
tarea específica, y que opera dentro del módulo principal.
Sin embargo, cabe aclarar que un módulo no es simplemente una función o un
procedimiento, porque en realidad puede contener en sí muchos de ellos.
Por ende, ten en cuenta que cada módulo es un bloque de sentencias que
resuelve un problema particular.
Debido a su independencia del resto de los módulos, cada uno de ellos tiene la
particularidad que puede ser modificado sin afectar al resto.
En resumen, la programación modular está compuesta por dos tipos de módulos:
El módulo principal: Es el que concentra al resto de los módulos y es
el único que puede ejecutar las funciones de los módulos auxiliares.
Es el encargado de coordinar la ejecución de los demás módulos.
Los módulos auxiliares: Son archivos ejecutables separados, pero
que sólo funcionan cuando son ejecutados por el módulo principal.
Son los que resolverán cada de una las tareas concretas del
problema.
Historia de la
Aprender Informática
o
Trucos y Consejos
Apps y Programas
o
Qué es programación modular?
Si estás comenzando a estudiar programación y te encuentras en la situación de
no entender algunos conceptos, te podemos dar una mano. Muchas veces, cosas
que suenan complicadas son en verdad muy fáciles de entender.
Uno de los ejemplos más claros es el llamado paradigma de la programación
modular. No te preocupes más, te vamos a ayudar con eso.
Qué vas a encontrar aquí: Qué es programación modular? Qué es el
módulo? Historia de la programación modular. Características, tipos,
ventajas, desventajas y usos de la programación modular. Lenguajes de
programación.
Índice de Contenidos
1. Qué es programación modular?
1. Qué es el módulo?
2. Historia de la programación modular
3. Características de la programación modular
4. Tipos de programación modular
5. Ventajas de la programación modular
1. Desventajas de la programación modular
2. Porque es importante la programación modular?
6. Usos de la programación modular
7. Lenguajes de programación para la programación modular
Qué es programación modular?
Antes de comenzar, aquí encontrarás un super post sobre el que es
programar y mucho más!
Como vimos, básicamente la programación modular consiste en dividir un
programa en distintos subprogramas independientes. De esta forma el
software principal se vuelve más fácil de manejar.
Pero además, los subprogramas resultantes del programa principal pueden
también ser divididos en subprogramas más pequeños aún.
Lo que se busca con ello básicamente es poder lograr obtener subprogramas lo
más simple posibles. De esta manera los problemas pueden ser resueltos de
forma fácil por un lenguaje de programación.
Esto es gracias a que la programación modular permite en principio dividir la
complejidad de un problema, y además se puede reutilizar el código de un
programa en cualquier momento.
Para ello se utiliza la técnica denominada Top-Down o análisis descendente.
La técnica Top-Down hace posible diseñar una solución a un problema a
través de la segmentación, y su nombre refiere a que este procedimiento se
realiza de arriba hacia abajo.
En informática, la programación modular utiliza el proceso de
segmentación, con lo cual se diseñan pequeños bloques de códigos
independientes para subprogramas, que serán parte luego del software mayor.
Ten en cuenta que en la mayoría de los casos esta técnica Top-Down se utiliza
en conjunto con pseudocódigo, para de esta manera poder generar una
herramienta de diseño de algoritmos adecuada.
En el proceso de segmentación entran en juego los módulos, los cuales además se
integran entre sí de manera jerárquica para conformar el programa que se está
desarrollando.
Qué es el módulo?
Como ya te podrás imaginar, cada uno de los módulos son parte integrante de
un conjunto superior, es decir de un programa mayor.
Es decir que cada módulo de un programa es básicamente cada una de las
partes de ese programa, y que fueron creados como subprogramas con tareas
para específicas y definidas.
Entonces podemos decir que cada módulo es un segmento, una rutina, una
subrutina, un subalgoritmo o un procedimiento que permite ejecutar una
tarea específica, y que opera dentro del módulo principal.
Sin embargo, cabe aclarar que un módulo no es simplemente una función o un
procedimiento, porque en realidad puede contener en sí muchos de ellos.
Por ende, ten en cuenta que cada módulo es un bloque de sentencias que
resuelve un problema particular.
Debido a su independencia del resto de los módulos, cada uno de ellos tiene la
particularidad que puede ser modificado sin afectar al resto.
En resumen, la programación modular está compuesta por dos tipos de módulos:
El módulo principal: Es el que concentra al resto de los módulos y es
el único que puede ejecutar las funciones de los módulos auxiliares.
Es el encargado de coordinar la ejecución de los demás módulos.
Los módulos auxiliares: Son archivos ejecutables separados, pero
que sólo funcionan cuando son ejecutados por el módulo principal.
Son los que resolverán cada de una las tareas concretas del
problema.
Historia de la programación modular
Si repasas la historia de la programación modular, encontrarás que en definitiva
es considerada como la evolución de la programación estructurada.
Si nos remontamos a los comienzos de la historia de la
computación, encontramos que las primeras computadoras eran equipos
complejos pero que tenían una capacidad ciertamente limitada para resolver
problemas.
Con el paso de los años y gracias al surgimiento del lenguaje ensamblador y los
primeros lenguajes de alto nivel, comenzó la evolución de la programación.
Sin embargo, con la llegada de los lenguajes de alto nivel, a la par fue creciendo
la complejidad de los programas. Por ende, los programadores se vieron ante el
desafío de escribir códigos más acordes a esas necesidades.
Por aquella época, los programadores utilizaban la conocida sentencia GOTO,
proveniente del lenguaje ensamblador, para poder transferir el control de
ejecución desde un punto del programa hacia otro.
Sin embargo, este procedimiento causaba inconvenientes y por ende generaba
errores y se volvía casi imposible seguir el flujo de control del programa.
Ten en cuenta que se trataba de programas que realmente abusaban de la
sentencia GOTO, y terminaban generando un caos de programación. A los
programas con estas características se los solía llamar despectivamente “código
espagueti”.
Fue a finales de los años sesenta y comienzos de la década de los setenta
que nace la programación estructurada. Con ella se incorporaron estructuras
de control de flujo, que permitieron que un programa fuera más fácil de trazar.
A partir de allí surgió un nuevo inconveniente.
Los desarrolladores vieron que en el funcionamiento de programas grandes y
complejos, era imperioso dividir el programa en unidades más pequeñas.
Es allí precisamente donde surge el concepto de la programación modular.
Claro que al principio generó ciertas divergencias entre aquellos que preferían
diferentes enfoques para la programación modular. Estos enfoques eran:
Top-Down: De arriba hacia abajo. Conocida también como
programación descendente. En este enfoque los módulos surgen
hacia abajo, y se van generando más módulos a medida que se baja
de nivel.
Bottom-Up: De abajo hacia arriba. Toma primero la programación
de los módulos del nivel más bajo, y luego van surgiendo los
módulos de niveles superiores.
Mientras que el modelos planteado por Bottom-Up fue ampliamente utilizado en
los primeros tiempos, sobre todo en las fases de pruebas de la programación
modular, lo cierto es que finalmente el enfoque más utilizado terminó siendo
Top-Down, el cual fue promovido por Harlan Mills y Niklaus Wirth en los años
setenta.
Durante muchos años, la programación modular con enfoque Top-Down fue
el estándar más utilizado en la programación. Hoy la programación orientada
a objetos se ha posicionado como un reemplazo mucho más acorde a las
necesidades actuales.
Características de la programación modular
En la programación modular la premisa es que todo programa tiene un módulo
principal.
A su vez ese módulo está dividido en submódulos. Cada uno de estos
submódulos ejecutan una tarea específica, por lo que su código es independiente.
A pesar de esa independencia, el control siempre lo tendrá el módulo principal.
Debido a esta conformación, la programación modular incluye una serie de
características esenciales. Estas características son las siguientes:
Modularidad
El programa incluye subprogramas que han sido desarrollados con
códigos independientes.
Cada módulo es un conjunto de sentencias que permiten realizar
una acción u operación.
Gracias a su modularidad, la programación modular permite
disponer de pequeños módulos o sentencias simples que se acoplan
a la función principal del software, en reemplazo de una única
función principal larga.
Cada uno de los módulos es más fácil de comprender, con lo cual es
posible al final tener una gran solución para un problema complejo.
La comunicación entre estos subprogramas se realiza por medio de
parámetro=variable.
Funcionalidad
En la programación modular es necesario utilizar funciones que
incluyen definición, comandos y sentencias.
Todas las funciones incluyen una sentencia de retorno.
Las funciones utilizan las sentencias de las variables adicionales.
Variable
La programación modular incluye variables que se encuentran
dentro de la función principal del programa.
Con cada función que se ejecuta, las variables tienen un valor
específico, aunque como su nombre lo indica, este valor puede
cambiar cada vez que se lleva a cabo dicha función.
Existen dos tipos de variables: Las variables locales y las variables
globales. Estas últimas son definidas de forma externa al programa
principal, pero están relacionadas a las funciones que se encuentran
dentro del programa.
Procedimental
Está orientada por completo a la escritura de código para la creación
de funciones.
No toma en cuenta los datos.
Tipos de programación modular
Como ya hemos visto, existen dos tipos de programación modular.
Por un lado la generada de arriba hacia abajo, es decir la técnica llamada Top-
Down y conocida en el mundo de la programación como programación
descendente.
Aquí los módulos surgen de arriba hacia abajo, y van surgiendo módulos más
simples y pequeños a medida que se baja de nivel.
Por otro lado existe la programación modular de abajo hacia arriba, conocida
como Bottom-Up.
Al contrario de la anterior, en esta técnica se utiliza en primer lugar la
programación de los módulos del nivel más bajo.
Luego de ello se van generando los módulos de niveles superiores.
Ventajas de la programación modular
Como has podido ver hasta ahora, la programación modular tiene muchas
ventajas. Algunas de las mismas son:
Gracias a su estructuración, es capaz de reducir la complejidad y los
alcances del problema.
Debido a lo anterior, también es posible reducir el tamaño del
problema.
También favorece el entendimiento del problema. Esta característica
es muy interesante cuando más de un programador tiene que
hacerse cargo del mantenimiento del programa.
Facilita la cooperación entre programadores. Esto es muy útil en
proyectos muy grandes y complejos.
Una de las características más importantes es la posibilidad
de reutilizar el código.
La estructura de la programación modular permite que el código se
pueda escribir y leer con más facilidad. Una opción más que
interesante en proyectos en los que participan muchos
programadores.
También te permite que la lógica del programa sea mucho más clara.
Un punto a favor en proyectos grandes.
La estructura de la programación modular permite proteger la
ejecución del programa. Es decir que tiene la capacidad de proveer
seguridad para evitar que se destruyan datos en forma accidental.
La propia estructuración de la programación modular posibilita una
solución rápida y efectiva de los problemas mayores. Luego de ello
los programadores podrán centrarse en los detalles menos
importantes, como la GUI y demás.
Con respecto a la depuración de los errores de un desarrollo, esta es
mucho más sencilla de llevar a cabo. Esto es debido a que en
primera instancia se corrigen errores en los módulos del nivel
inferior. En este mismo sentido, se favorece la modificación del
código.
En la programación modular, el desarrollo del programa es
independiente del proyecto.
La característica más destacada de la programación modular es sin
dudas la posibilidad de desarrollar programas mucho más eficientes.
Otra ventaja de este tipo de programación es la posibilidad de la
utilización múltiple de los módulos.
Desventajas de la programación modular
Así como la programación modular tiene sus claras ventajas, también ofrece una
buena cantidad de desventajas con respecto a otros paradigmas de
programación.
Alguna de las desventajas de la programación modular son las siguientes:
Ofrece una estructura por demás orientada a objetos. La
programación modular usa interfaces, lo cual es muy eficiente. Para
ello, muchos frameworks ofrecen sets completos de clases
intercambiables. Ejemplos de ellos existen varias clases capaces de
implementar una interfaz de persistencia. Pero esto lleva a
confusión cuando se utilizan entornos de desarrollo integrado,
conocidos como IDE. En este sentido, en el caso de querer hallar la
fuente de un método, por ejemplo el IDE podría mostrar una
extensa lista de archivos. Todos con referencia a un método con ese
nombre.
Otra desventaja importante de la programación modular es que
existen muchos módulos que contienen funciones mínimas. Todos
estos módulos, a la hora de ejecutar el programa, suman tiempo de
procesamiento. Esto significa que si se usan muchos de estos
módulos pequeños, se aumenta la necesidad de tiempo de proceso,
tanto para la compilación como para la ejecución. Asimismo
aumentará el tamaño del paquete del ejecutable.
Como saben todos los programadores, descomponer un código en módulos no
tiene mucho sentido. Muchos de los códigos que se utilizan nunca cambian, y
por ello no tiene demasiada razón intentar mejorarlos, ya que se funcionan a la
perfección. En este sentido, existen códigos muy usados que no se ven muy
lindos en el papel, pero que funcionaron a la perfección durante años.
Porque es importante la programación modular?
En este punto, es necesario destacar la importancia de la programación modular
sobre los demás paradigmas de programación.
La programación modular te permite resolver un problema dividiéndolo en
problemas más pequeños, más conocidos como subproblemas. Esto es de mucha
importancia para el desarrollo de aplicaciones modernas.
Con la programación modular se obtiene una manera de resolver una tarea muy
complicada resolviendo primero los problemas más pequeños que acarrea.
A este tipo de resolución de problemas en programación se le denomina como
Top Down.
Usos de la programación modular
Como ya sabes a esta altura, la programación modular es solamente un
concepto. Este concepto se puede aplicar al desarrollo de software en cualquier
plataforma y en cualquier lenguaje de programación.
Más aún si es un lenguaje de programación de tipo procedimental, los cuales
ofrecen el compilador en forma separada.
Otro de los usos de la programación reside en que las bibliotecas de componentes
construidos a partir de módulos compilados por separado se pueden combinar
mediante un enlazador. Esta es una herramienta de programación muy usada en
esta técnica.
Una de las características fundamentales para que la programación modular sea
exitosa es que los nombres de las funciones en los diferentes módulos deben ser
únicos.
Con esto se hace más sencillo el acceso para cuando desees exportar las
funciones utilizadas por el módulo principal.
Lenguajes de programación para la programación modular
En la actualidad uno de los lenguajes de programación más usados que soportan
el concepto de programación modular es Java.
Sin embargo, existen otros lenguajes de programación que Java. Estos son
algunos ejemplos:
C
Ada
PL/I
Erlang
Pascal
Algol
COBOL
RPG
Haskell
Python
HyperTalk
IBM/360 Assembler
MATLAB
Ruby
IBM RPG
SmallTalk
Morpho
Perl