Sunteți pe pagina 1din 7

Unidad #: Nombre de la unidad

Nombre de la materia

TAREA 1:

Introduccion:

La programacion orientada a objetos (POO, u OOP según sus siglas en inglés) es un paradigma
deprogramación que usa objetos en sus interacciones, para diseñar aplicaciones y programas
informáticos. Está basada en varias técnicas, incluyendo herencia, cohesión, abstracción,
polimorfismo, acoplamiento y encapsulamiento.

Desarrollo:

1: Investiga otro paradigma de programación (además del orientado a objetos) y pon un


ejemplo de qué lenguaje de programación pertenece a ese paradigma y qué aplicaciones
tiene.

PROGRAMACION LOGICA

La programación lógica es un tipo de paradigmas de programación dentro del paradigma de


programación declarativa. El resto de los subparadigmas de programación dentro de la
programación declarativa son: programación funcional, programación con restricciones, programas
DSL (de dominio específico) e híbridos. La programación funcional se basa en el concepto de
función (que no es más que una evolución de los predicados), de corte más matemático. La
programación lógica gira en torno al concepto de predicado, o relación entre elementos.

Campos de aplicación:

La programación lógica encuentra su hábitat natural en aplicaciones de inteligencia artificial o


relacionadas:

Sistemas expertos, donde un sistema de información imita las recomendaciones de un experto sobre
algún dominio de conocimiento.

2
Unidad #: Nombre de la unidad
Nombre de la materia

Demostración automática de teoremas, donde un programa genera nuevos teoremas sobre una
teoría existente.

Reconocimiento de lenguaje natural, donde un programa es capaz de comprender (con limitaciones)


la información contenida en una expresión lingüística humana.

La programación lógica también se utiliza en aplicaciones más "mundanas" pero de manera muy
limitada, ya que la programación tradicional es más adecuada a tareas de propósito general.

Fundamentos:
La mayoría de los lenguajes de programación lógica se basan en la teoría lógica de primer orden,
aunque también incorporan algunos comportamientos de orden superior como la lógica difusa. En
este sentido, destacan los lenguajes funcionales, ya que se basan en el cálculo lambda, que es la
única teoría lógica de orden superior que es demostradamente computable (hasta el momento).
Conceptos:

Un concepto importante de programación lógica es la descomposición de programas en sus


componentes lógicos y sus componentes de control. Con lenguajes de programación lógica de bajo
nivel, estos componentes determinan la solución del problema, por eso los componentes de control
pueden variar para proporcionar alternancia de ejecución de un programa lógico. Estos conceptos
son capturados con el eslogan.
Algoritmo= lógica + control donde "lógica" representa un programa lógico y "control" diferentes
estrategias de demostración del teorema.

Solución del Problema:


El caso proposicional simplificado en el cual un programa lógico a un nivel superior de reducción
atómica no contiene variables compuestas es un razonamiento que determina un árbol lógico, el cual
constituye un espacio de búsqueda para resolver el problema. El nivel superior es la raíz del árbol.
Dado algún nodo en el árbol y alguna cláusula cuya cabecera esta marcada por un nodo, existe un
conjunto de nuevas ramas correspondientes con los objetivos del cuerpo de las clausulas, aún por
reducir. Estas nuevas ramas son agrupadas juntas por el "y" lógico. El conjunto alternativo
correspondiente de estas nuevas ramas esta agrupado por el "o" lógico.
Alguna estrategia de búsqueda puede ser usada para la búsqueda del conjunto de proposiciones a
resolver. Prolog es un lenguaje de programación 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 búsqueda son por ejemplo la búsqueda paralela o la búsqueda primero-
mejor para encontrar una solución ó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 programación de lógica concurrente.

3
Unidad #: Nombre de la unidad
Nombre de la materia

En qué consiste (ejemplo):

La programación lógica permite formalizar hechos del mundo real, por ejemplo:

las aves vuelan


los pingüinos no vuelan "pichurri" es un ave
"sandokan" es un perro
"alegría" es un ave
y también reglas o restricciones:
una mascota vuela si es un ave y no es un pingüino.

Ante dicho "programa" es posible establecer hipótesis que no son más que preguntas o incógnitas,
por ejemplo:
¿ "pichurri" vuela ?
¿ qué mascotas vuelan ?....

Gracias a que la lógica de primer orden es computable, el ordenador será capaz de verificar la
hipótesis, es decir, responder a las incógnitas:

Es cierto que "pichurri"


vuela. "pichurri" y
"alegría" vuelan.

Obsérvese que el programa lógico no solamente es capaz de responder si una determinada


hipótesis es verdadera o falsa. También es capaz de determinar que valores de la incógnita hacen
cierta la hipótesis.
Este ejemplo es claramente académico. Sin embargo, consideremos el siguiente ejemplo: el
sistema de control de semáforos de una ciudad.
El estado de cada uno de los semáforos (verde, rojo o ámbar) constituye los hechos del mundo
real. El programa en sí consiste en unas pocas reglas de sentido común: determinados semáforos
no pueden permanecer simultáneamente en verde, un semáforo solamente puede transitar de
verde a ámbar y de ámbar a rojo, etc. La hipótesis es el estado en el que deberían estar cada uno
de los semáforos en el siguiente instante de tiempo.
Éste es un ejemplo imposible de resolver mediante programación tradicional, ya que la lógica
subyacente al comportamiento de los semáforos en su conjunto queda enmascarada por simples
órdenes imperativas del tipo "cambiar color de tal o cual semáforo".
Lenguajes:

