Está en la página 1de 7

Nombre de la materia

Programacin orientada a objetos


Nombre de la Licenciatura
Ingeniera En Sistemas Computacionales

Nombre del alumno


Jose Carlos Arce Cortes
Matrcula
43406

Nombre de la Tarea
Conceptos bsicos de la Programacin
Orientada a objetos

Unidad #
1
Nombre del Tutor
Melani Irais San Luis Espinoza
Fecha
09/09/17
Unidad 1. Programacin orientada a objetos
Conceptos bsicos de la programacin orientada a objetos

INTRODUCCION
La programacion orientada a objetos (POO, u OOP segn sus siglas en ingls) es un paradigma
deprogramacin que usa objetos en sus interacciones, para disear aplicaciones y programas
informticos. Est basada en varias tcnicas, incluyendo herencia, cohesin, abstraccin,
polimorfismo, acoplamiento y encapsulamiento.

2
Unidad 1. Programacin orientada a objetos
Conceptos bsicos de la programacin orientada a objetos

1)Investiga otro paradigma de programacin (adems del orientado a


objetos) y pon un ejemplo de qu
lenguaje de programacin pertenece a ese paradigma y qu aplicaciones
tiene.

PROGRAMACION LOGICA

La programacin lgica es un tipo de paradigmas de programacin dentro del paradigma de programacin


declarativa. El resto de los subparadigmas de programacin dentro de la programacin declarativa
son: programacin funcional, programacin con restricciones, programas DSL (de dominio especfico) e
hbridos. La programacin funcional se basa en el concepto de funcin (que no es ms que una evolucin de
los predicados), de corte ms matemtico. La programacin lgica gira en torno al concepto de predicado, o
relacin entre elementos.

Campos de aplicacin
La programacin lgica encuentra su hbitat natural en aplicaciones de inteligencia artificial o relacionadas:

Sistemas expertos, donde un sistema de informacin imita las recomendaciones de un experto sobre
algn dominio de conocimiento.
Demostracin automtica de teoremas, donde un programa genera nuevos teoremas sobre una teora
existente.
Reconocimiento de lenguaje natural, donde un programa es capaz de comprender (con limitaciones) la
informacin contenida en una expresin lingstica humana.
La programacin lgica tambin se utiliza en aplicaciones ms "mundanas" pero de manera muy limitada, ya
que la programacin tradicional es ms adecuada a tareas de propsito general.

Fundamentos
La mayora de los lenguajes de programacin lgica se basan en la teora lgica de primer orden, aunque
tambin incorporan algunos comportamientos de orden superior como la lgica difusa. En este sentido,
destacan los lenguajes funcionales, ya que se basan en el clculo lambda, que es la nica teora lgica de
orden superior que es demostradamente computable (hasta el momento).

Conceptos
Un concepto importante de programacin lgica es la descomposicin de programas en sus componentes
lgicos y sus componentes de control. Con lenguajes de programacin lgica de bajo nivel, estos
componentes determinan la solucin del problema, por eso los componentes de control pueden variar para
proporcionar alternancia de ejecucin de un programa lgico. Estos conceptos son capturados con el eslogan
Algoritmo= lgica + control
donde "lgica" representa un programa lgico y "control" diferentes estrategias de demostracin del
teorema.

3
Unidad 1. Programacin orientada a objetos
Conceptos bsicos de la programacin orientada a objetos

Solucin del Problema


El caso proposicional simplificado en el cual un programa lgico a un nivel superior de reduccin atmica
no contiene variables compuestas es un razonamiento que determina un rbol lgico, el cual constituye un
espacio de bsqueda para resolver el problema. El nivel superior es la raz del rbol. Dado algn nodo en
el rbol y alguna clusula cuya cabecera esta marcada por un nodo, existe un conjunto de nuevas ramas
correspondientes con los objetivos del cuerpo de las clausulas, an por reducir. Estas nuevas ramas son
agrupadas juntas por el "y" lgico. El conjunto alternativo correspondiente de estas nuevas ramas esta
agrupado por el "o" lgico.
Alguna estrategia de bsqueda puede ser usada para la bsqueda del conjunto de proposiciones a
resolver. Prolog es un lenguaje de programacin que usa una secuencia, ltimo en entrar primero en salir,
para una estrategia de agrietamiento, en la cual la alternativa y el objetivo son considerados a la vez.
Otras estrategias de bsqueda son por ejemplo la bsqueda paralela o la bsqueda primero-mejor para
encontrar una solucin ptima.
En el caso mas general, donde los objetivos comparten variables, otras estrategias pueden ser usadas,
como por ejemplo puede ser escogido el objetivo mas altamente instanciado o el suficientemente
instanciado para lo que implica un procedimiento. Una estrategia actualmente usada es la programacin
de lgica concurrente.

