Unidad II Paradigmas de Programacion

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 22

Unidad II

Paradigmas y lenguajes

Introducción. Generalidades del paradigma de programación


imperativa. Lenguajes imperativos. Ventajas e inconvenientes de
los lenguajes imperativos. Procedimientos. Estructuras de control.
Construcción de programas y Sub-Programas. Registros y
archivos. Paso de parámetros. Ejecución de un programa.
UNLaR Eduardo Campazzo
Paradigmas de programación
En cuanto a los lenguajes de programación, definimos como Paradigma de
Programación a un enfoque particular o filosofía para la construcción del
software. No es mejor uno que otro sino que cada uno tiene ventajas y
desventajas. También hay situaciones donde un paradigma resulta más
apropiado que otro. Un paradigma está constituido por los supuestos
teóricos generales, las leyes y las técnicas para su aplicación que adoptan
los miembros de una determinada comunidad científica.

UNLaR Eduardo Campazzo


Paradigmas de programación
Paradigma de programación es una
propuesta tecnológica adoptada por
una comunidad de programadores cuyo
núcleo central es incuestionable en
cuanto a que unívocamente trata de
resolver uno o varios problemas
claramente delimitados.

UNLaR Eduardo Campazzo


Concepto programa /
Software
Un programa de computadoras, también llamado
software, es un conjunto de códigos, instrucciones,
declaraciones, proposiciones, etc. que describen,
definen o caracterizan la realización de una acción
en la computadora.

UNLaR Eduardo Campazzo


Concepto Paradigma de En otras palabras, es una colección de modelos
conceptuales que juntos modelan el proceso de
programación diseño, orientan la forma de definir los problemas y,
por lo tanto, determinan la estructura final de un
Un paradigma de programación es un programa.
modelo básico de diseño e implementación
de programas, que permite desarrollar
software conforme a ciertos principios o
fundamentos específicos que se aceptan
como válidos.

UNLaR Eduardo Campazzo


Lenguajes de programación
Se encuadra en un determinado
Un lenguaje de programación es una técnica paradigma, siendo la herramienta que
estándar de comunicación que permite expresar las
instrucciones o declaraciones que pueden ser
permite expresar la solución a un
interpretadas en una computadora. Está formado problema.
por un conjunto de símbolos y reglas sintácticas y
semánticas que definen su gramática y el
significado de sus elementos y expresiones.

UNLaR Eduardo Campazzo


Historia de los lenguajes de programación
La existencia de diferentes paradigmas de programación, implica
que también haya diversos conceptos de “programa”. Por lo
tanto se los puede comparar para descubrir su especificidad, su
dominio de aplicación, sus ventajas y limitaciones, tanto para
poder elegir la mejor solución como para combinarlos.

UNLaR Eduardo Campazzo


Paradigmas fundamentales
En la actualidad, los principales paradigmas que tienen vigencia, tanto
por su desarrollo conceptual y su importancia en las ciencias de la
computación, como por su presencia significativa en el mercado, son
los siguientes:
Paradigma Lógico
Paradigma Funcional
Paradigma Imperativo o procedural
Paradigma de Objetos

UNLaR Eduardo Campazzo


Paradigma imperativo

Describe cómo debe realizarse el cálculo, no el porqué.


Un cómputo consiste en una serie de sentencias, ejecutadas según un
control de flujo explícito, que modifican el estado del programa.
Las variables son celdas de memoria que contienen datos (o referencias),
pueden ser modificadas, y representan el estado del programa.
La sentencia principal es la asignación.

UNLaR Eduardo Campazzo


Paradigma imperativo

Basado en el modelo de Un cómputo es una secuencia de operaciones..


cómputo de máquinas de Turing ..que modifican el estado del programa
y sobre todo en las máquinas (registros)..
RAM (registro + acceso aleatorio ..y cuyos resultados determinan la secuencia de
a memoria) ejecución.

UNLaR Eduardo Campazzo


Paradigma imperativo

El paradigma imperativo describe paso a paso


un conjunto de instrucciones que deben
ejecutarse para variar el estado del programa
y hallar la solución, es decir, un algoritmo en
el que se describen los pasos necesarios para
solucionar el problema.