El lenguaje de programación lógica por excelencia es Prolog, que cuenta con diversas variantes. La
más importante es la programación lógica con restricciones (véase artículo sobre programación con

4
Unidad #: Nombre de la unidad
Nombre de la materia

restricciones), que posibilita la resolución de ecuaciones lineales además de la demostración de


hipótesis.

2: Investiga qué otras opciones de IDE (entornos integrados de desarrollo) existen para
programar con Java y enuméralos (al menos 3). Además, enumera 5 programas que estén
desarrollados con Java; por ejemplo, BlueJ está hecho con Java.
Eclipse: software libre que se puede descargar en http://www.eclipse.org. Es uno de los entornos
Java más utilizados a nivel profesional. El paquete básico de Eclipse se puede expandir mediante la
instalación de plugins para añadir funcionalidades a medida que se vayan necesitando.
NetBeans: software libre que se puede descargar en http://www.netbeans.org. Otro de los entornos
Java muy utilizados, también expandible mediante plugins. Facilita bastante el diseño gráfico
asociado a aplicaciones Java.

JBuilder: software comercial. Se pueden obtener versiones de prueba o versiones simplificadas


gratuitas en la web http://www.embarcadero.com buscando en la sección de productos y desarrollo
de aplicaciones. Permite desarrollos gráficos.

JCreator: software comercial. Se pueden obtener versiones de prueba o versiones simplificadas


gratuitasen la web http://www.jcreator.com. Este IDE está escrito en C++ y omite herramientas para
desarrollos gráficos, lo cual lo hace más rápido y eficiente que otros IDEs.

Programas hechos con java:

BlueJ - Programación
BlueJ es una herramienta diseñada en una forma básica, pero potente para la realización de
programas escritos en Java. Puede crear, compilar y ejecutar el código.

Además es posible empaquetar las clases de las aplicaciones escritas en un archivo “.jar” porque
resulta bastante útil.

Cuenta con una interfaz muy sencilla, y además es una aplicación libre.
Datos técnicos: Interfaz en ingles, página web http://bluej.org

Buho21 – Juegos

Buho21, es una aplicación que se basa en juegos humano – humano por internet.

Esta pequeña pero poderosa aplicación, es capaz de proporcionar las herramientas para poder jugar
con personas de otros países. Es muy fácil de manejar, ya que puedes o no estar registrado para

5
Unidad #: Nombre de la unidad
Nombre de la materia

poder utilizarla. Cuando yo conocí este programa, fue hace 2 o 3 años aproximadamente, y en ese
tiempo solo contaba con el juego de Ajedrez y Trivia.

Hoy cuentas con mas juegos, como lo son: Parchís, Domino y Reversi.

Datos técnicos: Interfaz en español, página web http://www.buho21.com

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 opción.

Se actualiza constantemente. Cuenta con una interfaz sencilla. Además es capaz de manipular tus
descargas: puedes pausar, resumir, limitar cantidad de descargas simultáneas, limitar el ancho de
banda, reconectar, etc. Puede reconocer la mayoría de las capchas que utilizan los servidores, y se
mejoran las herramientas para poder detectarlas y hacer más ameno su uso. Así como también
aumenta la cantidad de servidores. Y actualmente, también puede descargar videos de las páginas
más reconocidas de almacenamiento de videos online.

Cabe mencionar que también esta aplicación es opensource.

Datos técnicos: Interfaz multilenguaje, página web http://jdownloader.org

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 versión 5, contiene una interfaz un poco más complicada que sus versiones anteriores.
Pero no resulta difícil su uso.

Contiene un poderoso motor de búsqueda para los diferentes formatos que existen.

Datos técnicos: Interfaz multilenguaje, página web http://www.limewire.com

NetBeans – Programación

Esta es mi herramienta preferida a la hora de estar programando en Java, aunque soportas otros
lenguajes de programación como lo son: C++, Ruby, PHP, Java SE, Java ME, Java 2EE, Java FX,
Groove.

Al ser una herramienta súper completa, resulta un poco más difícil acostumbrarse las primeras veces
de uso, pero una vez adquiridos los conocimientos básicos, lo demás resulta bastante fácil de
comprender y manipular.

6
Unidad #: Nombre de la unidad
Nombre de la materia

Algo bueno que tiene este IDE de programación, es que es libre y contiene gran cantidad de plugins
desarrollados tanto por los creadores (Sun Microsystem) como de programadores ajenos a la
compañía. 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 programación.

Datos técnicos: Interfaz multilenguaje, página web http://netbeans.org videotutoriales


http://netbeans.tv 6. OpenOffice – Ofimática.

Conclucion:

A demas de POO existen diferentes paradigmas de programacion pero este es el mas facil y mas
usado en la actualidad.

S-ar putea să vă placă și