IMPLEMENTACIÓN DE PILAS CON LISTAS EN C++

Tamaño: px
Comenzar la demostración a partir de la página:

Download "IMPLEMENTACIÓN DE PILAS CON LISTAS EN C++"

Transcripción

1 IMPLEMENTACIÓN DE PILAS CON LISTAS EN C++ Fichero nodo.h #ifndef NODO_H #define NODO_H const int cantidad_nodos = 10; class Nodo private: string dato; Nodo* siguiente; public: Nodo(); void setdato(string inf); void setsiguiente(nodo* sig); string getdato(); Nodo* getsiguiente(); virtual ~Nodo(); ; #endif // NODO_H Fichero nodo.cpp Nodo::Nodo() dato = ""; siguiente = NULL; void Nodo::setDato(string inf) dato = inf; void Nodo::setSiguiente(Nodo* sig) siguiente = sig; string Nodo::getDato() return dato; Nodo* Nodo::getSiguiente() return siguiente; Nodo::~Nodo() //dtor

2 Fichero declararpila.h #ifndef DECLARARPILA_H #define DECLARARPILA_H class DeclararPila private: int totalnodos; Nodo* tope; public: DeclararPila(); int gettotalnodos(); //Método que devuelve la cantidad de nodos que tiene la pila. Nodo* gettope(); //Método que devuelve el nodo del tope de la pila. //Métodos para determinar el estado de la pila (pila llena o pila vacía). Para esto se declaran dos funciones //de tipo booleano. Si la pila esta Llena se retorna el valor de true, en caso contrario se retorna el valor false. //Lo mismo si la pila esta vacía se retorna el valor de true, en caso contrario se retorna el valor false. bool pilallena(); bool pilavacia(); void agregar(string dato); void quitar(); string valortope(); void limpiarpila(); virtual ~DeclararPila(); ; #endif // DECLARARPILA_H Fichero declararpila.cpp #include "declararpila.h" DeclararPila::DeclararPila() totalnodos = 0; tope = NULL; int DeclararPila::getTotalNodos() //El atributo totalnodos es un contador de nodos que devuelve la cantidad de nodos almacenados en la pila. return totalnodos; Nodo* DeclararPila::getTope() return tope; bool DeclararPila::pilaLlena() if (gettotalnodos() == cantidad_nodos) return true; else return false;

3 bool DeclararPila::pilaVacia() if (gettotalnodos() == 0) return true; else return false; void DeclararPila::agregar(string dato) //Nodo* nuevo; if (! pilallena()) //Mientras que la pila no este llena se pueden agregar nodos. Nodo* nuevo = new Nodo(); //Se crea una nueva instancia de la clase nodo. nuevo->setdato(dato); //Al nodo nuevo en el campo de información se le agrego el dato. nuevo->setsiguiente(gettope()); //El apuntador del nuevo nodo apunta al que esta de tope (cabeza). tope = nuevo; //Se asigna que el tope será en nuevo nodo insertado. totalnodos = totalnodos+1; //Se incrementa el contador de nodos en uno. void DeclararPila::quitar() Nodo* temp; //Apuntador de la clase nodo para almacenar temporalmente el nodo a eliminar (tope). if (! pilavacia()) //Mientras que la pila no este vacía se pueden eliminar nodos. temp = gettope(); //Se asigna temporalmente el tope de la pila a el apuntador temp. tope = tope->getsiguiente(); //Ahora el tope será el nodo que que sigue al que estaba de tope. delete temp; //Se elimina temp. totalnodos = totalnodos-1; //El contador de nodos se decremento en uno. string DeclararPila::valorTope() return tope->getdato(); //Retorna la información que tiene el nodo del tope en el campo dato. void DeclararPila::limpiarPila() //Implementación del método que elimina todos los nodos de la pila. while (! pilavacia()) quitar(); DeclararPila::~DeclararPila() limpiarpila(); Fichero main.cpp #include "declararpila.h" int menu(); //Método para asignar un menú de opciones. void mostrarpila(declararpila* pila); //Método para mostrar los datos de la pila. int main() int opc; string dato; DeclararPila* pila = new DeclararPila();

4 do opc = menu(); switch(opc) case 1: cout << "\n AGREGAR DATOS A LA PILA \n"; cout << "Digite el dato que quiere agregar a la Pila: "; cin >> dato; if (! pila->pilallena()) pila->agregar(dato); else cout << " ---> La pila esta llena, No puede agregar mas elementos"; case 2: cout << "\n ELIMINAR DATOS DE LA PILA \n"; if (! pila->pilavacia()) pila->quitar(); else cout << "---> La pila esta vacia, No pueden quitar datos"; case 3: cout << "\n MOSTRAR DATOS DE LA PILA \n"; case 4: cout << "\n VACIAR LA PILA - BORRAR TODOS LOS ELEMENTOS \n"; pila->limpiarpila(); cout << "Se eliminaron los datos de la pila..."; cout << "\n \n"; case 5:

5 while(opc!= 5); int menu() int opcion = 0; cout << "\n IMPLEMENTACION DE PILAS - OPCION DEL MENU \n"; cout << "\n1. Agregar Datos a la Pila\n"; cout << "2. Eliminar Datos de la Pila\n"; cout << "3. Mostrar Datos de la Pila\n"; cout << "4. Vaciar la Pila\n"; cout << "5. Salir\n"; do cout << "\nseleccione una opcion del 1 al 5: "; cin >> opcion; while(opcion <= 0 opcion > 5); return opcion; void mostrarpila(declararpila* pila) //Así se mueven los elementos de la pila, siempre por el tope. cout << "\nelementos de la pila: \n \n"; //Objetos de la clase DeclararPila, para crear una pila temporal en donde almacenar los datos. DeclararPila* temp = new DeclararPila(); while (! pila->pilavacia()) //Mientras la pila no este vacía se muestran sus datos. cout << "---> " << pila->valortope() << "\n"; temp->agregar(pila->valortope()); //Se Agrega a una pila temporal el valor del tope de la pila actual. pila->quitar(); //Se elimina el tope de la pila actual, para pasar al siguiente elemento. //Posteriormente se copia nuevamente la pila temporal hasta la pila original. while (! temp->pilavacia()) pila->agregar(temp->valortope()); //Se agrega a la pila original el valor del tope de la pila temporal. temp->quitar(); //Se elimina el tope de la pila temporal, para pasar al siguiente elemento.

