, , , Indicar la salida por pantalla (2 puntos-20 minutos) Indicar la impresión por pantalla del siguiente programa:
|
|
- Rosario Arroyo Rivas
- hace 5 años
- Vistas:
Transcripción
1 3. Indicar la salida por pantalla (2 puntos-20 minutos) Indicar la impresión por pantalla del siguiente programa: #include <iostream.h> class ClaseA int a; ClaseA(int n):a(n) void mostrar()cout<<a<<endl; ; class ClaseB:public ClaseA int b; ClaseB(int n, int m):b(n),clasea(m) void mostrar()cout<<a<<','<<b<<endl;; ; ClaseA ca(2); ClaseB cb(8,4); ca.mostrar(); cb.mostrar(); ca=cb; ca.mostrar(); cb.mostrar(); ClaseA *c1=new ClaseA(1); ClaseB *c2=new ClaseB(2,3); ClaseA *c3=c1,*c4=c2; c3->mostrar(); c4->mostrar(); ClaseB *c5; c5 = static_cast<claseb *>(c4); c5->mostrar(); delete c1; delete c2; , , ,2 8
2 4. Ejercicio de programación (2,5 puntos-50 minutos) Uno de los clases más clásicas y evidentes en las que se guarda especialmente el encapsulamiento son las clases contenedoras, cuya misión es la de almacenar referencias a objetos u objetos. Hay varios tipos clásicos de contenedores, entre los que cabe destacar las pilas de datos, los árboles, las listas enlazadas, etc. El siguiente ejercicio consiste en completar y trabajar con una pequeña estructura de clases que implementa una pila de datos. Para ello se dispone de una clase base denominada EUITIapilable, que servirá de sustento para los objetos que posteriormente se quieran introducir en una pila. El código de esta clase está COMPLETO, y es utilizado por la clase EUITIpila que es quien implementa la función de pila, o dicho de otra forma, de contenedor LIFO (Last In First Out). Esta funcionalidad se logra mediante la inclusión de una lista encadenada de objetos EUITIapilable, tal y como representa el esquema de la figura: PILA 0 Raiz anterior siguiente Objeto anterior siguiente Objeto anterior siguiente 0 De forma que cada vez que se añade un nuevo elemento a la pila, lo que se hace es que el nodo Raiz, apunte con su puntero siguiente a este nuevo elemento, y al antiguo elemento que estaba al principio de la pila se le dice que su puntero anterior apunte al nuevo. De forma coherente se procede a modificar los punteros anterior y siguiente del nuevo objeto para mantener la lista organizada. Las funciones que hacen esto se denominan push() para insertar, y pop() para extraer. Además se incluye una función main, que demuestra un primer uso de EUITIpila. SE PIDE, por orden: 1.- Escribir la definición del destructor de EUITIpila, el cual eliminará todo lo almacenado. (1 punto) 2.- Escribir la definición del método getnumero() de EUITIpila. (2 puntos) 3.- Sobrecargar el operador += de EUITIpila de forma que se comporte igual que el método push(). (2 puntos) 4.- Escribir completamente la clase Numero de forma que sea coherente con el uso que se da de la misma en la función main. (2 puntos) 5.- Crear una clase Vector que pueda ser introducida en la pila, y que permita almacenar ternas de tres números decimales. (2 puntos) 6.- Escribir una función main nueva que permita incluir en la pila tanto Números como Vectores a elección del usuario, y que después muestre lo almacenado por pantalla. Se recomienda crear para ello una clase abstracta que de una interfaz de impresión y petición de datos, y de la cual se puede hacer heredar tanto número como vector. (2 puntos) NOTA : Aunque la suma de puntuaciones es 11, la máxima nota posible en el ejercicio será de 10.
3 class EUITIapilable friend class EUITIpila; EUITIapilable *siguiente; EUITIapilable *anterior; EUITIapilable():siguiente(0),anterior(0); virtual ~EUITIapilable() if(anterior==0)return; //no esta en la pila if(siguiente) anterior->siguiente=siguiente; siguiente->anterior=anterior; else anterior->siguiente=0; ; class EUITIpila EUITIapilable raiz; void push(euitiapilable *obj); EUITIapilable *pop(); int getnumero(); //numero de elementos en la pila void vacia(); ~EUITIpila(); //elimina los elementos de la pila ; //introduce el objeto al principio de la pila void EUITIpila::push(EUITIapilable *obj) if(obj==0)return; if(raiz.siguiente)( raiz.siguiente)->anterior=obj; obj->siguiente=raiz.siguiente; obj->anterior=&raiz; raiz.siguiente=obj; //saca el primer objeto de la pila EUITIapilable *EUITIpila::pop() if(raiz.siguiente==0)return 0; EUITIapilable *aux=raiz.siguiente; raiz.siguiente=aux->siguiente; if(raiz.siguiente)( raiz.siguiente)->anterior=&primero; aux->anterior=aux->siguiente=0; return aux; //elimina los elementos almacenados y deja la pila //preparada para ser utilizada de nuevo void EUITIpila::vacia() EUITIapilable *aux; while(aux=pop())delete aux; #include <iostream.h> EUITIpila pila; Numero *aux;; int num; cin>>num; while(num) pila.push(new Numero(num)); cin>>num; cout<<"se han almacenado "<<pila.getnumero()<<"numeros:\n"; while(aux=(numero *)(pila.pop())) cout<<aux->num<<endl; delete aux;
4 1.- Escribir la definición del destructor de EUITIpila, el cual eliminará todo lo almacenado. (1 punto) EUITIpila::~EUITIpila() vacia(); 2.- Escribir la definición del método getnumero() de EUITIpila. (2 puntos) int EUITIpila::getNumero() int num=0; EUITIapilable *aux=&raiz; while(aux->siguiente) aux=aux->siguiente; num++; return num; 3.- Sobrecargar el operador += de EUITIpila de forma que se comporte igual que el método push(). (2 puntos) void EUITIpila::operator += (EUITIapilable *obj) push(obj); 4.- Escribir completamente la clase Numero de forma que sea coherente con el uso que se da de la misma en la función main. (2 puntos) class Numero:public EUITIapilable int num; Numero(int n):num(n); ; 5.- Crear una clase Vector que pueda ser introducida en la pila, y que permita almacenar ternas de tres números decimales. (2 puntos) class Vector:public EUITIapilable float data[3]; Vector(float a,float b, float c) data[0]=a; data[1]=b; data[2]=c; ; 6.- Escribir una función main nueva que permita incluir en la pila tanto Números como Vectores a elección del usuario, y que después muestre lo almacenado por pantalla. Se recomienda crear para ello una clase abstracta que de una interfaz de impresión y petición de datos, y de la cual se puede hacer heredar tanto número como vector. (2 puntos)
5 #include <iostream.h> class Interfaz: public EUITIapilable virtual void pedir()=0; virtual void imprimir()=0; ; class Numero:public Interfaz int num; Numero(int n=0):num(n); void pedir() cin>>num; void imprimir() cout<<num; ; class Vector:public Interfaz float data[3]; Vector(float a=0,float b=0, float c=0) data[0]=a; data[1]=b; data[2]=c; void pedir() cin>>data[0]>>data[1]>>data[2]; void imprimir() cout<<data[0]<<data[1]<<data[2]; ; EUITIpila pila; Interfaz *aux; char sel='1'; while(sel!='3') cout<<"1.- Numero"<<endl; cout<<"2.- Vector"<<endl; cout<<"3.- Salir"<<endl; cin>>sel; if(sel=='1') aux=new Numero(); else if(sel=='2') aux=new Vector(); else aux=0; if(aux) aux->pedir(); pila.push(aux); cout<<"se han almacenado "<<pila.getnumero()<<"cosas:\n"; while(aux=(interfaz *)(pila.pop())) aux->imprimir(); cout<<endl; delete aux;
6 5. Problema de Análisis y Diseño Orientado a Objetos (2.5 puntos - 50 minutos) Se pretende desarrollar un programa de simulación de un vapor de agua, para el que se ha desarrollado ya la siguiente clase, que funciona correctamente y no es necesario modificar: class Atomo Atomo(int num); virtual ~Atomo(); void Enlaza(Atomo* a); void CalculaPosicion(); void Dibuja(); float x; float y; float z; int numero_atomico; ; Atomo* enlace; Ejemplo del resultado final Supóngase que el método CalculaPosicion() es capaz de calcular la posición del átomo en el espacio teniendo en cuenta todas las interacciones físicas, incluyendo la posibilidad que dicho átomo haya establecido un enlace con otro átomo. El código para dibujar una molécula de agua utilizando la clase Atomo sería el siguiente: Atomo hidrogeno1(1); Atomo hidrogeno2(1); Atomo oxigeno(16); hidrogeno1.enlaza(&oxigeno); hidrogeno2.enlaza(&oxigeno); oxigeno.calculaposicion(); hidrogeno1.calculaposicion(); hidrogeno2.calculaposicion(); hidrogeno1.dibuja(); hidrogeno2.dibuja(); oxigeno.dibuja(); Donde es importante el orden de cálculo de las posiciones, es decir, primero se calcula la posición del oxigeno, y después la de los átomos de hidrogeno, que dependen del átomo de oxigeno. Cuando el programa este completado, el código del main() debe quedar como: VaporAgua vapor(30); //30 moleculas de agua vapor.calculaposicion(); vapor.dibuja(); Se pide: 1. Diagrama de Clases de Diseño (DCD de la solución), que incluya orientación a objetos para cada molécula de agua. (3,5 puntos) 2. Implementación de la solución en C++ (3,5 puntos) 3. Un diagrama de secuencias del cálculo de la posición y el dibujo del vapor, a partir de la función main().(3 puntos) SOLUCION: 1:
7 2: 3:CODIGO #include "Atomo.h" //MoleculaAgua.h class MoleculaAgua MoleculaAgua(); void Dibuja(); void CalculaPosicion(); Atomo hidrogeno1; Atomo hidrogeno2; Atomo oxigeno; ; //MoleculaAgua.cpp MoleculaAgua::MoleculaAgua():oxigeno(16),hidrogeno1(1),hidrogeno2(1) hidrogeno1.enlaza(&oxigeno); hidrogeno2.enlaza(&oxigeno); void MoleculaAgua::CalculaPosicion()
8 oxigeno.calculaposicion(); hidrogeno1.calculaposicion(); hidrogeno2.calculaposicion(); void MoleculaAgua::Dibuja() hidrogeno1.dibuja(); hidrogeno2.dibuja(); oxigeno.dibuja(); //VaporAgua.h #include "MoleculaAgua.h" class VaporAgua VaporAgua(int num); virtual ~VaporAgua(); void CalculaPosicion(); void Dibuja(); Molecula* moleculas[100]; int num_moleculas; ; //VaporAgua.cpp #include "VaporAgua.h" VaporAgua::VaporAgua(int num) for(int i=0;i<num;i++) Molecula* m=new MoleculaAgua; moleculas[num_moleculas++]=m; VaporAgua::~VaporAgua() for(int i=0;i<num_moleculas;i++) delete moleculas[i]; num_moleculas=0; void VaporAgua::Dibuja() for(int i=0;i<num_moleculas;i++) moleculas[i]->dibuja(); void VaporAgua::CalculaPosicion() for(int i=0;i<num_moleculas;i++) moleculas[i]->calculaposicion();
3. Indicar la salida por pantalla (2 puntos-10 minutos)
APELLIDOS NOMBRE Nº Mat. UNIVERSIDAD POLITÉCNICA DE MADRID ESCUELA UNIVERSITARIA DE INGENIERÍA TÉCNICA INDUSTRIAL Departamento El.A.I. ASIGNATURA INFORMÁTICA INDUSTRIAL Calificación CURSO 2º GRUPO Junio
Más detalles3. Indicar la salida por pantalla del último for de la función main dado el siguiente código c++: (2 puntos-20 minutos)
3. Indicar la salida por pantalla del último for de la función main dado el siguiente código c++: (2 puntos-20 minutos) #define MAX 10 class ListaD int num; int lista[max]; ListaD(void):num(0)lista[0]=1;
Más detallesEstructuras de Datos
8 de marzo de 2011 1 2 3 4 5 Tipo de Dato Abstracto Un tipo de dato abstracto (TDA), corresponde a un conjunto de valores y un conjunto de operaciones sobre tales valores. s de TDA Enteros. Reales. Booleanos.
Más detallesExamen de junio de Informática Industrial (04/05)
3 Indicar y explicar el resultado de la ejecución del siguiente código: (10 minutos) ÆLQFOXGHÃLRVWUHDPK!Ã ÆLQFOXGHÃPDWKK!Ã FODVVÃYHFWRUÃ ^Ã SXEOLFÃ YHFWRULQWÃQ GRXEOHÃY 18//Ã double operator[](double ind);
Más detallesImpresió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 detallesCURSO 2º GRUPO Junio 2011
APELLIDOS NOMBRE Nº Mat. UNIVERSIDAD POLITÉCNICA DE MADRID ESCUELA UNIVERSITARIA DE INGENIERÍA TÉCNICA INDUSTRIAL Departamento El.A.I. ASIGNATURA INFORMÁTICA INDUSTRIAL Calificación CURSO 2º GRUPO Junio
Más detallesHoja 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 detallesLas 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 detallesUML dinámico y de implementación. (C-305)
UML dinámico y de implementación carlos.platero@upm.es (C-305) UML dinámico Vistas de UML Estructural, Dinámico, Implementación Dinámico o de evolución temporal Diagramas de Interacción (Secuencia, Colaboración),
Más detallesUniversidad 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 detallesEscuela Politécnica Superior de Elche
EXAMEN DE SISTEMAS INFORMÁTICOS INDUSTRIALES ((SOLUCIÓN) (TEORÍA)jUJ jhshshs JUNIO 2015 1. Indicar si las siguientes afirmaciones son verdaderas o falsas: (a) En C++, cuando se destruye un objeto de una
Más detallesImpresión por pantalla
3. Indicar la salida por pantalla (2 puntos-20 minutos) #include template void Funcion_B(S& a, S& b); template void Funcion_A (T *vector, int num); void main(void) float
Más detallesTema 7. Colas. José M. Badía, Begoña Martínez, Antonio Morales y José M. Badía. {badia, bmartine,
Tema 7. Colas http://aulavirtual.uji.es José M. Badía, Begoña Martínez, Antonio Morales y José M. Badía {badia, bmartine, morales}@icc.uji.es Estructuras de datos y de la información Universitat Jaume
Más detallesAlgoritmos y Estructuras de Datos Ingeniería en Informática, Curso 2º SEMINARIO DE C++ Sesión 2
Algoritmos y Estructuras de Datos Ingeniería en Informática, Curso 2º SEMINARIO DE C++ Sesión 2 Contenidos: 1. Definición de clases 2. Implementación de los métodos 3. Constructores y destructores 4. Objetos
Más detallesTema 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 detallesAPUNTES 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 detallesIngeniera de Sistemas: Luz Esperanza Espitia Tutora de Estructura de datos.
Ingeniera de Sistemas: Luz Esperanza Espitia Tutora de Estructura de datos. Con relación a la Estructura LISTA Indicar objetos reales que se puedan modelar con dicha estructura. Listas de Ordenes de visitas
Más detallesTema: 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 detalles3.- Resolución a) Salida por pantalla A B B says Ladra! C C says Ladra! D
3. Indicar la salida por pantalla (2 puntos-20 minutos) NOTA: La clase string es un tipo especial de contenedor diseñado para manipular secuencias de caracteres. a) #include #include
Más detalles3.- Desarrollar las clases Pluma, Agenda y Movil escribiendo la menor cantidad de código posible sin por ello perder claridad.
4. Ejercicio de programación Dado el siguiente programa principal: void main() Maletin mimaletin; mimaletin+=new Pluma(azul); mimaletin+=new Agenda(rojo); mimaletin+=new Movil(negro); mimaletin.mostrarcontenido();
Más detallesEscuela Politécnica Superior de Elche
EXAMEN DE SISTEMAS INFORMÁTICOS INDUSTRIALES ((SOLUCIÓN) (TEORÍA)jUJ jhshshs SEPTIEMBRE 2015 1. Indicar si las siguientes afirmaciones son verdaderas o falsas: (a) En C++, una clase derivada puede acceder
Más detallesPILAS. 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 detalles1. El Tipo Abstracto de Datos.
Tipo Abstracto de s TAD Pila y TAD Cola 1. El Tipo Abstracto de s. 2. Definición de un TAD Pila. 3. Operaciones sobre el TAD Pila. 4. Implementación dinámica del TAD Pila en C. 5. Definición de un TAD
Más detallesEstructuras de Datos Clase 4 Pilas y colas
Estructuras de Datos Clase 4 Pilas y colas 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, Argentina Tipo
Más detallesPilas Motivación
Capítulo 4 Pilas Las pilas son estructuras muy sencillas y poderosas, también conocidas como LIFO (last in, first out) por la forma en que se trabaja con ellas. Ejemplo de ellas son las pilas de charolas
Más detallesProfesor: José Miguel Rubio L.
Profesor: José Miguel Rubio L. Magíster en Ingeniería Informática Ingeniero Civil en Informática Licenciado en Ciencias de la Ingeniería Técnico en Programación Oficina: 3-20 e-mail 1: jose.rubio.l@ucv.cl
Más detallesTipos de Datos Abstractos
Tipos de Datos Abstractos Facultad de Ciencias de la Computación Juan Carlos Conde R. Object-Oriented Programming I Contenido 1 Introducción 2 Estructura tipo LIFO 3 Estructura tipo FIFO 4 LISTAS Ligadas
Más detallesEstructura de datos y algoritmos. Tema IV: TIPOS DE DATOS ABSTRACTOS DINÁMICOS LINEALES
Estructura de datos y algoritmos Tema IV: TIPOS DE DATOS ABSTRACTOS DINÁMICOS LINEALES TIPOS DE DATOS ABSTRACTOS DINÁMICOS LINEALES 4.1 Introducción 4.2 Ejemplos de TDA dinámicos lineales 4.3 Pilas 4.3.1
Más detallesUNIVERSIDAD AUTONOMA DE MADRID ESCUELA POLITÉCNICA SUPERIOR ESTRUCTURAS DE DATOS Y ALGORITMOS
UNIVERSIDAD AUTONOMA DE MADRID ESCUELA POLITÉCNICA SUPERIOR ESTRUCTURAS DE DATOS Y ALGORITMOS Curso 2008-09 Examen parcial APELLIDOS: NOMBRE: 1. (0.5 puntos) Enumera las características de un algoritmo
Más detallesIMPLEMENTACIÓN DE PILAS CON LISTAS EN C++
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
Más detallesEstructura de Datos L I S T A
Estructura de Datos TDA L I S T A El TDA Lista El TDA Lista es una estructura compuesta por nodos (en los cuales se encuentran los datos almacenados) los cuales se encuentran enlazados entre si uno a uno
Más detallesUna clasificación de los tipos de datos existentes en los diferentes lenguajes de programación se presenta a continuación:
Clase teórica 2 Algoritmos en C Página 1 de 6 TIPOS DE DATOS Una clasificación de los tipos de datos existentes en los diferentes lenguajes de programación se presenta a continuación: Por el momento nuestro
Más detallesTema: Tipos Abstractos de Datos (TAD s) en C#.
Programación II. Guía No. 12 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II Tema: Tipos Abstractos de Datos (TAD s) en C#. Objetivos Comprender el concepto Tipo Abstracto de Datos
Más detallesEjercicios De Programación De C++ Algoritmos. Lenguaje De Programación C++:
Ejercicios De Programación De C++ 1. Muestre en pantalla el mensaje Bienvenido. Algoritmos 1. Inicio 2. muestrer en pantalla el mensaje Bienvenido 3. Fin Lenguaje De Programación C++: #include
Más detallesESTRUCTURAS DINÁMICAS DE DATOS (PILAS) EN C
2013 ESTRUCTURAS DINÁMICAS DE DATOS (PILAS) EN C Departamento de Computación UNAN-León TEMA 4: ESTRUCTURAS DINÁMICAS DE DATOS (PILAS) 4.1 INTRODUCCIÓN: En términos de listas lineales, una pila puede ser
Más detallesESTRUCTURA DE DATOS Y ALGORITMOS Titulación: Ingeniero Técnico en Informática de Gestión Curso: 2º Nombre y apellidos: Nota:
Nombre y apellidos: Nota: Escribe tu nombre y apellidos en esta hoja e inmediatamente en todas las suplementarias, incluso las de sucio. El no hacerlo puede suponer tu expulsión Puedes utilizar el lápiz
Más detallesManejo de Punteros y objetos en memoria dinámica en C++ Agustín J. González ELO 329
Manejo de Punteros y objetos en memoria dinámica en C++ Agustín J. González ELO 329 Asignación Dinámica Asignación Dinámica es la creación de un objeto mientras el programa está en ejecución. Para ello
Más detallesExamen 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 detallesTema 2: Clases y Objetos
Tema 2: Clases y Objetos Anexo: tipo de datos Pila Programación Orientada a Objetos Curso 2017/2018 Características del paradigma OO Curso 2017/2018 Programación Orientada a Objetos 2 Características del
Más detallesListas, pilas, colas
Listas, pilas, colas Estructuras de Datos Andrea Rueda Pontificia Universidad Javeriana Departamento de Ingeniería de Sistemas TAD Tipo Abstracto de Dato Qué es un TAD? TAD: Tipo Abstracto de Dato. Nuevo
Más detalles3. Indicar la salida por pantalla (2 puntos-15 minutos)
3. Indicar la salida por pantalla (2 puntos-15 minutos) #include class Tiempo Tiempo ():hora(0), minuto(0) cout
Más detallesEstructuras de Datos Dinámicas: Tipo de Dato Abstracto parte I. Programación I Departamento de Informática Universidad Nacional de San Luis Argentina
Estructuras de Datos Dinámicas: Tipo de Dato Abstracto parte I Programación I Departamento de Informática Universidad Nacional de San Luis Argentina Progreso de la Abstracción Los diferentes niveles de
Más detallesTema 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 detallesEstructuras 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 detallesEstructuras dinámicas lineales (i)
Estructuras dinámicas lineales (i) Introducción En la lección anterior se explicaron los conceptos de dinámicas y puntero; vimos la forma en que se implementan dichas tanto en la notación algorítmica como
Más detallesCálculo del histograma de una imagen
Cálculo del histograma de una imagen Una imagen digital se puede representar por una matriz de tamaño NxM elementos dónde N es el número de filas y M es el número de columnas. En cada uno de estos elementos
Más detallesHerencia y Polimorfismo en C++
Herencia y Polimorfismo en C++ Informática II Fundamentos de Programación 1 Herencia Concepto de "herencia" herencia": Una clase -clase derivada- puede definirse a partir de otra clase ya existente (clase
Más detallesINTRODUCCIÓN A LA POO EN C++
INTRODUCCIÓN A LA POO EN C++ ÍNDICE DEL TEMA 1.- Introducción 2.- Diferencias C/C++ 3.- Programación orientada a objetos 4.- Aspectos avanzados C++ 1 1. Introducción Lenguaje C Lenguaje de propósito general
Más detallesManejo de Punteros y objetos en memoria dinámica en C++ Agustín J. González ELO 329
Manejo de Punteros y objetos en memoria dinámica en C++ Agustín J. González ELO 329 Asignación Dinámica de Memoria Asignación Dinámica de memoria es la creación de un objeto mientras el programa está en
Más detallesAlonso Ramírez Manzanares Computación y Algoritmos 10.03
Recursividad mat-151 1 Ejercicio de recursión: dibujando una regla Queremos dibujar las marcas de diferentes tamaños de una regla. Marcas grandes cada 1/2 cm, marcas más pequeñas cada 1/4 cm... hasta una
Más detallesProf. Dr. Paul Bustamante
Carnet Nombre: Examen C++ Grupo B Informática II Fundamentos de Programación Prof. Dr. Paul Bustamante Pág.1 Índice 1. INTRODUCCIÓN... 1 2. EJERCICIO 1: GRAFICA DE DATOS (3.5 PTS.)... 1 3. EJERCICIO 2:
Más detallesLISTAS 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 detallesUNIDAD 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 detallesTema 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 detallesCapitulo 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 detallesESTRUCTURAS 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 detallesClase 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 detallesTipos de Datos Abstractos
Tipos de Datos Abstractos A continuación se exploran algunos tipos de datos abstractos fundamentales. Se estudiaran listas, que son secuencias de elementos, y dos tipos especiales de listas: las pilas,
Más detallesUn hombre caminaba por el bosque cuando vió una zorra lisiada. " Cómo hará para alimentarse?", pensó.
Capitulo III Colas El camino del Tigre Un hombre caminaba por el bosque cuando vió una zorra lisiada. " Cómo hará para alimentarse?", pensó. En ese momento, se acercó un tigre, con un animal entre los
Más detallesProf. Dr. Paul Bustamante
Prácticas de C++ Practica Nº 6 Informática II Fundamentos de Programación Prof. Dr. Paul Bustamante Practica Nº 6 Programación en C++ Pág. 1 ÍNDICE ÍNDICE... 1 1. Introducción... 1 1.1 Ejercicio 1: Clase
Más detallesTema: 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 detallesEstructuras 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Á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 detallesTipos de datos y operadores en C++
Tipos de datos y operadores en C++ El tipo de dato determina la naturaleza del valor que puede tomar una variable. Un tipo de dato define un dominio de valores y las operaciones que se pueden realizar
Más detalles= RETURN =3 7-. ELSE K
11-. Pida Al Usuario Dos Números Enteros (Que Se Guardaran En Las Variables Num 1 Y Num2). Si Num2 Es Cero, Deberá Mostrar Un Mensaje De Error, Y En Caso Contrario Mostrara En Pantalla El Resto De La División
Más detallesGuía de la asignatura de Sistemas Informáticos Industriales (ADOO)
Guía de la asignatura de Sistemas Informáticos Industriales (ADOO) Carlos Platero Dueñas (C-305) carlos.platero@upm.es Contenidos generales Dos partes Herramientas y Sistemas operativos (SO) (7-12) Ángel
Más detallesCLASE 10 - ESTRUCTURAS DE DATOS DINÁMICAS
CLASE 10 - ESTRUCTURAS DE DATOS DINÁMICAS 1 TEMAS A VER Listas simples genéricas Pilas Colas 2 LISTA SIMPLE GENÉRICA Una lista simple genérica nos permite crear listas de diferentes objetos: enteros, char,
Más detallesTIPO DE DATO ABSTRACTO (TDA)
TIPO DE DATO ABSTRACTO (TDA) Ing. Eduard Antonio Lozano Córdoba Nota: Toda la información fue copiada de: Libros físicos e Internet Actividad Extra Clases #include #include int binario(int
Más detallesContenido. Estructura de Datos Tema 1: Pilas. 1. Definición y operaciones. 2. Implementación estática. 3. Implementación dinámica. 4.
Estructura de Datos Tema 1: Pilas Presenta: David Martínez Torres Universidad Tecnológica de la Mixteca Instituto de Computación Oficina No. 37 dtorres@mixteco.utm.mx 1 Contenido 1. Definición y operaciones
Más detallesTema: Funciones Virtuales y Polimorfismo.
Programación II. Guía No. 10 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II Tema: Funciones Virtuales y Polimorfismo. Objetivos Comprender que es ligadura e identificar sus tipos.
Más detallesTema: Funciones Virtuales y Polimorfismo.
Programación II. Guía 10 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II Tema: Funciones Virtuales y Polimorfismo. Objetivos Específicos Comprender que es ligadura e identificar
Más detallesINFORMATICA II PRIMER PARCIAL
Grupo 1 INFORMATICA II PRIMER PARCIAL Hacer un programa en C o C++ que realice lo siguiente: a. Almacenar en un archivo binario 100 juegos de valores compuestos por un valor entero, un número real y una
Más detallesPolimorfismo. Métodos virtuales
Polimorfismo. Métodos virtuales El polimorfismo indica que una variable pasada o esperada puede adoptar múltiples formas. Cuando se habla de polimorfismo en programación orientada a objetos se suelen entender
Más detallesPilas, Colas. Andrea Rueda. Estructuras de Datos. Pontificia Universidad Javeriana Departamento de Ingeniería de Sistemas
Pilas, Colas Estructuras de Datos Andrea Rueda Pontificia Universidad Javeriana Departamento de Ingeniería de Sistemas Quiz: STL Quiz: STL Standard Template Library (STL) std::vector - Arreglo dinámico,
Más detallesProgramación. Test Autoevaluación Tema 3
Programación Test Autoevaluación Tema 3 Autores: M. Paz Sesmero Lorente Paula de Toledo Heras Fco. Javier Ordoñez Morales Juan Gómez Romero José A. Iglesias Martínez José Luis Mira Peidro SOLUCIONES 1.
Más detallesPOO PROGRAMACIÓN ORIENTADA A OBJETOS
POO PROGRAMACIÓN ORIENTADA A OBJETOS 1 Programación estructurada, consiste en descomponer el problema objeto de resolución en subproblemas y más subproblemas hasta llegar a acciones muy simples y fáciles
Más detallesProf. Dr. Paul Bustamante
Prácticas de C++ Practica Nº 2 Informática II Fundamentos de Programación Prof. Dr. Paul Bustamante Practica Nº 2 Programación en C++ Pág. 1 ÍNDICE ÍNDICE... 1 1. Introducción... 1 1.1 Ejercicio 1: Reserva
Más detallesProgramación de sistemas Pilas y Colas
Programación de sistemas Pilas y Colas Departamento de Ingeniería Telemática 1 Contenidos Pilas (stacks) Colas (queues) Colas dobles (deques double-ended queues) 2 Pilas Estructura de datos lineal Inserción
Más detallesEstructuras 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 detallesAsignación Dinámica de Memoria. Agustín J. González Versión original de Kip Irvine ELO 326: Seminario II 2do. Sem. 2001
Asignación Dinámica de Memoria Agustín J. González Versión original de Kip Irvine ELO 326: Seminario II 2do. Sem. 2001 1 Asignación Dinámica Asignación Dinámica es la creación de un objeto mientras el
Más detallesEstructura de datos Colas
Estructura de Datos Estructura de datos Colas Temario Unidad II 2.1 Definición y operaciones 2.2 Implementación estática 2.3 Implementación dinámica 2.4 Colas de prioridad 2.5 Casos de estudio 1 Definición
Más detallesSobre 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 detallesProgramación. Test Autoevaluación Tema 6
Programación Test Autoevaluación Tema 6 Autores: M. Paz Sesmero Lorente Paula de Toledo Heras Fco. Javier Ordóñez Morales Juan Gómez Romero José A. Iglesias Martínez José Luis Mira Peidro SOLUCIONES 1.
Más detallesAlgoritmos y Estructuras de Datos Ingeniería en Informática, Curso 2º SEMINARIO DE C++ Sesión 1
Algoritmos y Estructuras de Datos Ingeniería en Informática, Curso 2º SEMINARIO DE C++ Sesión 1 Contenidos: 1. Características generales de C++ 2. Entrada/salida estándar 3. Variables y tipos de datos
Más detallesCadenas (strings) y Estructuras
Cadenas (strings) y Estructuras Fundamentos de Programación Fundamentos de Programación I Operaciones básicas definidas para string Creación de variables: string palabra, frase; Asignación: frase = palabra;
Más detallesTAD: Pila. TALLER: TAD Pila
TALLER: TAD Una pila (stack) es un conjunto de elementos del mismo tipo que solamente puede crecer o decrecer por uno de sus extremos. Una pila también se la conoce con el nombre de estructura de tipo
Más detallesProgramación Orientada o Objetos
Programación Orientada o Objetos Programación digital II Escuela de Sistemas Facultad de Ingeniería Profesor: Gilberto Diaz Programación Orientada a Objetos En 1970 Dennis Ritchie y Brian Kernigan crearon
Más detallesInformática PRÀCTICA 9 Curs Práctica Nº 9: Rango y precisión de representación de números en el ordenador.
Departamento de Práctica Nº 9: Rango y precisión de representación de números en el ordenador. Uso de punteros Objetivos de la práctica: - Entender la representación de números (enteros y reales) en el
Más detallesB.- Ejercicio de Herencia y Polimorfismo: FORMAS
B.- Ejercicio de Herencia y Polimorfismo: FORMAS 1. Defina una clase Forma que tenga los siguientes miembros de datos: - Color - Coordenada del centro de la forma (objeto Punto) - Nombre de la forma (char
Más detallesEstructuras 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 detallesElementos de un programa en C
Elementos de un programa en C Un programa en C consta de uno o más archivos. Un archivo es traducido en diferentes fases. La primera fase es el preprocesado, que realiza la inclusión de archivos y la sustitución
Más detallesPolimorfismo de tipo (en la herencia)
Polimorfismo de tipo (en la herencia) Pablo San Segundo (C-206) pablo.sansegundo@upm.es Índice Overriding (especialización o redefinición) Static bind (enlace estático) Dynamic bind (enlace dinámico) Clases
Más detallesALGORITMO: LENGUAJE C++: # include <iostream.h> # include <math.h> int main () Int num 1=0, num =0, d=0; Cout << ingrese primer numero: ;
11 PIDA AL USUARIO DOS NUMEROS ENTEROS (QUE SE GUARDARAN EN LA VARIABLES NUM 1 Y NUM 2). SI DATO 2 ES CERO, DEBERA MOSTRAR UN MENSAJE DE ERROR, Y EN CASO CONTRARIO MOSTRARA EN PANTALLA EL RESTO DE LA DIVISION
Más detallesTipos 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 detallesSobrecarga de operadores, listas
Sobrecarga de operadores, listas mat-151 Alonso Ramírez Manzanares Computación y Algoritmos 28.02 1 Problema: Alonso Ramírez Manzanares Computación y Algoritmos 28.02 Problema: Dadas 2 listas no vacias
Más detalles4.1. Definición de herencia
CAPÍTULO 4. LA HERENCIA. 103 sido desarrollados respondiendo a necesidades de la programación de alto nivel, por lo que en muchos casos intentaremos hacer hincapié en la aplicación de lo que se explica.
Más detalles