UNLaR Eduardo Campazzo


Paradigma imperativo

Dentro de este paradigma surgieron diferentes etapas, primero surgió el paradigma lineal
donde los programas eran un solo bloque, con instrucciones para:
Ejecutar un conjunto de instrucciones, encabezadas por una etiqueta (label)
Ejecutar un rango de instrucciones definido por etiquetas desde/hasta.
Derivar el flujo de control a determinada etiqueta. (Go to, go to .. depending).
Realizar el uso intensivo de banderas para la detección de eventos anteriores.
Entre otros.
UNLaR Eduardo Campazzo
Paradigma imperativo / estructurado

Describe la programación en términos del estado del


programa y sentencias que cambian dicho estado. Los
programas imperativos son un conjunto de instrucciones
que le indican al computador cómo realizar una tarea.

UNLaR Eduardo Campazzo


Paradigma imperativo / estructurado
Lenguajes asociados: Fortran, C, Pascal. Ventajas:
El conjunto de instrucciones del programa es más cercano al
conjunto de instrucciones de código de máquina, por consiguiente
el código es más directo y es más rápida su ejecución.
Si el programa está bien modularizado, es más fácil de corregir
los errores de ejecución y su mantenimiento.

UNLaR Eduardo Campazzo


Paradigma imperativo / estructurado
La estructura del programa puede ser clara si:
Se hace hincapié en la modularización del programa, existen niveles,
puede distribuirse la codificación siguiendo un diseño Top Down. (La codificación
distribuida en módulos va de un nivel general al de máximo detalle).
La cantidad de niveles que usamos para modularizar es la adecuada
Los nombres de los módulos (Procedimientos, funciones), definidos por el
programador, son representativos de lo que el módulo realiza.
Hay suficiente documentación adjunta al código.

UNLaR Eduardo Campazzo


Paradigma imperativo / limitaciones
La complejidad de muchos sistemas actuales hace
que sea complicado definir la distribución del código
en módulos. Este paradigma posibilita modularizar
la codificación, pero no define cual es el criterio a
seguir. (Como si lo hace el paradigma Programación
orientada a Objetos)
No se adapta a todos los tipos de problemas.

UNLaR Eduardo Campazzo


Paradigma imperativo / aplicaciones
Sistemas de bajo nivel
Sistemas de tiempo real
Programación de micro controladores
Máquinas de estado
Desarrollo de video juegos de consola
Aplicaciones que deben manejar recursos
limitados
https://www.youtube.com/watch?v=tahPlU4Ding https://www.tinkercad.com/things/4xvDu47sH4y-semaforo

UNLaR Eduardo Campazzo


Paradigma imperativo
La gran mayoría de procesadores siguen un
versión de ese modelo de cómputo +
arquitectura Von Neumman.

Arquitectura Von-Neumman
El programa y los datos se almacenan juntos en memoria.
Existe un registro que indica la posición de memoria donde se
encuentra la instrucción actual.

. UNLaR Eduardo Campazzo


Algunos lenguajes asociados al paradigma imperativo
Asociados al paradigma imperativo se encuentran los
paradigmas procedural, modular, y la programación
estructurada.
El lenguaje representativo sería FORTRAN-77, junto
con COBOL, BASIC, PASCAL, C, ADA.
También lo implementan Java, C++, C#, Eiffel,
Python, ...
UNLaR Eduardo Campazzo
Ensamblador
El antecesor de los lenguajes imperativos El ensamblador establece una capa de
Tipos de instrucciones de código máquina: abstracción:
Mover datos de registros a direcciones de Identificadores de operaciones
memoria y viceversa (con mecanismos de (opcodes), valores, direcciones de
indirección) memoria
Operaciones aritméticas sencillas sobre registros Secciones de datos
Tests y saltos condicionales Directivas, macros
https://schweigi.github.io/assembler-simulator/

UNLaR Eduardo Campazzo


Imperativo, procedural y no estructurado> Fortran/77

UNLaR Eduardo Campazzo


Imperativo, procedural y estructurado> pascal

UNLaR Eduardo Campazzo

También podría gustarte