LISTAS ENLAZADAS DOBLES C++

LISTAS ENLAZADAS DOBLES C++ LISTAS ENLAZADAS DOBLES C++ fichero nodo.h #ifndef NODO_H #define NODO_H #include using namespace std; class Nodo private: int codigo; string nombre; float nota1; float nota2; float nota3; Nodo*

Más detalles

Tema: Tipos Abstractos de Datos (TAD s) en C++.

Tema: Tipos Abstractos de Datos (TAD s) en C++. Programación II. Guía 12 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II Tema: Tipos Abstractos de Datos (TAD s) en C++. Objetivos Específicos Explicar el concepto "Tipo Abstracto

Más detalles

Universidad Autónoma del Estado de México 2016, Año del 60 Aniversario de la Universidad Autónoma del Estado de México

Universidad Autónoma del Estado de México 2016, Año del 60 Aniversario de la Universidad Autónoma del Estado de México Universidad Autónoma del Estado de México 2016, Año del 60 Aniversario de la Universidad Autónoma del Estado de México Unidad Académica Profesional Tianguistenco Ingeniería de Software Estructura de Datos

Más detalles

PILAS. Prof. Ing. M.Sc. Fulbia Torres

PILAS. Prof. Ing. M.Sc. Fulbia Torres S ESTRUCTURAS DE DATOS 2006 Prof. UNIDAD II ESTRUCTURAS DE DATOS PILAS Definición. Operaciones. Implementación secuencial. Aplicaciones. Ejemplos. Ejercicios. DEFINICIÓN Una PILA (o stack) es una estructura

Más detalles

Las FILAS. ING PEDRO BELTRÁN CANESSA Estructuras de Datos 1

Las FILAS. ING PEDRO BELTRÁN CANESSA Estructuras de Datos 1 Las FILAS Estructuras de Datos 1 LA FILA (Conceptos...) Es un contenedor que utiliza el protocolo FIFO (First In, First Out) o bien, PEPS (Primeras Entradas, Primeras Salidas) Entrada Salida Estructuras

Más detalles

Tema: Plantillas en C++.

Tema: Plantillas en C++. Programación II. Guía 11 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II Tema: Plantillas en C++. Objetivos Específicos Conocer los tipos de plantillas Utilizar las plantillas de

Más detalles

Tema 8. Listas. José M. Badía, Begoña Martínez, Antonio Morales y José M. Sanchiz

Tema 8. Listas.  José M. Badía, Begoña Martínez, Antonio Morales y José M. Sanchiz Tema 8. Listas http://aulavirtual.uji.es José M. Badía, Begoña Martínez, Antonio Morales y José M. Sanchiz {badia, bmartine, morales, sanchiz}@icc.uji.es Estructuras de datos y de la información Universitat

Más detalles

1. Juego del Ahorcado

1. Juego del Ahorcado Solución Ex. Junio 06 GrA - Programación C++ Pág. 1 1. JUEGO DEL AHORCADO...1 2. CLASES...3 1. Juego del Ahorcado #include #include #include #include void Jugar(char

Más detalles

Introducción: una simple colección

Introducción: una simple colección Introducción: una simple colección Implemente una clase denominada Lista. La clase deberá mantener una colección de números y proveer los siguientes i métodos: Listas dinámicas simplemente enlazadas Franco

Más detalles

ÁRBOL BINARIO. T der. Árbol binario homogéneo es aquel cuyos nodos tienen grado 0 ó 2(no hay ninguno de grado 1).

ÁRBOL BINARIO. T der. Árbol binario homogéneo es aquel cuyos nodos tienen grado 0 ó 2(no hay ninguno de grado 1). ÁRBOL BINARIO - Un árbol binario puede definirse como un árbol que en cada nodo puede tener como mucho grado 2, es decir, a lo más 2 hijos. Los hijos suelen denominarse hijo a la izquierda e hijo a la

Más detalles

Implementación de las Clases Pila, Cola, Lista y Arbol

Implementación de las Clases Pila, Cola, Lista y Arbol 1/1 Implementación de las Clases Pila, Cola, Lista y Arbol Josefina Sierra Santibáñez 28 de noviembre de 2017 2/1 Implementación de Estructuras de Datos Implementaremos cada estructura de datos en dos

Más detalles

Capitulo V Listas Enlazadas

Capitulo V Listas Enlazadas Capitulo V Listas Enlazadas Muere lentamente, quien abandona un proyecto antes de iniciarlo, no preguntando de un asunto que desconoce o no respondiendo cuando le indagan sobre algo que sabe. Evitemos

Más detalles

Segundo Parcial de Programación 2 7 de junio de 2017

Segundo Parcial de Programación 2 7 de junio de 2017 Instituto de Computación. Facultad de Ingeniería. Universidad de la República Segundo Parcial de Programación 2 7 de junio de 2017 Problema 1 (30 puntos) Considere un TAD T que permita almacenar a lo sumo

Más detalles

Tipos Recursivos de Datos

Tipos Recursivos de Datos 1/1 Tipos Recursivos de Datos Josefina Sierra Santibáñez 27 de noviembre de 2016 2/1 Introducción La recursividad no sólo se puede aplicar a la definición de procedimientos (i.e. funciones o acciones),

Más detalles

FUNDAMENTOS DE PROGRAMACIÓN. SEPTIEMBRE 2007.

FUNDAMENTOS DE PROGRAMACIÓN. SEPTIEMBRE 2007. Dpto. Ingeniería de Sistemas Telemáticos Universidad Politécnica de Madrid ETSI Telecomunicación, Ciudad Universitaria, 28040 Madrid FUNDAMENTOS DE PROGRAMACIÓN. SEPTIEMBRE 2007. Normas de examen: Con

