Está en la página 1de 33

MATERIA:

PARADIGMAS DE
PROGRAMACIÓN

Modulo: 1/ 2023
UNIVERSIDAD DE EL SALVADOR
Facultad Multidisciplinaria de Occidente Docente:
Departamento de Ingeniería y Arquitectura
Grupo:
DEFINICIÓN DE PARADIGMAS DE PROGRAMACIÓN

Un paradigma de programación es una manera o estilo de


programación de software. Existen diferentes formas de diseñar un
lenguaje de programación y varios modos de trabajar para obtener los
resultados que necesitan los programadores.
DEFINICIÓN DE PARADIGMAS DE PROGRAMACIÓN

Se trata de un conjunto de métodos sistemáticos aplicables en todos los niveles del


diseño de programas para resolver problemas computacionales.
Los lenguajes de programación adoptan uno o varios paradigmas en función del
tipo de órdenes que permiten implementar como, por ejemplo, Python o JavaScript,
que son multi-paradigmas.
Los paradigmas de programación son los principios
fundamentales de la programación de software.

Lo más fácil es plantearlos como estilos de programación


fundamentalmente diferenciados que, en consecuencia,
generan códigos software que están estructurados de
forma distinta.
PARADIGMAS DE PROGRAMACIÓN
DOS GRANDES TIPOS DE PARADIGMAS DE PROGRAMACIÓN

El concepto clásico es el de la Según el principio de la Programación

Programación Imperativa, en la que Declarativa, solo se describe lo que

se define claramente en el código fuente debe solucionar el software (es decir,

qué pasos debe ejecutar un programa y solo el resultado y no los pasos

en qué secuencia. Sus subtipos son la individuales). Subtipos del paradigma

programación procedimental y la declarativo son la programación

orientada a objetos. funcional y la lógica. ¿Cómo se


distinguen entre sí los citados
paradigmas de software?
PROGRAMACIÓN IMPERATIVA: EL PARADIGMA DE PROGRAMACIÓN
CLÁSICO

Entre los paradigmas de programación de software, la programación imperativa


(del latín imperare, ordenar) se considera el paradigma clásico.

Los primeros lenguajes de programación y, por extensión, también los primeros


programas
informáticos, se basan completamente en este enfoque, que prevé una secuencia
regularizada de órdenes o instrucciones determinadas.

Este paradigma de programación es la base, por ejemplo, de los veteranos


lenguajes Pascal y C, así como de todos los lenguajes ensambladores, entre otros.
PROGRAMACIÓN IMPERATIVA: EL PARADIGMA DE PROGRAMACIÓN
CLÁSICO

En la programación imperativa, el centro de atención radica, entre otras cosas, en


trabajar
lo más cerca posible del sistema. Como consecuencia, el código de programación
resultante
es fácil de comprender y, a la vez, muy abarcable.

La programación estructurada, la procedimental y la modular son tres enfoques


adicionales subordinados al paradigma de programación imperativa para escribir y
estructurar código software.
Programación Declarativa: Paradigmas de software del pasado
más reciente
.

De forma paralela a la evolución continuada del hardware y el software,


con el enfoque declarativo se desarrolló un paradigma alternativo
para la programación de código.

El principio fundamental de la programación declarativa radica en la descripción del


resultado final que se busca. Por lo tanto, en primera línea se encuentra el “qué” del
resultado y no el “cómo” de los pasos que llevan a la solución, como es el caso en la
programación imperativa.
Programación Declarativa: Paradigmas de software del pasado
más reciente

Esto provoca que el código de la programación declarativa sea más difícil de


comprender debido al alto grado de abstracción, aunque resulta muy corto y preciso.
Dentro de los subtipos del paradigma de programación declarativa, existen más

diferencias que dentro del estilo imperativo.


Asimismo, su definición y clasificación no es siempre exacta.
Los dos enfoques más importantes del paradigma de programación declarativa son la
programación funcional y la lógica.
PROGRAMACION
ESTRUCTURADA
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.
La programación estructurada 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. Para comprenderlo mejor, vamos a hacer un pequeño viaje
en el tiempo.
Nos vamos al año 1966, cuando Böhm y 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 disminuye la complejidad de
las pruebas y el testing para ponerlos en funcionamiento.
En 1968, Edsger Dijkstra publicó un célebre artículo que impactó en la
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.
La programación estructurada se convierte así, junto con la programación
orientada a objetos, en uno de los paradigmas de programación más
populares que ejecuta los lenguajes más potentes que seguro conoces,
incluidos,
entre otros, Java, C, Python y C++.
Sin embargo, algunos lenguajes de programación más antiguos (como
Fortran)
se apoyaban en una sola instrucción para modificar la secuencia de ejecución
de las instrucciones mediante una transferencia incondicional de su
control (con la instrucción goto, del inglés "go to", que significa "ir a").
Pero estas transferencias arbitrarias del control de ejecución hacen los
programas
muy poco legibles y difíciles de comprender.
A finales de los años sesenta,
surgió una nueva forma de programar que reduce a la mínima expresión el
uso de la instrucción goto y la sustituye por otras más comprensibles.
Esta forma de programar se basa en un famoso teorema,
desarrollado por Edsger Dijkstra, que demuestra que todo
programa puede escribirse utilizando únicamente las tres estructuras
básicas de control siguientes:

1. Secuencia: el bloque secuencial de instrucciones, instrucciones


ejecutadas sucesivamente, una detrás de otra.
2. Selección: la instrucción condicional con doble alternativa, de la
forma:

"if condición then instrucción-1


else instrucción-2".
3. Iteración: el bucle condicional
"while condición do instrucción", que
ejecuta la instrucción repetidamente
mientras la condición se cumpla.
Los programas que utilizan sólo estas
tres instrucciones de control básicas
o sus variantes (como los bucles for, repeat o la
instrucción condicional switch-case), pero no la
instrucción goto, se llaman estructurados.

Programación estructurada (llamada también


programación sin goto) que hasta la aparición de la
programación orientada a objetos se convirtió
en la forma de programar más extendida.
A pesar que la Programación Orientada a Objetos (esta la abordaremos más adelante
en otra unidad) se enfoca en la reducción de la cantidad de estructuras de control para
reemplazarlas por otros elementos que hacen uso del concepto de polimorfismo. Aun
así
los programadores todavía utilizan las estructuras de control (if, while, for,
etc.) para
implementar sus algoritmos porque en muchos casos es la forma más natural de
hacerlo.
VENTAJAS DEL PARADIGMA

• Los programas son más fáciles de entender, pueden ser leídos de forma secuencial
y no hay necesidad de tener que rastrear saltos de líneas (GOTO) dentro de los
bloques de código para intentar entender la lógica interna.
• La estructura de los programas es clara, puesto que las sentencias están más
ligadas o relacionadas entre sí.
• Se optimiza el esfuerzo en las fases de pruebas y depuración. El seguimiento de los
fallos o errores del programa (debugging), y con él su detección y corrección, se
facilita enormemente.
VENTAJAS DEL PARADIGMA

4. Se reducen los costos de mantenimiento. Análogamente a la depuración, durante la


fase de mantenimiento, modificar o extender los programas resulta más fácil.

5. Los programas son más sencillos y más rápidos de confeccionar.

6. Se incrementa el rendimiento de los programadores.


ESTRUCTURA
GENERAL DE
UN PROGRAMA
ESTRUCTURA GENERAL DE UN PROGRAMA

Un programa de computadora es un conjunto de instrucciones que producirán la


ejecución de una determinada tarea.
El proceso de programación es, por consiguiente, un proceso de solución de
problemas, el desarrollo de un programa requiere las siguientes fases:
PARTES CONSTITUTIVAS DE UN PROGRAMA
TIPOS DE INTRUCCIONES

• Instrucciones de inicio/fin
• Instrucciones de asignación
• Instrucciones de lectura
• Instrucciones de escritura
• Instrucciones de bifurcación
Escritura de algoritmos / programas

La escritura de un algoritmo mediante una herramienta de programación


debe ser lo más clara posible y estructurada, de modo que su lectura
facilite considerablemente el entendimiento del algoritmo y su posterior
codificación en un lenguaje de programación.
REPRESENTACIÓN EN
PSEUDOCÓDIGO Y
DIAGRAMA DE FLUJO
REPRESENTACION EN PSEUDOCODIGO Y DIAGRAMA DE FLUJO

Los métodos usuales para representar un algoritmo son:


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.
PSEUDOCÓDIGO

El pseudocódigo nació como un lenguaje similar al inglés y era un medio


de representar básicamente las estructuras de control de programación
estructurada.
El pseudocódigo original utiliza para representar las acciones sucesivas
palabras reservadas en inglés —similares a sus homónimas en los
lenguajes de programación—, tales como start, end, stop, if-then-else,
while-end, repeat-until, etc
DIGRAMA DE FLUJO

Un diagrama de flujo (flowchart) es una de las técnicas de


representación de algoritmos más antigua y a la vez más utilizada,
aunque su empleo ha disminuido considerablemente, sobro todo, desde
la aparición de lenguajes de programación estructurados.

También podría gustarte