Documentos de Académico
Documentos de Profesional
Documentos de Cultura
INTERAMERICANA
PRIMER PARCIAL DE
PROGRAMACIÓN 1
Carrera: Analista programador
Comision: 1-K
2. ¿Qué es un objeto? Muestre una porción de código de ejemplo relacionado con el punto anterior.
7. ¿Por qué es conveniente separar el proyecto de librería, y utilizar solamente las clases públicas
como en los ejemplos vistos en clase para las listas, colas y pilas?
1) Las clases son una abstracción de cosas de la vida real. Una clase es un conjunto de datos
organizados para crear lo que se conoce como objetos. La clase determina la forma en las cuales
van a estar definidas las propiedades y comportamientos de un objeto que se crean a partir de esa
clase. Cada clase es como un molde que va a definir la estructura y el comportamiento de los
mismos. Por ejemplo, necesito crear una clase Auto en la cual voy a necesitar definir sus
propiedades y comportamientos. Para ello, armo una estructura que va a ser común a todos los autos
que cree a partir de la clase Auto. En esa clase van a estar definidos las propiedades más comunes a
un auto y sus funciones.
2) En programación orientada a objetos, un objeto es la instancia que se crea a partir de una clase.
Es decir, que yo como programador a partir de una estructura de código definida previamente,
puedo crear nuevos objetos. No hay límite para la cantidad de objetos que pueda crear. Siempre y
cuando se respete la estructura de código o el plano con el cual fue construida esa clase. Tomando
como ejemplo la clase Auto, esta es la forma en la que puedo crear objetos:
class Auto {
if(volkswagen.Encendido == 0)
return volkswagen.Encender();
else if(volkswagen.acelerar == 0 && volkswagen.Encendido == 1)
{
return volkswagen.Apagar();
}
}
}
3) La diferencia entre un atributo y una propiedad es que los atributos son porciones de código que
proporcionan información adicional sobre una clase mientras que las propiedades pertenecen a una
clase la cual permiten encapsular campos o valores y permiten acceder y modificar esos valores.
También se caracteriza en que las propiedades las utilizamos para controlar el acceso a los datos. Es
decir, las propiedades son eventos que se disparan cuando el usuario interactúa con el programa
mientras que los atributos son las características del programa.
4)Un constructor es un método que se utiliza para inicializar objetos dentro de una clase. Al
inicializarlas le damos un valor inicial por el cual los mismos van a tener un punto de partida para la
asignación o cambio de estado que tendrán en un futuro.
La sobrecarga de constructores se utiliza para crear objetos de una misma clase de diferentes
maneras según la necesidad del programa. Es decir, la sobrecarga de constructores es la capacidad
de definir múltiples constructores en una clase con diferentes conjuntos de parámetros para
adaptarse a diferentes escenarios de creación de objetos.
5) Una lista enlazada es una secuencia de nodos en los que se guardan campos de datos arbitrarios y
una o dos referencias, enlaces o punteros al nodo posterior o anterior. La principal diferencia con los
vectores radica en que el orden de los elementos enlazados puede ser diferente al orden de
almacenamiento en la memoria, permitiendo que el orden del recorrido de la lista sea diferente al de
almacenamiento. Para explicarlo más simple los nodos en una lista enlazada no están almacenados
de manera contigua a diferencia de los vectores. Cada nodo puede estar almacenado en cualquier
parte de la memoria y a través de un puntero,referencia o enlace a esa dirección de memoria
conectarse. También otra diferencia radica en la inserción y eliminación de elementos, ya que en
vectores se necesita desplazar los elementos ya sea para hacer espacio o llenar ese espacio vacío,
mientras que en las listas enlazadas solo se necesita actualizar las referencias en los nodos. Otra
característica y diferencia entre vectores y listas enlazadas es que los vectores permiten acceder de
forma aleatoria a los elementos a través de un índice ya que los elementos están almacenados de
forma contigua. En cambio, las listas enlazadas no pueden acceder de forma aleatoria por lo que
deben recorrer la lista desde el inicio o un nodo de referencia para acceder al elemento que se desea
buscar.
6) Las estructuras dinámicas de tipo pila son aquellas en las cuales los elementos son almacenados
de forma tal que unicamente se puedan agregar o sacar elementos es desde el tope o cima de la pila.
Esta característica hace que el último elemento insertado en la pila es el primero en salir. Este tipo
de estructura se denomina LIFO (Last In First Out) que se traduce en “Ultimo en entrar primero en
salir” explicando lo mencionado anteriormente. Este tipo de estructuras de datos se pueden
implementar en arrays o en la gestión de llamadas a funciones, implementacion de algoritmos
recursivos, etc. Las operaciones básicas de una pila son:
Push: que permite agregar elementos en la parte superior de la pila;
Pop: quita el elemento en la parte superior de la pila;
Peek: que se usa para obtener el valor del elemento superior de la pila;
Empty: que indica si la pila está vacía;
Full: que indica si la pila está llena;
En cambio, las colas son un tipo de estructura dinámica en la que el primer elemento que se inserta
es el primero en ser eliminado, siguiendo el principio de FIFO(First In First Out), que traducido
significa primero que entra primero que sale, y como bien lo explica se utiliza para mantener un
orden en el nivel de llegada, como ser para la gestión de tareas o procesos que requieran un orden
de prioridades para cumplir con el requerimiento. Las operaciones básicas de las colas son:
Enqueue: agrega un elemento al final de la cola;
Dequeue: Elimina el elemento al frente de la cola;
Peek: obtiene el valor del elemento al frente de la cola;
Empty: verifica si la cola está vacía;
Full: verifica si la cola está llena;