Más detalles

Tema 5. Estructura de datos Pila

Tema 5. Estructura de datos Pila Tema 5. Estructura de datos Pila http://aulavirtual.uji.es José M. Badía, Begoña Martínez, Antonio Morales y José M. Sanchiz {badia, bmartine, morales, sanchiz}@icc.uji.es Estructuras de datos y de la

Más detalles

Estructuras Enlazadas AyED UTN-BA

Estructuras Enlazadas AyED UTN-BA Funciones para estructuras enlazadas Sin Plantilla El Nodo Con plantilla para un dato genérico en info El Nodo struct Nodo1 int info; Nodo* sig; ; Nodo1* p1 = new Nodo1(); struct Nodo2 string info; Nodo*

Más detalles

Capítulo. Listas, pilas y colas en C++ Contenido. Introducción

Capítulo. Listas, pilas y colas en C++ Contenido. Introducción Capítulo 34 Listas, pilas y colas en C++ Contenido Tipo abstracto de datos lista Operaciones de listas enlazadas, clase lista Inserción en una lista Buscar un elemento y recorrer una lista enlazada Borrado

Más detalles

INSTITUTO TECNOLÓGICO DE NUEVO LAREDO ING. EN SISTEMAS COMPUTACIONALES

INSTITUTO TECNOLÓGICO DE NUEVO LAREDO ING. EN SISTEMAS COMPUTACIONALES OBJETIVO: El estudiante desarrollará aplicaciones mediante la implementación de estructuras de datos basadas en Colas MATERIAL Y EQUIPO NECESARIO: Papel y lápiz Se recomienda la comprobación de los ejercicios

Más detalles

Solución práctico 6 Tipos Abstractos de Datos Lista, Pila y Cola

Solución práctico 6 Tipos Abstractos de Datos Lista, Pila y Cola Objetivos Trabajar sobre el Tipo Abstracto de Datos Lista, reforzando el desacople entre especificación e implementación. Retomar las implementaciones vistas, como ser Listas Doblemente Encadenadas, Listas

Más detalles

Prof. Dr. Paul Bustamante

Prof. Dr. Paul Bustamante Prácticas de C++ Practica Nº 5 Informática II Fundamentos de Programación Prof. Dr. Paul Bustamante Practica Nº 5 Programación en C++ Pág. 1 ÍNDICE ÍNDICE... 1 1. Introducción... 1 1.1 Ejercicio 1: Mi

Más detalles

ÁRBOLES PARCIALMENTE ORDENADOS

ÁRBOLES PARCIALMENTE ORDENADOS ÁRBOLES PARCIALMENTE ORDENADOS INTRODUCCIÓN - Un árbol A se dice parcialmente ordenado (APO) si cumple la condición de que la etiqueta de cada nodo es menor (de igual forma mayor) o igual que las etiquetas

Más detalles

Biblioteca de templates. template <typename T> void eliminar(t arr[], int& len, int pos);

