Sei sulla pagina 1di 36

Maestra: Wendy Aracely Snchez

Gmez
Integrantes :
Juan Jos Snchez Garca
Thanya Yamilet Snchez Medrano
Ivonne Snchez Sifuentes
Mara del Carmen Sandoval
Camacho
Athala Urbina Hernndez
Pablo Ivn Vzquez Rivas
Blanca Esthela Zepeta Montiel
Ivn de Jess Ziga Vzquez
Grecia Esmeralda Sierra Hernndez
Pedro Antonio Saucedo Almaguer
Luis Eduardo Rodrguez Ramrez
1.Introduccin
2. Diseo del lenguaje y escritura de programas
3. Verificacin de programas
4. Mantenimiento.
5. Coste y eficiencia
6. reas de aplicacin
7. Conclusin
8. Bibliografa
La programacin declarativa como la imperativa
presentan ventajas que pueden ser muy tiles en las
reas de aplicacin apropiadas. Ningn lenguaje,
hasta la fecha, se ha adaptado a cualquier tipo de
aplicacin.
1. Introduccin
2. Diseo del lenguaje y escritura de programas.
a) Sintaxis sencilla:
A la forma visible de un lenguaje de programacin se le
conoce como sintaxis. La mayora de los lenguajes de
programacin utilizan secuencias de texto que incluyen
palabras, nmeros y puntuacin, de manera similar a los
lenguajes naturales escritos.
Los lenguajes declarativos poseen esta
caracterstica en alto grado, mientras que la
sintaxis de los lenguajes convencionales suele
ser muy compleja.
b) Modularidad y compilacin separada:
Un diseo modular asla y localiza los errores, que
solo podrn provenir de los mdulos actualmente en
desarrollo y no de los ya depurados y validados. Por
otra parte, la posibilidad de efectuar compilacin
separada es un factor de ahorro de tiempo.
La mayora de los lenguajes imperativos
proporcionan facilidades para la
construccin de mdulos y la compilacin
separada. Los lenguajes declarativos, si
bien permiten un desarrollo modular de
las aplicaciones, no suelen presentar
herramientas para la compilacin
separada.
c) Mecanismos de reutilizacin del software:
Para eliminar la repeticin de trabajo, un lenguaje
tambin debe de suministrar mecanismos para
reutilizar el software ya desarrollado y que se
adeca al problema a resolver.

En los lenguajes convencionales, el uso de la
modularidad y la compilacin separada ha
permitido la creacin de potentes bibliotecas
que pueden considerarse extensiones del
lenguaje para el que se han escrito y que
facilitan la tarea de la programacin.
En la actualidad se est investigando como
aumentar la reutilizacin del software en los
lenguajes declarativos mediante el suministro
de bibliotecas de plantillas genricas y simples
que posteriormente se optimizaran utilizando
una tcnica de transformacin automtica de
programas para producir un cdigo ms
eficiente.
d) Facilidades de soporte al proceso de anlisis:

Los lenguajes de programacin declarativa pueden
considerarse lenguajes de especificacin. En este
sentido seran muy adecuados en las fases de
anlisis de una aplicacin y su rpido prototipado. Sin
embargo, el relativo bajo nivel de los lenguajes
convencionales hace que sus construcciones estn
alejadas del nivel de abstraccin que requiere el
anlisis de un problema, por lo que se hace
necesario el uso de algn tipo de pseudocdigo para
la confeccin de un algoritmo.
e) Entornos de programacin: Aunque no est
ligado al diseo del lenguaje en s y aunque
pueda parecer secundario ste es un factor muy
importante, ya que un buen entorno de
programacin puede hacer que sea ms fcil
trabajar con un lenguaje tcnicamente poco
evolucionado que con uno evolucionado, pero que
ofrece poco soporte extremo.
Un buen entorno de programacin debe ofrecer
editores especiales que faciliten la escritura de
programas, depuradores y, en general, utilidades
de ayuda para la programacin que permitan
modificar y mantener grandes aplicaciones con
mltiples versiones.
Un entorno de programacin puede estar
concebido y organizado de maneras muy
diferentes. A continuacin se mencionan algunas
de ellas.
En las primeras etapas de la informtica la preparacin
de programas se realizaba mediante una cadena de
operaciones tales como la que se muestra en la figura
para un lenguaje procesado mediante compilador. Cada
una de las herramientas deba invocarse manualmente
por separado.
Un entorno de programacin combina herramientas
como stas, mejoradas y mejor integradas.
Los componentes cuya evolucin ha sido ms
aparente son los que realizan la interaccin con el
usuario:

El editor ya no es un simple editor de texto,
sino que tiene una clara orientacin al
lenguaje de programacin usado
El depurador no presenta informacin en
trminos del lenguaje de mquina, sino del
lenguaje fuente
El editor est bien integrado con las dems
herramientas
3.Verificacin de programas
Hay diversas tcnicas para verificar que un
programa realiza correctamente la funcin para la
que fue creado.
Verificacin formal: Es un mtodo de validacin
esttica, en el que partiendo de un conjunto
axiomtico, reglas de inferencia y algn lenguaje ,se
puede encontrar una demostracin o prueba de
correccin de un programa.

a) Verificacin de la correccin:
Consiste en comprobar si el programa se
comporta de acuerdo a su significado
esperado, y a su semntica.
b) Terminacin: Un programa debe
terminar bajo cualquier circunstancia
concebible.

c) Depuracin de programas:

Es el proceso de identificar y corregir errores de
programacin.

Cuando se escriben programas, es normal cometer
errores (bugs). De hecho, en promedio, un
programador comete un error cada 10 lneas de
programa. Esto significa que la probabilidad de que
el programa funcione a la primera vez es
prcticamente nula.
Un depurador es una herramienta que permite
intervenir durante la ejecucin de un programa,
para saber cmo se est ejecutando. El
depurador permite:
Ejecutar paso a paso un programa
(stepping).
Establecer puntos de detencin
(breakpoints).
Examinar el contenido de las variables y
objetos.
Conocer el encadenamiento de llamadas de
procedimientos.
Retomar la ejecucin hasta un nuevo punto
de detencin.
Turbo C es un compilador antiguo, pero sencillo de
manejar, y la depuracin tambin es sencilla con l:

Hay dos maneras de hacerlo:
Trace into va paso a paso por todas las rdenes del
programa. Si hay una llamada a una funcin, tambin
sigue paso a paso por las rdenes que forma esa
funcin.

Step over es similar, salvo que cuando haya una
llamada a una funcin, sta se tomar como una nica
orden, sin ver los detalles de dicha funcin.
Ejemplo
:
En cualquiera de ambos casos, se nos muestra
con una lnea azul por dnde va avanzando la
depuracin.
Los lenguajes declarativos poseen una buena
legibilidad pero no ofrecen buenas
herramientas de depuracin. Sin embargo, los
lenguajes convencionales poseen herramientas
de depuracin muy potentes, aunque su
legibilidad suele ser peor.
4. Mantenimiento
El mantenimiento incluye la reparacin de los
errores descubiertos despus de que el programa se
ha puesto en uso, as como y la implementacin de
cambios necesarios para satisfacer nuevas
necesidades. Para realizar estas tareas, el lenguaje
debera poseer:

a) Facilidad de uso y lectura:
Esto es necesario para que no sea muy complicado
llegar a comprender el texto del programa y
encontrar rpidamente los errores, en caso de que
stos se produzcan.
b) Modularidad y compilacin separada: Esto
es necesario para que los erro res estn
localizados y as facilitar las modificaciones.
Nuevamente, la posibilidad de realizar
compilacin separada evita tener que compilar
todos los mdulos y ahorra gran cantidad de
tiempo de desarrollo.

