Sie sind auf Seite 1von 13

Emmanuel De Oleo Saladin

Mat. 2009-1870

Tipos de Programacin

Profesor: Ing. Eddy Alcntara

18/Sept/2015

Introduccin
La programacin est hecha para resolver diferentes tipos de problemas, por lo que
existirn tantos diferentes tipos de mtodos como distintos problemas a resolver puedan
existir. El problema de esto consiste en que para cada mtodo hay un cdigo que lo
define, y como habamos dicho, son tan variados como problemas hay. Eso creara un
problema tanto para el programador al tener que crear un mtodo para cada problema,
como para terceros que leen el cdigo, al leer un cdigo con el que no estn
familiarizados. Para evitar esto, se han creado propuestas adoptadas por la comunidad
de programadores de modelos de cdigo que resuelven delimitado problema. A estas
propuestas se les llama paradigma de programacin y veremos algunas de ellas
presentadas a continuacin.

Programacin algortmica
Un algoritmo es una serie de pasos organizados que describe el proceso que se debe
seguir, para dar solucin a un problema especfico.
Tipos De Algoritmos?

Existen dos tipos y son llamados as por su naturaleza:

Cualitativos: Son aquellos en los que se describen los pasos utilizando palabras.

Cuantitativos: Son aquellos en los que se utilizan clculos numricos para definir
los pasos del proceso.

Lenguajes Algortmicos

Un Lenguaje algortmico es una serie de smbolos y reglas que se utilizan para describir
de manera explcita un proceso.

Tipos de Lenguajes Algortmicos

Grficos: Es la representacin grfica de las operaciones que realiza un algoritmo


(diagrama de flujo).

No Grficos: Representa en forma descriptiva las operaciones que debe realizar


un algoritmo (pseudocdigo).

INICIO
Edad: Entero
ESCRIBA cual es tu edad?
Lea Edad
SI Edad >=18 entonces
ESCRIBA Eres mayor de Edad
FINSI
ESCRIBA fin del algoritmo
FIN
Componentes

Definicin del problema

Esta fase est dada por el enunciado del problema, el cual requiere una definicin
clara y precisa. Es importante que se conozca lo que se desea que realice la
computadora; mientras esto no se conozca del todo no tiene mucho caso
continuar con la siguiente etapa.

Anlisis del problema

Una vez que se ha comprendido lo que se desea de la computadora, es necesario


definir:

Los datos de entrada.

Cul es la informacin que se desea producir (salida)

Los mtodos y frmulas que se necesitan para procesar los datos.

Una recomendacin muy prctica es el de colocarse en el lugar de la computadora


y analizar qu es lo que se necesita que se ordene y en qu secuencia para
producir los resultados esperados.

Diseo del algoritmo

Las caractersticas de un buen algoritmo son:

Debe tener un punto particular de inicio.

Debe ser definido, no debe permitir dobles interpretaciones.

Debe ser general, es decir, soportar la mayora de las variantes que se


puedan presentar en la definicin del problema.

Debe ser finito en tamao y tiempo de ejecucin.

Depuracin

Documentacin

Programacin Declarativa
Es un paradigma de programacin basado en la lgica en el que se estudian de forma
simple muchos aspectos avanzados de los lenguajes de programacin modernos.
Caractersticas
La Programacin Declarativa, en contraposicin a la programacin imperativa es un
paradigma de programacin que est basado en el desarrollo de programas
especificando o "declarando" un conjunto de condiciones, proposiciones, afirmaciones,
restricciones, ecuaciones o transformaciones que describen el problema y detallan su
solucin.
La solucin es obtenida mediante mecanismos internos de control, sin especificar
exactamente cmo encontrarla (tan slo se le indica a la computadora que es lo que se
desea obtener o que es lo que se est buscando). No existen asignaciones destructivas,
y las variables son utilizadas con transparencia referencial
Aunque en la Programacin Declarativa cabe ms de un paradigma de programacin, se
ha optado por centrarla en el estudio de la denominada Programacin Lgica, el cual
est basado en el clculo de proposiciones y sus relaciones lgicas.
La programacin declarativa es un estilo de programacin en el que el programador
especifica qu debe computarse ms bien que cmo deben realizarse los cmputos.

"programa = lgica + control" (Kowalski)

"algoritmos + estructuras de datos = programas" (Wirth)

El componente lgico determina el significado del programa mientras que el componente


de control solamente afecta a su eficiencia.
La tarea de programar consiste en centrar la atencin en la lgica dejando de lado el
control, que se asume automtico, al sistema.

La caracterstica fundamental de la programacin declarativa es el uso de la lgica como


lenguaje de programacin:

Un programa es una teora formal en una cierta lgica, esto es, un conjunto de
frmulas lgicas que resultan ser la especificacin del problema que se pretende
resolver, y

La computacin se entiende como una forma de inferencia o deduccin en dicha lgica.


Los principales requisitos que debe cumplir la lgica empleada son:

Disponer de un lenguaje que sea suficientemente expresivo.

Disponer de una semntica operacional (un mecanismo de cmputo que permita


ejecutar los programas).

Disponer de una semntica declarativa que permita dar un significado a los


programas de forma independiente a su posible ejecucin.

Ventajas
Se ha dicho que los lenguajes declarativos tienen la ventaja de ser razonados
matemticamente, lo que permite el uso de mecanismos matemticos para optimizar el
rendimiento de los programas.