Biblioteca de templates. template <typename T> void eliminar(t arr[], int& len, int pos); ALGORITMOS Y ESTRUCTURA DE DATOS Machete Oficial 2014 Operaciones sobre arrays Biblioteca de templates Función: agregar Agrega el valor v al final del array arr e incrementa su longitud len. void agregar(t

Más detalles

INSTITUTO TECNOLÓGICO DE NUEVO LAREDO ING. EN SISTEMAS COMPUTACIONALES

INSTITUTO TECNOLÓGICO DE NUEVO LAREDO ING. EN SISTEMAS COMPUTACIONALES OBJETIVO: El estudiante desarrollará aplicaciones mediante la implementación de estructuras de datos basadas en Pilas. MATERIAL Y EQUIPO NECESARIO: Papel y lápiz Se recomienda la comprobación de los ejercicios

Más detalles

ÁRBOLES BINARIOS DE BÚSQUEDA (ABB)

ÁRBOLES BINARIOS DE BÚSQUEDA (ABB) ÁRBOLES BINARIOS DE BÚSQUEDA (ABB) INTRODUCCIÓN - Un árbol binario de búsqueda (ABB) es un árbol binario con la propiedad de que todos los elementos almacenados en el subárbol izquierdo de cualquier nodo

Más detalles

324 MR Versión 1 Prueba Integral 1/3 Semana 10 Lapso 2015-2

324 MR Versión 1 Prueba Integral 1/3 Semana 10 Lapso 2015-2 324 MR Versión 1 Prueba Integral 1/3 UNIVERSIDAD NACIONAL ABIERTA VICERRECTORADO ACADÉMICO ÁREA INGENIERÍA MODELO DE RESPUESTA ASIGNATURA: Computación II CÓDIGO: 324 MOMENTO: Prueba Integral FECHA DE APLICACIÓN:

Más detalles

RESUMEN DE CONCEPTOS BASICOS DE PROGRAMACION JAVA

RESUMEN DE CONCEPTOS BASICOS DE PROGRAMACION JAVA UNED Centro Asociado de Cádiz RESUMEN DE CONCEPTOS BASICOS DE PROGRAMACION JAVA 1. OBJETOS Cualquier elemento del programa es un objeto. Un programa es un conjunto de objetos que se comunican entre sí

Más detalles

Sobre Carga de Operadores

Sobre Carga de Operadores Programación Orientada o Objetos Univesidad de Los Andes - Facultad de Ingeniería Escuela de Sistemas Programación Digital II Profesor: Gilberto Diaz gilberto@ula.ve Las operaciones tradicionales que se

Más detalles

NIVEL 15: ESTRUCTURAS RECURSIVAS BINARIAS

NIVEL 15: ESTRUCTURAS RECURSIVAS BINARIAS 1 NIVEL 15: ESTRUCTURAS RECURSIVAS BINARIAS Árboles Binarios y Árboles Binarios Ordenados 2 Contenido Árboles binarios Iteradores Árboles binarios ordenados 3 Árboles binarios Algunas definiciones para

Más detalles

Tema 7.- Fundamentos de la Programación Orientada a Objetos

Tema 7.- Fundamentos de la Programación Orientada a Objetos Tema 7.- Fundamentos de la Programación Orientada a Objetos 7 de enero de 2014 Objetivos Saber definir clases propias. Saber crear objetos de una clase determinada e interactuar con ellos (Problema 1).

Más detalles

Segundo parcial de Programación 2

Segundo parcial de Programación 2 Generalidades: Segundo parcial de Programación 2 a. La prueba es individual y sin material. b. La duración es 3hs. c. Sólo se contestan dudas acerca de la letra. 8 de Julio de 2016 d. Escriba las hojas

Más detalles

CLAVE EXAMEN: a cd. c u r s o r = c u r s o r. g e t S i g u i e n t e ( ) ; p o s i c i o n ++;

CLAVE EXAMEN: a cd. c u r s o r = c u r s o r. g e t S i g u i e n t e ( ) ; p o s i c i o n ++; Departamento de Lenguajes y Sistemas Informáticos e Ingeniería del Software UPM ETSIINF. Exámen de Programación II. Convocatoria extraordinaria.08-07-2016. Realización: El test se realizará en la hoja

Más detalles

Estructura de datos y de la información Boletín de problemas - Tema 10

Estructura de datos y de la información Boletín de problemas - Tema 10 Estructura de datos y de la información Boletín de problemas - Tema 10 1. En el caso de que sea posible, dar un ejemplo de los siguientes puntos. Si no, explicar por qué no lo es. Considerar un valor genérico

Más detalles

Programación de sistemas Listas enlazadas

Programación de sistemas Listas enlazadas Programación de sistemas Listas enlazadas Departamento de Ingeniería Telemática 1 Contenidos *** Introducción a los genéricos Estructuras de datos Listas enlazadas La clase Node La clase LinkedList Ventajas

Más detalles

Grado en Ingeniería Informática. Estructura de Datos y Algoritmos, Grupo 84M, 2014/ de Marzo de

Grado en Ingeniería Informática. Estructura de Datos y Algoritmos, Grupo 84M, 2014/ de Marzo de Grado en Ingeniería Informática Estructura de Datos y Algoritmos, Grupo 84M, 2014/2015 12 de Marzo de 2015 Nombre y Apellidos:... PROBLEMA 1 (1 punto) Programación Orientada a Objetos. Una empresa de alquiler

Más detalles

LISTAS. Prof. Ing. M.Sc. Fulbia Torres

LISTAS. Prof. Ing. M.Sc. Fulbia Torres LISTAS ESTRUCTURAS DE DATOS 2006 Prof. UNIDAD II ESTRUCTURAS DE DATOS LISTAS Definición. Representación de Listas. Lista Lineal Simplemente Enlazada. Operaciones TAD LLSE. Implementación Dinámica. Otras

Más detalles

APUNTES PROII 2º PARCIAL.

APUNTES PROII 2º PARCIAL. APUNTES PROII 2º PARCIAL. MEMORIA DINÁMICA. Hay que distinguir entre: Estática: memoria que se reserva en tiempo de compilación. Dinámica: memoria que se reserva en tiempo de ejecución. 5 pasos: 1. Declaración

Más detalles

Estructuras de datos en memoria principal

Estructuras de datos en memoria principal Estructuras de datos en memoria principal Franco Guidi Polanco Escuela de Ingeniería Industrial Pontificia Universidad Católica de Valparaíso, Chile fguidi@ucv.cl Estructuras de datos v Estructuras básicas

Más detalles

1. Ejemplo de clase : La clase Cuenta 2. Uso de la clase Cuenta. 3. Métodos y objetos receptores de mensajes (Importante)

1. Ejemplo de clase : La clase Cuenta 2. Uso de la clase Cuenta. 3. Métodos y objetos receptores de mensajes (Importante) 1. : La clase Cuenta. Uso de la clase Cuenta 3. Métodos y objetos receptores de mensajes (Importante) 1 Una clase para cuentas de un banco Vamos a modelar con una clase, un nuevo tipo de datos, donde los

Más detalles

Programación 1. Tema II. Diseño de programas elementales. Lección 7. Diseño modular y descendente de programas

Programación 1. Tema II. Diseño de programas elementales. Lección 7. Diseño modular y descendente de programas Programación 1 Tema II. Diseño de programas elementales Lección 7. Diseño modular y descendente de programas 1 Objetivos de la lección : Aprender qué es un diseño modular de un programa Aprender a diseñar

Más detalles

Tema: Grafos en C#. Objetivos Específicos. Materiales y Equipo. Introducción Teórica. Programación IV. Guía 7

Tema: Grafos en C#. Objetivos Específicos. Materiales y Equipo. Introducción Teórica. Programación IV. Guía 7 Programación IV. Guía 7 1 Tema: Grafos en C#. Facultad: Ingeniería Escuela: Computación Asignatura: Programación IV Objetivos Específicos Definir el concepto de Grafo. A partir de una clase agregar la

Más detalles

Estructuras de datos en memoria principal

Estructuras de datos en memoria principal Estructuras de datos Estructuras de datos en memoria principal Franco Guidi Polanco Escuela de Ingeniería Industrial Pontificia Universidad Católica de Valparaíso, Chile fguidi@ucv.cl Actualización: 11

Más detalles

Clase adicional 9. Listas enlazadas. Temas. Listas enlazadas Árboles Problemas de la clase adicional Ejercicios de diseño

Clase adicional 9. Listas enlazadas. Temas. Listas enlazadas Árboles Problemas de la clase adicional Ejercicios de diseño Clase adicional 9 Temas Listas enlazadas Árboles Problemas de la clase adicional Ejercicios de diseño Listas enlazadas Previamente en este curso, ya habrá trabajado con dos de las estructuras de datos

Más detalles

Estructuras de Datos y Algoritmos (ITIS). TAD Tree. Estructuras de Datos y Algoritmos (ITIS) Ingeniería Técnica en Informática de Sistemas, Curso 2º

Estructuras de Datos y Algoritmos (ITIS). TAD Tree. Estructuras de Datos y Algoritmos (ITIS) Ingeniería Técnica en Informática de Sistemas, Curso 2º Estructuras de Datos y Algoritmos (ITIS) Ingeniería Técnica en Informática de Sistemas, Curso 2º PRÁCTICA 3 TAD TREE Árbol binario de búsqueda. Tabla de frecuencias. Uno de los mecanismos más sencillos

Más detalles

Examen Junio- Grupo A Lunes 17 de Junio - Programación en C++ Pág. 1

Examen Junio- Grupo A Lunes 17 de Junio - Programación en C++ Pág. 1 Examen Junio- Grupo A Lunes 17 de Junio - Programación en C++ Pág. 1 ÍNDICE ÍNDICE... 1 1.1 Ejercicio 1: Máquina Expendedora (3.5 ptos.)... 1 1.2 Ejercicio 2: Clase Circulo (1.0 pto.)... 3 1.3 Ejercicio

Más detalles

Examen Junio- Grupo B Lunes 17 de Junio - Programación en C++ Pág. 1

Examen Junio- Grupo B Lunes 17 de Junio - Programación en C++ Pág. 1 Examen Junio- Grupo B Lunes 17 de Junio - Programación en C++ Pág. 1 ÍNDICE ÍNDICE... 1 1.1 Ejercicio 1: Empresa Videojuegos (3.5 ptos.)... 1 1.2 Ejercicio 2: Clase Rectangulo (1.0 pto.)... 3 1.3 Ejercicio

Más detalles

Capítulo. Listas, pilas y colas en C. Contenido. Introducción

Capítulo. Listas, pilas y colas en C. Contenido. Introducción Capítulo 32 Listas, pilas y colas en C Contenido Listas enlazadas Clasificación de listas enlazadas Operaciones en listas enlazadas Inserción de un elemento en una lista Búsqueda de un elemento de una

Más detalles

Temario. Tema 5. Estructuras de Datos no Lineales. 5.1 Árboles Binarios 5.2 Árboles n-arios

Temario. Tema 5. Estructuras de Datos no Lineales. 5.1 Árboles Binarios 5.2 Árboles n-arios Temario 5.1 Árboles Binarios 5.2 Árboles n-arios Especificación Utilización Representación Enlazada 5.3 Árboles Binarios de Búsqueda 5.4 Árboles Parcialmente Ordenados 1 Árbol n-ario: O bien es el conjunto

Más detalles

TEMA 3. Árboles. Objetivos. Contenidos. Bibliografía. Básica

TEMA 3. Árboles. Objetivos. Contenidos. Bibliografía. Básica TEMA 3. Árboles Objetivos En este tema se estudia una de las estructuras de datos no lineal más importante en computación, el árbol. Comenzaremos introduciendo la terminología asociada a los árboles y

Más detalles

Programación TADs Lineales Lista Pila Cola

Programación TADs Lineales Lista Pila Cola Programación 2 7- TADs Lineales Lista Pila Cola 1 TAD LISTA 2 Definición Hemos visto la definición inductiva de listas. Más precisamente, definimos inductivamente los tipos Alista, para cualquier tipo

Más detalles

Tema 7- Modelo y Aplicación de Pila, Cola y. Tema 7- Modelo y Aplicación de. Lista Con Punto de Interés

Tema 7- Modelo y Aplicación de Pila, Cola y. Tema 7- Modelo y Aplicación de. Lista Con Punto de Interés Tema - Modelo y Aplicación de Pila, Cola y Lista con Punto de Interés Tema - Modelo y Aplicación de Pila, Cola y Lista con Punto de Interés Índice general:. Modelo y Aplicación de Lista con Punto de Interés

Más detalles

Práctica 8: Barreras

Práctica 8: Barreras Arquitectura y Tecnología de Computadores 14 de febrero de 2014 Objetivos Aprender a utilizar las variables condición y las barreras de la biblioteca Pthreads. Diseñar e implementar una barrera: Barrera

Más detalles

Árboles. Árboles. Árboles binarios de búsqueda. Árboles. Inserción en un árbol. Árbol binario de búsqueda

Árboles. Árboles. Árboles binarios de búsqueda. Árboles. Inserción en un árbol. Árbol binario de búsqueda Árboles Árboles Mario Medina C. mariomedina@udec.cl Árboles Estructura recursiva Árbol vacío 0 o más árboles hijos Altura ilimitada Árbol binario A lo más dos hijos: izquierdo y derecho Árboles Árboles

Más detalles

Estructuras de Datos Clase 6 Listas e Iteradores (primera parte)

Estructuras de Datos Clase 6 Listas e Iteradores (primera parte) Estructuras de Datos Clase 6 Listas e Iteradores (primera parte) Dr. Sergio A. Gómez http://cs.uns.edu.ar/~sag Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur Bahía

Más detalles

Unidad Didáctica 2. Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones

Unidad Didáctica 2. Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones Unidad Didáctica 2 Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión 1.0.3 Índice

Más detalles

Prof. Dr. Paul Bustamante

Prof. Dr. Paul Bustamante Prácticas de C++ Practica Nº 11 Informática II Fundamentos de Programación Prof. Dr. Paul Bustamante Practica Nº11 Programación en C++ Pág. 1 ÍNDICE ÍNDICE... 1 1. Introducción... 1 1.1 Ejercicio 1: Clase

Más detalles

Tema 6. Gestión dinámica de memoria

Tema 6. Gestión dinámica de memoria Tema 6. Gestión dinámica de memoria http://aulavirtual.uji.es José M. Badía, Begoña Martínez, Antonio Morales y José M. Sanchiz {badia, bmartine, morales, sanchiz@icc.uji.es Estructuras de datos y de la

Más detalles

Impresión por pantalla. 3. Indicar la salida por pantalla (2 puntos-20 minutos)

Impresión por pantalla. 3. Indicar la salida por pantalla (2 puntos-20 minutos) 3. Indicar la salida por pantalla (2 puntos-20 minutos) #include class EUITIelemento; class EUITIpila int num; EUITIelemento *pila[10]; EUITIpila():num(0); bool push(euitielemento *in) if(num>=10)return

Más detalles

Realizar el ejercicio anterior utilizando Punteros

Realizar el ejercicio anterior utilizando Punteros PUNTEROS Y ARRAYS En C existe una relación entre punteros y arrays tal que cualquier operación que se pueda realizar mediante la indexación de un arrays, se puede realizar también con punteros. Para clarificar

Más detalles

Tema: Arreglos de Objetos en C++.

Tema: Arreglos de Objetos en C++. Programación II. Guía 5 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II Tema: Arreglos de Objetos en C++. Objetivos Específicos Describir la implementación de arreglos de Objetos.

Más detalles

ELO329: Diseño y Programación Orientados a Objetos 20 de Junio de 2005. Certamen Final

ELO329: Diseño y Programación Orientados a Objetos 20 de Junio de 2005. Certamen Final Certamen Final 1. Se tiene una aplicación Java que muestra dos botones. Cuando presionamos el botón de la izquierda, incrementa el número mostrado en el botón de la derecha. Cuando presionamos el botón

Más detalles

UNADM. Estructura de datos. Guillermo Duran Garcia AL Actividad 2. Identificación de errores en métodos de ordenación

UNADM. Estructura de datos. Guillermo Duran Garcia AL Actividad 2. Identificación de errores en métodos de ordenación UNADM Estructura de datos Actividad 2. Identificación de errores en métodos de ordenación Guillermo Duran Garcia AL12524075 Actividad 2. Identificación de errores en métodos de ordenación. La siguiente

Más detalles

DEFINICION. Ing. M.Sc. Fulbia Torres Asignatura: Estructuras de Datos Barquisimeto 2006

DEFINICION. Ing. M.Sc. Fulbia Torres Asignatura: Estructuras de Datos Barquisimeto 2006 ARBOLES ESTRUCTURAS DE DATOS 2006 DEFINICION Un árbol (tree) es un conjunto finito de nodos. Es una estructura jerárquica aplicable sobre una colección de elementos u objetos llamados nodos; uno de los

Más detalles

Programación 4 EXAMEN DICIEMBRE SOLUCIÓN

Programación 4 EXAMEN DICIEMBRE SOLUCIÓN Problema 1 Parte a) Programación 4 EXAMEN DICIEMBRE 2016 - SOLUCIÓN i. Modelado del Dominio y Definición del Comportamiento del Sistema. ii. Es declarativa, ya que las PRE y POST condiciones no dicen el

