martes, 31 de mayo de 2016

Investigación N°2

1) Cuadro comparativo: 



Paradigmas
Definición
Año
Promotor
Ventajas
Desventajas
Programas
Estructuradas
Es un paradigma de la programación orientada a mejorar la claridad. Calidad y tiempo de desarrollo de un programa de computadora.
Finales de los años 1970
Böhm Jacopini
-Los programas son fáciles de entender
-La estructura de los programas es clara.
-Reducción del esfuerzo en las pruebas y depuración.
-Complejidad para adaptarse.
-Mayor cantidad de códigos
-ALGOL
-Pascal
-PL/I
-Ada
POO
Es un paradigma de programación que usa objetos en sus interacciones para diseñar aplicaciones y programas informáticos.
1970
Ole-Johan Dahl y Kristen Nygaard
-Reusabilidad
-Extensibilidad
-Facilidad de mantenimiento
-Portabilidad

-Curvas de aprendizaje largas
-Dificultad en la abstracción
-Limitación para el programador
-Simula
-Smalltalk
-ABAP
-C++
-C
-Java
-JavaScript




2)Definir los elementos de la POO:

-Clases:
Las clases son los modelos sobre los cuales se construiran nuestros objetos

-Propiedades:
Son las características intrínsecas del objetos. Estas, se representan a modo de variables, solo que técnicamente, pasan a denominarse propiedades.

-Métodos:
Los métodos son funciones que representan acciones propias que puede realizar el objeto.

-Objeto:
El objeto es la materialización de una clase.



3) Características de la POO:

-Abstracción:
Denota las características esenciales de un objeto donde se capturan sus compartimientos.

-Encapsulamiento:
Significa reunir todos los elementos que pueden considerarse pertenecientes a una misma entidad, al mismo nivel de abstracción.

-Polimorfismo:
Comportamientos diferentes, asociados a objetos distintos, pueden compartir el mismo nombre; al llamarlos por ese nombre se utilizará el comportamiento correspondiente al objeto que se esté usando.

-Herencia:
Las clases no se encuentran aisladas, sino que se relacionan entre sí, formando una jerarquía de clasificación. Los objetos heredan las propiedades y el comportamiento de todas las clases a las que pertenecen.

-Modularidad:
Se denomina "modularidad" a la propiedad que permite subdividir una aplicación en partes más pequeñas (llamadas módulos), cada una de las cuales debe ser tan independiente como sea posible de la aplicación en sí y de las restantes partes. 

-Principio de ocultación:
Cada objeto está aislado del exterior, es un módulo natural, y cada tipo de objeto expone una "interfaz" a otros objetos que especifica cómo pueden interactuar con los objetos de la clase.

-Recolección de basura:
La recolección de basura (garbage collection) es la técnica por la cual el entorno de objetos se encarga de destruir automáticamente, y por tanto desvincular la memoria asociada, los objetos que hayan quedado sin ninguna referencia a ellos. 


Fuente:
http://bitacora330b.blogspot.com/2012/11/cuadro-comparativo-de-programacion.html

https://es.wikipedia.org/wiki/Programaci%C3%B3n_orientada_a_objetos#Caracter.C3.ADsticas_de_la_POO

https://es.wikipedia.org/wiki/Programaci%C3%B3n_estructurada









domingo, 22 de mayo de 2016

Investigación N°1

11- ¿Qué es un lenguaje de programación?
Un lenguaje de programación es un lenguaje formal diseñado para realizar procesos que pueden ser llevados a cabo por máquinas como las computadoras.

   2-¿Cuáles son los distintos paradigmas del a programación?
-Programación imperativa o por procedimientos: 
Es el más usado en general, se basa en dar instrucciones al ordenador de cómo hacer las cosas en forma de algoritmos. La programación imperativa es la más usada y la más antigua, el ejemplo principal es el Lenguaje de máquina. Ejemplos de lenguajes puros de este paradigma serían el C, BASIC o Pascal.
-Programación orientada a objetos: 
Está basada en el imperativo, pero encapsula elementos denominados objetos que incluyen tanto variables como funciones. Está representado por C++ o Java, pero el más representativo sería el Smalltalk que está completamente orientado a objetos.
-Programación dinámica: 
Está definida como el proceso de romper problemas en partes pequeñas para analizarlos y resolverlos de forma más óptima, busca resolver problemas en O(n) sin usar por tanto métodos recursivos. Este paradigma está más basado en el modo de realizar los algoritmos, por lo que se puede usar con cualquier lenguaje imperativo.
-Programación declarativa: 
Está basado en describir el problema declarando propiedades y reglas que deben cumplirse, en lugar de instrucciones. Hay lenguajes para la programación funcional, la programación lógica, o la combinación lógico-funcional. Unos de los primeros lenguajes funcionales fueron Lisp y Prolog.
-Programación funcional: 
Basada en la definición los predicados y es de corte más matemático, está representado por Scheme (una variante de Lisp) o Haskell.
-Programación lógica: basado en la definición de relaciones lógicas, está representado por Prolog.





Fuente:
https://es.wikipedia.org/wiki/Lenguaje_de_programaci%C3%B3n
https://es.wikipedia.org/wiki/Paradigma_de_programaci%C3%B3n