En qu consiste (ejemplo)
La programacin lgica permite formalizar hechos del mundo real, por ejemplo:
las aves vuelan
los pinginos no vuelan
"pichurri" es un ave
"sandokan" es un perro
"alegra" es un ave

y tambin reglas o restricciones:


una mascota vuela si es un ave y no es un pingino
Ante dicho "programa" es posible establecer hiptesis que no son ms que preguntas o incgnitas, por
ejemplo:
"pichurri" vuela ?
qu mascotas vuelan ?....
Gracias a que la lgica de primer orden es computable, el ordenador ser capaz de verificar la hiptesis,
es decir, responder a las incgnitas:
Es cierto que "pichurri" vuela.
"pichurri" y "alegra" vuelan.
Obsrvese que el programa lgico no solamente es capaz de responder si una determinada hiptesis es
verdadera o falsa. Tambin es capaz de determinar que valores de la incgnita hacen cierta la hiptesis.
Este ejemplo es claramente acadmico. Sin embargo, consideremos el siguiente ejemplo: el sistema de
control de semforos de una ciudad.
El estado de cada uno de los semforos (verde, rojo o mbar) constituye los hechos del mundo real. El
programa en s consiste en unas pocas reglas de sentido comn: determinados semforos no pueden
permanecer simultneamente en verde, un semforo solamente puede transitar de verde a mbar y de

4
Unidad 1. Programacin orientada a objetos
Conceptos bsicos de la programacin orientada a objetos

mbar a rojo, etc. La hiptesis es el estado en el que deberan estar cada uno de los semforos en el
siguiente instante de tiempo.
ste es un ejemplo imposible de resolver mediante programacin tradicional, ya que la lgica subyacente
al comportamiento de los semforos en su conjunto queda enmascarada por simples rdenes imperativas
del tipo "cambiar color de tal o cual semforo".

Lenguajes
El lenguaje de programacin lgica por excelencia es Prolog, que cuenta con diversas variantes. La ms
importante es la programacin lgica con restricciones (vase artculo sobre programacin con
restricciones), que posibilita la resolucin de ecuaciones lineales adems de la demostracin de hiptesis.

2)Investiga qu otras opciones de IDE (entornos integrados de desarrollo)


existen para programar con Java y enumralos (al menos 3). Adems, enumera
5 programas que estn desarrollados con Java; por ejemplo, BlueJ est hecho
con Java.
a) Eclipse: software libre que se puede descargar en http://www.eclipse.org. Es uno de los entornos Java ms
utilizados a nivel profesional. El paquete bsico de Eclipse se puede expandir mediante la instalacin de
plugins para aadir funcionalidades a medida que se vayan necesitando.

b) NetBeans: software libre que se puede descargar en http://www.netbeans.org. Otro de los entornos Java
muy utilizados, tambin expandible mediante plugins. Facilita bastante el diseo grfico asociado a
aplicaciones Java.

c) JBuilder: software comercial. Se pueden obtener versiones de prueba o versiones simplificadas gratuitas
en la web http://www.embarcadero.com buscando en la seccin de productos y desarrollo de aplicaciones.
Permite desarrollos grficos.

d) JCreator: software comercial. Se pueden obtener versiones de prueba o versiones simplificadas gratuitas
en la web http://www.jcreator.com. Este IDE est escrito en C++ y omite herramientas para desarrollos
grficos, lo cual lo hace ms rpido y eficiente que otros IDEs.

Programas hechos con java


1. BlueJ - Programacin

BlueJ es una herramienta diseada en una forma bsica, pero potente para la realizacin de programas
escritos en Java. Puede crear, compilar y ejecutar el cdigo.
Adems es posible empaquetar las clases de las aplicaciones escritas en un archivo .jar porque resulta
bastante til.
Cuenta con una interfaz muy sencilla, y adems es una aplicacin libre.

