LPR GRUPO_28

Este Blog ha sido creado para el seguimiento de la asignatura LPR por parte del grupo 28 cuyos miembros son: LMALVAREZ, pachon, RRLOPEZ. Un saludo.

martes, noviembre 28, 2006

Competencias transversales y específicas

Competencias transversales genéricas
  • Trabajo en equipo
  • Aprendizaje autónomo
  • Capacidad de análisis y síntesis
  • Adaptación a nuevas situaciones

Competencias específicas
  • Programación
  • Ingeniería del software
  • Capacidad para entender y evaluar especificaciones internas y externas
  • Documentación técnica

lunes, noviembre 13, 2006

Conceptos sobre el paradigma declarativo

El paradigma declarativo es una forma de programación que implica la descripción de un problema dado en lugar de proveer una solución para dicho problema. Algunas características de los lenguajes que utilizan este paradigma son:

  • El orden de la ejecución no resulta importante debido a que no existen efectos colaterales; es decir, que al calcular un valor, resulta imposible afectar el cálculo de otros y con esto se puede afirmar que cualquier secuencia de ejecución deberá conducir al mismo resultado.
  • En un lenguaje declarativo no importa la forma de llegar a la solución; es decir, el programador debe concentrarse en la lógica del algoritmo, más que en el control de la secuencia.
  • Los programas están formados por un conjunto de definiciones o ecuaciones, las cuales describen lo que debe ser calculado, no en sí la forma de hacerlo.
  • Las variables sólo pueden tener asignado un solo valor a lo largo de la ejecución del programa, lo cual implica que no puede existir asignación destructiva. Debido a esto, cobra especial importancia el uso del anidamiento y la recursividad.
Referencias utilizadas:

Paradigmas de programación
Tipos de lenguajes de programación

miércoles, noviembre 08, 2006

Conceptos sobre el paradigma imperativo

Los programas imperativos son un conjunto de instrucciones que le indican al computador cómo realizar una tarea.

* Concepto de celda de memoria ("variable") para almacenar valores. El componente principal de la arquitectura es la memoria, compuesto por un gran número de celdas donde se almacenan los datos. Las celdas tienen nombre (concepto de variable) que las referencian, y sobre los que se producen efectos de lado y definiciones de alias.

* Operaciones de asignación. Estrechamente ligado a la arquitectura de la memoria, se encuentra la idea de que cada valor calculado debe ser "almacenado", es decir asignado a una celda. Esta es la razón de la importancia de la sentencia de asignación en el paradigma imperativo. Las nociones de celda de memoria y asignación en bajo nivel, se tienden a todos los lenguajes de programación y fuerzan en los programadores un estilo de pensamiento basado en la arquitectura Von Neumann.

* Repetición. Un programa imperativo, normalmente realiza su tarea ejecutando repetidamente una secuencia de pasos elementales, ya que en este modelo computacional la única forma de ejecutar algo complejo es repitiendo una secuencia de instrucciones.

*Se fija completamente el orden en el que se deben realizar las operaciones con ayuda de unos patrones de
control del flujo de ejecución (secuencia, alternativa y ciclo) que sirven para construir el esqueleto de las rutinas.

Referencias utilizadas:
http://www.um.es/docencia/barzana/IAGP/Iagp3.html#BM4
http://www.lcc.uma.es/~jmmb/declarativa/Paradigmas.pdf
http://www.wikilearning.com/paradigma_imperativo-wkccp-3618-4.htm

Conceptos básicos del Paradigma de Orientacion Objetos

1. Abstracción:
La abstracción es la propiedad que permite representar las características esenciales de un objeto, sin preocuparse de las restantes características (no esenciales). Abstracción es la técnica de quitarle a una idea o a un objeto todos los acompañamientos innecesarios hasta que los deja en una forma esencial y mínima. Una buena abstracción elimina todos los detalles poco importantes y le permite enfocarse y concentrarse en los detalles importantes.

2 .Encapsulamiento
El Encapsulamiento o encapsulación es el proceso de ocultar todos los secretos de un objeto que no contribuyen a sus características esenciales.
La encapsulación también le permite controlar la forma en que se utilizan los datos y los procedimientos. Puede utilizar modificadores de acceso, como Private o Protected, para evitar que los procedimientos externos ejecuten métodos de clase o lean y modifiquen datos en propiedades y campos. Usted debe declarar los detalles internos de una clase como Private para evitar que sean utilizados fuera de su clase; a esta técnica se le llama ocultamiento de datos.

3 .Modularidad:
La Modularidad es la propiedad de un sistema que permite su descomposición en un conjunto de módulos cohesivos y débilmente acoplados. Por supuesto no todos los módulos son iguales: tomar un programa monolítico y separarlo de forma aleatoria en archivos no es óptimo. Se debe tener en cuenta los conceptos asociados de dependencia, acoplamiento, cohesión, interfaz, encapsulación y abstracción. Una vez identificado lo que es un buen módulo, se puede contemplar la reutilización de un buen módulo como componente.

4. Polimorfismo
Es la propiedad significativa de los lenguajes de programación orientados a objetos. Es la propiedad que indica, literalmente, la posibilidad de que una entidad tome muchas formas. En términos prácticos, el polimorfismo permite referirse a objetos de clases diferentes mediante el mismo elemento de programa y realizar la misma operación de diferentes formas, según sea el objeto que se referencia en ese momento.


Referencias:

Presentación

Este Blog ha sido creado para el seguimiento de la asignatura LPR por parte del grupo 28 cuyos miembros son : LMALVAREZ, pachon, RRLOPEZ.

Un saludo.