Elegancia, claridad, sencillez, potencia y concisin.

Semnticas claras, simples y matemticamente bien fundadas.

Cercanos al nivel de abstraccin de las especificaciones formales/informales de


los problemas a resolver.

Referencialmente transparentes: Comportamiento matemtico adecuado que


permite razonar sobre los programas.

Soportan tcnicas muy avanzadas de desarrollo, mantenimiento y validacin de


programas.

Altas dosis de paralelismo implcito.

Aplicaciones variadas y de gran inters.

Son fiables, elegantes y expresivos.

Ejemplos
SQL
SELECT matricula, marca, modelo, color, numero_kilometros, num_plazas
FROM Coches
WHERE matricula = 'MF-234-ZD'
OR matricula = 'FK-938-ZL' ;

Diferencias entre la programacin algortmica y la declarativa


Tanto la programacin declarativa como la algortmica presentan ventajas que pueden
ser muy tiles, dependiendo del rea de aplicacin
1. Diseo de lenguaje y escritura de programas
- La sintaxis de los lenguajes declarativos es ms sencilla que la de los algortmicos.
- Los lenguajes algortmicos proporcionan facilidades para la compilacin separada, a
diferencia de los declarativos.
- Los algortmicos tienen gran variedad de mecanismos de reutilizacin de software,
mientras que los declarativos usan el mtodo rudimentario de 'prembulo de funciones'.
- Es mucho ms fcil de analizar un lenguaje declarativo que uno algortmico, pues este
requiere el uso de algn tipo de pseudocdigo.
- Los lenguajes declarativos poseen pocos entornos de desarrollo o plataformas,
mientras que la algortmica cuenta con potentes entornos, muchos de ellos visuales.
2. Verificacin de programas
- Los programas del lenguaje declarativo son fciles de verificar, mientras que en los
algortmicos esto se complica debido a sus definiciones semnticas complejas.
- De la misma forma, el lenguaje declarativo est ms adaptado para permitir a los
programas terminar bajo cualquier circunstancia concebible.
- Los lenguajes declarativos poseen buena legibilidad pero no ofrecen buenas
herramientas de depuracin. Los algortmicos tienen herramientas de depuracin muy
potentes.

3. Coste y eficiencia
- Los lenguajes declarativos suelen ser menos eficientes que otros ms convencionales
debido a la dificultad de implementar en mquinas de arquitecturas comunes las
operaciones de unificacin y emparejamiento.
- Un lenguaje declarativo requiere menor cantidad de cdigo que un lenguaje algortmico.
Programacin heurstica
Es un algoritmo que abandona uno o ambos objetivos; por ejemplo, normalmente
encuentran buenas soluciones, aunque no hay pruebas de que la solucin no pueda ser
arbitrariamente errnea en algunos casos; o se ejecuta razonablemente rpido, aunque
no existe tampoco prueba de que siempre ser as. Las heursticas generalmente son
usadas cuando no existe una solucin ptima bajo las restricciones dadas (tiempo,
espacio, etc.), o cuando no existe del todo.
La Programacin Heurstica implica una forma de modelizar el problema en lo que
respecta a la representacin de su estructura, estrategias de bsqueda y mtodos de
resolucin, que configuran el Paradigma Heurstico.

Este tipo de programacin se aplica con mayor intensidad en el campo de la Inteligencia


Artificial (IA), y en especial, en el de la Ingeniera del Conocimiento, dado que el ser
humano opera la mayor parte de las veces utilizando heursticas, un hecho cierto que
una heurstica es la conclusin del razonamiento humano en un dominio especfico, por
lo que es normal que este tipo de programacin que encuadrado en el rea de la I.A., ya
que implementa el conocimiento humano, dado por la experiencia, utilizando reglas de
buena lgica.

Como se ha sealado inicialmente, un paradigma de programacin es un modelo bsico


de diseo e implementacin de programas. Un modelo que permite producir programas
de acuerdo con una metodologa especfica.

Ejemplos

Tratamiento fundamentalmente simblico, dado que la mayor parte de los


problemas que precisan tratamiento heurstico tienen estructura simblica.

Unidades funcionales autnomas que posibiliten modelar una heurstica y su


mecanismo de ejecucin, definiendo mdulos independientes.

Estructuras de datos que permitan describir estados de problemas y relaciones


entre estados.

Estructuras procedimentales de control y de proceso (o de definicin) que


permitan la ejecucin coherente del modelo heurstico, y posibiliten la adquisicin
y utilizacin del conocimiento adquirido en el proceso de resolucin del problema.

Conclusin
Cabe a destacar que no se mencionaron todos los paradigmas, solo algunos de estos.
Con estos elementos se logra formar una abstraccin de los datos y del cdigo en la
memoria principal. Este modelo ha tenido gran xito entre los programadores por su
sencillez y cercana a la arquitectura de las computadoras convencionales.

Bibliografa
1-Julin, P., Alpuente, M. (2007) Programacin Lgica. Teora y Prctica. Madrid:
Pearson Educacin.
2- http://www.pnlnet.com/toma-de-decisiones-y-programacion-heuristica-primera-parte/
3- https://es.wikipedia.org/wiki/Heur%C3%ADstica_%28inform%C3%A1tica%29
4- http://www.desarrolloweb.com/manuales/67/

Das könnte Ihnen auch gefallen