Datos tcnicos: Interfaz en ingles, pgina web http://bluej.org

2. Buho21 - Juegos

Buho21, es una aplicacin que se basa en juegos humano humano por internet.

5
Unidad 1. Programacin orientada a objetos
Conceptos bsicos de la programacin orientada a objetos

Esta pequea pero poderosa aplicacin, es capaz de proporcionar las herramientas para poder jugar con
personas de otros pases. Es muy fcil de manejar, ya que puedes o no estar registrado para poder utilizarla.
Cuando yo conoc este programa, fue hace 2 o 3 aos aproximadamente, y en ese tiempo solo contaba con el
juego de Ajedrez y Trivia.
Hoy cuentas con mas juegos, como lo son: Parchs, Domino y Reversi.

Datos tcnicos: Interfaz en espaol, pgina web http://www.buho21.com

3. JDownloader Descargas

Sin duda alguna, cuando de descargar de servidores como RapidShare, MegaUpload, GigaSize, etc. (ver lista
completa de servidores que soporta en su sitio), esta es la mejor opcin.
Se actualiza constantemente. Cuenta con una interfaz sencilla. Adems es capaz de manipular tus descargas:
puedes pausar, resumir, limitar cantidad de descargas simultneas, limitar el ancho de banda, reconectar, etc.
Puede reconocer la mayora de las capchas que utilizan los servidores, y se mejoran las herramientas para
poder detectarlas y hacer ms ameno su uso. As como tambin aumenta la cantidad de servidores. Y
actualmente, tambin puede descargar videos de las pginas ms reconocidas de almacenamiento de videos
online.
Cabe mencionar que tambin esta aplicacin es opensource.

Datos tcnicos: Interfaz multilenguaje, pgina web http://jdownloader.org

4. LimeWire Descargas P2P

LimeWire, es otro gran programa que sirve para realizar descargas tipo P2P y torrent. Existen 2 versiones: la
Basic y la Pro (de paga).
Desde su versin 5, contiene una interfaz un poco ms complicada que sus versiones anteriores. Pero no
resulta difcil su uso.
Contiene un poderoso motor de bsqueda para los diferentes formatos que existen.

Datos tcnicos: Interfaz multilenguaje, pgina web http://www.limewire.com

5. NetBeans Programacin

Esta es mi herramienta preferida a la hora de estar programando en Java, aunque soportas otros lenguajes de
programacin como lo son: C++, Ruby, PHP, Java SE, Java ME, Java 2EE, Java FX, Groove.
Al ser una herramienta sper completa, resulta un poco ms difcil acostumbrarse las primeras veces de uso,
pero una vez adquiridos los conocimientos bsicos, lo dems resulta bastante fcil de comprender y
manipular.
Algo bueno que tiene este IDE de programacin, es que es libre y contiene gran cantidad de plugins
desarrollados tanto por los creadores (Sun Microsystem) como de programadores ajenos a la compaa. Esto
es de gran ayuda ya que facilita las tareas.
Si eres programador de alguno de los lenguajes antes mencionados, te recomiendo ampliamente usar este
sistema tan impresionante, ya que te facilitara tus tareas de programacin.

Datos tcnicos: Interfaz multilenguaje, pgina web http://netbeans.org videotutoriales http://netbeans.tv

6. OpenOffice Ofimtica

Tambin desarrollada por Sun Microsystem, esta es una gran herramienta de ofimtica que recientemente

6
Unidad 1. Programacin orientada a objetos
Conceptos bsicos de la programacin orientada a objetos

est estrenando versin.


Aunque no est completamente programada en Java, resulta bastante til, ya que es una aplicacin libre y
soporta la mayora de los formatos de ofimtica del mercado (incluyendo Microsoft Office).
Tambin cuenta con gran cantidad de plugins para poder hacer de esta suit, una herramienta ms completa.

Conclusin
Adems de la POO existen diversos paradigmas de programacin pero este es el ms fcil y mas usado en la
actualidad porque facilita realizar mltiples tareas, es bsico saber de POO porque es esencial tener por
lmenos un poco de nocin de este tipo de programacin.

Bibliografa
http://vscorpionblack.blogspot.mx/2009/06/aplicaciones-hechas-en-
java.html

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

También podría gustarte