Técnicas
de programación recursiva:
Es la forma en la cual se especifica un proceso basado en
su propia definición. Siendo un poco más precisos, y para evitar el aparente
círculo sin fin en esta definición:
Un problema que pueda ser definido en función de su
tamaño, sea este N, pueda ser dividido en instancias más pequeñas (< N) del
mismo problema y se conozca la solución explícita a las instancias más simples.
La característica principal de la programación
funcional es que los cálculos se ven como una función matemática que hacen
corresponder entradas y salidas.
• No hay noción de posición de memoria y por tanto, necesidad de una instrucción de asignación.
• Los bucles se modelan a través de la recursividad ya que no hay manera de incrementar o disminuir el valor de una variable.
• Como aspecto práctico casi todos los lenguajes funcionales soportan el concepto de variable, asignación y bucle.
• Estos elementos no forman parte del modelo funcional “puro”.
• No hay noción de posición de memoria y por tanto, necesidad de una instrucción de asignación.
• Los bucles se modelan a través de la recursividad ya que no hay manera de incrementar o disminuir el valor de una variable.
• Como aspecto práctico casi todos los lenguajes funcionales soportan el concepto de variable, asignación y bucle.
• Estos elementos no forman parte del modelo funcional “puro”.
No aguanta... deja sigo buscando mas
Definicion de funciones
Los lenguajes funcionales utilizan un modelo computacional simple similar al de
una calculadora.
Los lenguajes funcionales utilizan un modelo computacional simple similar al de
una calculadora.
Sistema de tipos
*Sistemas Físicos: Es todo aquel que logramos ver
y/o tocar, así como maquinaria, equipos, objetos, etc. Un ejemplo claro es el Hardware.
*Sistemas Abstractos: Es aquel tipo de sistemas que no percibimos con la mirada y el tacto, compuesto por planes, ideas, etc. El ejemplo podría ser el Software.
*Sistemas Cerrados: Se entiende como aquellos sistemas cuyo comportamiento es determinista y programado y que opera con muy pequeño intercambio de energía y materia con el ambiente. Un ejemplo son las máquinas.
*Sistemas Abiertos: Tiene una relación con el medio ambiente, en el cual se intercambia energía y materia, a través de entradas y salidas. Como las plantas.
Caracteristicas de un Sistema
*Todo sistema tiene uno o algunos propósitos. Los elementos, como también las relaciones, definen una distribución que trata siempre de alcanzar un objetivo.
*Un cambio en una de las unidades del sistema, con probabilidad producirá cambios en las otras.
*Tienen una tendencia a adaptarse con el fin de alcanzar un equilibrio interno frente a los cambios externos del entorno.
Importancia de un Sistema
Para mí, un sistema tiene mucha importancia, ya que trabaja en torno a una conclusión y para ello necesita de otros elementos, sabiendo que estos trabajan en conjunto para lograr esa conclusión, que es el objetivo esperado.
*Sistemas Abstractos: Es aquel tipo de sistemas que no percibimos con la mirada y el tacto, compuesto por planes, ideas, etc. El ejemplo podría ser el Software.
*Sistemas Cerrados: Se entiende como aquellos sistemas cuyo comportamiento es determinista y programado y que opera con muy pequeño intercambio de energía y materia con el ambiente. Un ejemplo son las máquinas.
*Sistemas Abiertos: Tiene una relación con el medio ambiente, en el cual se intercambia energía y materia, a través de entradas y salidas. Como las plantas.
Caracteristicas de un Sistema
*Todo sistema tiene uno o algunos propósitos. Los elementos, como también las relaciones, definen una distribución que trata siempre de alcanzar un objetivo.
*Un cambio en una de las unidades del sistema, con probabilidad producirá cambios en las otras.
*Tienen una tendencia a adaptarse con el fin de alcanzar un equilibrio interno frente a los cambios externos del entorno.
Importancia de un Sistema
Para mí, un sistema tiene mucha importancia, ya que trabaja en torno a una conclusión y para ello necesita de otros elementos, sabiendo que estos trabajan en conjunto para lograr esa conclusión, que es el objetivo esperado.
Técnicas
de programación recursiva:
La recursividad es una técnica de diseño de algoritmos
Que se base en solucionar versiones más pequeñas de
Un problema, para obtener la solución general del
Mismo
• Permiten realizar un número (posiblemente infinito) de
Cálculos sin especificar el número de repeticiones de
Forma explícita
• Algoritmos recursivos:
-- Recursión directa
- Recursión indirecta
Pueden conseguirse versiones iterativas de soluciones
Recursivas, como por ejemplo: búsqueda binaria
Vamos a ver en el tema siguiente técnicas de diseño de
Programas que utilizan recursión:
– Divide y vencerás,
– Retroceso o backtracking
Modelos
de evaluación
Evaluación es el proceso
sistemático de recolección y análisis de datos con la finalidad de determinar
si es que, y hasta qué punto, unos objetivos han sido o están siendo logrados.
La información resultante se pone al servicio de la toma de decisiones.
Clases
de tipos
El sistema de tipos de Haskell posee una característica
que lo distingue de otros lenguajes de programación. El tipo de polimorfismo
del que hemos tratado hasta ahora es denominado polimorfismo paramétrico.
Existe otro tipo de polimorfismo llamado ad hoc o sobrecarga. Estos son algunos
ejemplos de polimorfismo ad hoc.Ves una descripción informal1 de alto
nivel de un algoritmo informático de programación, compacto e informal, que
utiliza las convenciones estructurales de un lenguaje de programación
verdadero2 , pero que está diseñado para la lectura humana en lugar de la
lectura mediante máquina, y con independencia de cualquier otro lenguaje de
programación.
Aplicaciones
en rutinas de pseudocódigos
Los objetos en C++ son abstraídos mediante una
clase. Según el paradigma de la programación orientada a objetos un objeto
consta de:
Identidad, que lo diferencia de otros objetos (Nombre que llevara la clase a la que pertenece dicho objeto).
Métodos o funciones miembro
Atributos o variables miembro
Un ejemplo de clase que podemos tomar es la clase perro. Cada perro comparte unas características (atributos). Su número de patas, el color de su pelaje o su tamaño son algunos de sus atributos. Las funciones que lo hagan ladrar, cambiar su comportamiento... esas son las funciones de la clase.
Este es otro ejemplo de una clase:
Identidad, que lo diferencia de otros objetos (Nombre que llevara la clase a la que pertenece dicho objeto).
Métodos o funciones miembro
Atributos o variables miembro
Un ejemplo de clase que podemos tomar es la clase perro. Cada perro comparte unas características (atributos). Su número de patas, el color de su pelaje o su tamaño son algunos de sus atributos. Las funciones que lo hagan ladrar, cambiar su comportamiento... esas son las funciones de la clase.
Este es otro ejemplo de una clase:
class Punto
{
//por omisión los miembros son
'prívate' para que sólo se puedan modificar desde la propia clase.
Prívate:
// Variable miembro privada
int id;
protected:
// Variables miembro protegidas
int x;
int y;
public:
// Constructor
Punto();
// Destructor
~Punto();
// Funciones miembro o métodos
int ObtenerX();
int ObtenerY();
};