Más detalles

PROGRAMACION ORIENTADA A OBJETOS Ingenieria Informática Final Febrero 2006/07

PROGRAMACION ORIENTADA A OBJETOS Ingenieria Informática Final Febrero 2006/07 PROGRAMACION ORIENTADA A OBJETOS Ingenieria Informática Final Febrero 2006/07 Ejercicio 1. Un indice de referencias cruzadas de las palabras que aparecen en un texto es una tabla por palabras y, por cada

Más detalles

Estructura de Datos: Lista. Facultad Ingeniería y Tecnología Informática Tecnicatura en Programación de Computadoras. Autora: Prof.

Estructura de Datos: Lista. Facultad Ingeniería y Tecnología Informática Tecnicatura en Programación de Computadoras. Autora: Prof. Facultad Ingeniería y Tecnología Informática Tecnicatura en Programación de Computadoras Estructura de Datos: Lista Autora: Lunes a viernes de 9 a 21 h. Torre Universitaria, Zabala 1837, primer nivel inferior.

Más detalles

Tema 2 Tipos abstractos de datos. 2.2 Pila de números enteros

Tema 2 Tipos abstractos de datos. 2.2 Pila de números enteros Tema 2 Tipos abstractos de datos. 2.2 Pila de números enteros Especificación de TAD s. TAD Pila de Enteros. desapilar 2 7 3 5 apilar Cima de la Pila Cima de la Pila Definición: Estructura de Datos que