CONVENCIONALES DECLARATIVOS
SINTAXIS COMPLEJA SINTAXIS SENCILLA
CONSTRUCCION DE MODULOS Y
COMPILACION SEPARADA
DESARROLLO MODULAR DE LAS
APLICACIONES
5. Coste y eficiencia
Este aspecto es uno de los ms importantes a la
hora de evaluar un lenguaje de programacin.

Factores para los que se puede aplicar un criterio
de coste:

a) Coste de ejecucin.
Es de primera importancia en aplicaciones que se
ejecutan repetidamente.

Los lenguajes declarativos es que suelen ser
menos eficientes que otros ms convencionales.
Por contra, los lenguajes convencionales son
eficientes, ya que su diseo es reflejo del modelo
von Neumann de computacin, en el que se basa
la arquitectura de los computadores actuales.
b) Coste de desarrollo: Comprende los costes
asociados a las fases de anlisis, programacin y
verificacin de un programa.

Las estadsticas indican que, para cierto tipo de
aplicaciones, los costes de desarrollo son muy bajos
cuando se utilizan lenguajes declarativos y, por el
contrario, los costes de utilizar lenguajes convencio-
nales suelen ser altos.
En un lenguaje declarativo el nmero de lneas
requerido para implementar un programa que
resuelve un problema es una fraccin del
requerido cuando se usa un lenguaje
convencional.

Teniendo en cuenta que el nmero de lneas
producidas al ao por un programador
profesional es una constante,
independientemente del lenguaje que utilice, la
reduccin en los costes de desarrollo cuando se
emplean lenguajes declarativos puede ser
considerable.

A pesar de ser un rea de trabajo
relativamente nueva, en trminos del tiempo
necesario para el desarrollo y la
consolidacin de un rea de conocimiento, la
programacin declarativa ha encontrado una
gran variedad de aplicaciones. Sin nimo de
ser exhaustivos, podemos enumerar algunas
de stas:
6. reas de Aplicacin
Procesamiento del lenguaje natural.
Representacin del conocimiento.
Qumica y biologa molecular.
Desarrollo de Sistemas de Produccin y
Sistemas Expertos.
Resolucin de Problemas.
Meta programacin.
Prototipado de aplicaciones.
Bases de Datos Deductivas.
Servidores y buceadores de in formacin
inteligentes.
Diseo de sistemas VLSI, herramientas de
soporte al desarrollo del software.
La programacin declarativa se ha aplicado en
todos los campos de la computacin simblica, la
inteligencia artificial y la informtica terica.

Algunos lenguajes como Prolog, -Prolog, Lisp
(puro), ML, Haskell, Curry y Toy17 son lenguajes
declarativos de propsito general, mientras que
las hojas de clculo y el lenguaje SQL (Structured
Query Language) pueden considerarse lenguajes
declarativos para dominios de aplicacin
especficos.
Lenguajes
Imperativos Declarativos
Declarativos
Describe
el
problema
Se basa en
el clculo
lambda.
Imperativos
Describe
un
algoritmo
Se basa en
la mquina
de Turing.
Diferencias
7.Conclusin
Los lenguajes declarativos tienen ciertas
diferencias contra los convencionales, ya que
como se describi anteriormente, cada uno tiene
su forma de escribir los programas, es decir la
sintaxis; como localizar los errores en cada uno
cuando se presenten, y adems de los costos de
desarrollo en un programa .
Tambin las reas donde se aplican estos
lenguajes como puede ser qumica y biologa
molecular, resolucin de Problemas, meta
programacin entre otras.
8.Bibliografa
http://es.scribd.com/doc/2546961/Entornos-de-Programacion

http://lml.ls.fi.upm.es/ep/0708/entornos.html

http://pooitsavlerdo.blogspot.mx/2012/05/11-elementos-del-modelo-de-
objetos.html


Programacin Lgica ,Terica y Prctica
Pascual Julin Iranzo
Mara Alpuente Frasnedo
Editorial Pearson

Potrebbero piacerti anche