16 Jun

Abstracción de Datos

Datos y Valores

Los datos son los elementos que representan cada uno de los aspectos de la realidad que son significativos para el funcionamiento del sistema.

Clasificación de Tipos de Datos

Un tipo de dato simple es aquel cuyos valores son atómicos, es decir, que no pueden ser descompuestos en otros valores, por lo que también es denominado como tipo de dato “atómico”.

Tipos de Datos Recursivos

Un tipo de dato recursivo es un tipo compuesto en el que alguno o algunos de los valores que lo componen son, a su vez, del mismo tipo. Algunos tipos recursivos son:

  • Árboles
  • Listas

Sistemas de Tipos

Fuertemente Tipados

En un lenguaje fuertemente tipado, toda variable y parámetro deben ser definidos de un tipo de dato en particular que se mantiene sin cambios durante la ejecución del programa.

Débilmente Tipados

En un lenguaje débilmente tipado, las variables y parámetros no requieren ser definidos de algún tipo de dato en particular, sino que pueden asumir valores y tipos de datos diferentes durante la ejecución del programa.

Paradigma Orientado a Objetos

Programación Orientada a Objetos (POO)

La Programación Orientada a Objetos es una “filosofía” de desarrollo de software que permite crear unidades funcionales extensibles y genéricas, de forma que el usuario las pueda aplicar según sus necesidades y de acuerdo con las especificaciones del sistema a desarrollar.

El paradigma de objetos pretende:

  • Desarrollar los sistemas con modelos más cercanos a la realidad que a las especificaciones computacionales.
  • Construir componentes de software que sean reutilizables.
  • Diseñar una implementación de manera que puedan ser extendidos y modificados con el mínimo impacto en el resto de su estructura.

Principales Características de la POO

Encapsulamiento: Forma de abstracción que separa las interfaces de las implementaciones de la funcionalidad del sistema (métodos) y oculta la información (variables).

Mecanismo de envío de mensajes: Posibilita la interacción entre los objetos.

Herencia: Permite que una clase sea definida como una extensión o modificación de otra.

Lenguaje Emblemático de la POO

El lenguaje originario y paradigmático de la programación en objetos es SMALLTALK.

Paradigma Funcional

¿Qué es el Paradigma Funcional?

El paradigma funcional está basado en el modelo matemático de composición funcional. Un programa es un conjunto de funciones que cooperan entre ellas para el logro de un objetivo común.

Principales Características del Paradigma Funcional

Transparencia referencial: Por ser un paradigma declarativo, implementa la transparencia referencial en sus expresiones y no tiene asignación destructiva.

Evaluación diferida: Para la evaluación de los argumentos de las funciones utiliza el sistema de evaluación diferida, por lo que la evaluación de las expresiones invocadas se posterga hasta el momento en que realmente sean utilizadas.

Recursividad: Tiene gran importancia en la formulación de soluciones, es la recursividad, que se ve expresada en el uso permanente de tipos de datos y funciones recursivas.

Listas: Entre las estructuras de datos que utiliza se destacan las listas, como forma de organizar conjuntos de valores.

Funciones de orden superior: Las funciones que reciben a otras funciones como parámetros se llaman funciones de orden superior.

Campo de aplicación: Su utilización está relacionada principalmente en ámbitos de investigación científica y aplicaciones matemáticas.

Lenguajes del Paradigma Funcional

El lenguaje más típico del paradigma funcional es LISP y existen otros lenguajes similares más modernos como Gofer y Haskell.

Paradigma Lógico

¿Qué es el Paradigma Lógico?

El paradigma lógico tiene como característica principal la aplicación de las reglas de la lógica para inferir conclusiones a partir de datos.

Principales Características del Paradigma Lógico

Lógica Proposicional: El paradigma tiene sus fundamentos en las teorías de la lógica proposicional. De ella, se toma un tipo especial de lógica conocido como “lógica de predicados de primer orden” y más en particular aún, las Cláusulas de Horn.

Declaraciones: Es el sistema el que proporciona la secuencia de control, por lo que el programa se transforma en un conjunto de declaraciones formales que describen la solución, que deben ser correctas por definición, por lo que la corrección del programa debería estar probada automáticamente.

Backtracking: Internamente, existe un mecanismo interno llamado backtracking que actúa como control de secuencia.

Inversibilidad: Esta característica se denomina como reversibilidad o inversibilidad. Dado que las relaciones son más generales que las transformaciones, la programación lógica es potencialmente de más alto nivel que la de otros paradigmas.

Campo de aplicación: Es útil en problemas combinatorios o que requieren gran cantidad o amplitud de soluciones alternativas, dada la naturaleza combinatoria del mecanismo de backtracking.

Lenguajes del Paradigma Lógico

El PROLOG es el lenguaje emblemático del paradigma. Existen diferentes versiones y variantes, pero todas basadas en la misma raíz.

Deja un comentario