Internet, 22
Internet, 22
Internet, 22
1 programación estructurada
La programación estructurada es una teoría orientada a mejorar la claridad, calidad y tiempo de desarrollo
utilizando únicamente subrutinas o funciones.
El teorema del programa estructurado es la base teórica sobre la que se construyó esta nueva forma de programar,
ya que nos da la característica fundamental de la programación estructurada. Postula que, simplemente con la
combinación de tres estructuras básicas, es suficiente para expresar cualquier función computable.
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.
Como consecuencia inmediata de lo anterior, otra ventaja es que los programas resultantes tendrán una
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
(internet, 22)
2.1.1 programas involucrados
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.
(internet, 22)
2.2 programación orientado a objeto
Por tanto, la principal característica de este tipo de programación es que soporta objetos, que tienen un tipo o
clase asociado. Esas clases pueden heredar atributos de una clase superior o superclase. Por esa razón, este
enfoque de programación se utiliza en programas grandes y complejos que se deben actualizar con cierta
regularidad.
Ventajas de la programación orientada a objetos
Reutilización del código heredado. Cuando se diseñan correctamente las clases, se pueden usar en
distintas partes del programa y en diferentes proyectos. La técnica de herencia ahorra tiempo porque
permite crear una clase genérica y luego definir las subclases que heredarán los rasgos de la misma, de
manera que no es necesario escribir esas funciones de nuevo. Además, al aplicar un cambio en la clase,
todas las subclases lo adoptarán automáticamente.
Mayor modificabilidad. Otra de las ventajas de la programación orientada a objetos es que permite
añadir, modificar o eliminar nuevos objetos o funciones fácilmente para actualizar los programas, lo cual
implica un ahorro de tiempo y esfuerzo para los programadores.
Facilidad para detectar errores en el código. En los lenguajes de programación orientada a objetos no es
necesario revisar línea por línea del código para detectar un error. Gracias a la encapsulación los objetos
son autónomos, de manera que es más fácil abstraer un problema y saber dónde buscar el error cuando
algo no funciona bien.
(Europea, 2022)
2.2.1 programas involucrados
Basada en clases.- Es la más ampliamente usada por los lenguajes de programación orientada a
objetos. Por ejemplo es usada por Java, C++ y C#. Se basa en crear una estructura molde llamada
clase donde se especifican los campos y métodos que tendrán nuestros objetos. Cada vez que
necesitamos un objeto creamos una instancia (o copia del objeto) usando la clase como molde.
Basada en prototipos.- Es soportado en JavaScript o Ruby. No hay clases, solo hay objetos. El
mecanismo para la reutilización está dado por la clonación de objetos. Se crean directamente los
objetos y cuando se quiere generar otro con la misma estructura se usa clonación. Una vez clonado si
queremos podemos agregar los campos y métodos necesarios. Un objeto prototípico es un objeto
que se utiliza como una plantilla a partir de la cual se obtiene el conjunto inicial de propiedades de un
objeto. Cualquier objeto puede ser utilizado como el prototipo de otro objeto, permitiendo al
segundo objeto compartir las propiedades del primero.
Basada en estructuras.- Soportado por Go, Rust, Nim y algunos otros lenguajes compilados. Este
enfoque está basado en la construcción de tipos definidos por el usuario (struct type), llamados
estructuras con sus respectivas propiedades o atributos y se le añade una variable de tipo puntero a
las funciones o métodos de esa estructura. Tiene soporte de métodos públicos y privados, así como
Genéricos. También tiene soporte para interfaces; pilar de apoyo para polimorfismo y herencia.
(wikipedia, 2024)