Más detalles

Solución al Examen de Prácticas de Programación (Ingeniería Informática)

Solución al Examen de Prácticas de Programación (Ingeniería Informática) Solución al Examen de Prácticas de Programación (Ingeniería Informática) Junio 2006 Parte I. Cuestiones (3 puntos=50% nota del examen) 1) Se desea crear un conjunto de clases para representar en un programa

Más detalles

Taller de Programación I. Tema 08: Estructuras Dinámicas de Datos en Java

Taller de Programación I. Tema 08: Estructuras Dinámicas de Datos en Java INACAP Universidad Tecnológica de Chile Sede Santiago Centro Taller de Programación I Curso Java J2SE Tema 08: Estructuras Dinámicas de Datos en Java Ing. Manuel López Ramos Parte I Qué son las estructuras

Más detalles

Tema: Clases y Objetos en C++.

Tema: Clases y Objetos en C++. 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II Tema: Clases y Objetos en C++. Objetivos Específicos Aplicar clases, objetos, propiedades, métodos y mensajes. Poner en práctica

Más detalles

Estructura de datos y Programación

Estructura de datos y Programación Estructura de datos y Programación Tema: Conceptos Básicos- Estructuras de control - Arreglos Ing. Analia Méndez Ing. Raquel Zarco Año: 2012 ELEMENTOS DE UN PROGRAMA EN JAVA El programa Java consta de

Más detalles

Introducción al desarrollo de RIA's con Adobe Flex 3.0 Dia 4

