Entradas

Mostrando entradas de abril, 2022

Modelo clase

Imagen
 Agregación La agregación es un tipo de asociación que indica que una clase es parte de otra clase (composición débil). Los componentes pueden ser compartidos por varios compuestos (de la misma asociación de agregación o de varias asociaciones de agregación distintas). La destrucción del compuesto no conlleva la destrucción de los componentes. Habitualmente se da con mayor frecuencia que la composición. La agregación se representa en UML mediante un diamante de color blanco colocado en el extremo en el que está la clase que representa el “todo”. Veamos un ejemplo de agregación: • Tenemos una clase Empresa. • Tenemos una clase Cliente. • Una empresa agrupa a varios clientes. Composición Composición es una forma fuerte de composición donde la vida de la clase contenida debe coincidir con la vida de la clase contenedor. Los componentes constituyen una parte del objeto compuesto. De esta forma, los componentes no pueden ser compartidos por varios objetos compuestos. La supresión del ob...

Simulación de las estructura de datos dinámicas

1. Consulte qué son las torres de Hanoi y exponga brevemente cuál de las estructuras dinámicas utilizará para simular su su comportamiento. R/Las Torres de Hanói es un rompecabezas o juego matemático inventado en 1883, Este juego de mesa individual consiste en un número de discos perforados de radio creciente que se apilan insertándose en uno de los tres postes fijados a un tablero. El objetivo del juego es trasladar la pila a otro de los postes siguiendo ciertas reglas, como que no se puede colocar un disco más grande encima de un disco más pequeño. El problema es muy conocido en la ciencia de la computación y aparece en muchos libros de texto como introducción a la teoría de algoritmos. En este caso, se puede decir que este tipo de ejemplo representa una estructura de datos dinámica como Stack o Pila, donde se respetan los principios de apilamiento y desapilamiento para que el disco se pueda mover de una base de datos  a otra, como además de estar ordenado en la base, debe estar ...

Estructura de datos dinámicas

Imagen
  *¿Cuál es la principal diferencia entre el uso de memoria en forma estática y el uso de memoria dinámica? La memoria dinámica es la que se reserva en tiempo de ejecución. Su principal ventaja frente a la estática, es que su tamaño puede variar durante la ejecución del programa. (En C, el programador es encargado de liberar esta memoria cuando no la utilice más); En la memoria estática el espacio en memoria que se crea para las variables ocupan no puede cambiarse durante la ejecución y tampoco puede ser liberada manualmente. *¿Con qué otro nombre se conoce la estructura de datos pila? Una pila (stack en inglés) es una lista ordenada o estructura de datos que permite almacenar y recuperar datos. *¿Qué diferencia existe entre una lista simple y una lista doblemente enlazada? Lista de enlace simple: cada nodo contiene una sola parte de enlace.   Lista de enlace doble: cada nodo contiene dos partes de enlace al siguiente nodo y al anterior nodo.     ...

Practica sobre Funciones

 Las funciones recursivas son funciones que se llaman mientras se ejecutan. Funciona de manera similar a la recursividad, pero debe planificar cuidadosamente cuándo dejan de llamarse o terminará con una función recursiva infinita. Estas funciones a menudo se usan para dividir una tarea en subtareas más simples para facilitar la resolución de problemas. 1.Funciones recursivas directas:Es cuando una funcion efectua una llamada asi misma;  función A … A(…) … fin función >>> def factorial ( numero ): ... print "Valor inicial ->" , numero ... if numero > 1 : ... numero = numero * factorial ( numero - 1 ) ... print "valor final ->" , numero ... return numero ... >>> print factorial ( 5 ) Valor inicial -> 5 Valor inicial -> 4 Valor inicial -> 3 Valor inicial -> 2 Valor inicial -> 1 valor final -> 120 valor final -> 24 valor final -> 6 valor final -> 2 valor final -...