investigacion 1

8
UNIVERSIDAD DE GUAYAQUIL Facultad Ciencias Matemáticas y Físicas Carrera de Ingeniería en Networking y Telecomunicaciones PROGRAMACION#3 Nombre: Dayanna Mayorga Pincay Tema : Evolución del software (Paradigmas de Programación) Fecha: 11/Noviembre/2015

Upload: dayanna

Post on 01-Feb-2016

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Investigacion 1

UNIVERSIDAD DE GUAYAQUIL

Facultad Ciencias Matemáticas y Físicas

Carrera de Ingeniería en Networking y Telecomunicaciones

PROGRAMACION#3

Nombre: Dayanna Mayorga Pincay

Tema : Evolución del software (Paradigmas de Programación)

Fecha: 11/Noviembre/2015

Page 2: Investigacion 1

¿Qué es un paradigma de programación?

Los paradigmas de programación nos indican las diversas formas que, a lo

largo de la evolución de los lenguajes, han sido aceptadas como estilos para

programar y para resolver los problemas por medio de una computadora.

Los lenguajes de programación son basados en uno o más paradigmas Por

ejemplo: Smalltalk y Java son lenguajes basados en el paradigma orientado a

objetos. El lenguaje de programación Scheme, en cambio, soporta sólo

programación funcional. En cambio Python, soporta múltiples paradigmas.

Clasificación por paradigmas de programación:

Programación estructurada (PE)

La programación estructurada (en adelante simplemente PE), es un estilo de

programación con el cual el programador elabora programas, cuya estructura

es la más clara posible, mediante el uso de tres estructuras básicas de control

lógico, a saber:

a. SECUENCIA.

b. SELECCIÓN.

c. ITERACIÓN.

Las ventajas de la programación estructurada son:

Los programas son más fáciles de entender.

Se reduce la complejidad de las pruebas.

Aumenta la productividad del programador.

Los programas queden mejor documentados internamente.

Un programa está estructurado si posee un único punto de entrada y sólo uno

de salida, existen de "1 a n" caminos desde el principio hasta el fin del

programa y por último, que todas las instrucciones son ejecutables sin que

aparezcan bucles infinitos.

Page 3: Investigacion 1

Programación modular

La programación modular consta de varias secciones dividas de forma que

interactúan a través de llamadas a procedimientos, que integran el programa

en su totalidad. En la programación modular, el programa principal coordina las

llamadas a los módulos secundarios y pasa los datos necesarios en forma de

parámetros. A su vez cada modulo puede contener sus propios datos y llamar a

otros módulos o funciones.

Este paradigma también se conoce como principio de ocultación de

procedimientos y datos. Aunque C++ no se diseño específicamente para

desarrollar la programación modular, su concepto de clase proporciona apoyo

para el concepto de módulo.

Programación orientada a objetos (POO)

En la programación orientada a objetos, los objetos tienen una correspondencia

estrecha con los objetos reales, esta correspondencia, facilita la comprensión y

el manejo del programa de la computadora. El paradigma orientado a objetos

ha sufrido una evolución similar al paradigma de programación estructurada, es

decir, primero se empezaron a utilizar los lenguajes de programación

estructurados que permiten la descomposición modular de los programas; esto

condujo a la adopción de nuevas técnicas de diseño estructuradas y de ahí al

análisis estructurado. Las principales características del paradigma de la

orientación a objetos son:

1) Encapsulación.

2) Herencia.

3) Polimorfismo.

Las ventajas más importantes de la programación orientada a objetos son:

Reusabilidad. Cuando se ha diseñado adecuadamente las clases, se

pueden usar en distintas partes del programa y en numerosos proyectos.

Page 4: Investigacion 1

Mantenibilidad. Debido a la sencillez para abstraer el problema, los

programas orientados a objetos son más sencillos de leer y comprender,

pues nos permiten ocultar detalles de implementación dejando visibles

sólo aquellos detalles más relevantes.

Modificabilidad. La facilidad de añadir, suprimir o modificar nuevos

objetos nos permite hacer modificaciones de una forma muy sencilla.

Fiabilidad. Al dividir el problema en partes más pequeñas podemos

probarlas de manera independiente y aislar mucho más fácilmente los

posibles errores que puedan surgir.

Programación concurrente

Este tipo de programación se utiliza cuando tenemos que realizar varias

acciones a la vez. Se suele utilizar para controlar los accesos de usuarios y

programas a un recurso de forma simultánea. Se trata de una programación

más lenta y laboriosa, obteniendo unos resultados lentos en las acciones.

Programación funcional

Modelo matemático de composición funcional donde el resultado de un cálculo

es la entrada del siguiente, y así sucesivamente hasta que una composición

produce el valor deseado. Como su nombre lo dice operan solamente a través

de funciones. Cada función devuelve un solo valor, dada una lista de

parámetros. No se permiten asignaciones globales, llamados efectos

colaterales. La programación funcional proporciona la capacidad para que un

programa se modifique así mismo, es decir que pueda aprender.

Programación lógica

Esta programación se basada en un subconjunto del cálculo de predicados,

incluyendo instrucciones escritas en formas conocidas como cláusulas de Horn.

Este paradigma puede deducir nuevos hechos a partir Parte 1: Introducción

Paradigmas y Lenguajes Página 5 de otros hechos conocidos.

Page 5: Investigacion 1

La programación lógica, la otra variedad de la programación declarativa, usa

como base sentencias de lógica de primer orden, en concreto las cláusulas de

Horn (restricción del Cálculo de Predicados de Primer Orden) y su forma de

ejecución es el principio de resolución de Robinsón.

Un programa lógico consiste en un conjunto de relaciones, y su ejecución

vendrá a demostrar que una nueva relación se sigue se las que constituía el

programa. Las relaciones serán especificadas con reglas y hechos.

Page 6: Investigacion 1

Bibliografías:

Programación estructurada. (s.f.). Obtenido de http://utnconfluencia.jtortone.com.ar/Programacionestructurada.pdf

Lenguajes y Paradigmas de Programación. (09 de Febrero de 2011). Obtenido de Sesión 2: Lenguajes de Programación: http://www.dccia.ua.es/dccia/inf/asignaturas/LPP/2010-2011/clases-cristina/s2.pdf

Paradigmas y Lenguajes . (s.f.). Obtenido de Parte 1: Introducción : http://www.paradylenguajes.com.ar/rmonzon/Intro_PyL.pdf

Unidad I – POO Avanzada . (2009). Obtenido de Introducción - Qué es un paradigma de programación?: http://labsys.frc.utn.edu.ar/ppr-2009/Unidad%20I%20-%20POO%20Avanzada/Apunte/Unidad%20I%20-%20POO%20Avanzada.pdf

UNIVERSIDAD DE ALICANTE. (s.f.). Obtenido de LENGUAJES Y PARADIGMAS DE PROGRAMACION : http://cv1.cpd.ua.es/ConsPlanesEstudio/cvFichaAsiEEES.asp?wCodEst=C203&wcodasi=34017&wLengua=C&scaca=2014-15

Valdéz, J. L. (s.f.). Eumed.net Enciclopedia Virtual. Obtenido de IMPLEMENTACIÓN DEL MODELO INTEGRAL COLABORATIVO (MDSIC) COMO FUENTE DE INNOVACIÓN PARA EL DESARROLLO ÁGIL DE SOFTWARE EN LAS EMPRESAS DE LA ZONA CENTRO - OCCIDENTE EN MÉXICO: http://www.eumed.net/tesis-doctorales/2014/jlcv/programacion.htm