Introducción al desarrollo de RIA's con Adobe Flex 3.0 Dia 4 Introducción al desarrollo de RIA's con Adobe Flex 3.0 Dia 4 by S. Muñoz-Gutiérrez stalinmunoz@yahoo.com, informes@grupolinda.org Grupo LINDA Facultad de Ingeniería UNAM México Octubre-Diciembre 2009 Identificando

Más detalles

Variables. Una variable no es más que un nombre simbólico que identifica una dirección de memoria: vs.

Variables. Una variable no es más que un nombre simbólico que identifica una dirección de memoria: vs. Variables Una variable no es más que un nombre simbólico que identifica una dirección de memoria: Suma el contenido de la posición 3001 y la 3002 y lo almacenas en la posición 3003 vs. total = cantidad1

Más detalles

Solucionado!!! La Torre de Hanói (Sin recursividad)

Solucionado!!! La Torre de Hanói (Sin recursividad) 1 Solucionado!!! La Torre de Hanói (Sin recursividad) import java.util.scanner; public class Prueba { public static void main(string[] args) { Pila t1=new Pila(); Pila t2=new Pila(); Pila t3=new Pila();

Más detalles

Guía de Referencia Rápida de C++ (std)

Guía de Referencia Rápida de C++ (std) Guía de Referencia Rápida de C++ (std) Programa C++ // Inclusión de bibliotecas // Utilización de espacios de nombre // Definición de Constantes y Tipos // Definición de subprogramas // cuerpo del programa

Más detalles

A l g o r i t m o y E s t r u c t u r a d e D a t o s Ing. en Sistemas de Información - 1º año -

A l g o r i t m o y E s t r u c t u r a d e D a t o s Ing. en Sistemas de Información - 1º año - Trabajo práctico Nº 7 (Resolución de problemas Estructura: pila y cola). Realiza el programa de cada situación problemática. 1- Cargar en una pila n letras del abecedario.(n debe ser menor a 30) 2- En

Más detalles

LISTAS ENLAZADAS FUNDAMENTOS TEORICOS

LISTAS ENLAZADAS FUNDAMENTOS TEORICOS LISTAS ENLAZADAS FUNDAMENTOS TEORICOS Una lista enlazada es una colección o secuencia de elementos dispuestos uno detrás de otro, en la que cada elemento se conecta al siguiente elemento por un «enlace»

Más detalles

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta Centro Asociado Palma de Mallorca Antonio Rivero Cuesta La Sintaxis de Java I... 5 Tipos de datos... 6 Tipos de datos simples... 7 Operadores... 11 Operadores Aritméticos... 12 Operadores relacionales...

Más detalles

Métodos CON valor de retorno

Métodos CON valor de retorno Métodos Estáticos C# Fundamentos de Programación. Objetivos del tema: Qué es un método? Qué métodos conoces? Métodos que NO devuelven valor. Métodos que SI devuelven un valor. Paso de parámetros. Variables

Más detalles

ESTRUCTURAS DINÁMICAS DE DATOS (LISTAS)

ESTRUCTURAS DINÁMICAS DE DATOS (LISTAS) 2010 UNAN LEON Departamento de Computación Ing. En Sistemas Sabatino Docente: Ing. Karina Esquivel A. Asignatura: Practicas Profesionales. ESTRUCTURAS DINÁMICAS DE DATOS (LISTAS) TEMA 3: ESTRUCTURAS DINÁMICAS

Más detalles

República Bolivariana de Venezuela Aldea Universitaria Liceo Fray Pedro de Agreda Trayecto II Desarrollo de Software

República Bolivariana de Venezuela Aldea Universitaria Liceo Fray Pedro de Agreda Trayecto II Desarrollo de Software República Bolivariana de Venezuela Aldea Universitaria Liceo Fray Pedro de Agreda Trayecto II Desarrollo de Software Prof. Elías Cisneros Introducción a lenguaje C++ Parte IV Contenido 1.Introducción a

Más detalles

CAPÍTULO 6 COMPOSICIÓN Y AGREGACIÓN

CAPÍTULO 6 COMPOSICIÓN Y AGREGACIÓN CAPÍTULO 6 COMPOSICIÓN Y AGREGACIÓN 2 http://www.itnuevolaredo.edu.mx/takeyas 1 Preguntas detonadoras Qué es y para qué sirve una clase parametrizada? Una clase parametrizada, Qué tipo de parámetro recibe?

Más detalles

Tipos abstractos de datos (TAD)

Tipos abstractos de datos (TAD) Capítulo 2 Tipos abstractos de datos (TAD) Objetivo: Introducir al alumno las estructuras de datos mediante el concepto de tipo abstracto de datos. En este capítulo se presenta una primera implementación

Más detalles

PROGRAMACIÓN GENÉRICA

PROGRAMACIÓN GENÉRICA PROGRAMACIÓN GENÉRICA Lenguajes de Programación - Orientación a Objetos: Progr. Genérica 1 Programación genérica Objetivo: escribir algoritmos genéricos, independientes de las clases concretas de los datos

Más detalles

Ejercicio 2 Considere la representación para Lista de Naturales y Árbol Binario de Naturales de la Figura 1.

Ejercicio 2 Considere la representación para Lista de Naturales y Árbol Binario de Naturales de la Figura 1. Ejercicios Resueltos del Práctico 4 Ejercicio 2 Considere la representación para Lista de Naturales y Árbol Binario de Naturales de la Figura 1. 1 2 struct NodoLista { 3 int elem ; 4 NodoLista * sig ;

Más detalles

UNIDAD 8 Tipos de datos dinámicos: Punteros Asignación dinámica de memoria. Uso de punteros. Inicialización y asignación de punteros.

UNIDAD 8 Tipos de datos dinámicos: Punteros Asignación dinámica de memoria. Uso de punteros. Inicialización y asignación de punteros. Tipos de datos dinámicos: Punteros Asignación dinámica de memoria. Uso de punteros. Inicialización y asignación de punteros. Procedimientos para asignación y liberación de memoria. Tipos de datos recursivos.

Más detalles

Listas enlazadas. Programación de Sistemas

Listas enlazadas. Programación de Sistemas Listas enlazadas Programación de Sistemas 1 Estructuras de datos Abstracción que representa un conjunto de datos en un programa con el objeto de facilitar su manipulación Diferentes estructuras de datos

Más detalles

Soluciones. boolean pruebaiteraseriegeometrica () { Serie s= new SerieGeometrica (1, 2); return (s.iterator() instanceof IteraSerieGeometrica); }

Soluciones. boolean pruebaiteraseriegeometrica () { Serie s= new SerieGeometrica (1, 2); return (s.iterator() instanceof IteraSerieGeometrica); } dit UPM Depto. Ingeniería de Sistemas Telemáticos Universidad Politécnica de Madrid ETSI Telecomunicación Laboratorio de Programación 19 de Junio de 2002 Soluciones EJERCICIO 1 (UNA PÁGINA: UNA HOJA POR

Más detalles

FUNDAMENTOS DE PROGRAMACIÓN. SEPTIEMBRE 2005

FUNDAMENTOS DE PROGRAMACIÓN. SEPTIEMBRE 2005 Dpto. de Ingeniería de Sistemas Telemáticos E.T.S.I. Telecomunicación Universidad Politécnica de Madrid FUNDAMENTOS DE PROGRAMACIÓN. SEPTIEMBRE 2005 Normas de examen: Con libros y apuntes Duración: 2 horas

Más detalles

LISTAS DOBLES y multiples

LISTAS DOBLES y multiples LISTAS DOBLES y multiples Temas Listas doblemente enlazadas Características y Operaciones Ejemplos Lista múltiples enlaces LISTAS DOBLEMENTE ENLAZADAS y MÚLTIPLE ENLACES Suponga el siguiente problema:

Más detalles

Introducción al lenguaje C

Introducción al lenguaje C Introducción al lenguaje C Programación 2 Profesorado de Informática CeRP del Suroeste, Colonia, Uruguay 15 de marzo de 2016 Programación 2 Introducción al lenguaje C 15 de marzo de 2016 1 / 34 Objetivos

Más detalles

INTERFACE ITERATOR DEL API JAVA. MÉTODO REMOVE PARA BORRAR OBJETOS EN COLECCIONES. EJERCICIOS Y EJEMPLO RESUELTO. (CU00919C)

INTERFACE ITERATOR DEL API JAVA. MÉTODO REMOVE PARA BORRAR OBJETOS EN COLECCIONES. EJERCICIOS Y EJEMPLO RESUELTO. (CU00919C) APRENDERAPROGRAMAR.COM INTERFACE ITERATOR DEL API JAVA. MÉTODO REMOVE PARA BORRAR OBJETOS EN COLECCIONES. EJERCICIOS Y EJEMPLO RESUELTO. (CU00919C) Sección: Cursos Categoría: Lenguaje de programación Java

Más detalles

ESTRUCTURAS DINÁMICAS DE DATOS (PILAS)

ESTRUCTURAS DINÁMICAS DE DATOS (PILAS) 200 UNAN LEON Departamento de Computación Ingeniería en Sistema y Telemática Docente: Ing. Juan Carlos Antón S. Asignatura: Algoritmo y Estructuras de Datos ESTRUCTURAS DINÁMICAS DE DATOS (PILAS) Pilas

Más detalles

Hoja de ejercicios del Tema 9

Hoja de ejercicios del Tema 9 Facultad de Informática Universidad Complutense Fundamentos de la programación Curso 2013 2014 Hoja de ejercicios del Tema 9 1. Sin ejecutarlo, qué mostraría el siguiente código? int x = 5, y = 12, z;

Más detalles

Estructuras de Datos Clase 14 Árboles binarios de búsqueda

Estructuras de Datos Clase 14 Árboles binarios de búsqueda Estructuras de Datos Clase 14 Árboles binarios de búsqueda Dr. Sergio A. Gómez http://cs.uns.edu.ar/~sag Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur Bahía Blanca,

Más detalles

Prof. Dr. Paul Bustamante

Prof. Dr. Paul Bustamante Carnet Nombre: Examen C++ Grupo A Informática II Fundamentos de Programación Prof. Dr. Paul Bustamante Pág.1 Índice 1. INTRODUCCIÓN... 1 2. EJERCICIO 1: JUEGO DEL AHORCADO (3.5 PTS.)...1 3. EJERCICIO

Más detalles

Introducción a C++ y Code::Blocks

Introducción a C++ y Code::Blocks Introducción a C++ y Práctica Imperativo Clase 1 Luis Agustín Nieto Departamento de Computación, FCEyN,Universidad de Buenos Aires. 28 de mayo de 2010 Menu de esta Tarde Funcional Vs. Imperativo (Intérprete

Más detalles

Son aquellas que se implementan usando vectores por lo que tienen un número de elementos limitado.

Son aquellas que se implementan usando vectores por lo que tienen un número de elementos limitado. No es importante aprenderse al pié de la letra,cada una de las funciones, ya sea para la pila o para las colas, si no que, es importante, aprenderse lo que hace cada función, tener presente el algoritmo

Más detalles

Introducción a Java (II) Dr. (c) Noé Alejandro Castro Sánchez

Introducción a Java (II) Dr. (c) Noé Alejandro Castro Sánchez Introducción a Java (II) Dr. (c) Noé Alejandro Castro Sánchez Sintaxis de Java Sintaxis Define las reglas que determinar el uso de palabras clave, operadores y variables para construir y evaluar expresiones.

Más detalles

UTN FRBA Algoritmos y Estructura de Datos Examen Final 13/02/2015. Apellido y nombre: Legajo: Cursó con Prof:

UTN FRBA Algoritmos y Estructura de Datos Examen Final 13/02/2015. Apellido y nombre: Legajo: Cursó con Prof: Sistema para el Seguimiento de Jugadores de Fútbol Temas evaluados: Resolución de problemas, estructuras de datos, archivos, listas, y lenguaje de programación. Contexto Usted es parte de un equipo que

Más detalles